作者:maggie@foresight ventures
TL;DR:
坎昆升级将于2024 年 3 月 13 日推出,EIP4844即将上线。Danksharding是以太坊路线图的核心,这次升级是实现Danksharding的第一步。 Ethereum L2适配EIP4844后,交易手续费大幅下降,L2的TPS成倍提高。用户会感觉到交易速度更快、成本更低、体验更流畅、反应更灵敏。这些L2上会有更复杂更大型的Dapp应用。 Optimistic rollups适配EIP4844更简单,ZK rollups适配更复杂。以太坊没有预编译合约支持BLS12-381椭圆曲线,导致部分ZKP验证难度大,阻碍了ZK rollups适配EIP4844的进度。 椭圆曲线的问题可以通过两种方式解决,1. 等待以太坊对BLS12-381椭圆曲线进行预编译;2.用另一种证明方式来达到同等目的,使用以太坊预编译支持的BN254. 目前,Arbitrum、Optimistic、Starknet、zkSync、Scroll、Polygon zkEVM以及新L2 Morph都在适配EIP4844。其中,Arbitrum、Optimistic 和Starknet表示坎昆升级后会实施对EIP4844的适配。Morph则率先发布了创新的zkSNARK zkEVM适配方案,这将是第一个适配EIP4844的zkSNARK zkEVM。
一、背景
2020 年,以太坊发布的 “以 Rollup 为中心的以太坊路线图”,以及第二年Vitalik发表的「Endgame」中描述的以太坊的最终图景,确定了以太坊的大方向:优化以太坊的基础层建设,为Rollup服务。
以太坊引入了Danksharding的分片技术,旨在提升其作为数据可用性层的效能。该技术有望显著减少L2交易费用,增加Rollup的TPS,从而实现以太坊的大规模扩容。
直至今年,以太坊坎昆-德内布(Dencun)升级终于在 2024 年 3 月 13 日推出,EIP4844即将上线,这次硬分叉可以说是以太坊实现Danksharding的第一步,是以太坊路线图核心中的核心。关于什么是DA层,Danksharding的技术原理,EIP4844的内容,请参考去年我写的一篇技术文章:DA(数据可用性)Summer 将至?https://foresightnews.pro/article/detail/33575
二、坎昆升级如何利好L2?
EIP4844引入了一种新的交易类型,称为blob-carrying交易。每个blob-carrying交易都可以“携带”一个 Blob 列表 。Blob 是一个数据包,大约 125 KB。Blob存储的时间很短,仅4096个epoch,略多于18天。
L2交易手续费大幅下降。由于Blob不需要永久存储,Blob相比于区块空间更大更便宜。Blob 可以在相同的 gas 消耗下存储比 Calldata 多 10 倍的数据。适配了EIP4844的Rollup可以将交易数据存储在 Blob 中,将交易费用降低一个数量级。 L2的TPS成倍提高。目前每个区块目标是3个Blob,最多允许 6 个 Blob。区块只有 90KB,而每个Blob大约125KB。引入Blob相当于为区块额外扩展了几倍的空间可以用来存Rollup的数据,因此Rollup的TPS也能成倍增加。且Toni和Vitalic写的“On Increasing the Block Gas Limit”中表示,会通过增加区块Gas limit和非零Calldata bytes的价格,实现更小、变量更少的区块大小,从而未来可以增加更多Blob。Blob更多则存储空间会更大。
对最终用户而言,Ethereum L2适配EIP4844后,交易速度更快、成本更低、体验更流畅、反应更灵敏。这些L2上会有更复杂更大型的Dapp应用。
三、L2如何适配EIP4844?
L2如何适配EIP4844呢?我们需要分Optimistic Rollup和ZK Rollup来分别讨论。
Optimistic Rollups适配EIP4844
Optimistic rollup通过欺诈证明来确保执行rollup时的正确性。节点会默认状态转换是正确的,除非在规定时间内有人提供欺诈证明,表明之前提交的状态转换是不合法的,这时状态转换将被取消。
相对于ZK Rollup,Optimistic Rollup更容易适配EIP4844。它只需要通过Blob-carrying交易将Layer 2的交易提交到Layer 1即可完成适配。此外,调整欺诈证明以符合EIP4844的要求也是必要的,尽管这部分可以逐步进行。事实上,许多Optimistic Rollup项目至今仍未上线欺诈证明功能。即使已经上线了欺诈证明,过去两年多来也没有一个欺诈证明被提交的情况。
L2交易提交:Rollup提交的时候,使用Blob-carrying交易,将Rollup数据存储在Blob中。Blob-carrying交易的payload是 rlp([tx_payload_body, blobs, commitments, proofs])
,其中
tx_payload_body- 是标准 EIP-2718 blob 交易的 TransactionPayloadBody。 blobs- Blob 列表。一个交易最多包含两个blob。 commitments- Blob的KZG承诺列表。 proofs- Blob和对应KZG承诺的证明列表。这个证明是会被ETH节点所验证的。
首先,证明者和挑战者需要多轮交互等方式找到争议点。 然后将争议点提交到L1上做判定。适配EIP4844则有可能还需要证明这个争议点的数据存储在某个Blob上。 由于Blob数据大约18天后会被删除,因此挑战期必须在被删除之前,这一点现在的optimistic rollups都是满足的。一般挑战期不超过7天。
ZK Rollups适配EIP4844
ZK rollup是通过ZKP来证明L2状态转换是正确的。ZK rollup适配EIP4844相对optimistic rollup来说更复杂。
L2交易提交:这一步Optimistic Rollup是相似的。
ZK证明提交:与适配前的ZK Rollup相比,除了做状态转换的ZKP证明以外,还需要多证明一个过程。即证明blob commitment和transaction batch是对应的,从而保证状态转换证明的输入是正确的。
打个比方:状态转换的ZK电路能生成计算过程a + a = b的证明。当(a=1,b=2)和(a=2,b=4)时生成的ZKP都是合法的。因此我还需要提供一个证明,证明我当时提供的输入是(a=1,b=2)而不是(a=2,b=4)。
这一点在适配EIP4844之前是不需要做的,因为数据就直接存储在Calldata中可以直接读取,确保了输入不会被调包。用了EIP4844后,Blob数据无法直接读取,只能通过一个新的电路来证明这一点。
用STARK的ZK rollup(如Starknet)更容易实现这种证明机制。而这对于用SNARK的ZK rollup是存在挑战的,原因是:EIP4844的blob commitment使用的椭圆曲线是BLS12-381,而ETH的预编译合约只支持了BN254,由于曲线不同,导致我们难以直接在智能合约中验证blob commitment完成证明。
用SNARK的zkEVM/zkVM需要解决第2点中提到的由于曲线不匹配无法生成ZK证明的问题。
等待Ethereum支持BLS12-381的预编译合约。这会很漫长。 采取另一种证明方式来证明。要设计新的电路,必须用预编译合约所支持的BN254椭圆曲线。目前,我们看到Morph采用了这个方法。这也使得Morph成为第一个完成EIP4844适配的zkEVM。
Morph 的 EIP-4844 zkEVM 集成解决方案请参见:https://medium.com/@morphlayer2/morphs-solution-to-eip-4844-zkevm-integration-7f469910478f
四、有哪些L2适配了EIP4844?
Optimistic rollup适配EIP4844相对容易。
Arbitrum将于 3 月 14 日启动 Arb OS20 升级,以实施坎昆升级的 EIP 更改(文章链接)。Arbitrum属于Stage 1的Rollup,交易提交和欺诈证明都需要适配EIP4844,其安全性相对较好。 Optimism于3月14日启动Ecotone升级完成适配(文章链接)。Optimistic rollup属于是Stage 0的Rollup,目前还没有欺诈证明,适配起来更容易,但安全性不够高。完成适配后,Op 生态内所有的超级链网络也都将从 EIP-4844 中受益。
ZK rollup中,使用STRAK和SNARK的rollup适配难度是不同的。
用STARK的rollup适配EIP4844更简单,Starknet是其中的代表。 Starknet发表了文章表示坎昆升级后会实施对EIP4844的适配(文章链接)。 zkSync 已经通过Boojum升级让zkSync完成从SNARK向STARK证明过渡。这也是为EIP4844升级做准备。Boojun是一个基于 STARK 的证明系统。(文章链接) 用SNARK的rollup适配起来相对复杂
以上就是Foresight Ventures : 坎昆升级来临,哪些 L2 做了适配?的详细内容,更多请关注php中文网其它相关文章!