区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > 非小号 > 正文

AMA:?一文了解以太坊上的新交易类型_SHE

作者:

时间:

以太坊上存在着不同的交易类型,比如,将ETH发送到某个地址,部署合约等等。在柏林网络升级之前,以太坊上就有四种不同的交易类型:

?带接收地址的常规交易,数据域等;

?没有目的地址的合约部署交易,数据域用于合约代码;

?带v值签名方式的交易,但不包括链ID;

?带v值签名方式的交易,但包括链ID。

不同的以太坊客户端、库和其它工具会分析每次交易,理解每个交易类型。虽然只有四种交易类型,但也有很多复杂性和情况需要处理。技术人员应该检查交易中所有的域,弄清楚是属于什么交易类型。这对于新型交易来说是关键,比如元交易、多重签名交易等pre-EIP-2718交易类型。

以太坊现在有了一个新的交易标准,这是由开发人员迈卡·佐尔图在EIP-2718中定义和创建的。类型化交易信封形成了以太坊上一些和其它尚未开发的功能的基础。

本文我们将详细介绍柏林升级中包含的一些标准,以及其它可能未来可能包括的内容。

标准交易信封

以太坊有一个交易格式。每个交易包括一个随机数(nonce)、gas价格、gas极限、目的地址、value、数据、v、r、和s。这些字段是RLP编码的,如下所示:

RLP()

EIP-2718为类型化交易定义了一个新的广泛的信封。在新标准中,交易如下所示:

TransactionType||TransactionPayload

其中,这些字段被定义为:

?交易类型:介于0和0x7f之间的数字,总共有128个可能的交易类型。

?交易有效负载:由交易类型定义的任意字节数组。

这些字段连接组合形成类型化交易。该标准没有描述交易有效负载的格式;它可以是任何任意的字节系列,由新的交易类型定义的编码器进行编码。选择简单的字节连接是因为读取一个字节数组的第一个字节,而不需要任何库或工具:你不需要一个RLP或SSZ解析器来检查交易类型。

这种新方法使新的EIPs可以引入交易类型,而不在现有交易格式中引入不必要的复杂性,而且使用不同的以太坊工具来区分不同的交易变得更容易。

增加的复杂性的一个很好的例子是EIP-155,它通过在交易中使用链ID来引入了回复保护。向交易参数中添加一个新字段将会破坏向后兼容性,所以链ID被编码到交易签名(v)的恢复参数(v)中。使用EIP-2718,我们可以简单地创建一个新的交易类型,以维护向后兼容性。

向后兼容性和原始交易

EIP-2718的一个大主题是向后兼容性。EIP-2718采用完全向后兼容模式,这意味着任何现有的工具、库、钱包和交易都可以使用它,但他们将无法使用EIP-2718提供的新“功能”以及使用它的标准。旧的交易格式对于以太坊网络上的新交易仍然有效。

新交易类型的最大数目为0x7f,被选为维持这些旧交易的向后兼容性。RLP编码的交易总是以一个为l的字节开头,参数大于或等于0xc0,因此类型化交易永远不会与旧交易发生冲突,并且只需检查第一个字节,就可以区分类型化交易和旧交易。

EIP-2718本身不定义任何交易类型,但有一些建议使用新标准:

?EIP-1559:ETH1.0链市场手续费变化;

?EIP-2711:赞助、到期和批处理交易,也由开发人员迈卡·佐尔图创建,这也是EIP-2718被创建的原因;

?EIP-2930:可选的访问列表。

其中一些标准将在下面进一步详细说明。

为什么需要新的交易类型?

新的交易类型可以支持功能的集成,否则将通过Solidity合约或第三方解决方案进行处理。以即将到期的交易为例。在现有的解决方案中,你可以将资金发送到一个Solidity合约,签署一项交易,并将该交易发送到一个专门的节点,以便该交易具有额外的参数,如到期日。然后节点处理发送交易,并确保它在设置的到期日期之前执行,否则交易不会被广播。一些dApps和合约(例如Uniswap)内置了这个功能,但对于大多数交易来说,这是不容易实现的。

EIP-2711将此功能本地化添加到以太坊网络中,同时保持与原始类型交易的向后兼容性(如上一节所述)。它不需要智能合约或专门的节点来运行。然而,目前EIP-2711仍是一个草案,不清楚该EIP是否会很快加入以太坊网络。也可能被分割成多个更小的EIPs(如EIP-3074)。

EIP-1559的新交易格式

在EIP-1559中,gas的工作方式发生了显著的变化。不再向矿工支付全部gas,而是燃烧一部分gas。我们不详细介绍EIP-1559的所有变化,但它确实指定了一种新的交易格式:

