并行执行:下一代区块链

进阶5/27/2024, 10:20:31 AM
文章探讨了并行执行技术在区块链领域的应用,特别是其如何提升交易效率、降低成本和增强用户体验。Solana 作为并行执行的先驱,展示了其在处理速度和吞吐量方面的优势。文章详细介绍了区块链交易的工作原理,包括交易的生命周期、内存池(mempool)的作用以及无内存池区块链的工作原理。并行执行允许区块链同时处理多个不冲突的交易,从而提高网络的吞吐量和可扩展性。文章还讨论了并行执行的不同模型,包括确定性和乐观性,并分析了市场上推动并行执行的团队和项目,如 Solana、Parallel EVM、Sei Network、Monad、Move 语言、Aptos、Sui 和 Movement Labs。

序言

1.0 区块链交易

区块链是虚拟机,是一种基于软件的计算模型,运行在物理计算机的分布式网络之上,任何人都可以加入该网络,但任何单个实体都很难控制。区块链的概念首次写入中本聪于 2008 年臭名昭著的比特币白皮书中,作为支持加密安全的比特币点对点支付的核心基础设施。交易对于区块链来说就像日志对于社交媒体和互联网公司一样;它们充当该特定网络的活动记录,主要区别在于区块链上的交易是不可变的并且通常是可公开观察的。

感谢您阅读Shoal Research!免费订阅以接收新帖子并支持我的工作。

但交易到底是什么?

区块链上的交易涉及将数字资产从分布式账本上的一个地址转移到另一个地址,并通过使用公钥加密技术进行保护。交易可用于去中心化的点对点传输,或用于各种身份验证和验证过程。

任何人都可以在区块链浏览器上观察的交易示例,例如SeiTrace

1.1 区块链交易如何运作

当交易启动时,即鲍勃向爱丽丝发送一些代币,鲍勃的交易被广播到底层区块链网络。随后,网络上的专门节点集群开始验证交易是否合法。一旦足够多的节点验证了交易的内容,该交易就会与其他用户交易一起添加到区块中。一旦一个块满了,它就会被添加到链中,因此得名“区块链”。鲍勃的交易现在是安全透明分类账的一部分,他和爱丽丝都可以验证内容。

从广义上讲,所有区块链交易都包含元数据,可帮助操作和保护网络的节点识别和执行一组给定的指令和参数。每笔交易都会有原始发送者输入的高级数据,例如要转账的金额、目标地址和确认交易的数字签名,以及自动创建和附加的各种低级数据,尽管这些数据因网络和设计而异。

然而,最终,交易执行之前网络层幕后涉及的流程因区块链的设计而异。

1.1.1 内存池

内存池,或者内存池, 是区块链设计上常用的巧妙方法,由比特币和以太坊等传统区块链网络实现。内存池只是缓冲区或“等候室”,用于尚未添加到区块并执行的待处理交易。

为了更好地理解,我们可以在使用内存池的区块链上布置交易的生命周期;

  1. 用户发起并签署交易。
  2. 参与区块链网络的专门节点验证交易内容是否合法并包含适当的参数。
  3. 一旦经过验证,交易将与其他待处理交易一起路由到公共内存池。
  4. 最终,根据交易相对于内存池中其他交易支付的汽油费,我们用户的待处理交易与其他待处理交易集群一起被选择,形成区块链上的下一个区块。在此阶段,我们的交易状态将显示“成功”。
  5. 经过一定时间或基于区块的阈值后,区块本身就会最终确定,交易将成为记录在区块链上的不可变日志,只有在发生 51% 攻击时才会受到损害,否则这是一项极其困难的任务。

1.1.2.无内存池 (Solana)

值得注意的是,一些区块链(例如 Solana)不使用内存池,而是可能将交易直接转发给区块生产者,作为通过连续区块生产实现高速和吞吐量的一种手段。

让我们回顾一下非内存池区块链上交易的生命周期:

  1. 用户为他们正在使用的应用程序发起并签署交易。
  2. 应用程序将事务信息路由到远程过程调用 (RPC) 服务器。
  3. RPC服务提供者会将交易发送给当前指定的区块生产者以及接下来的三个生产者,这是为了预防当前生产者无法及时执行交易的情况。Solana采用了插槽领导者计划,这样可以帮助RPC更方便地传输交易。
  4. 然后,区块生产者将签名的交易发送到共识节点进行验证。
  5. 共识节点投票验证交易的内容,一旦完成,交易状态就会以“成功”或“失败”的形式路由回 RPC > 应用程序 > 用户。
  6. 与基于内存池的区块链类似,区块本身在经过一定时间或基于区块的阈值后最终确定。

