简析以太坊EIP-2718

摘要:简析以太坊EIP-2718

最显著的变化包括:

· 用「每单位 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 也会变得更容易。

免责声明

本文观点仅代表作者个人观点,不构成本平台的投资建议,本平台不对文章信息准确性、完整性和及时性作出任何保证,亦不对因使用或信赖文章信息引发的任何损失承担责任
上一篇

区块链为什么是承载 Web3.0 应用组织演化和利益分配的核心载体?

下一篇

【天眼今日分析】比特币的丧钟 最终是被狗狗币敲响的?