{"content":{"title":"Layer2 们和执行分片在技术上有什么真正的区别？","body":">- 原文链接：https://vitalik.eth.limo/general/2024/05/23/l2exec.html\r\n>- 译者：[AI翻译官](https://learnblockchain.cn/people/19584)\r\n>- 本文永久链接：[learnblockchain.cn/article…](https://learnblockchain.cn/article/8184)\r\n    \r\n## Layer 2 与执行分片真正有何不同？\r\n\r\n我在两年半前的帖子中提出的一个观点是，至少在技术上看，区块链的不同未来发展路径看起来令人惊讶地相似。在这两种情况下，你都有大量的链上交易，并且处理这些交易需要（i）大量的计算和（ii）大量的数据带宽。例如，像我用来撰写本文的笔记本电脑上运行的 2 TB [reth 存档节点](https://github.com/paradigmxyz/reth)等常规以太坊节点并不足以直接验证如此庞大的数据和计算量，即使进行了英勇的软件工程工作和 [Verkle 树](https://verkle.info/) 。因此，在“L1 分片”和以 [Rollup 为中心](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)的世界中，都使用 [ZK-SNARKs](https://vitalik.eth.limo/general/2022/06/15/using_snarks.html) 来验证计算，并使用 [DAS](https://ethereum.org/en/developers/docs/data-availability/) 来验证数据可用性。在这两种情况下，DAS 是相同的。在这两种情况下，ZK-SNARKs 是相同的技术，只是在一种情况下它们是智能合约代码，而在另一种情况下它们是协议的固有特性。从技术上讲，**以太坊正在进行分片，而 Rollup 是分片**。\r\n\r\n<table><tbody><tr><td><p><img src=\"https://img.learnblockchain.cn/attachments/migrate/1716458552186\"></p></td><td><p><img src=\"https://img.learnblockchain.cn/attachments/migrate/1716458569464\"></p></td></tr></tbody></table>\r\n\r\n![Image 3](https://img.learnblockchain.cn/attachments/migrate/1716457630007)\r\n\r\n这引发了一个自然的问题：这两个世界之间的区别是什么？一个答案是代码错误的后果不同：在 Rollup 世界中，币会丢失，在分片链世界中，会出现共识失败。但我预计随着协议的巩固以及形式化验证技术的改进，错误的重要性将会减少。那么，这两种愿景之间我们可以预期会持续存在的差异是什么？\r\n\r\n## 执行环境的多样性\r\n\r\n在 2019 年，我们在以太坊中曾经玩弄过的一个想法是[**执行环境**](https://ethresear.ch/t/eth-execution-environment-proposal/5507) 。基本上，以太坊将拥有不同的“区域”，这些区域可以对账户工作的规则（包括完全不同的方法，如 UTXO 等）、虚拟机的工作方式以及其他功能进行不同的规定。这将使得在以太坊试图独自完成所有工作时很难实现的堆栈的各个部分出现多样性的方法。\r\n\r\n最终，我们放弃了一些更雄心勃勃的计划，只保留了 EVM。然而，以太坊的 L2（包括 Rollups、valdiums 和 Plasmas）最终成为了执行环境的角色。今天，我们通常关注于等效于 EVM 的 L2，但这忽略了许多替代方法的多样性：\r\n\r\n*   [Arbitrum Stylus](https://docs.arbitrum.io/stylus/stylus-gentle-introduction)，它在 EVM 之外基于 [WASM](https://webassembly.org/) 添加了第二个虚拟机。\r\n*   [Fuel](https://docs.fuel.sh/v1.1.0/Concepts/Fundamentals/Transaction%20Architecture.html)，它使用类似比特币（但更完整的）基于 UTXO 的架构。\r\n*   [Aztec](https://aztec.network/)，它引入了一种围绕基于 ZK-SNARK 的隐私保护智能合约设计的新语言和编程范式。\r\n\r\n![Image 4](https://img.learnblockchain.cn/attachments/migrate/1716457629987)\r\n\r\n_UTXO-based architecture. Source: Fuel documentation._\r\n\r\n我们*可以*尝试将 EVM 打造成涵盖所有可能范式的超级 VM，但这将导致每个概念的实现效果远不如允许这些平台专门化。\r\n\r\n## 安全性权衡：规模和速度\r\n\r\n\r\n以太坊 L1 提供了非常强大的安全保障。如果某个数据片段位于 L1 上已经最终化的区块中，整个共识（包括在极端情况下的社会共识）都会确保数据不会被以违反将数据放置在那里的应用程序规则的方式进行编辑，任何由数据触发的执行不会被撤销，并且数据将保持可访问。为了实现这些保证，以太坊 L1 愿意接受高昂的成本。在撰写本文时，交易费用相对较低：[layer 2 每笔交易收费不到一分钱](https://www.growthepie.xyz/fundamentals/transaction-costs) ，即使 L1 的基本 ETH 转账也不到 1 美元。如果技术得到快速改进以使可用的区块空间增长以跟上需求，这些成本可能会保持较低 - 但也可能不会。即使每笔交易 0.01 美元对于许多非金融应用程序来说也太高，例如社交媒体或游戏。\r\n\r\n但社交媒体和游戏不需要与 L1 相同的安全模型。如果某人可以支付一百万美元来撤销他们输掉一场国际象棋比赛的记录，或者使你的一条推特帖子看起来是在实际发布三天后发布的，那也没关系。因此，这些应用程序不应该为相同的安全成本付费。以 L2 为中心的方法通过支持从 [**Rollups**](https://vitalik.eth.limo/general/2021/01/05/rollup.html) 到 [**Plasma**](https://learnblockchain.cn/article/6935) 到 [**Validiums**](https://ethereum.org/en/developers/docs/scaling/validium/) 的一系列数据可用性方法来实现这一点。\r\n\r\n![Image 5](https://img.learnblockchain.cn/attachments/migrate/1716457629992)\r\n\r\n在不同用例中的不同 L2 类型。阅读更多[这里](https://vitalik.eth.limo/general/2023/10/31/l2types.html) 。\r\n\r\n另一个安全性权衡涉及**从 L2 到 L2 传递资产**的问题。在极限情况下（未来 5-10 年），我预计所有 Rollups 都将是 ZK Rollups，并且超高效的证明系统，如 [Binius](https://vitalik.eth.limo/general/2024/04/29/binius.html) 和[Circle STARKs](https://eprint.iacr.org/2024/278)与 [lookups](https://eprint.iacr.org/2023/1217)，以及 [proof aggregation layers](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)，将使 L2 能够在每个插槽中提供最终化的状态根。然而，目前我们有一种复杂的乐观 Rollups 和具有各种证明时间窗口的 ZK Rollups 混合体。如果我们在 2021 年实施了执行分片，用于保持分片诚实的安全模型将是乐观 Rollups，而不是 ZK - 因此 L1 将不得不在链上管理[系统性复杂](https://vitalik.eth.limo/general/2022/02/28/complexity.html)的欺诈证明逻辑，并且在从一个分片移动资产到另一个分片时需要一个为期一周的提现期。但与代码错误一样，我认为这个问题最终是暂时的。\r\n\r\n第三个，也是更持久的安全性权衡维度是**交易速度**。以太坊每 12 秒出一个区块，不愿意加快速度，因为那样会使网络过于集中化。然而，许多 L2 正在探索几百毫秒的区块时间。12 秒已经不算太糟糕：平均而言，提交交易的用户需要等待约 6-7 秒才能被包含在一个区块中（不只是 6 秒，因为下一个区块可能不包括他们）。这与我在信用卡上付款时需要等待的时间相当。但许多应用程序需要更高的速度，而 L2 则提供了这种速度。为了提供更高的速度，L2 依赖于**预确认**机制：L2 的验证者会数字签名一个承诺，在特定时间包含交易，如果交易未被包含，他们可能会受到惩罚。一种名为 [StakeSure](https://arxiv.org/abs/2401.05797) 的机制进一步概括了这一点。\r\n\r\n![Image 6](https://img.learnblockchain.cn/attachments/migrate/1716457629996)\r\n\r\n> L2 预确认。\r\n\r\n现在，我们 **可以** 尝试在第 1 层完成所有这些。第 1 层可以整合“快速预确认”和“慢速最终确认”系统。它可以整合不同安全级别的不同分片。然而，这将给协议增加很多复杂性。此外，**在第 1 层完成所有这些**，会存在[过载共识](https://vitalik.eth.limo/general/2023/05/21/dont_overload.html)的风险，因为许多更高规模或更快吞吐量的方法具有更高的中心化风险或需要更强形式的“治理”，如果在 L1 完成，这些更强要求的影响会波及到协议的其他部分。通过在第 2 层提供这些权衡，以太坊可以基本避免这些风险。\r\n\r\n## 第 2 层对组织和文化的好处\r\n\r\n\r\n想象一下一个国家被分成两半，一半变成了资本主义，另一半变成了高度政府驱动（与[现实](https://www.nationalgeographic.com/pages/article/140226-north-korea-satellite-photos-darkness-energy)中[发生](https://vividmaps.com/germany-is-still-divided-by-east-and-west/)的情况不同，假设在这个思想实验中，这不是任何形式的战争结果；相反，一天，边界神奇地出现了，就是这样）。在资本主义部分，餐馆都由分散所有权、连锁店和特许经营的各种组合经营。在政府驱动部分，它们都是政府的分支机构，如警察局。第一天，变化不会太大。人们主要遵循他们现有的习惯，什么有效，什么无效取决于劳动技能和基础设施等技术现实。然而，一年后，你会预期看到巨大的变化，因为激励和控制结构的不同导致行为的巨大变化，这影响到谁来、谁留下、谁离开、建造什么、维护什么以及被遗弃什么。\r\n\r\n[工业组织](https://en.wikipedia.org/wiki/Industrial_organization)理论涵盖了许多这些区别：它不仅讨论政府主导的经济和资本主义经济之间的差异，还讨论了一个由大型连锁店主导的经济和一个每个超市都由独立企业家经营的经济之间的差异。我认为，以太坊成为第 1 层为中心的生态系统和第 2 层为中心的生态系统之间的差异沿着类似的路线。\r\n\r\n![Image 7](https://img.learnblockchain.cn/attachments/migrate/1716457630000)\r\n\r\n“核心开发者主导一切”架构出现了严重问题。\r\n\r\n我会这样表达以太坊作为Layer2为中心生态系统的关键优势：\r\n\r\n> **因为以太坊是一个Layer2为中心的生态系统，你可以自由地独立构建一个具有你独特特点的子生态系统，同时又是更大以太坊的一部分**。\r\n\r\n如果你只是构建一个以太坊客户端，你是更大以太坊的一部分，虽然你有一些创造空间，但远不及 L2 可用的空间。如果你构建一个完全独立的链，你将拥有最大的创造空间，但会失去共享安全性和共享网络效应等好处。Layer2形成了一个幸福的中间地带。\r\n\r\nLayer2不仅创造了一个技术上的机会，可以尝试新的执行环境和安全权衡以实现规模、灵活性和速度：它还创造了一个激励，既让开发人员构建和维护它，也让社区围绕它形成并支持它。\r\n\r\n每个 L2 隔离的事实也意味着部署新方法是无需许可的：无需说服所有核心开发者你的新方法对于链的其他部分是“安全”的。如果你的 L2 失败，那是你的责任。任何人都可以致力于完全奇怪的想法（例如 [Intmax 对 Plasma 的方法](https://www.intmax.io/plasmanext) ），即使它们被以太坊核心开发者完全忽视，他们仍然可以继续构建并最终部署。L1 的特性和预编译不是这样的，即使在以太坊中，L1 开发中的成功与失败往往更多地取决于政治，而不是我们希望的那样。无论理论上**可以构建**什么，一个以 L1 为中心的生态系统和一个以 L2 为中心的生态系统所创造的不同激励最终会严重影响实践中构建什么、以什么质量和以什么顺序构建什么。\r\n\r\n以太坊的Layer2 为中心生态系统面临哪些挑战？\r\n---------------------------------------------------------------\r\n\r\n![Image 8](https://img.learnblockchain.cn/attachments/migrate/1716457630004)\r\n\r\n一个严重错误的第 1 层 + 第 2 层架构。 [来源](https://www.reddit.com/r/UrbanHell/comments/14zy2ta/why_are_american_cities_so_ugly/) 。\r\n\r\n这种第 2 层为中心方法面临一个关键挑战，而第 1 层为中心的生态系统不必面对同样程度的挑战：**协调**。换句话说，当以太坊分支出去时，挑战在于保持它仍然感觉像“以太坊”，并具有作为以太坊而不是 N 个独立链的网络效应。今天，许多方面的情况都不够理想：\r\n\r\n*   **将代币从一个第 2 层移动到另一个第 2 层**通常需要集中化的桥接平台，并且对于普通用户来说很复杂。如果你在 Optimism 上拥有代币，你不能只是将某人的 Arbitrum 地址粘贴到你的钱包中，然后发送资金。\r\n*   **跨链智能合约钱包支持**不太好 - 无论是个人智能合约钱包还是组织钱包（包括 DAO）。如果你在一个 L2 上更改密钥，你还需要在每个其他 L2 上更改密钥。\r\n*   **去中心化验证基础设施**通常缺乏。以太坊终于开始拥有像 [Helios](https://github.com/a16z/helios) 这样的良好轻客户端。然而，如果所有活动都发生在需要自己的集中式 RPC 的 L2 上，这就没有意义了。原则上，一旦你有以太坊头部链，为 L2 制作轻客户端并不难；实际上，对此的重视远远不够。\r\n\r\n有一些努力正在努力改善这三个方面。对于跨链代币交换，[ERC-7683](https://www.erc7683.org/) 标准是一个新兴的选择，与现有的“集中桥接”不同，它没有任何正式的中心运营商、代币或治理。对于跨链账户，大多数钱包采取的方法是使用跨链可重放消息来短期更新密钥，并在长期内使用 [keystore rollups](https://safe.global/blog/keystore-rollup-smart-account-interoperability)。L2 的轻客户端开始出现，例如 [Beerus](https://github.com/eigerco/beerus) 用于 Starknet。此外，通过下一代钱包在用户体验方面的最新改进已经解决了更基本的问题，例如消除用户手动切换到正确网络以访问 dapp 的需求。\r\n\r\n![Image 9](https://img.learnblockchain.cn/attachments/migrate/1716457633047)\r\n\r\n> Rabby 展示了跨多个链的资产余额的集成视图。在不太久以前的黑暗时代，钱包并没有做到这一点！\r\n\r\n但是，重要的是要认识到，以第二层为中心的生态系统在协调时确实在某种程度上与潮流背道而驰。个别第二层没有自然的经济激励来构建协调基础设施：小的不会，因为他们只会看到他们贡献的好处的一小部分，大的也不会，因为他们从加强自己的本地网络效应中获益可能会更多。如果每个第二层都在单独优化其个别部分，而没有人考虑到每个部分如何融入更广泛的整体，我们就会看到像上面几段文字中的城市主义厄普托那样的失败。\r\n\r\n我并不声称对这个问题有神奇的完美解决方案。我能说的最好的是，生态系统需要更充分地认识到**跨第二层基础设施是以太坊基础设施的一种类型，与 L1 客户端、开发工具和编程语言一样重要，并应该得到相应的重视和资助。** 我们有 [Protocol Guild](https://protocol-guild.readthedocs.io/en/latest/); 也许我们需要基础设施公会。\r\n\r\n## 结论\r\n\r\n在公共讨论中，“第二层”和“分片”经常被描述为如何扩展区块链的两种相反策略。但是当你看底层技术时，有一个难题：_实际的扩展方法是完全相同的_。你有某种数据分片。你有欺诈证明者或 ZK-SNARK 证明者。你有解决方案用于跨-{rollup，shard} 通信。主要区别是：**谁负责构建和更新这些部分，以及他们有多少自主权？**\r\n\r\n以第二层为中心的生态系统在技术上*是*分片，但这是一种可以根据自己的规则创建自己的分片的分片。这是强大的，可以促进很多创造力和独立创新。但它也面临着关键挑战，特别是协调方面。对于像以太坊这样以第二层为中心的生态系统要成功，它需要理解这些挑战，并直面解决，以尽可能多地获得第一层为中心的生态系统的好处，并尽可能接近同时拥有两个世界中最好的部分。\r\n\r\n> 本文由 AI 翻译，欢迎小伙伴们来[校对](https://github.com/lbc-team/Pioneer/blob/master/translations/8184.md)。"},"author":{"user":"https://learnblockchain.cn/people/19584","address":"0xbEb536001cB9c343447519ad32F6db2bB7d45D3D"},"history":"bafkreie7uifkk4u4tgal7ug3je34gsvfuqgie43yy2psww2g2dgtegw7ny","timestamp":1720444172,"version":1}