1.2 顺序执行

较旧的区块链,即比特币和以太坊,利用顺序执行机制进行交易。添加到区块链的每一笔交易都会引发网络状态的变化,并且出于安全目的,虚拟机的结构一次仅处理一个状态变化。

这导致底层网络的吞吐量出现严重瓶颈,因为可以添加到区块中的交易数量受到限制,导致等待时间更长,交易成本空前飙升,有时可能导致网络无法使用。此外,顺序执行模型对硬件组件的利用效率相当低,因此无法从计算(即多处理器核心)的突破中受益。

并行执行

2.0 什么是并行执行?

并行计算是计算机体系结构的关键组成部分,其起源可以追溯到20世纪50年代末,尽管它的想法和理论甚至可以追溯到1837年。根据定义,并行计算是指同时利用多个处理元件来解决一个操作的行为,其中较大且较复杂的任务被划分为较小的任务,以便比串行方式更有效地完成。

最初仅在高性能计算系统中实现,并行计算已发展成为当今计算机体系结构的主导范例,因为互联网时代对计算的需求呈指数级增长,而前几十年频率扩展的限制加剧了这种需求。

该架构标准以大致相同的方式适用于区块链,只是计算机解决的主要任务是处理和执行交易,或者将价值从智能合约 A 转移到智能合约 B,因此称为并行执行。

并行执行意味着区块链可以同时处理多个不冲突的交易,而不是串行处理交易。这可以大大增加区块链网络的吞吐量,使其更具可扩展性和效率,可以处理更高的活动负载和块空间需求。

打个更简单的比喻。考虑一下杂货店有多条通道供购物者结账的效率对比只为每个人提供一个付款通道的效率。

为什么并行执行很重要?

区块链中的并行执行旨在提高网络速度和性能的效率,特别是当网络流量和资源需求更高时。在加密生态系统的背景下,并行执行意味着如果 Bob 想要铸造最新流行的 NFT 系列,而 Alice 想要购买她最喜欢的 memecoin,网络将为两个用户提供服务,而不会影响任何性能质量,从而影响用户体验。

虽然这可能只是一个直观的生活质量功能,但通过并行执行实现的网络性能解锁让位于开发新的创新用例和应用程序,这些用例和应用程序可以利用低延迟和高容量,这在它本身为下一批用户进入加密生态系统奠定了基础。

并行执行如何工作?

尽管并行执行的前提相对简单,但底层区块链设计的细微差别会影响并行执行过程本身的表现。设计具有并行执行的区块链最相关的功能是交易访问其底层网络状态的能力,包括账户余额、存储和智能合约。

区块链上的并行执行可以分为确定性并行执行和乐观并行执行。 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 这样的团队正在推出旨在利用 SVM 作为执行环境的第 2 层基础设施。

3.2 并行EVM

并行 EVM 描述了一种新的区块链执行环境,旨在结合 Solana 和以太坊的设计“两全其美”,既具有 Solana 的速度和性能,又具有以太坊的安全性和流动性。通过并行处理交易而不是按照传统 EVM 设计顺序处理交易,并行 EVM 使开发人员能够在高性能网络上构建应用程序,同时能够利用与 EVM 流动性和开发人员工具的连接。

3.2.1 Sei Network

Sei Network 是一个与 EVM 兼容的开源第 1 层区块链,托管各种围绕高性能构建的去中心化应用程序。 Sei 的宗旨是为用户和开发人员以低成本提供快速的速度,而并行执行是实现这种性能和用户体验的关键组成部分。目前,Sei 提供 390 毫秒的区块确认时间,并在其太平洋主网上处理了超过 1.9B 笔交易。

最初,Sei 采用了确定性并行执行模型,其中智能联系人提前声明其所需的状态访问权限,以便系统同时运行不冲突的事务。随着 V2 升级的开始,Sei 正在过渡到乐观并行模型,这意味着所有交易在提交到网络(执行阶段)后将被并行处理,然后将审查与之前交易的冲突信息(验证阶段)。如果出现两个或多个冲突事务,即尝试访问相同网络状态的事务,Sei 会识别此冲突点,然后根据冲突的性质并行或顺序重新运行事务。

