系列,而 Alice 想购买她喜欢的迷因币,那么网络将同时为这两个用户提供服务,而不会影响任何性能和用户体验。 虽然这看起来只是一个直观的提升生活质量的功能,但并行执行所带来的网络性能提升为开发新型创新用例和应用程序铺平了道路,这些用例和应用程序可以利用低延迟和大容量,这本身就为将下一批用户群体引入加密生态系统奠定了基础。 并行执行如何运作? 虽然并行执行的前提相对简单,但底层区块链的设计细微差别会影响并行执行过程本身的执行方式。设计具有并行执行功能的区块链最相关的特性是交易访问其底层网络状态的能力,包括账户余额、存储和智能合约。 区块链上的并行执行可以分为确定性执行和乐观性执行两种。确定性并行执行,例如 Solana 区块链所采用,本质上要求交易预先声明所有内存依赖关系,即它们希望预先访问全局状态的哪些部分。虽然此步骤会给开发人员带来额外的开销,但从更广泛的意义上来说,它可以让网络在执行之前对非冲突的交易进行排序和识别,从而创建一个可预测且高效的优化系统。相反,乐观性并行执行旨在并行处理所有交易,并假设不存在冲突。这使底层区块链能够更快地执行交易,但代价是在发生冲突后可能需要重新执行。如果发现提交了两个冲突的交易,系统可以重新处理并重新执行它们,可以并行执行或顺序执行。 为了更好地理解这些设计细节的影响,可以通过分析当今引领并行执行前沿的团队来更好地了解并行执行。 并行执行的现状 为了更好地理解这些设计细节的影响,可以通过分析当今引领并行执行前沿的团队来更好地了解并行执行。 3.1 Solana 虚拟机 (SVM) Solana 是第一个围绕并行执行设计区块链网络的项目,灵感来自于创始人 Anatoly Yakovenko 在电信行业之前的经验。Solana 旨在提供一个尽可能快的开发人员平台,因此并行计算带来的速度和效率是简单直观的设计选择。 实现 Solana 高速和高吞吐量的一个关键组件是 Sealevel,它是网络的并行智能合约运行时环境。与基于 EVM 和 WASM 的环境不同,Sealevel 采用多线程架构,这意味着它可以根据验证器核心的容量同时处理多个交易。 Solana 实现并行执行的关键在于,当启用交易时,网络会分配一个指令列表供该交易执行,具体说明要访问哪些账户和状态以及要进行哪些更改 - 这是确定哪些交易是非冲突的并且可以同时执行的关键,同时也允许尝试访问相同状态的交易并发执行。可以将此类比于机场值机托运行李系统中标签带来的效率提升。 Solana 还利用其自己的定制账户数据库 Cloudbreak 来存储和管理状态数据,以实现事务的并发读写。Cloudbreak 针对并行执行进行了优化,可水平扩展以跨多个节点分发和管理状态数据。 得益于其并行架构,Solana 可以处理大量交易并且仍然可以快速执行,使交易接近即时确定性。Solana 目前平均每秒处理 2,000 到 10,000 笔交易 (TPS)。此外,SVM 的用例正在缓慢但確実に拡大,Eclipse 等团队正在推出 Layer 2 基础设施,旨在利用 SVM 作为执行环境。 3.2 并行 EVM 并行 EVM 描述了一种新的区块链执行环境,旨在将 Solana 和以太坊设计的“两全其美”结合起来,即 Solana 的速度和性能,以及以太坊的安全性和流动性。通过并行处理交易而不是像传统 EVM 设计那样顺序处理,并行 EVM 使开发人员能够在高性能网络上构建应用程序,同时能够利用与 EVM 流动性和开发人员工具的连接。 3.2.1 Sei Network Sei Network 是一个兼容 EVM 的开源 Layer 1 区块链,可承载各种围绕高性能构建的去中心化应用程序。Sei 的构建目标是为用户和开发人员提供低成本的高速交易,而并行执行是实现此性能和用户体验的关键组件。目前,Sei 的区块确认时间为 390 毫秒,其太平洋主网上已经处理了超过 19 亿笔交易。 最初,Sei 采用确定性并行执行模型,其中智能合约需要预先声明它们所需的 state 访问,以便系统同时运行非冲突的交易。随着其 V2 升级的开始,Sei 正转而采用乐观并行模型,这意味着所有交易在提交到网络 (执行阶段) 后将并行处理,然后将被审查是否存在与先前交易冲突的信息 (验证阶段)。如果发生两个或多个冲突交易,即尝试访问相同网络状态的交易,Sei 会识别冲突点,然后根据冲突的性质并行或顺序地重新运行这些交易。 为了存储和维护交易数据,Sei 还将引入 SeiDB,这是一个定制数据库,旨在通过针对并行执行进行优化来改善 v1 中的缺点。SeiDB 旨在降低存储冗余数据和维护高效磁盘使用的开销,以获得更好的网络性能。V2 减少了跟踪和存储所需元数据的量,并支持预写日志以帮助在崩溃时进行数据恢复。 最后,Sei 还最近宣布推出其并行堆栈 (Parallel Stack),这是一个开源框架,旨在使 Layer 2 扩展解决方案(例如 Rollup)能够利用并行执行并从中受益。 3.2.2 Monad Monad 是一个即将推出的并行 EVM Layer 1 区块链,为以太坊应用程序和基础设施提供完整的字节码和 RPC 兼容性。通过一系列创新的技术实现,Monad 旨在提供比现有区块链更具交互性的体验,同时通过优化性能和可移植性来保持较低的交易成本,实现 1 秒的区块时间和高达 10,000 TPS 的确定性。 Monad 通过实施并行执行和超标量流水线来优化交易的速度和吞吐量。类似于 Sei v2,Monad 将采用一种乐观执行模型,这意味着网络会开始同时执行所有传入的交易,然后分析和验证交易以查找冲突并相应地重新执行,最终目标是与按顺序执行交易的结果相同。 需要注意的是,为了保持与以太坊的同步,Monad 会以线性顺序排列区块中的交易,每个交易都会按顺序更新。 为了比当前以太坊客户端提供的方式更有效地维护和访问区块链数据,Monad 创建了其专有的 MonadDB,它是为区块链原生构建的。Monad DB 利用高级 Linux 内核功能来实现高效的异步磁盘操作,消除了同步输入/输出访问的限制。MonadDB 提供异步输入/输出 (async I/O) 访问,这是启用并行执行的一项关键功能,系统可以在等待读取先前交易的状态时开始处理下一个交易。 一个简单的类比是烹饪一顿多方面的饭菜(意大利面配肉丸)。步骤包括 1)准备酱汁,2)烹饪肉丸,3)烹饪意大利面。一个高效的厨师会首先为意大利面烧水,然后准备酱汁的配料,然后将意大利面扔进沸水中,然后烹饪酱汁,最后是肉丸,而不是一次做完每一步,完成一项任务后再继续下一项。 3.3 Move Move 是一种编程语言,最初由 Facebook 团队在 2019 年为其现已终止的 Diem 项目开发。Move旨在以安全的方式处理智能合约和交易数据,消除其他语言(例如重入攻击)中常见的攻击向量。 MoveVM 是 Move 型区块链的原生执行环境,它利用并行化来提供更快的交易执行速度和更高的整体效率。 3.3.1 Aptos Aptos 是一个由 Diem 项目的前成员开发的基于 Move 的 Layer 1 区块链,它通过实施并行执行来为应用程序开发人员提供一个高性能的环境。Aptos 利用 Block-STM,这是一种经过修改的软件事务内存 (STM) 并发控制机制的实现。 Block-STM 是一个支持乐观并行执行的多线程并行执行引擎。交易在区块内预先排序并进行战略性排序,这对于有效地解决冲突和重新执行这些交易至关重要。Aptos 进行的研究表明,理论上可以使用 Block-STM 的并行化来支持高达 160K TPS。 3.3.2 Sui 与 Aptos 类似,Sui 是一个由 Diem 项目的前成员开发的 Layer 1 区块链,它使用 Move 语言。但是,Sui 使用了 Move 的自定义实现,该实现更改了原始 Diem 设计中的存储模型和资产权限。具体而言,这使 Sui 能够利用状态存储模型将独立交易表示为对象。每个对象在 Sui 的执行环境中都有一个唯一的 ID,这样系统就可以轻松识别非冲突的交易并并行处理它们。 类似于 Solana,Sui 实施确定性并行执行,要求交易预先声明它们需要访问哪些账户。 3.3.3 Movement Labs 什么是 Movement? Movement 正在构建一套开发者工具和区块链基础设施服务,使开发人员能够轻松享受构建 Move 应用的优势。Movement 以类似于 AWS 的执行即服务提供商的身份为 Move 开发人员提供服务,并将其并行化作为核心设计功能,以实现更高的吞吐量和更大的整体网络效率。MoveVM 是一个模块化的执行环境,使区块链网络能够根据需要扩展和调整其交易处理能力,以支持越来越多的交易量,从而增强其并行处理和执行交易的能力。 Movement 还将推出 M2,这是一个与 EVM 和 Move 客户端都互操作的 ZK rollup。M2 将继承 Block-STM 并行化引擎,预计因此能提供数万 TPS 的吞吐量。 总结 4.1 当今并行系统的挑战 在开发平行区块链的过程中,需要思考一些重要的问题和注意事项: 网络为了通过并行执行获得更好的性能而做出了哪些权衡? 更少的验证节点可以带来更快的验证和执行速度,但这是否会损害区块链的安全性,因为验证节点更容易串谋攻击网络? 是否有大量的位置相同的验证节点?这在加密和非加密系统中都是一种常用的最小化延迟的策略,但是如果那个特定的数据中心被攻破,网络会发生什么? 对于乐观并行系统来说,随着网络扩展,重新执行无效交易的过程是否会成为瓶颈?这种效率是如何测试和评估的? 总而言之,平行区块链面临着账本一致性问题的风险,例如双重花费和交易顺序的改变(这实际上是顺序执行的主要优点)。确定性并行化通过为底层区块链上的交易创建内部标签系统来解决这个问题。实施乐观处理的区块链必须确保它们用来验证和重新执行交易的机制是安全和有效的,并且为性能做出的权衡是可以合理实施的。 4.2 未来展望/机遇 计算机的历史告诉我们,与顺序系统相比,并行系统往往随着时间的推移变得更加高效和可扩展。Solana 之后兴起的平行区块链的崛起强调了这个概念也适用于密码基础设施。甚至 Vitalik 最近也暗示了并行化是提高 EVM rollup 可扩展性的潜在关键解决方案之一。从广义上讲,加密/区块链 adoption 的增长要求系统比当前可用的系统更加优化,其中包括平行区块链。Solana 最近的网络困境凸显了平行区块链开发存在巨大改进空间。随着越来越多的团队寻求突破链上应用的前沿,并将下一批用户群体和采用引入到区块链原生应用程序和生态系统中,并行执行模型提供了一个直观 的框架,可以用来构建能够高效处理大量网络活动、轻松达到与 Web2 公司相当规模的系统。 来源:金色财经lg...