“L2”和“分片”常被描述为两种相反的区块链扩展策略,当你看底层技术时会让发现,实际的底层扩展方法完全相同。但它们的主要区别是什么?
原文作者:Vitalik,以太坊创始人
原文编译:0xjs@金色财经
两年半前,我在关于“以太坊终局”的文章中指出,从技术角度来看,区块链未来发展的不同路径看起来非常相似。在这两种情况下,链上都有大量的交易,并且处理这些交易需要(i)大量的计算和(ii)大量的数据带宽。像我用来写这篇文章的笔记本电脑上运行的2TB reth存档节点这样的常规以太坊节点,并不足以直接验证如此巨大的数据和计算量,即使有伟大的软件工程作品和Verkle树。
在“L1分片”和以rollup为中心的世界中,都使用ZK-SNARKs来验证计算,并使用DAS(数据可用性采样)来验证数据可用性。这两种情况下的DAS是相同的。两种情况下的ZK-SNARKs技术也是相同的,区别在于一种是智能合约代码,另一种是协议的一个嵌入特性。从技术角度来看,以太坊实际上正在进行分片,而rollup是分片的一部分。
这引出了一个自然的问题:这两个世界之间的区别是什么?一个答案是代码错误的后果不同:在rollup世界中,代币会丢失,而在分片链世界中,会有共识失败。但我预计随着协议的固化和形式验证技术的改进,错误的重要性会减少。那么,我们可以预期这两种愿景的长期差异是什么呢?
执行环境的多样性
2019年我们在以太坊上短暂尝试过的一个想法是执行环境。本质上,以太坊会有不同的“区域(zone)”,这些区域可以有不同的账户工作规则(包括完全不同的方法,如UTXO),虚拟机的工作方式以及其他特性。这将使在以太坊独立完成所有工作的情况下难以实现的一些方法得以实现。
最终,我们放弃了一些更具雄心的计划,只保留了EVM。然而,以太坊的L2(包括rollup、valdiums和Plasmas)在某种程度上充当了执行环境的角色。今天,我们通常专注于EVM等效的L2,但这忽略了许多替代方法的多样性:
- Arbitrum Stylus,除了EVM之外还增加了一个基于WASM的第二虚拟机。
- Fuel,使用类似比特币(但更完备)的UTXO架构。
- Aztec,引入了一种新的语言和编程范式,旨在围绕ZK-SNARKs的隐私保护智能合约进行设计。
Fuel的UTXO架构
我们可以尝试将EVM变成一个覆盖所有可能范式的超级虚拟机,但这将导致对每个概念的实现效果都远不如让像这些平台专注于各自的领域。
安全权衡:规模和速度
以太坊L1提供了非常强的安全保障。如果某些数据在L1上被确认的区块中,这整个共识(包括在极端情况下的社会共识)都确保数据不会以违反应用程序规则的方式被编辑,任何由数据触发的执行不会被撤销,数据也将保持可访问性。为了实现这些保证,以太坊L1愿意接受高昂的成本。在撰写本文时,交易费用相对较低:二层网络每笔交易费用不到一美分,即使是L1上的基本ETH转账费用也不到1美元。如果技术进步足够快,以致于可用区块空间增长能够跟上需求,这些成本可能会保持低水平——但也可能不会。而且即使每笔交易0.01美元,对于许多非金融应用(例如社交媒体或游戏)来说也是太高了。
但社交媒体和游戏不需要L1相同的安全模型。如果有人花一百万美元来撤销他们输掉的一场棋局的记录,或使你的推文看起来像是在实际发布后三天发布的,这也是可以接受的。因此,这些应用不应该为相同的安全成本付出代价。一个以L2为中心的方法使这一点成为可能,通过支持从rollup到plasma再到validiums的各种数据可用性方法。
不同用例,不同L2类型
另一个安全权衡出现在从L2到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的机制进一步概括了这一点。
L2预确认
我们可以尝试在L1上做所有这些。L1可以结合“快速预确认”和“慢速最终确认”系统。它可以结合不同安全级别的分片。然而,这会给协议增加很多复杂性。此外,全部在L1上进行会有过度超载共识的风险,因为许多更高规模或更快吞吐量的方法有更高的中心化风险或需要更强形式的“治理”,如果在L1上进行,这些更强要求的影响会波及到协议的其他部分。通过L2提供这些权衡,以太坊可以大部分避免这些风险。
L2在组织和文化上的优势
想象一个国家被分成两半,一半变成资本主义,另一半变成高度政府主导的社会(与现实中的这种情况不同,假设在这个思想实验中,它不是任何种类的创伤性战争的结果;而是某一天一条边界神奇地出现了,仅此而已)。在资本主义部分,餐馆由各种去中心化所有权、连锁店和特许经营运营。在政府主导的部分,它们都是政府的分支机构,比如警察局。第一天,不会有太大变化。人们大体上遵循现有的习惯,什么有效,什么无效取决于技术现实,如劳动技能和基础设施。一年后,你会期望看到大的变化,因为不同的激励和控制结构导致行为的大变化,影响到谁来,谁留下,谁离开,建什么,维护什么,以及什么被遗弃。
工业组织理论涵盖了许多这些区别:它不仅谈论政府运行的经济与资本主义经济之间的区别,还讨论了由大型特许经营主导的经济与例如每个超市由独立企业家运营的经济之间的区别。我认为,以L1为中心的生态系统和以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标准是一个新兴的选项,不像现有的“中心化桥”,它没有任何固定的中心运营商、代币或治理。对于跨链账户,大多数钱包采取的方法是在短期内使用跨链可重放消息来更新密钥(cross-chain replayable messages to update keys),长期则使用密钥存储rollup。L2的轻客户端开始出现,如Beerus for Starknet。此外,通过下一代钱包,用户体验的最新改进已经解决了许多更基本的问题,如消除用户手动切换到正确网络访问dapp的需求。
Rabby 展示了跨多条链的资产余额的综合视图。在不久前的黑暗时代,钱包还没有做到这一点!
但需要认识到,以L2为中心的生态系统在协调时确实在某种程度上逆流而上。单个L2没有自然的经济激励来建立协调基础设施:小的没有,因为它们只会看到其贡献的小份额好处,而大的也没有,因为它们会从加强自己的本地网络效应中受益更多。如果每个L2单独优化其个别部分,没有人考虑每个部分如何适应更大的整体,我们会得到上文几段中的图片所示的城市化反乌托邦。
我不声称对这个问题有神奇的完美解决方案。我所能说的最好的建议是,生态系统需要更充分地认识到跨L2基础设施是一种以太坊基础设施,应该像L1客户端、开发工具和编程语言一样被重视和资助。我们有Protocol Guild;也许我们还需要基础设施公会。
结论
“L2”和“分片”常常被描述为两种相反的区块链扩展策略。但当你看底层技术时,会让人费解:实际的底层扩展方法完全相同。你有某种数据分片。你有欺诈证明者或ZK-SNARKs证明者。你有跨{rollup,分片}通信的解决方案。主要区别是:谁负责构建和更新这些部分,它们有多大的自主权?
从技术角度来说,以L2为中心的生态系统就是分片,可以按照自己的规则创建自己的分片。这种分片功能强大,可以激发创造力和自主创新。但它也面临关键挑战,特别是在协调方面。为了使像以太坊这样的L2为中心的生态系统成功,它需要理解这些挑战,并直接面对它们,以尽可能多地获得L1为中心生态系统的好处,并尽可能接近拥有两者的最佳状态。
本文来自金色财经,经授权后发布,本文观点不代表星空财经BlockGlobe立场,转载请联系原作者。