为了存储和维护交易数据,Sei 还将引入 SeiDB,这是一个自定义数据库,旨在通过优化并行执行来改进 v1 的缺点。 SeiDB 旨在降低存储冗余数据的开销并保持高效的磁盘使用,以获得更好的网络性能。 V2 减少了跟踪和存储所需的元数据量,并启用预写日志以在发生崩溃时帮助数据恢复。

最后,Sei 最近还宣布推出其 Parallel Stack,这是一个开源框架,用于启用第 2 层扩展解决方案(即汇总)以利用并行执行并从中受益。

3.2.2 Monad

Monad 是即将推出的并行 EVM 第 1 层区块链,为以太坊应用程序和基础设施带来完整的字节码和 RPC 兼容性。通过一系列创新技术实现,Monad 旨在提供比现有区块链更多的交互体验,同时通过优化性能和可移植性来保持较低的交易成本,出块时间为 1 秒,最终确定性高达 10,000 TPS。

Monad 实现并行执行和超标量流水线来优化事务的速度和吞吐量。与 Sei v2 类似,Monad 将采用乐观执行模型,这意味着网络开始同时执行所有传入交易,然后分析和验证交易以查找冲突并相应地重新执行,最终目标是结果如果交易按顺序执行,则结果相同。

值得注意的是,为了保持与以太坊的同步性,Monad 以线性顺序对区块中的交易进行排序,每笔交易都按顺序更新。

为了比以太坊客户端提供的当前状态更有效地维护和访问区块链数据,Monad 创建了自己的定制 MonadDB,专为区块链构建。 Monad DB 利用先进的 Linux 内核功能进行高效的异步磁盘操作,消除了同步输入/输出访问的限制。 MonadDB 提供异步输入/输出(async I/O)访问,这是实现并行执行的一个关键功能,系统可以在等待读取前一个事务的状态的同时开始处理下一个事务。

打个简单的比方,考虑烹饪一顿多面的饭菜(意大利面配肉丸)。涉及的步骤是 1) 准备酱汁,2) 烹饪肉丸,以及 c) 烹饪意大利面。一位高效的厨师会先煮意大利面的水,然后准备酱汁的原料,然后将意大利面放入沸水中,然后煮酱汁,最后煮肉丸,而不是一次一个地进行每一步,在继续之前完成一项任务。

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 项目前成员开发的第 1 层区块链,它使用 Move 语言。然而,Sui 使用了 Move 的自定义实现,这改变了原始 Diem 设计的存储模型和资产权限。特别是,这允许 Sui 利用状态存储模型将独立事务表示为对象。每个对象在 Sui 的执行环境中都有一个唯一的 ID,这样系统就可以轻松识别非冲突事务并并行处理它们。

与 Solana 类似,Sui 实现了确定性并行执行,这要求交易提前声明需要访问哪些账户。

3.3.3 Movement Labs

什么是Movement ?

Movement 正在构建一套开发人员工具和区块链基础设施服务,使开发人员能够轻松获得在 Move 上进行构建的好处。作为 Move 开发人员的类似 AWS 的执行即服务提供商,Movement 将并行化作为核心设计功能,以实现更高的吞吐量和更高的整体网络效率。 MoveVM 是一个模块化执行环境,使区块链网络能够根据需要扩展和调整其交易处理能力,以支持不断增加的交易量,增强其并行处理和执行交易的能力。

MoveVM架构

Movement 还将推出 M2,这是一个 ZK-rollup,可与 EVM 和 Move 客户端等进行互操作。 M2将继承Block-STM并行化引擎,预计可提供数万TPS。

结束语

4.1 当今并行系统面临的挑战

并行区块链发展需要思考的一些重要问题和考虑因素;

  • 为了通过并行执行获得更好的性能,网络进行了哪些权衡?
    • 保护网络的验证器越少,验证和执行速度就越快,但这是否会损害区块链的安全性,因为验证器更容易串通网络?
    • 是否有大量验证者位于同一地点?这是最大限度地减少加密和非加密系统中的延迟的常见策略,但如果特定数据中心受到损害,网络会发生什么情况?
  • 对于乐观并行系统,随着网络扩展,重新执行无效事务的过程是否会造成瓶颈?如何测试和评估这种效率?

