原文标题:《 New Transaction Types on Ethereum 》

原文来历:MaartenZuidhoorn,MyCrypto

简析以太坊EIP-2718

以太坊选用不同的业务类型来界说不同的操作,例如,将以太币发送至某个地址、布置合约等等。

在最近的柏林晋级之前,以太坊首要有 4 种不同的业务「类型」:

· 带有收款方地址、数据字段的惯例业务

· 不带有收款方地址的合约布置业务,其数据字段填写的是合约代码

· 签名 v 值不含链 ID 的业务(EIP155 实施之前)

· 签名 v 值含有链 ID 的业务

上述业务类型都选用相同的格局。不同的以太坊客户端、库和其它东西必须剖析每个业务来判断它归于哪个类型。这四种不同的业务类型引进了许多复杂的状况。咱们需求检查业务的一切字段来判断其所属类型。这是人们在提议新的业务类型(如元业务、多签业务等)时不得不面临的重大难题,直到 EIP 2718 呈现才打破这一窘境。

以太坊现在有了新的业务标准 Typed Transaction Envelope(类型化业务封套),由 EIP 2718 的提议者 Micah Zoltu 界说。该标准为以太坊上的一些新功用和即将开发的功用奠定了基础。在本文中,咱们将回顾柏林晋级引进的一些标准以及未来有可能引进的其它标准。

标准化的业务封套

过去,以太坊的业务都选用同一种格局。每个以太坊业务都有 6 个字段:nonce、gasprice、gaslimit、to address、value、data、v、r 和 s。这些字段需求经过 RLP 编码,如下所示:

RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s])

EIP 2718 为类型化业务界说了一种新的通用封套。在新的标准下,业务如下所示:

TransactionType || TransactionPayload

上述字段的界说是:

· TransactionType:0 至 0x7f 范围内的某个值,最多可代表 128 种业务类型。

· TransactionPayload:由业务类型界说的恣意一个字节数组。

  将上述字段衔接(合并)起来,即可得到一个类型化业务。EIP 2718 没有为业务的有用负载界说格局。因而,业务的有用负载能够是恣意一段经过编码的字节序列,只需选用符合新的业务类型(如 RLP、SSZ 等)界说的编码器即可。之所以挑选简略的字节相连办法,是因为读取字节数组的第一个字节非常简略,无需运用任何库或东西。也便是说,你不需求运用 RLP 或 SSZ 解析器来判断业务类型。

这个办法能够防止新的 EIP 在引进新的业务类型时添加现有业务格局的复杂性,并让不同的以太坊东西(客户端、库)更简单区别不同的业务。

在添加复杂性这一点上,EIP-155 便是一个很好的比如。它经过在业务中引进链 ID 来完成重放进犯维护。因为在业务参数中添加新的字段会损坏向后兼容性,链 ID 被编码进了业务签名的康复参数(v),就像我在上一篇关于数字签名的文章中解说的那样。实施 EIP 2718 后,咱们能够在不影响向后兼容性的状况下界说新的业务类型。

向后兼容性和传统业务

EIP 2718 的一大特点便是向后兼容。EIP 2718 是完全向后兼容的。也便是说,现有的东西、库、(硬件)钱包和业务都是开箱即用的,可是它们无法运用 EIP 2718(以及选用 EIP 2718 的标准)供给的新「功用」。以太坊网络上的新业务依然能够运用旧的业务格局(即,传统业务)。

新的业务类型最多可达 0x7f 种。挑选这一上限是为了确保向后兼容传统业务。经过 RLP 编码的业务的第一个字节始终大于或等于 0xc0,因而类型化业务永久不会与传统业务产生冲突,而且类型化业务和传统业务之间能够经过第一个字节来区别。

EIP 2718 本身并未界说任何业务类型,不过已经呈现了一些选用这一新标准的 EIP :

· EIP 1559:改革 ETH 1.0 链的买卖费商场。你必定听说过这个 EIP。

· EIP 2711:代付业务、期限业务和批量业务。这个 EIP 同样由 Micah Zoltu 提出,EIP-2718 中界说的标准便是为此创立的。

· EIP 2930:可选拜访列表。

咱们将在下文详细解说其间一些标准。

为什么要引进新的业务类型?

新的业务类型能够完本钱来需求借助于 Solidity 合约或第三方解决方案的功用集成。以期限业务为例。在现有解决方案中,你能够将资金发送至 Solidity 合约,签署一个业务并将其发送到专门的节点,让该业务取得额定的参数(例如,有用期)。然后,该节点会处理该业务,确保它在有用期之前履行,不然该业务不会被广播。一些 dApp 和合约(如 Uniswap)内置该功用,可是对于大多数业务而言很难完成。

EIP 2711 能够将该功用添加到以太坊网络上,一起确保向后兼容传统业务(正如上文所述),而且无需运用智能合约或专门的节点。可是,EIP 2711 现在还是草案,咱们还无法确定它近期是否会在以太坊网络上实施。EIP 2711 也有可能被拆分成几个小的 EIP(如 EIP 3074)。