0x02||RLP()

最显著的变化是:

?Gas价格已被“每个gas最高优先费用”和“每个gas最高费用”所替代。

?链ID是单独编码,而不是包含在签名v值中。这本质上用一个更简单的执行取代了EIP-155。

?签名v值现在是一个简单的奇偶校验位(“签名Y奇偶校验”),它是0或1,这取决于应该使用椭圆曲线上的哪个点。

EIP-1559还提供了一种基于EIP-2930来指定访问列表的方法。这可以降低交易的gas成本。

由于EIP-1559对gas费用的工作方式发生了重大变化,因此它与原始交易并不直接兼容。为了保持向后兼容性,EIP-1559描述了一种将原始交易升级到EIP-1559兼容的交易的方法。它通过使用原始gas价格作为每个gas的最高优先费用和最高gas费用来实现这一点。

原始元交易和分批交易

元交易已经出现了几年,但到目前为止仍一直需要智能合约。与即将到期的交易一样,这需要将ETH发送到智能合约,而该合约必须专门支持元交易。

EIP-2711使得原生元交易(称为赞助交易)和批交易成为可能,而不需要智能合约。一种新的交易格式被定义,交易类型为0x02(尽管这可能会发生变化,因为EIP-1559使用相同的交易类型)。交易如下:

0x02||RLP()

基本上,EIP-2711包括一个(可选的)有效载荷和gas支付人的签名。该账户将用于支付交易中的gas费用。例如,可以从一个地址发送ERC-20代币,而不需要该地址持有任何ETH。发送方有效载荷、签名等是基于交易子类型定义的。例如,对于交易类型为1的交易,发送方有效载荷被定义为:

,nonce,ChainId,ValidUntil,gasLimit,gasPrice]

子交易被定义为:发送地址、值、数据。这使得可以在单个交易中指定多个地址、值和数据。例如,这可以用于在单个交易中调用ERC-20的批准和转移。

有关EIP-2711中可用的所有交易子类型的详细说明,建议读者阅读官方文件。

总结

类型化交易为以太坊网络带来了很多可能性。它们可以在不给以太坊客户端、库和其它可用工具增加大量复杂性的情况下创建。

目前,新的交易类型还没有被广泛使用,因为EIP最近才被包含在网络中,但有一些激动人心的EIP正在开发中,比如EIP-2711,它增加了过期交易、批处理交易和赞助交易(又称元交易)等特性。现在可以在以太坊上定义新的交易类型,因此可以轻松创建其它EIP。

本文来自?Mycrypto,原文作者:MaartenZuidhoorn。

标签:AMASAMKusamaSHEMetaMask小狐狸钱包Samsunspor Fan Tokenkusama币未来会涨到多少SHED币

非小号热门资讯
比特币:德意志银行:比特币的价值完全取决于人们的“一厢情愿”_比特币行情软件文华

来源:财联社 作者:黄君芝 近日来,在各方因素的影响下,比特币陷入了“跌跌不休”的困局中,本周以来更是暴跌28%.

比特币:科普 | 一文了解密码经济的今生前世_IBBTC

什么是密码经济 密码经济指的非对称密码技术用于经济各领域的经济形态,是继计算机技术带来的数字经济,网络技术带来的互联网经济之后,信息经济的第三个经济形态.

KUS:监管重拳出击 受伤的波卡生态仍有机会一搏_MetaMask最新版官方下载

波卡一周观察,是我们针对波卡整个生态在上一周所发生的事情的一个梳理,同时也会以白话的形式分享一些我们对这些事件的观察。本文旨在提供信息和观点,不为任何项目作背书.

BUNNY:代币闪崩,差点归零 - PancakeBunny 被黑简析_BNB

By:Kong@慢雾安全团队 据慢雾区情报,币安智能链上DeFi收益聚合器PancakeBunny项目遭遇闪电贷攻击,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享.

BUN:Polygon爆火,Layer2的战争还没开打就结束了?_tp钱包怎么买bnb币

作者|Azuma?编辑|郝方舟出品?|?Odaily星球日报Polygon彻底火了。尽管市场突逢历史级大跌,但整体来看,MATIC在过去半个月内的二级市场表现仍称得上相当强劲.

Polygon:Bytom2.0 Solonet版正式发布_以太坊交易所叫什么名字

5月25日16:30,Bytom2.0Solonet版正式发布。自Bytom官方发布升级计划以来最关键的一步。从该版本起,Bytom共识机制将由PoW转移至PoS.