首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

坎昆升级来临,哪些 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 的第一步,是以太坊路线图核心中的核心。

二、坎昆升级如何利好 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 中,Optimism 和 Arbitrum 已表示致力于采用 EIP-4844,并与其社区密切合作来测试和部署必要的更新。Arbitrum 属于 Stage 1 的 Rollup, 安全性相对较好。涉及到需要将欺诈证明适配 EIP4844 的问题。Optimistic rollup 属于是 Stage 0 的 Rollup,目前还没有欺诈证明,适配起来更容易,但安全性不够高。

ZK rollup 中,使用 STRAK 和 SNARK 的 rollup 适配难度是不同的。用 STARK 的 rollup 适配 EIP4844 更简单,Starknet 是其中的代表。Starknet 发表了文章表示坎昆升级后会实施对 EIP4844 的适配 。用 SNARK 的 rollup,zkSync 也在探索如何利用携带 blob 的交易来进一步降低成本并提高性能。Scroll 则是在去年发表了一篇文章介绍了适配 EIP4844 的思路。

最令人映像深刻的是 Morph, 他是一个 Optimistic ZK Rollup,率先发布了 zkEVM 适配 EIP4844 的方案可以说是第一个完成 EIP4844 的 zkEVM Rollup。

Optimistic ZK Rollup 结合了两类 Rollup 的优势。它乐观地相信 Sequencer 提交的执行结果,允许对结果产生怀疑的人发起挑战。只有在发起挑战时,证明者才会生成 ZKP 来证明执行结果的正确性。它拥有 Optimistic rollup 的效率,又拥有 ZK rollup 的 ZK 证明的可靠性。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O8gXp0eZRFkeZnyQ5Y7_NxxA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券