简析以太坊EIP-2718

  -图源:f2pool-

EIP 1559 提出的新的业务格局

在 EIP 1559 中,gas 的运作办法发生了巨大改变:gas 会被部分销毁,不再全部支付给矿工。本文不会详细论述 EIP 1559 的一切改变,可是 EIP 1559 确实提出了一种新的业务格局:

0x02 || RLP([chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gasLimit, to, value, data, accessList, signatureYParity, signatureR, signatureS])

最显著的改变包括:

· 用「每单位 gas 的最高优先费用(max priority fee per gas)」和「每单位 gas 的最高费用(max fee per gas)」来替代 gas price。

· 链 ID 是单独编码的,不再包含在签名 v 值内。这实际上是运用更简略的完成来替代 EIP 155。

· 签名 v 值变成了一个简略的校验位(「签名 Y 校验位」),不是 0 便是 1,详细取决于运用椭圆曲线上的哪个点。

EIP 1559 还供给了一种根据 EIP 2930 指定拜访列表的办法。这样能够减少业务的 gas 本钱。

因为 EIP 1559 极大地改变了 gas 费的运作办法,它并不能直接兼容传统业务。为了确保向后兼容性,EIP 1559 提出了一种将传统业务晋级成兼容 EIP 1559 业务的办法,即,运用「每单位 gas 的最高优先费用」和「每单位 gas 的最高费用」来替代 「gas 价格」。

原生元业务和批量业务

元业务诞生已经有几年了,可是到现在为止都需求依托智能合约。和期限业务相同,元业务也要求用户将以太币发送至专为元业务创立的智能合约。

EIP 2711 使得原生元业务(又称代付业务)和批量业务成为可能,无需依赖于智能合约。这里界说了一个新的业务格局,业务类型是 0x02(可是业务类型可能会更改,因为 EIP-1559 也运用同一个业务类型标识)。买卖如下所示:

0x02 || RLP([...SenderPayload, ...SenderSignature, ...GasPayerPayload, ...GasPayerSignature])

EIP 2711 首要包括 gas 付款方(用来支付业务 gas 费的账户)的有用负载(可选)和签名。这样一来,即便不持有任何以太币的地址也能发送 ERC 20 代币。

发送方的有用负载和签名等均根据业务子类型(1 至 4)界说。例如,假如买卖类型为 1,发送方的有用负载被界说为:

[1, ChildTransaction[], nonce, ChainId, ValidUntil, gasLimit, gasPrice]

ChildTransaction 被界说为 [to, value, data],能够在单个业务内指定收款方地址、值和数据。例如,ChildTransaction 能够用来在单笔业务中调用 ERC 20 的 approve 和 transferFrom。

假如你想了解更多关于 EIP 2711 的业务子类型的信息,我主张你阅读 EIP 2711 的标准。

结论

类型化业务为以太坊网络带来了更多可能性。咱们在创立类型化业务时不会添加以太坊客户端、库和其它东西的复杂性。

现在,因为 EIP 2718 最近才被添加到网络中,新的业务类型还没有得到广泛应用,可是现在还有一些很棒的 EIP 正在开发中,例如,EIP 2711 提出了期限业务、批量业务和代付业务(即,元业务)。因为以太坊上能够界说新的业务类型,提出新的 EIP 也会变得更简单。

视野开拓

现在,美国每年花费超过4 000亿美元在执法、官司和诉讼服务上,达到了每年人均1 500美元的水平。同时,美国每年还花费超过8 000亿美元(人均2 500美元)用于国防建设。即使贫穷国家把所有的GDP都投入到警察和国防上,也远远不能与之相比。 正是在这样强大的警察力量和法律执行能力下,言论和表达自由(包括散布谣言和炮制虚假信息的自由)才被容忍。正是在这样强大的政府权力和控制下,全民投票的选举民主才能有效地实行。正是在这样强大的监察和监督能力下,人权(包括犯罪者和囚犯的权利)才被尊重。也正是在这样强大的注册、登记、追踪和征税能力下,完全的劳动力流动才被鼓励、保护,才能促进生产力的提高。 这种“自由”和“控制”之间的辩证关系意味着,建议发展中国家去采纳西方的民主、自由和完全金融开放作为经济发展的前提在政治上是幼稚的(如果不是蓄意为之的话)。不管这些建议和鼓励背后是什么动机,它实质上都打开了腐败和无效行政的潘多拉盒子,因此引起了动荡、暴力、不稳定和无政府主义。发展中国家猖獗的腐败不是因为缺乏法律规则,而恰恰是因为缺少执行它的资源和国家能力。一个国家民主和自由的程度与其军事和安全力量成正比,这一发现应该不会使得制度学派经济学家们感到惊讶。-《伟大的中国工业革命》

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注