首页 Bitget公告 正文

坎昆升级来临:哪些L2做了适配?

admin头像 admin Bitget公告 2024-04-11 18:04:10 134
导读:作者:Maggie@ForesightVentures一、背景2020年,以太坊发布的“以Rollup为中心的以太坊路线图”,以及第二年Vitalik发表的「Endgam...

作者:Maggie@Foresight Ventures

一、背景

2020 年,以太坊发布的 “以 Rollup 为中心的以太坊路线图”,以及第二年Vitalik发表的「Endgame」中描述的以太坊的最终图景,确定了以太坊的大方向:优化以太坊的基础层建设,为Rollup服务。

以太坊设计了Danksharding的分片技术以提高以太坊作为数据可用性层的可用性。它将显著降低L2的交易手续费,提高Rollup的TPS,实现以太坊的大幅扩容

直至今年,以太坊坎昆-德内布(Dencun)升级终于在 2024 年 3 月 13 日推出,EIP4844即将上线,这次硬分叉可以说是以太坊实现Danksharding的第一步,是以太坊路线图核心中的核心。

二、坎昆升级如何利好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。

      四、有哪些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适配起来相对复杂

        Polygon zkEVM 预计将于 5 月上线Feijoa升级,适配 EIP-4844。(文章链接)

        Scroll则是在去年发表了一篇文章介绍了适配EIP4844的思路(文章链接)。

        最令人印象深刻的是Morph, 他是一个Optimistic ZK Rollup,率先发布了zkSNARK zkEVM适配EIP4844的方案可以说是第一个完成EIP4844的zkSNARK zkEVM的rollup(文章链接) Optimistic ZK Rollup结合了两类Rollup的优势。它乐观地相信Sequencer提交的执行结果,允许对结果产生怀疑的人发起挑战。只有在发起挑战时,证明者才会生成ZKP来证明执行结果的正确性。它拥有Optimistic rollup的效率,又拥有ZK rollup的ZK证明的可靠性。

    本文地址:http://cnnewnet.com/post/104.html
    若非特殊说明,文章均属本站原创,转载请注明原链接。
    bitget

    Bitget交易所

    Bitget交易所是全球前4大交易所之一、新用户注册可得100BGB,价值130U.打新活动多、领空投到手

    点击注册 进入官网

    网站分类

    标签列表

    退出请按Esc键