近年来,区块链技术发展迅猛,以太坊作为其中的佼佼者,其扩展方案一直是社区关注的焦点。两年前,Vitalik Buterin在其关于“以太坊终局”的文章中指出,从技术角度看,区块链未来发展的不同路径其实非常相似。无论是Layer 1分片还是以Rollup为中心的方案,都需要处理大量交易,涉及巨大的计算量和数据带宽需求。
常规的以太坊节点,例如运行在普通笔记本电脑上的2TB reth存档节点,无法直接验证如此庞大的数据与计算量,即便有优秀的软件工程和Verkle树等技术支持。在这两种方案中,都使用ZK-SNARKs来验证计算,并通过数据可用性采样(DAS)确保数据可用性。技术层面看,以太坊实际上已经在进行分片,而Rollup正是分片的一部分。
那么,这两种方案之间到底有什么区别?一个常见的答案是代码错误的后果不同:在Rollup世界中,错误可能导致代币丢失;而在分片链中,可能引发共识失败。但随着协议逐渐固化以及形式验证技术的进步,错误的影响会逐渐减小。长期来看,这两种愿景的真正差异又是什么呢?
执行环境的多样性
2019年,以太坊曾短暂尝试过“执行环境”的概念,即以太坊可以拥有不同的“区域”,每个区域可以有不同的账户规则、虚拟机制及其他特性,甚至支持UTXO等完全不同的方法。这原本是为了实现一些在以太坊主链上难以完成的功能。
最终,以太坊放弃了一些过于雄心勃勃的计划,仅保留了EVM。然而,以太坊的Layer 2(包括Rollup、Validiums和Plasmas)在某种程度上充当了执行环境的角色。目前,社区通常专注于EVM等效的L2,但这忽略了许多替代方案的多样性:
- Arbitrum Stylus:除了EVM,还增加了基于WASM的第二虚拟机。
- Fuel:采用类似比特币但更完善的UTXO架构。
- Aztec:引入新的语言和编程范式,专注于基于ZK-SNARKs的隐私智能合约。
试图将EVM打造成覆盖所有范式的超级虚拟机,反而可能导致每个概念的实现效果都不如专注于特定领域的平台。
安全权衡:规模与速度
以太坊L1提供了非常强大的安全保障:一旦数据在L1区块中确认,整个共识机制(包括极端情况下的社会共识)会确保数据不会被篡改,执行不会被撤销,数据也将保持可访问性。为了实现这些保证,L1愿意承受高昂的成本。目前,交易费用相对较低:L2每笔交易费用不到一美分,L1上的基本ETH转账费用也不到1美元。如果技术发展足够快,区块空间增长能跟上需求,这些成本可能保持低位——但也未必。即使每笔交易0.01美元,对许多非金融应用(如社交媒体或游戏)来说仍然太高。
然而,社交媒体和游戏并不需要与L1相同的安全模型。例如,有人花费巨资撤销一场棋局记录或篡改推文发布时间,这类行为在非金融场景中或许可以接受。因此,这些应用不应为同等安全成本买单。以L2为中心的方法通过支持从Rollup到Plasma再到Validiums等多种数据可用性方案,使这一点成为可能。
另一个安全权衡涉及L2间资产传递。预计5-10年后,所有Rollup都将采用ZK-Rollup,超高效的证明系统(如Binius和Circle STARKs)结合查找和证明聚合层,将使L2能够在每个Slot提供最终状态根。目前,我们仍有复杂的混合乐观Rollup和ZK-Rollup,以及各种证明时间窗口。如果在2021年实施执行分片,保持分片诚实的安全模型将是乐观Rollup而非ZK——因此L1将不得不管理复杂的欺诈证明逻辑,并面临资产跨分片转移的一周等待期。但这个问题最终是暂时的。
第三个持久的安全权衡维度是交易速度。以太坊每12秒生成一个区块,不愿更快,以免过度中心化网络。然而,许多L2正在探索几百毫秒的区块时间。12秒其实不算太糟:用户提交交易后平均等待6-7秒被纳入区块(不仅仅是6秒,因为下一个区块可能不包含它们)。这与信用卡付款的等待时间相当。但许多应用需要更高速度,L2提供了这一点。
为了提供更高速度,L2依赖预确认机制:L2自己的验证者通过数字签名承诺在特定时间包含交易,如果未包含,可能受到惩罚。StakeSure机制进一步推广了这一理念。
我们当然可以尝试在L1上实现所有这些。L1可以结合“快速预确认”和“慢速最终确认”系统,也可以支持不同安全级别的分片。但这会给协议增加大量复杂性。此外,全部在L1上进行可能过度加重共识负担,因为许多高规模或高吞吐量的方法伴随更高的中心化风险或需要更强形式的“治理”,如果在L1实施,这些要求的影响会波及协议其他部分。通过L2提供这些权衡,以太坊可以大部分避免这些风险。
L2在组织和文化上的优势
想象一个国家被分成两半,一半实行资本主义,另一半实行高度政府主导的社会模式(假设这不是战争结果,而是某天突然出现一条边界)。在资本主义部分,餐馆由各种去中心化所有权、连锁店和特许经营运营。在政府主导部分,它们都是政府分支机构。第一天,变化不大;人们遵循现有习惯,效果取决于技术现实如劳动技能和基础设施。一年后,你会看到巨大变化,因为不同的激励和控制结构导致行为大变,影响人员流动、建设、维护和废弃。
工业组织理论涵盖了许多这类区别:不仅讨论政府运行经济与资本主义经济的区别,还涉及由大型特许经营主导的经济与每个超市由独立企业家运营的经济之间的差异。我认为,以L1为中心的生态系统和以L2为中心的生态系统之间的区别也类似。
“核心人员运行一切”的架构很容易出问题。以太坊作为以L2为中心的生态系统的关键好处可以表述为:以太坊是一个以L2为中心的生态系统,你可以自由独立地构建属于你的子生态系统,具有你独特的特性,同时又是更大以太坊的一部分。
如果你只是在构建以太坊客户端,你是更大以太坊的一部分,虽然有一定的创造力空间,但比起L2要小得多。如果你在构建一个完全独立的链,你有最大的创造力空间,但你失去了共享安全性和共享网络效应的好处。L2形成了一个快乐的中间地带。
L2不仅创造了技术机会,可以实验新的执行环境和安全权衡以实现规模、灵活性和速度;它们还为开发者构建和维护它、以及社区围绕它形成和支持它创造了激励。
事实上,每个L2是孤立的,这意味着部署新方法是无需许可的:不需要说服所有核心开发者你的新方法对链的其余部分是“安全的”。如果你的L2失败,那是你的责任。任何人都可以致力于完全奇怪的想法(例如Intmax对Plasma的方法),即使它们完全被以太坊核心开发者忽略,他们也可以继续构建并最终部署。L1特性和预编译不是这样的,即使在以太坊,L1开发成功和失败的决定往往取决于比我们希望的更多的政治因素。无论理论上可以构建什么,L1为中心和L2为中心的生态系统创造的不同激励最终会极大影响实际构建的内容、质量和顺序。
以太坊以L2为中心的生态系统面临的挑战
1层+2层架构也会出问题。这种以L2为中心的方法面临一个关键挑战是协调,而L1为中心的生态系统几乎不需要面对这个问题。换句话说,尽管以太坊分支出去,挑战在于保持它仍然感觉像“以太坊”,并具有作为以太坊而不是N个独立链的网络效应。目前的情况在很多方面并不理想:
- 将代币从一个L2转移到另一个L2通常需要中心化的桥接平台,对普通用户来说很复杂。如果你在Optimism上有代币,你不能直接粘贴别人的Arbitrum地址并发送资金。
- 跨链智能合约钱包支持不足——无论是个人智能合约钱包还是组织钱包(包括DAO)。如果你在一个L2上更改了密钥,你还需要在每个其他L2上更改密钥。
- 去中心化的验证基础设施往往缺乏。以太坊终于开始有像Helios这样的优秀轻客户端。然而,如果活动都发生在需要自己集中RPC的L2上,这没有意义。原则上,一旦你有了以太坊头链(header chain),为L2制作轻客户端并不难;实际上,强调它的人太少了。
有努力在改善所有这三方面。对于跨链代币交换,ERC-7683标准是一个新兴选项,不像现有的“中心化桥”,它没有任何固定的中心运营商、代币或治理。对于跨链账户,大多数钱包采取的方法是在短期内使用跨链可重放消息来更新密钥,长期则使用密钥存储Rollup。L2的轻客户端开始出现,如Beerus for Starknet。此外,通过下一代钱包,用户体验的最新改进已经解决了许多更基本的问题,如消除用户手动切换到正确网络访问dapp的需求。
Rabby展示了跨多条链的资产余额的综合视图。在不久前的黑暗时代,钱包还没有做到这一点!
但需要认识到,以L2为中心的生态系统在协调时确实在某种程度上逆流而上。单个L2没有自然的经济激励来建立协调基础设施:小的没有,因为它们只会看到其贡献的小市场份额好处;大的也没有,因为它们会从加强自己的本地网络效应中受益更多。如果每个L2单独优化其个别部分,没有人考虑每个部分如何适应更大的整体,我们会得到前文所述的城市化反乌托邦。
我不声称对这个问题有神奇的完美解决方案。我所能说的最好建议是,生态系统需要更充分地认识到跨L2基础设施是一种以太坊基础设施,应该像L1客户端、开发工具和编程语言一样被重视和资助。我们有Protocol Guild;也许我们还需要基础设施公会。
结论
“L2”和“分片”常被描述为两种相反的区块链扩展策略。但当你看底层技术时,会让人费解:实际的底层扩展方法完全相同。你有某种数据分片。你有欺诈证明者或ZK-SNARKs证明者。你有跨Rollup或分片通信的解决方案。主要区别是:谁负责构建和更新这些部分,它们有多大的自主权?
从技术角度来说,以L2为中心的生态系统就是分片,可以按照自己的规则创建自己的分片。这种分片功能强大,可以激发创造力和自主创新。但它也面临关键挑战,特别在协调方面。为了使像以太坊这样的L2为中心的生态系统成功,它需要理解这些挑战,并直接面对它们,以尽可能多地获得L1为中心生态系统的好处,并尽可能接近拥有两者的最佳状态。
常见问题
问:以太坊L2和执行分片在技术上的主要区别是什么?
答:技术上,两者都使用ZK-SNARKs验证计算和数据可用性采样(DAS)。主要区别在于治理和自主权:L2由独立团队构建和运营,拥有更大创新自由;而执行分片是协议内置功能,受核心开发者和共识约束。
问:为什么非金融应用可能更适合采用L2方案?
答:非金融应用(如社交媒体或游戏)通常不需要L1级的安全保证,例如防篡改和不可撤销性。L2允许根据需求调整安全模型,显著降低成本,避免为过度安全付费。
问:L2如何实现更快的交易速度?
答:L2通过预确认机制实现高速交易,验证者承诺在几百毫秒内包含交易,否则受罚。这与以太坊L1的12秒出块时间相比,大幅提升响应速度,满足高频应用需求。
问:跨L2资产转移目前存在哪些问题?
答:当前跨L转移依赖中心化桥接,操作复杂且体验割裂。智能合约钱包缺乏跨链支持,密钥管理繁琐。去中心化验证基础设施不足,影响用户体验和安全性。
问:以太坊L2生态如何解决协调挑战?
答:社区需重视跨L2基础设施,将其视为以太坊核心组成部分。通过标准提案(如ERC-7683)、轻客户端开发及资金支持,促进跨链互操作性和整体网络效应。
问:L2方案会牺牲安全性吗?
答:L2允许灵活的安全权衡,根据应用需求选择数据可用性方案(如Rollup、Validium)。金融应用可选高安全模型,非金融应用可降低成本,并非牺牲安全,而是精准匹配需求。