在较高层面上,并行区块链面临账本不一致的风险,即双重支出和交易顺序变化(事实上,这是顺序执行的主要好处)。确定性并行化通过为底层区块链上的交易创建内部标签系统来解决这个问题。实施乐观处理的区块链必须确保它们用于验证和重新执行交易的机制是安全且有效的,并且可以合理地实现对性能的权衡。

4.2 未来展望/机遇

计算机的历史告诉我们,随着时间的推移,并行系统往往比顺序系统更高效且可扩展。后 Solana 并行区块链的兴起强调了这一概念也适用于加密基础设施。甚至 Vitalik 也提到过并行化 作为最近提高 EVM rollups 可扩展性的潜在关键解决方案之一。从广义上讲,加密/区块链采用的增长需要比当今可用的系统更优化的系统,包括并行区块链。 Solana 最近的网络困境凸显出并行区块链的开发还有很大的改进空间。随着越来越多的团队寻求突破链上前沿的界限,吸引下一批用户并采用区块链原生应用程序和生态系统,并行执行模型提供了一个直观的框架,用于构建可以高效处理大量网络活动的系统。规模可以轻松与 Web2 公司相媲美。

不构成财务或税务建议。本文的目的纯粹是教育性的,不应被视为投资建议、法律建议、购买或出售任何资产的请求或做出任何财务决策的建议。它不能替代税务建议。请咨询您的会计师并进行自己的研究。

披露。所有帖子都是作者原创,而不是其雇主的观点。这篇文章得到了 Aster 基金会的赞助。虽然 Shoal Research 已获得该计划的资助,但赞助商不会影响其内容。在 Shoal Research,我们的目标是确保所有内容客观且独立。我们的内部审查流程秉持最高的诚信标准,所有潜在的利益冲突均予以披露并严格管理,以维护我们研究的可信度和公正性。

声明:

  1. 本文转载自[Shoal Research],著作权归属原作者[PAUL TIMOFEEV、MIKE JIN 和 GABE TRAMBLE],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

并行执行:下一代区块链

进阶5/27/2024, 10:20:31 AM
文章探讨了并行执行技术在区块链领域的应用,特别是其如何提升交易效率、降低成本和增强用户体验。Solana 作为并行执行的先驱,展示了其在处理速度和吞吐量方面的优势。文章详细介绍了区块链交易的工作原理,包括交易的生命周期、内存池(mempool)的作用以及无内存池区块链的工作原理。并行执行允许区块链同时处理多个不冲突的交易,从而提高网络的吞吐量和可扩展性。文章还讨论了并行执行的不同模型,包括确定性和乐观性,并分析了市场上推动并行执行的团队和项目,如 Solana、Parallel EVM、Sei Network、Monad、Move 语言、Aptos、Sui 和 Movement Labs。

序言

1.0 区块链交易

区块链是虚拟机,是一种基于软件的计算模型,运行在物理计算机的分布式网络之上,任何人都可以加入该网络,但任何单个实体都很难控制。区块链的概念首次写入中本聪于 2008 年臭名昭著的比特币白皮书中,作为支持加密安全的比特币点对点支付的核心基础设施。交易对于区块链来说就像日志对于社交媒体和互联网公司一样;它们充当该特定网络的活动记录,主要区别在于区块链上的交易是不可变的并且通常是可公开观察的。

感谢您阅读Shoal Research!免费订阅以接收新帖子并支持我的工作。

但交易到底是什么?

区块链上的交易涉及将数字资产从分布式账本上的一个地址转移到另一个地址,并通过使用公钥加密技术进行保护。交易可用于去中心化的点对点传输,或用于各种身份验证和验证过程。

任何人都可以在区块链浏览器上观察的交易示例,例如SeiTrace

1.1 区块链交易如何运作

当交易启动时,即鲍勃向爱丽丝发送一些代币,鲍勃的交易被广播到底层区块链网络。随后,网络上的专门节点集群开始验证交易是否合法。一旦足够多的节点验证了交易的内容,该交易就会与其他用户交易一起添加到区块中。一旦一个块满了,它就会被添加到链中,因此得名“区块链”。鲍勃的交易现在是安全透明分类账的一部分,他和爱丽丝都可以验证内容。

