文章讨论了在以太坊以L2为主的生态系统中,提高L1 Gas限制的重要性。作者从多个角度分析了提高L1 Gas限制的价值,包括抗审查性、跨L2资产转移、L2大规模退出、L1上的ERC20发行、Keystore钱包操作和L2证明提交等。
在L2占主导地位的以太坊中提高L1 gas限制的原因
特别感谢 Ansgar Dietrichs 的反馈和审查
以太坊路线图中的一个重要近期辩论是如何提高 L1 gas 限制的问题。最近,L1 gas 限制从3000万增加到3600万,容量增加了20%。许多人支持在不久的将来进一步进行更大幅度的提高。这些增加是通过最近和即将到来的技术改进来保证安全的:对以太坊客户端的效率改进,由于 EIP-4444 减少了存储旧历史的需要(见 路线图),以及未来 无状态客户端。
然而,在我们走上这条道路之前,提出一个问题是很重要的:在 以Rollup为中心的路线图 的背景下,更高的 L1 gas 限制在长期内是否是合适的做法?Gas 限制很容易增加,但减少却很困难——即使你后来减少了它们,对中心化的影响也可能是永久的。我们不想最终落入重度 L1 使用的中心化风险中,然而实际上并不确定我们会从这种使用中获益。
本文将论证,即使在大多数使用和应用在 L2 的世界中,显著扩展的价值仍然存在,因为它能够实现更简单和更安全的应用开发模式。本文将不尝试主张更多应用在长期内应该放在 L1 的主张。相反,目标是论证例如:L1 的大约 10 倍扩展在长期内是有价值的,无论这一辩论的结果如何。
区块链的核心价值主张之一是 抗审查能力:如果一笔交易是有效的,并且你有资金支付市场费率费用,你应该能够可靠地、快速地将该交易包括进链中。
在某些情况下,短时间内甚至需要抗审查能力:如果你在一个 DeFi 协议中持有头寸,而价格变化得非常快,那么即使是将交易包括进链中延迟 5 分钟也可能导致你被 清算。
L1 的质押者集高度去中心化,这使得审查一笔交易难度非常大,通常不超过几个槽位。还有 提议 可以进一步改善以太坊的这个特性,确保即使在如区块构建高度集中和外包的情况下也能保证抗审查能力。另一方面,L2 倚赖的是更中心化的区块生产者或者一个中心化的排序器,这些都可以轻易选择审查用户。一些 L2(例如,见 Optimism、Arbitrum 文档)确实有一个 强制纳入机制 允许用户直接通过 L1 提交交易。因此,抗审查能力保证的实际价值取决于 (i) L1 费用足够低,以及 (ii) L1 有足够的空间使得用户可以在 L2 审查大量用户的情况下进行旁路交易。
我们可以进行一些数学运算来计算实际使用强制纳入机制的成本。首先,让我们陈述一些假设,我们将在其他部分中重复使用:
根据这些假设,现在绕过审查的成本是 120000 * 15 * 10**-9 * 2500 = $4.5
。为了将其压低到我们的目标,我们需要将 L1 扩大 4.5 倍(但请注意这只是一个非常粗略的估算,因为弹性非常难以估计,甚至绝对的使用水平都很难估计)。
用户常常需要在一个 L2 与另一个 L2 之间移动资产。对于常见的高交易量资产,最实用的方式是意图协议,例如 ERC-7683。只有少数市场制造者需要直接进行从一个 L2 到另一个 L2 的交易;其他人只是与市场制造者交易。然而,对于低交易量资产或 NFT,这种方式并不可行,因此,如果要将这些资产从一个 L2 移动到另一个 L2,个人用户需要通过 L1 发送交易。
目前,提现成本约为 ~250,000 L1 gas,存款另需 120,000 L1 gas。理论上,这个流程可以被优化得很多。例如,要将 NFT 从 Ink 移动到 Arbitrum,底层 NFT 的所有权必须从 Ink 桥转移到 Arbitrum 桥的 L1。这是一个存储操作,仅需约 ~5000 gas
。其他内容只是“仅仅”调用和证明,使用正确的逻辑可以做到便宜;假设总成本为 7500 gas
。
让我们计算这两种情况的成本。
现在的成本:370000 * 15 * 10**-9 * 2500 = $13.87
在理想设计下:7500 * 15 * 10**-9 * 2500 = $0.28
我们的理想目标是 $0.05,因此这暗示着需要扩展 5.5 倍。
另外,我们可以直接根据容量进行分析。假设每位用户平均每个月需要进行一次 NFT(或稀有 ERC20)交叉 L2 转移。如果以太坊一个月的总 gas 容量为 18000000 * (86400 * 30 / 12) = 3.88 trillion
,则足够提供 5.18 亿个这样的转移。因此,如果以太坊想要服务整个世界(例如,引用 Facebook 的用户数量 31 亿),那么它需要扩展约 6 倍,而这仅仅是 L1 的唯一目的。
L2 具有的一个重要特性是,如果 L2 崩溃,可以退出到 L1,而“替代 L1”并不具备这一点。如果所有用户无法在一周内获取其资产怎么办?在Op rollup积中,这实际上可能没问题:一个诚实的参与者可以防止坏状态根被确认。然在 Plasma 系统中,一旦数据变得不可用,通常需要在一周内撤出。即使在Op rollup积中,敌意的 治理升级 也让用户有 30 天的时间线(见:阶段 2 定义)来撤回他们的资产。
这意味着什么?假设一个 Plasma 链崩溃,且一次退出需 120000 gas
。在一周内能够成功退出的用户数为多少?我们可以计算:86400 * 7 / 12 * 18000000 / 120000 = 7.56 million
用户。如果是一个持有敌太延迟治理升级的Op rollup积,则该数字增加到 32.4 million
用户。无疑可以创建一笔大规模撤退出的协议,允许多个用户同时退出。假设我们将效率推向极限,并且每用户只需进行一笔单一的 SSTORE 及其稍多(因此,7500 gas),那么这两个数字分别增加到 121 million
和 518 million
。
索尼在以太坊上 今天就推出了一个 L2。索尼的 Playstation 有 大约 1.16 亿的活跃用户。如果所有这些用户都成为 Soneium 用户,那么今天的以太坊就不会足够可扩展来支持大规模撤出事件。然而,如果我们实施更智能的大规模撤退协议,它就勉强能做到。
如果我们希望避免技术复杂的哈希提交协议,可能需要为每个资产留出 7500 gas 的空间。我目前在我的主钱包上有 9 个具有重要价值的资产;如果以此作为估计,则 L1 可能需要扩展约 9 倍。
对用户而言的另一个担忧是,即使他们能够安全扩展,他们仍会因为非常高的 gas 费用而损失很多钱。
让我们分析一次撤出操作的 gas 成本,使用当前和“理想”的退出成本:
120000 * 15 * 10**-9 * 2500 = $4.5
7500 * 15 * 10^-9 * 2500 = $0.28
然而这些估算的缺陷在于,在大规模撤出情形下,每个人都会试图同时撤出,因此 gas 成本会显著提高。我们已经看到有整整一天的时间 L1 的每日平均 gas 成本超过 100 gwei。如果我们将 100 gwei 视为基线,那么退出成本为 1.88 美元,这意味着 L1 需要扩展 1.9 倍以实际处理可承受的退出成本(低于 1 美元)。另请注意,如果想让用户能够一次退出_所有_资产,而不需要技术复杂的哈希提交协议,那么可能需要每个资产 7500 gas,然后退出成本将增加到 $2.5 或 $16.8,具体取决于参数,从而对 L1 需要多少扩展以保持可承受的撤出产生相应的影响。
目前许多代币在 L2 上推出。这有一个被低估的安全隐患:如果 L2 发生敌意治理升级,则在该 L2 启动的 ERC20 可以开始发行无限数量的新代币,而没有办法阻止这些代币泄漏到生态系统的其余部分。如果一个代币是在 L1 上发行的,那么一个 L2 错误的后果主要限于该 L2。
到目前为止,已经推出了超过 200,000 个 ERC20 代币 在 L1 上。即使支持 100 倍的数量也是可行的。然而,为了让在 L1 上发行 ERC20 代币成为一个受欢迎的选项,成本需要非常低。以 Railgun 代币为例(一个主要的 隐私协议)。 这里 是其部署交易。其成本为 1.647 百万 gas,按我们的假设计算为 $61.76。对于一家公司来说,这个成本本身是可以接受的。从原则上讲,这可以优化很多,尤其是对于大量使用相同逻辑发起大量代币的项目。然而,即使我们将成本降低到 120,000 gas,成本依然为 $4.5。
如果我们的目标是将 Polymarket gebracht 走上 L1(至少资产发行;交易仍可以在 L2 上进行),_并且_我们希望出现 大量微型市场,那么根据我们上面的目标 $0.25,我们需要将 L1 扩展约 18 倍。
密钥存储钱包 是一种具有可修改验证逻辑的钱包(用于更改密钥、签名算法等),该逻辑会自动传播到所有 L2。验证逻辑位于 L1,L2 使用同步读取(例如:L1SLOAD, REMOTESTATICCALL)来读取逻辑。密钥存储钱包可以在 L2 上进行验证逻辑,但是这增加了很多 复杂性。
假设每个用户每年需要进行一次关键更改或账户升级操作,而我们有 31 亿用户。如果每个操作成本为 50,000 gas,则每个槽位的 gas 消耗为 50000 * 3100000000 / (31556926 / 12) ~= 59 million
,约为当前目标的 3.3 倍。
我们 可能 进行非常重的优化,使得关键流程在 L2 发起,但在 L1 存储(归功于 Scroll 团队 提出的想法)。这将将 gas 消耗减少到可能仅一笔存储写入及略多(再次假设为 7500 gas),这将允许密钥存储更新使用大约一半的以太坊当前 gas 容量进行。
我们还可以估算一次密钥存储操作的成本:
7500 * 15 * 10**-9 * 2500 = $0.28
从这个角度看,提高 1.1 倍将足以使密钥存储钱包操作足够可承受。
为了使交叉 L2 互操作既快速、又通用且无信任,我们需要 L2 频繁地提交到 L1,以便它们可以直接了解彼此的状态。为了获得最佳低延迟,L2 需要在每个槽位提交到 L1。
使用当前的技术(ZK-SNARKs),每个 L2 的成本约为 500,000 gas,因此以太坊只能支持 36 个 L2(对比:L2beat 跟踪约 150 个,包括 validiums 和 optimiums)。但更重要的是这样做 经济上 不可行:在 长期平均 gas 价格约为 15 gwei 和 ETH 价格为 $2500 的情况下,每年提交的成本为 500000 * 15 * 10**-9 * (31556926 / 12) * 2500 = $49M 每年
。如果我们使用 聚合协议,则成本也可能降低,理论上限制可能在每次提交约 10,000 gas,因为聚合机制比仅更新一个存储槽复杂得多。这使得每个 L2 的提交成本约为每年 $1M。
理想情况下,我们希望每个槽位提交到 L1 是一件不费脑筋的事情。这需要显著提高 L1 的容量。每年 $100,000 对一个 L2 团队来说是一个相当小的成本,但每年 $1M 可就不一样了。
我们可以将上述用例放入表中,如下所示:
抗审查能力 | < 0.01x | < 0.01x | ~4.5x |
---|---|---|---|
跨L2资产移动 | 278x | 5.5x | ~6x |
L2大规模退出 | 3 - 117x | 1 - 9x | ~1 - 16.8x |
发行 ERC20 | < 0.01x | < 0.01x | ~1 - 18x |
密钥存储钱包操作 | 3.3x | 0.5x | ~1.1x |
L2 证明提交 | 4x | 0.08x | ~10x |
请记住,第一和第二列是可累加的,例如,如果密钥存储钱包操作占用当前 gas 消耗的一半,则必须留出足够的空间来在此基础上运行 L2 大规模退出。
此外,请再次记住,基于成本的估算是 极其 近似的。需求弹性(gas 成本如何对 gas 限制变化响应,尤其是长期内)很难估算,除此之外,即便是在固定的使用水平下,费用市场的演变也存在很多不确定性。
总体而言,这项分析表明,即使在一个以 L2 为主导的世界中,L1 gas 的 ~10x 扩展也具有重要价值。这反过来又意味着,能够在接下来的1-2年内进行的短期 L1 扩展是有价值的,无论长期图景最终是什么样的。
- 原文链接: vitalik.eth.limo/general...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!