除了 EIP-1559 2021 年还有哪些以太坊改进提案值得关注?
原文标题:《2021 最值得关注的以太坊改进提案》
2021 年将会是自 2016 年以来以太坊协议最具创新性的一年。以下是这一年值得关注的 EIP 情况:
下一次的硬分叉升级—— 「柏林」将推行 4 项 EIP:
-
EIP-2929: 状态访问操作码所需的 gas 费用将增加
-
EIP-2930: 可选的访问列表交易 (Optional Access List Txs)
-
EIP-2718: 包含类型的交易封套 (Typed Transaction Envelope)
-
EIP-2315: 简单的子程序 (Simple Subroutines)
EIP-2929 :状态访问操作码所需的 gas 费用增加。存储访问操作码的 gas 费长期以来一直过低,并且一些只需花 20-80 秒就能执行的恶意交易目前已能够轻易创建。这项 EIP 把状态访问的成本增加了约 3 倍。
EIP-2930 :可选的访问列表。大概 0.18% 的主网交易会因 EIP-2929 受阻。为了弥补这个裂缝,这份 EIP 引入了一种新型交易,它可以指定将被读取的存储 slot,然后支付一笔打了 9 折的预付费。
EIP-2718 :包含类型的交易封套。这份 EIP 规定了交易的新格式,它以一个「鉴别器」 (discriminator) 开始,让客户端解译不同的交易。EIP-2930 会首先用上这份 EIP,然后可能是 EIP-1559。新格式 = type || payload。
EIP-2315 :简单的子程序。被列入柏林硬分叉升级的最后一项 EIP:增加子程序的支持。传统来说,想要模拟此功能的合约需要同时处理常规堆栈数据和返回地址。此份 EIP 增加了一个新堆栈,只用于追踪返回的地址。
柏林分叉以后,会有很多不稳定因素。如果在接下来的分叉中,冰河时期不再延长,分叉计划会在 7 月上旬开启。根据最近的 AllCoreDev 会议,这个夏天可能会出现另一个分叉。有非常多候选 EIP 是针对该次硬分叉的,其中最著名的就是 EIP-1559。
EIP-1559 :Eth1 的费用市场变化。Gas 费分成了两个部分:base fee (基本费用) 和 tip (小费)。基本费用部分会被销毁,而小费会发送给矿工。基本费用会根据需求由协议动态决定的。这能避免一些费用高峰,并提高用户在付 gas 费时的体验。
译者注:此处作者插入了 EIP-1559 主要推动者 Tim Beiko 对 EIP-1559 的最新状态 更新 。
在我看来,我不认为 1559 现在已准备好上线。以下是我在 dicord 上分享的一些想法总结:
并不是所有的客户端都有 1559 的实现,且没有一个客户端有最终版的;
我们还没解决在 AllCoreDevs 会议上提出的问题 (即用大型状态测试大区块)。要实现这一点最快也需要几周。
1559 会影响很多其他项目:任何涉及签名交易的项目,都依赖于 JSON RPC 对区块 / 交易等的反应。对于这些影响我们还是需要进行广泛谈论。
柏林硬分叉已经快要启动。而放下手头上所有工作来推行 1559 不是一个好选择。
EIP-2982 :Eth2 的阶段 0。自 EIP-1011 以来,eth1 与 eth2 首次在 EIP 存储库中集合。这项 EIP 只是将 eth2 的治理 / 标准化重新引进 eth1 的开始。它带来的主要变化有:在 eth2 中新增发 ETH。
EIP-? :合并。比较乐观的是,2021 年 eth1 -> eth2 有望合并,并且去掉 PoW 共识。然而,在接下来的几个月里,研发工作将大大增加。预估该 EIP 将在未来 18 个月进行。
EIP-3102 :二进制树结构。该项 EIP 将从当前的六进制状态树转移至二进制树结构中。这将使得默克尔证明更加有效率。迁移将可能占用大量资源,因此最好在合并之前进行。
EIP-2937 :SETINDESTRUCTIBLE 操作码。此操作码将导致随后的任意 SELFDESTRUCTs 充当当帧中的 noop。这将有助于更好地论证合约的可靠性。这也是支持账户抽象首先要做的事情。
EIP-2938 :账户抽象。允许合约成为支付交易费和启动交易执行的高级账户。这为确定任意交易有效性的条件提供了灵活的框架。最初在 EIP-86 中提出,该 EIP 提供了在主网推行的更为具体的路径。
EIP-? :EVM384。尽管这还不是正式的 EIP,但正朝该方向发展。该提案建议增加本地 384 位算术运算符 (也很可能是其他宽度),以支持在 EVM 中有效地实现新的加密系统。
EVM384 (内容)。随着现代加密系统的快速创新, EVM384 为以太坊提供了一个框架以支持这些系统,而无需为每个加密系统都提供硬分叉和预编译。相反,任何人都可以将之当作 EVM 合约来实现。
EIP-2537 :BLS12-381 预编译。有了 EVM384 之后,是否还需要该提案仍有待讨论。尽管 EVM384 为更好的长期解决方案,但是 BLS 在 以太坊 生态中属于高级提案 (鉴于 eth2),并且值得本地预编译。
批量交易。有很多 EIP 旨在用 L1 基元替换 meta-交易。预计今年会在这方面上取得重大进展。此类 EIP 有:
-
EIP-2711:代付交易、过期交易以及批量交易 (Sponsored, expiring and batch txs)
-
EIP-2733:交易打包
-
EIP-2803:昂贵交易
-
EIP-3074:代付交易预编译 (Sponsored Tx Precompile)
EIP-2464 :eth/65:交易广播和检索。通过将交易哈希广播到大多数对等节点中,而不是广播完整交易,该提案大大地减少了 eth1 客户端所用的宽带。Geth 计划在今年某个时间开始停止对 < eth/65 的支持。
2021 年将为以太坊协议带来许多改变,远不止我所列的清单。Eth2 和无状态以太坊团队在今年会有他们自己的计划。