从广义上讲,所有区块链交易都包含元数据,可帮助操作和保护网络的节点识别和执行一组给定的指令和参数。每笔交易都会有原始发送者输入的高级数据,例如要转账的金额、目标地址和确认交易的数字签名,以及自动创建和附加的各种低级数据,尽管这些数据因网络和设计而异。

然而,最终,交易执行之前网络层幕后涉及的流程因区块链的设计而异。

1.1.1 内存池

内存池,或者内存池, 是区块链设计上常用的巧妙方法,由比特币和以太坊等传统区块链网络实现。内存池只是缓冲区或“等候室”,用于尚未添加到区块并执行的待处理交易。

为了更好地理解,我们可以在使用内存池的区块链上布置交易的生命周期;

  1. 用户发起并签署交易。
  2. 参与区块链网络的专门节点验证交易内容是否合法并包含适当的参数。
  3. 一旦经过验证,交易将与其他待处理交易一起路由到公共内存池。
  4. 最终,根据交易相对于内存池中其他交易支付的汽油费,我们用户的待处理交易与其他待处理交易集群一起被选择,形成区块链上的下一个区块。在此阶段,我们的交易状态将显示“成功”。
  5. 经过一定时间或基于区块的阈值后,区块本身就会最终确定,交易将成为记录在区块链上的不可变日志,只有在发生 51% 攻击时才会受到损害,否则这是一项极其困难的任务。

1.1.2.无内存池 (Solana)

值得注意的是,一些区块链(例如 Solana)不使用内存池,而是可能将交易直接转发给区块生产者,作为通过连续区块生产实现高速和吞吐量的一种手段。

让我们回顾一下非内存池区块链上交易的生命周期:

  1. 用户为他们正在使用的应用程序发起并签署交易。
  2. 应用程序将事务信息路由到远程过程调用 (RPC) 服务器。
  3. RPC服务提供者会将交易发送给当前指定的区块生产者以及接下来的三个生产者,这是为了预防当前生产者无法及时执行交易的情况。Solana采用了插槽领导者计划,这样可以帮助RPC更方便地传输交易。
  4. 然后,区块生产者将签名的交易发送到共识节点进行验证。
  5. 共识节点投票验证交易的内容,一旦完成,交易状态就会以“成功”或“失败”的形式路由回 RPC > 应用程序 > 用户。
  6. 与基于内存池的区块链类似,区块本身在经过一定时间或基于区块的阈值后最终确定。

1.2 顺序执行

较旧的区块链,即比特币和以太坊,利用顺序执行机制进行交易。添加到区块链的每一笔交易都会引发网络状态的变化,并且出于安全目的,虚拟机的结构一次仅处理一个状态变化。

这导致底层网络的吞吐量出现严重瓶颈,因为可以添加到区块中的交易数量受到限制,导致等待时间更长,交易成本空前飙升,有时可能导致网络无法使用。此外,顺序执行模型对硬件组件的利用效率相当低,因此无法从计算(即多处理器核心)的突破中受益。

并行执行

2.0 什么是并行执行?

并行计算是计算机体系结构的关键组成部分,其起源可以追溯到20世纪50年代末,尽管它的想法和理论甚至可以追溯到1837年。根据定义,并行计算是指同时利用多个处理元件来解决一个操作的行为,其中较大且较复杂的任务被划分为较小的任务,以便比串行方式更有效地完成。

最初仅在高性能计算系统中实现,并行计算已发展成为当今计算机体系结构的主导范例,因为互联网时代对计算的需求呈指数级增长,而前几十年频率扩展的限制加剧了这种需求。

该架构标准以大致相同的方式适用于区块链,只是计算机解决的主要任务是处理和执行交易,或者将价值从智能合约 A 转移到智能合约 B,因此称为并行执行。

并行执行意味着区块链可以同时处理多个不冲突的交易,而不是串行处理交易。这可以大大增加区块链网络的吞吐量,使其更具可扩展性和效率,可以处理更高的活动负载和块空间需求。

打个更简单的比喻。考虑一下杂货店有多条通道供购物者结账的效率对比只为每个人提供一个付款通道的效率。

为什么并行执行很重要?

