Foresight Ventures : 坎昆升级来临,哪些 L2 做了适配?
作者: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执行的正确性的。即节点首先选择相信状态的转换是正确的,除非有人在规定的时间段内发起欺诈证明,证明之前提交的是状态转换是不合法的,则该状态转换会被撤销。
Optimistic Rollup适配EIP4844相对ZK rollup来说更简单。把L2的交易都通过Blob-carrying交易提交到L1即可完成适配。此外,就是要调整欺诈证明使之适配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适配起来相对复杂