以太坊上新的事务类型: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 也会变得更简略。  

  (完)  

  (文内有许多超链接,可点击左下 ”阅览原文“ 从 EthFans 网站上获取)  


  原文链接:

  https://blog.mycrypto.com/new-transaction-types-on-ethereum/  

  作者:     Maarten Zuidhoorn          

  翻译&校正: 闵敏 & 阿剑  target="_blank" ticle>

视野开拓

这就是我所说的“过剩资本的处置或吸收问题”。资本家的一天以一定量的资本c+v开始,以数量为c+v+s的货币等价物结束。那么,在这天结束时购买剩余价值的需求是从哪里来的呢?-《跟大卫·哈维读《资本论》》

发表回复

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