区块链中的并行执行旨在提高网络速度和性能的效率,特别是当网络流量和资源需求更高时。在加密生态系统的背景下,并行执行意味着如果 Bob 想要铸造最新流行的 NFT 系列,而 Alice 想要购买她最喜欢的 memecoin,网络将为两个用户提供服务,而不会影响任何性能质量,从而影响用户体验。

虽然这可能只是一个直观的生活质量功能,但通过并行执行实现的网络性能解锁让位于开发新的创新用例和应用程序,这些用例和应用程序可以利用低延迟和高容量,这在它本身为下一批用户进入加密生态系统奠定了基础。

并行执行如何工作?

尽管并行执行的前提相对简单,但底层区块链设计的细微差别会影响并行执行过程本身的表现。设计具有并行执行的区块链最相关的功能是交易访问其底层网络状态的能力,包括账户余额、存储和智能合约。

区块链上的并行执行可以分为确定性并行执行和乐观并行执行。 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 这样的团队正在推出旨在利用 SVM 作为执行环境的第 2 层基础设施。

3.2 并行EVM

并行 EVM 描述了一种新的区块链执行环境,旨在结合 Solana 和以太坊的设计“两全其美”,既具有 Solana 的速度和性能,又具有以太坊的安全性和流动性。通过并行处理交易而不是按照传统 EVM 设计顺序处理交易,并行 EVM 使开发人员能够在高性能网络上构建应用程序,同时能够利用与 EVM 流动性和开发人员工具的连接。

3.2.1 Sei Network

Sei Network 是一个与 EVM 兼容的开源第 1 层区块链,托管各种围绕高性能构建的去中心化应用程序。 Sei 的宗旨是为用户和开发人员以低成本提供快速的速度,而并行执行是实现这种性能和用户体验的关键组成部分。目前,Sei 提供 390 毫秒的区块确认时间,并在其太平洋主网上处理了超过 1.9B 笔交易。

最初,Sei 采用了确定性并行执行模型,其中智能联系人提前声明其所需的状态访问权限,以便系统同时运行不冲突的事务。随着 V2 升级的开始,Sei 正在过渡到乐观并行模型,这意味着所有交易在提交到网络(执行阶段)后将被并行处理,然后将审查与之前交易的冲突信息(验证阶段)。如果出现两个或多个冲突事务,即尝试访问相同网络状态的事务,Sei 会识别此冲突点,然后根据冲突的性质并行或顺序重新运行事务。

为了存储和维护交易数据,Sei 还将引入 SeiDB,这是一个自定义数据库,旨在通过优化并行执行来改进 v1 的缺点。 SeiDB 旨在降低存储冗余数据的开销并保持高效的磁盘使用,以获得更好的网络性能。 V2 减少了跟踪和存储所需的元数据量,并启用预写日志以在发生崩溃时帮助数据恢复。

最后,Sei 最近还宣布推出其 Parallel Stack,这是一个开源框架,用于启用第 2 层扩展解决方案(即汇总)以利用并行执行并从中受益。

3.2.2 Monad

Monad 是即将推出的并行 EVM 第 1 层区块链,为以太坊应用程序和基础设施带来完整的字节码和 RPC 兼容性。通过一系列创新技术实现,Monad 旨在提供比现有区块链更多的交互体验,同时通过优化性能和可移植性来保持较低的交易成本,出块时间为 1 秒,最终确定性高达 10,000 TPS。

Monad 实现并行执行和超标量流水线来优化事务的速度和吞吐量。与 Sei v2 类似,Monad 将采用乐观执行模型,这意味着网络开始同时执行所有传入交易,然后分析和验证交易以查找冲突并相应地重新执行,最终目标是结果如果交易按顺序执行,则结果相同。

值得注意的是,为了保持与以太坊的同步性,Monad 以线性顺序对区块中的交易进行排序,每笔交易都按顺序更新。

为了比以太坊客户端提供的当前状态更有效地维护和访问区块链数据,Monad 创建了自己的定制 MonadDB,专为区块链构建。 Monad DB 利用先进的 Linux 内核功能进行高效的异步磁盘操作,消除了同步输入/输出访问的限制。 MonadDB 提供异步输入/输出(async I/O)访问,这是实现并行执行的一个关键功能,系统可以在等待读取前一个事务的状态的同时开始处理下一个事务。

