抗审查能力
目标是抵制审查。
区块链的核心价值主张之一是抵制审查:如果一笔交易是有效的,并且你有资金支付市场费率的手续费,那么你应该能够可靠地将该交易快速上链。
在某些情况下,抵制审查在短时间尺度上尤为重要:如果你在一个 DeFi 协议中持有仓位,而价格变化非常迅速,那么即使交易上链延迟 5 分钟,都可能导致你的仓位被清算。
L1 的验证者集高度去中心化,这使得审查一笔交易超过几个 slot 变得非常困难。目前有一些提案旨在进一步增强以太坊的这一特性,即使在区块构建高度集中化且被外包的情况下,也能保证其抵制审查的能力。相比之下,L2 要么依赖于集中度更高的区块生产者,要么依赖于中心化的排序器,这使得它们更容易选择审查用户。不过,一些 L2(例如参见 Optimism、Arbitrum 的文档)确实具有强制包含机制,允许用户直接通过 L1 提交交易。因此,抵制审查的实际价值取决于 (i) L1 手续费是否足够低,以及 (ii) L1 是否有足够的空间,使得用户即使在 L2 大规模审查用户的情况下,依然能够发送绕过交易。
基本的数学假设我们可以通过一些计算来评估使用强制包含机制的实际成本。首先,让我们陈述一些假设,这些假设也将在其他部分重复使用:
当前一笔 L1 → L2 的存款交易大约消耗 120,000 L1 gas。以下是来自 Optimism 的示例。一个极简的 L1 操作(例如更改特定存储槽的值)消耗 7,500 L1 gas(包括冷 SSTORE、地址的 calldata 成本以及少量计算成本)。ETH 价格为 2,500 美元。Gas 价格为 15 gwei,这是对长期平均水平的合理估计。需求弹性接近 1(即,将 gas 限制翻倍会将价格减半)。早期的数据分析对这一假设有一定支持,但实际上,需求弹性可能会在任意方向出现很大偏差。我们希望应对攻击的成本低于 1 美元。“正常”操作的成本不应超过每笔交易 0.05 美元,而中等特殊性的交易(例如密钥更改)应低于 0.25 美元。这是一种直观的价值判断。
在这些假设下,目前绕过审查的成本为 120000 * 15 * 10**-9 * 2500 = $4.5。要将其降低至目标水平,我们需要将 L1 的扩展性提高 4.5 倍(不过需要注意,由于需求弹性难以估算,甚至绝对使用量也很难估算,因此这一估算非常粗略)。
需要在 L2 之间转移资产通常,用户需要将资产从一个 L2 转移到另一个 L2。对于常见的高交易量资产,最实际的方法是使用诸如 ERC-7683 之类的意图协议。实际上,只有少量做市商需要直接在 L2 之间进行转移,其他用户只需与做市商进行交易即可。然而,对于低交易量资产或 NFT,这种方式不可行,因此,个人用户需要通过 L1 发送交易才能将此类资产从一个 L2 转移到另一个 L2。
目前,一次提现大约消耗 250,000 L1 gas,存款则需要另外 120,000 L1 gas。从理论上讲,这一流程可以被大幅优化。例如,将 NFT 从 Ink 转移到 Arbitrum,其底层所有权必须通过 L1 从 Ink 桥转移到 Arbitrum 桥。这是一个存储操作,仅消耗约 5,000 gas。其余部分“只是”调用和证明,通过合理的逻辑可以降低成本,总费用大约为 7,500 gas。
让我们计算两种情况下的成本。
当前情况:370000 * 15 * 10**-9 * 2500 = $13.87
在理想设计下:7500 * 15 * 10**-9 * 2500 = $0.28
我们的理想目标是 $0.05,这意味着需要将成本再降低 5.5 倍。
或者,我们可以更直接地根据容量进行分析。假设每位用户平均每月需要进行一次跨 L2 的 NFT(或稀有 ERC20)转移。以太坊一个月的总 gas 容量为 18000000 * (86400 * 30 / 12) = 3.88 万亿,足以支持 5.18 亿次此类转移。因此,如果以太坊希望服务全球用户(例如,使用 Facebook 的 31 亿用户数作为参考),则需要将容量扩展约 6 倍,而这还是在 L1 仅用于此类转移的情况下。
L2 大规模提现L2 的一个重要特性是,如果 L2 出现故障,用户可以通过 L1 提现,而“alt L1”则不具备这种能力。如果所有用户都无法在一周内完成提现会怎样?在乐观 rollups 中,这实际上可能没问题:只需一个诚实的参与者即可无限期地阻止错误的状态根被确认。然而,在 Plasma 系统中,如果数据不可用,通常需要用户在一周内完成提现。即使是在乐观 rollups 中,如果发生恶意的治理升级,用户也会有 30 天的时间窗口(参见第 2 阶段定义)来提现其资产。
这意味着什么?假设某个 Plasma 链发生故障,提现一次需要消耗 120000 gas。那么在一周内可以有多少用户完成提现?我们可以计算:86400 * 7 / 12 * 18000000 / 120000 = 756 万用户。如果是因恶意治理升级导致的 30 天时间窗口,则该数字增加至 3240 万用户。理论上,我们可以设计一种大规模提现协议,使得许多用户可以同时提现。假设将效率推至极限,每位用户仅需进行一次 SSTORE 和少量操作(约 7500 gas),那么上述两个数字分别可以增加到 1.21 亿和 5.18 亿。
Sony 目前在以太坊上拥有一个 L2,而 Sony 的 PlayStation 拥有约 1.16 亿月活跃用户。如果所有这些用户都成为 Soneium 用户,那么以太坊目前还无法支持这种大规模提现事件。然而,如果我们实施更智能的大规模提现协议,或许刚好能满足需求。
如果我们希望避免技术复杂的哈希提交协议,那么我们可能需要为每个资产预留 7500 gas。我在 Arbitrum 的主要钱包中持有 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 也需相应扩容,以使提现成本保持在可负担范围内。
在 L1 上发行 ERC20如今,许多代币都是在 L2 上发行的,但这存在一个被低估的安全隐患:如果某个 L2 发生恶意治理升级,那么在该 L2 上发行的 ERC20 代币可能会被无限量地增发,而我们无法阻止这些代币流入整个生态系统。如果代币是在 L1 上发行的,那么即便某个 L2 出现问题,其影响也基本上会被限制在该 L2 内部。
迄今为止,已有超过 20 万个 ERC20 代币在 L1 上发行。即使支持 100 倍的数量也是可行的。然而,要让在 L1 上发行 ERC20 成为一种受欢迎的选择,成本必须足够低。例如,以 Railgun 代币(一个主要的隐私协议)为例,其部署交易消耗了 164.7 万 gas,在我们的假设下成本为 $61.76。对于公司而言,这样的成本尚可接受。从原则上讲,这一流程可以被大幅优化,尤其是对于需要大量发行逻辑相同代币的项目。然而,即使将成本降低至 120000 gas,费用依然为 $4.5。
如果我们以将 Polymarket 的资产发行迁移至 L1 为目标(交易仍可在 L2 上进行),并且希望支持大量微型市场,那么按照我们之前设定的目标——每次成本为 $0.25,L1 需要扩容约 18 倍。
密钥库钱包操作
密钥库钱包是一种具有可修改验证逻辑的钱包(用于更换密钥、签名算法等),其更改会自动传播至所有 L2。验证逻辑位于 L1,L2 通过同步读取(例如 L1SLOAD、REMOTESTATICCALL)来读取该逻辑。尽管可以将验证逻辑放在 L2 上,但这会增加大量复杂性。
假设每位用户每年需要进行一次密钥更换或账户升级操作,全球用户数量为 31 亿。如果每次操作消耗 50000 gas,那么每个时间槽的 gas 消耗为 50000 * 3100000000 / (31556926 / 12) ≈ 5900 万,约为当前目标的 3.3 倍。
通过极限优化,可以将密钥更换操作在 L2 发起、但存储在 L1(感谢 Scroll 团队提出这一想法)。这种方法能将 gas 消耗降至仅需一次存储写入及少量额外消耗(同样按 7500 gas 计算),从而使密钥库更新大约占据以太坊当前一半的 gas 容量。
我们还可以估算一次密钥库操作的成本:
7500 * 15 * 10**-9 * 2500 = $0.28
从这一角度来看,L1 只需扩容约 1.1 倍,就能让密钥库钱包的使用变得足够经济实惠。
L2 证明提交为了实现快速、通用且无需信任的跨 L2 互操作性,L2 需要频繁地向 L1 发布状态,以便它们能够直接感知彼此的状态。为了实现最低的延迟,L2 需要在每个时间槽都向 L1 提交状态。
在当前技术条件下(使用 ZK-SNARKs),每个 L2 的提交成本约为 500000 gas,因此以太坊仅能支持约 36 个 L2(相比之下,L2beat 追踪的项目数量约为 150,包括 validiums 和 optimiums)。更重要的是,这种做法在经济上不可行:以长期平均 gas 价格约为 15 gwei、ETH 价格为 $2500 来计算,每年提交的成本为 500000 * 15 * 10**-9 * (31556926 / 12) * 2500 = $4900 万/年。如果使用聚合协议,成本可以再次下降,在极限情况下,每次提交可能仅需约 10000 gas,因为聚合机制比仅更新一个存储槽稍微复杂一些。这样一来,每个 L2 每年的提交成本约为 $100 万。
理想情况下,我们希望每个时间槽都向 L1 提交状态成为一件不需要考虑的事情。要做到这一点,仍然需要大幅增加 L1 的容量。每年 10 万美元的成本对 L2 团队来说是一个相对较小的开支,但每年 100 万美元的成本就不太可行了。
结论我们可以将上述使用案例整理成如下表格:
请记住,第一列和第二列的需求是累加的,例如,如果密钥库钱包操作占用了当前 gas 消耗的一半,那么必须有足够的空间来运行 L2 大规模退出。此外,还要再次记住,基于成本的估算非常粗略。需求弹性(gas 费用如何响应 gas 限制变化,尤其是在长期内)是非常难以估计的,而且即使在使用量固定的情况下,费用市场如何演变也存在很大的不确定性。
总的来说,这项分析表明,即使在 L2 主导的世界中,L1 gas 扩容约 10 倍仍然具有显著价值。这反过来意味着,即使长期图景尚不明朗,未来 1-2 年可以进行的短期 L1 扩容依然具有重要价值。
声明:
本文转载自[Vitalik],如对转载有异议,请联系 Gate Learn 团队,团队会根据相关流程尽速处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
文章其他语言版本由 Gate Learn 团队翻译, 在未提及 Gate.io 的情况下不得复制、传播或抄袭经翻译文章。