这是 Fuel Labs 系列作品的第一部分,涵盖了以太坊上可扩展性和执行相关的主题。本系列旨在对增强以太坊性能和扩容相关的挑战提供全面的洞见,也包括当前致力于使其更高效和可扩展来实现广泛采用的解决方案。
执行层负责执行智能合约和处理交易(请参阅本系列的第一部分),使各种应用和服务能够在以太坊生态系统内构建。在过去的几年里,已经出现了 60 多条 Layer 2 (L2) 链,这些链都在致力于不同的解决方案来扩展以太坊的执行层。
总体而言,L2 提供了以下优势:
降低交易费用:通过最小化链上交易,L2 可以减少gas费用,使小额交易成为可能并改善用户体验;
增强安全性:卸载交易可以提供额外的安全性,保护敏感数据,同时保持区块链的完整性;
降低准入门槛:较低的成本和改进的性能可以吸引更多的开发者和用户,促成一个围绕以太坊的充满活力的生态系统。
尽管 L2 提供了很多优势,但它们仍然存在不足。目前的一个问题趋势是持续追求 EVM 兼容性。许多解决方案试图在各种环境中复制 EVM,而没有从根本上质疑这种方法是否适应现代区块链需求。虽然 EVM 兼容性在开发者熟悉度和现有生态系统支持方面提供了优势,但它也延续了原始 EVM 设计中固有的许多低效和限制。
虽然我们看到了 EVM L2 的显著地位,但我们也看到了最近在创新执行层方面替代虚拟机(VM)的多种尝试。让我们来看看这些解决方案的好处以及构建机会。
随着新框架的涌入,区块链技术的执行格局迅速演变。这些框架包括各种虚拟机(VM)、模块化框架和 rollups。
通用 VM(如 WASM 和 RISC-V)在区块链性能方面提供了有前景的进步。与 EVM 相比,WASM 提供了更灵活和高效的执行环境,支持多种编程语言并具有更快的执行速度。
然而,将它们整合到区块链生态系统中会带来挑战,需要对现有基础设施进行重大调整。对WASM 和 RISC-V 等系统的最大批评之一是,它们最初是为浏览器设计的 ISA 或 VM,而不是为区块链设计的。它们从未为区块链使用的gas计量处理而构建。WASM 的指令集甚至不是确定性的,这使其不适合区块链执行。此外,这些系统可能在调试工具上不够成熟、缺乏集成的内存安全性以及内存不安全语言固有的漏洞方面存在缺陷。
最近,我们看到将 Layer 1 VM(如 Solana 虚拟机 (SVM) 和 MoveVM)纳入 rollup 设置的尝试。SVM 的并行交易处理提高了效率,但在确保交易一致性和管理并发操作方面带来了挑战,这可能影响稳定性并增加开发复杂性。
MoveVM 通过将数字资产视为具有严格防重复制或丢失规则的一等实体,引入了资源管理方面的创新。MoveVM 的设计最初是为 Facebook 的 Libra 区块链项目创建的代码,因此为该生态系统的开发人员提供了熟悉感。
然而,将传统 VM 模型的开发人员迁移到 MoveVM 需要经历一个陡峭的学习曲线。MoveVM 和 SVM 一样,都是为整体架构设计的 VM,本来不是为汇总 rollups 设计的,尽管它们可以在模块化架构中应用和部署。MoveVM 和 SVM 都使用高度依赖状态的设计,其中状态会随着时间不断累积。虽然 SVM 试图通过应用级别的解决方案(如仅发布 Merkle 证明)来解决这一问题,但它仍然缺乏管理智能合约不断增长的状态的明确策略。这突显了任意执行环境对区块链来说是存在问题的。区块链的设计需要以完整节点为客户。考虑到完整节点的限制来进行设计,从而确保遵守物理学的正确计算。
Rollups 依赖以太坊的安全性和去中心化,通过执行层显著提高了以太坊的可扩展性。Rollups 提供的多样化选择无疑推动了该领域的创新和竞争。但一个显著的问题依然存在:大多数 rollups 架构只是通用或 L1 设计的改编。这意味着 rollups 基础设施通常没有针对 rollups 进行优化或专门设计。现有的 rollups 架构未能解决 rollups 特有的问题,如不同 L2 之间的互操作性。
大多数 rollups 也没有充分解决状态增长问题,随着时间的推移效率降低和成本增加。事实上,rollups 通常具有与以太坊相同的状态问题。解决这一差距是大多数 L2 解决方案未能达成的关键领域,因此需要更加专业化和优化的方法。
“Rollups 并没有消除对状态大小的担忧;事实上,Rollups 的状态大小问题与以太坊链本身完全相同。” - Vitalik Buterin
当前的执行格局揭示了一个重要的机会:通过设计一个专门针对现代区块链面临的独特挑战的系统,我们可以突破现有解决方案带来的限制,同时保留以太坊的安全性。
最终目标是为以太坊这个最大的安全网络构建一个未来,在这里数千甚至数百万个特定应用的链可以共存。为了实现这样的未来,我们需要最大限度的垂直可扩展性(以提高性能和状态可持续性)及水平可扩展性(以实现互操作性)。为了实现这一目标,我们必须从头开始重新构想区块链的执行方式。
我们需要一个专门设计的执行层,以平衡高性能和最小资源需求。创建一个快速的系统很容易,但真正的挑战在于构建一个能够在低资源、廉价硬件上高效运行的系统。一个成功的执行层应该在高性能和最小计算需求之间找到平衡,使其对更广泛的用户群体来说既可访问又可持续。
为了将以太坊扩展到数百万个应用,我们需要一个从头开始设计的执行层。
关于通用架构和专门构建架构之间的辩论促使我们对区块链核心功能进行关键审视。区块链设计领域存在一种普遍的思维过程,这种思维过程模仿了传统计算系统,并迫使开发人员做出妥协,从而阻止我们充分利用区块链的真正潜力。
我们现在有机会设计具有专门构建执行功能的区块链系统,这意味着解决特定的需求和目标,而不是改编现有框架,这些框架最初并非为当前任务而创建。
专门构建的执行关乎一致性,创建一个支持区块链技术目标和理念的执行环境。在这种方法下,执行层不仅仅是区块链系统的一个技术组件,而是一个基本部分,它可以促进或阻碍区块链全部潜力的实现。
与通用执行环境不同的是,通用执行环境旨在多功能处理广泛的任务,而专门构建的执行则专注于解决与性能、效率和可扩展性相关的特定挑战。创建一个满足 rollups 或其他专业区块链解决方案具体需求的定制执行层,解决了通用环境的问题。这意味着创建一个专门定制的执行层,进而满足 rollups 或其他专业区块链解决方案的具体需求。
从头开始设计确保系统的每个方面都针对效率、性能和可扩展性进行优化,特别是针对其在执行交易和智能合约中的角色。专注的设计可以更有效地处理诸如状态最小化、互操作性和资源管理等问题,最终为更强大和适应性更强的执行环境铺平道路。
使用通用系统来解决区块链任务会给开发人员带来无数麻烦。通用系统还导致了糟糕的用户体验、工具分散和安全问题。要解决这些区块链特定任务,我们必须从头开始重新思考执行架构。解决方案?为任务设计合适的工具。
重新思考我们对执行层采取的方法可以在区块链网络中释放新的性能、可访问性和功能水平。我们相信,我们的方法将为区块链技术的更广泛应用铺平道路,并实现其在各个行业和用例中的变革潜力。
在我们执行层系列的下一部分中,我们将更深入地了解 Fuel 如何实现专门构建的执行原则及其对以太坊和 rollups 领域未来的影响。我们将探讨 FuelVM 的功能,解决执行层长期挑战的方法,以及对更广泛的以太坊生态系统的潜在影响。