打个简单的比方,考虑烹饪一顿多面的饭菜(意大利面配肉丸)。涉及的步骤是 1) 准备酱汁,2) 烹饪肉丸,以及 c) 烹饪意大利面。一位高效的厨师会先煮意大利面的水,然后准备酱汁的原料,然后将意大利面放入沸水中,然后煮酱汁,最后煮肉丸,而不是一次一个地进行每一步,在继续之前完成一项任务。

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 项目前成员开发的第 1 层区块链,它使用 Move 语言。然而,Sui 使用了 Move 的自定义实现,这改变了原始 Diem 设计的存储模型和资产权限。特别是,这允许 Sui 利用状态存储模型将独立事务表示为对象。每个对象在 Sui 的执行环境中都有一个唯一的 ID,这样系统就可以轻松识别非冲突事务并并行处理它们。

与 Solana 类似,Sui 实现了确定性并行执行,这要求交易提前声明需要访问哪些账户。

3.3.3 Movement Labs

什么是Movement ?

Movement 正在构建一套开发人员工具和区块链基础设施服务,使开发人员能够轻松获得在 Move 上进行构建的好处。作为 Move 开发人员的类似 AWS 的执行即服务提供商,Movement 将并行化作为核心设计功能,以实现更高的吞吐量和更高的整体网络效率。 MoveVM 是一个模块化执行环境,使区块链网络能够根据需要扩展和调整其交易处理能力,以支持不断增加的交易量,增强其并行处理和执行交易的能力。

MoveVM架构

Movement 还将推出 M2,这是一个 ZK-rollup,可与 EVM 和 Move 客户端等进行互操作。 M2将继承Block-STM并行化引擎,预计可提供数万TPS。

结束语

4.1 当今并行系统面临的挑战

并行区块链发展需要思考的一些重要问题和考虑因素;

  • 为了通过并行执行获得更好的性能,网络进行了哪些权衡?
    • 保护网络的验证器越少,验证和执行速度就越快,但这是否会损害区块链的安全性,因为验证器更容易串通网络?
    • 是否有大量验证者位于同一地点?这是最大限度地减少加密和非加密系统中的延迟的常见策略,但如果特定数据中心受到损害,网络会发生什么情况?
  • 对于乐观并行系统,随着网络扩展,重新执行无效事务的过程是否会造成瓶颈?如何测试和评估这种效率?

在较高层面上,并行区块链面临账本不一致的风险,即双重支出和交易顺序变化(事实上,这是顺序执行的主要好处)。确定性并行化通过为底层区块链上的交易创建内部标签系统来解决这个问题。实施乐观处理的区块链必须确保它们用于验证和重新执行交易的机制是安全且有效的,并且可以合理地实现对性能的权衡。

4.2 未来展望/机遇

计算机的历史告诉我们,随着时间的推移,并行系统往往比顺序系统更高效且可扩展。后 Solana 并行区块链的兴起强调了这一概念也适用于加密基础设施。甚至 Vitalik 也提到过并行化 作为最近提高 EVM rollups 可扩展性的潜在关键解决方案之一。从广义上讲,加密/区块链采用的增长需要比当今可用的系统更优化的系统,包括并行区块链。 Solana 最近的网络困境凸显出并行区块链的开发还有很大的改进空间。随着越来越多的团队寻求突破链上前沿的界限,吸引下一批用户并采用区块链原生应用程序和生态系统,并行执行模型提供了一个直观的框架,用于构建可以高效处理大量网络活动的系统。规模可以轻松与 Web2 公司相媲美。

不构成财务或税务建议。本文的目的纯粹是教育性的,不应被视为投资建议、法律建议、购买或出售任何资产的请求或做出任何财务决策的建议。它不能替代税务建议。请咨询您的会计师并进行自己的研究。

披露。所有帖子都是作者原创,而不是其雇主的观点。这篇文章得到了 Aster 基金会的赞助。虽然 Shoal Research 已获得该计划的资助,但赞助商不会影响其内容。在 Shoal Research,我们的目标是确保所有内容客观且独立。我们的内部审查流程秉持最高的诚信标准,所有潜在的利益冲突均予以披露并严格管理,以维护我们研究的可信度和公正性。

声明:

  1. 本文转载自[Shoal Research],著作权归属原作者[PAUL TIMOFEEV、MIKE JIN 和 GABE TRAMBLE],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!