原文作者:PAUL TIMOFEEV, MIKE JIN, AND GABE TRAMBLE
(作品集:DAYBREAKER,关于Tomo:eth 基金会插画师)
「推荐寄语:在区块链技术的迭代发展中,并行执行正成为提升交易效率、降低成本和增强用户体验的关键革新。Solana 作为并行执行的先驱,已展示其与 EVM L2 竞争后的突破性成功。本文旨在帮助大家深入了解并行执行技术,探索它如何塑造下一代区块链生态系统并预知其对资金流动和市场价值转移将会产生的深远影响。一起涨知识!enjoy!」
正文👇
区块链是虚拟机,一种软件基础的计算模型,它运行在任何人都可以加入但极难被单一实体控制的分布式物理计算机网络之上。区块链的概念最初在中本聪 2008 年发表的比特币白皮书中被提出,作为支持比特币中加密安全点对点支付的核心基础设施。对于区块链而言,交易就像是社交媒体和互联网公司的日志;它们作为特定网络活动记录,关键的区别在于区块链上的交易是不可篡改的,通常也是公开可查询的。
交易究竟是什么
区块链上的交易涉及将数字资产从一个地址转移到分布式账本上的另一个地址,这一过程通过公钥密码学技术来保护。交易不仅可用于去中心化的点对点转账,还可用于各种认证和验证流程。
区块链交易如何运作
然而,交易执行前在网络层面背后所涉及的过程会根据区块链的设计而有所不同。
内存池( Ethereum )
内存池(memory pool)简称 mempool,是区块链设计中的一个常见特性,传统区块链网络如比特币和以太坊都存在内存池。Mempools 本质上是缓冲区或“等待室”,用于存放那些尚未被添加到区块中执行的待处理交易。
- 用户发起并签署一笔交易。
- 参与区块链网络的专门节点验证交易内容的合法性,并确保其包含适当的参数。
- 一旦验证通过,交易就会被路由到公共 mempool,并与其他待处理交易一起等待打包。
- 最终,根据用户为交易支付的燃气费相对于 mempool 中其他交易的燃气费,用户的待处理交易会被选中,并与其他待处理交易一起形成区块链上的下一个区块。此时,交易状态将显示为“成功”。
- 在一定时间或区块生成阈值过后,区块本身将被最终确定,交易成为记录在区块链上不可篡改的日志,除非发生 51% 攻击,否则这是极难实现的。
无内存池 (Solana)
值得注意的是,一些区块链,如 Solana,并不使用 mempool,而是直接将交易转发给区块生产者,以此来实现高速和高吞吐量,通过连续的区块生产。
让我们继续通过非 mempool 区块链上的交易生命周期来了解:
- 用户为其正在使用的应用程序发起并签署交易。
- 应用程序将交易信息路由到远程过程调用(RPC)服务器。
- RPC 提供商将交易发送给当前指定的区块生产者,以及接下来的三个生产者;这是在当前领导者无法及时执行交易时的预防步骤。Solana 采用了时隙领导者计划,这有助于 RPC 更容易地路由交易。
- 区块生产者随后将已签名的交易发送给共识节点进行验证。
- 共识节点投票验证交易内容,一旦完成,交易状态就会被路由回 RPC > 应用程序 > 用户,显示为“成功”或“失败”。
- 与基于 mempool 的区块链类似,区块本身在一定时间或基于区块的阈值通过后会被最终确定。
顺序执行
较老的区块链,尤其是比特币和以太坊,采用交易的顺序执行机制。每笔添加到区块链上的交易都会引发网络状态的变化,而虚拟机(VM)被设计为仅为了安全起见一次只处理一个状态变化。
这导致了底层网络吞吐量的显著瓶颈,因为能够添加到区块中的交易数量受到限制,导致等待时间变长,交易成本的空前飙升,有时甚至使网络无法使用。此外,顺序执行模型使用硬件组件的效率相当低,因此无法从计算的突破性进展中受益,比如多处理器核心。
并行执行
并行计算是计算机架构的关键组成部分,其起源可以追溯到 20 世纪 50 年代末,尽管其理念和理论甚至可以追溯到 1837 年。根据定义,平行计算指的是同时使用多个处理元素来解决一个操作,其中将一个更大更复杂的任务分解为更小的任务,以便比串行方式更有效地完成。
为什么并行执行很重要
虽然这可能看起来只是一个直观的生活质量特性,但并行执行所开启的网络性能提升为开发创新的用例和应用程序铺平了道路,这些应用程序可以利用低延迟和高容量,这本身为将下一批大规模用户群体引入加密生态系统奠定了基础。
并行执行如何工作
尽管并行执行的概念相对直接,但底层区块链设计的细节影响了并行执行过程本身的表现。设计具有并行执行的区块链的最重要特性是交易能够访问其底层网络的状态,包括账户余额、存储和智能合约。
为了更好地理解这些设计细节的影响,通过当今推动并行执行前沿的团队的视角来分析并行执行可能会有所帮助。
当下并行执行的市场格局
Solana 虚拟机(SVM)
Solana 是第一个围绕并行执行设计的区块链网络,其灵感来自创始人 Anatoly Yakovenko 在电信行业的以往经验。Solana 旨在提供一个开发平台,其运行速度尽可能快,因此并行计算的速度和效率是一个简单直观的设计选择。
Sealevel 是 Solana 网络的并行智能合约运行时环境,是实现其快速速度和高吞吐量的关键组件。与基于 EVM 和 WASM 的环境不同,Sealevel 采用多线程架构,这意味着它可以在验证器核心的容量范围内同时处理多个交易。
并行EVM
Parallel EVM 描述了一种新的区块链执行环境,旨在结合 Solana 和 Ethereum 设计的优点,即 Solana 的速度和性能以及 Ethereum 的安全性和流动性。与传统的 EVM 设计不同,通过并行而不是顺序处理交易,Parallel EVM 使开发人员能够在一个高性能网络上构建应用程序,同时能够利用与 EVM 流动性和开发工具的连接。
Sei Network
Sei Network 是一个与 EVM 兼容的开源 Layer 1 区块链,它支持围绕高性能构建的各种去中心化应用程序。Sei 旨在为用户和开发者提供快速的速度和低成本,而并行执行是实现这一性能和用户体验的关键组成部分。目前,Sei 提供了 390 毫秒的区块确认时间,并在其太平洋主网上处理了超过 19 亿笔交易。
最初,Sei 采用了确定性并行执行模型,智能合约提前声明其所需的状态访问,以便系统能够同时运行不冲突的交易。随着他们 V2 升级的到来,Sei 正在过渡到一个乐观的并行模型,这意味着所有交易将在提交到网络时并行处理(执行阶段),然后在验证阶段检查与先前交易的冲突信息。如果发现两个或更多的冲突交易,即尝试访问相同网络状态的交易,Sei 会识别这一冲突点,然后根据冲突的性质,要么并行要么顺序地重新运行交易。
为了存储和维护交易数据,Sei 还将引入 SeiDB,这是一个定制数据库,旨在通过优化并行执行来改进 v1 版本的不足之处。SeiDB 的目标是减少存储冗余数据的开销,并保持高效的磁盘使用率,以提高网络性能。V2 减少了跟踪和存储所需的元数据量,并启用了预写日志,以帮助在崩溃事件中恢复数据。
最后,Sei 最近还宣布推出了其 Parallel Stack,这是一个开源框架,用于使 Layer 2 扩展解决方案(例如 rollups)能够利用并行执行并从中受益。
Monad 实现了并行执行和超标量流水线技术,以优化交易的速度和吞吐量。类似于 Sei v2,Monad 将采用乐观执行模型,这意味着网络将开始同时执行所有传入的交易,然后分析和验证交易以寻找冲突并相应地重新执行,最终目标是,如果交易按顺序执行,结果将是相同的。
重要的是要注意,在与以太坊保持同步的同时,Monad 会以线性顺序对区块中的交易进行排序,并顺序更新每个交易。
Move
Move 是一种编程语言,最初由 Facebook 团队在 2019 年为现已废弃的 Diem 项目开发。Move 旨在以安全的方式处理智能合约和交易数据,消除了其他语言固有的攻击向量,如可重入性攻击。
Aptos 是由前 Diem 项目成员开发的基于 Move 的 Layer 1 区块链,它通过并行执行提供了一个高性能的环境给应用开发者。Aptos 利用 Block-STM,这是一种软件事务内存(STM)并发控制机制的修改实现。
Block-STM 是一个多线程并行执行引擎,它允许乐观并行执行。交易在区块内被预排序和策略性地排序,这对于有效解决冲突和重新执行交易至关重要。Aptos 的研究发现,使用 Block-STM 的并行化理论上可以支持高达 160,000 TPS。
Sui
与 Aptos 类似,Sui 是由前 Diem 项目成员开发的 Layer 1 区块链,它也使用 Move 语言。然而,Sui 采用了自定义的 Move 实现,该实现从原始的 Diem 设计中改变了存储模型和资产权限。特别是,这允许 Sui 使用状态存储模型将独立交易表示为对象。每个对象在 Sui 的执行环境中都有唯一 ID ,从而允许系统轻松识别不冲突的交易再并行处理它们。
与 Solana 类似,Sui 实施了确定性并行执行,要求交易提前声明它们需要访问的账户。
Movement Labs
-
网络为了通过并行执行实现更好的性能而做出了哪些权衡?
- 较少的验证者保护网络可以加快验证和执行速度,但这是否会妥协区块链的安全性,使其更容易受到验证者的共谋攻击?
- 是否有大量的验证者共址?这是一种在加密和非加密系统中都常见的最小化延迟的策略,但如果特定数据中心受到威胁,网络会发生什么?
-
对于乐观的并行系统,重新执行无效交易的过程是否会随着网络的扩展而成为瓶颈?这种效率是如何被测试和评估的?
从高层次来看,平行区块链面临着账本不一致的风险,即双重支付和交易顺序的变化(这确实是顺序执行的主要好处)。确定性并行化通过在底层区块链上为交易创建一个内部标记系统来解决这个问题。实施乐观处理的区块链必须确保它们用来验证和重新执行交易的机制是安全和实用的,并且为了性能所做的权衡可以合理实施。
未来展望
计算机的历史告诉我们,随着时间的推移,平行系统往往比顺序系统更有效和可扩展。Solana 之后的并行区块链的崛起强调了这一概念也适用于加密基础设施。即使是 Vitalik 也提到并行化为提高 EVM rollups 可扩展性的潜在关键解决方案之一。广义上讲,加密/区块链的采用增长需要比今天可用的系统更优越的系统,包括并行区块链。Solana 最近的网络挑战突出了并行区块链开发中还有很大的改进空间。随着更多的团队寻求推动链上前沿的界限,并将下一批大规模用户群体和采用引入到区块链原生应用和生态系统中,平行执行模型为构建能够高效处理网络活动量级、轻松匹配 Web2 公司规模的系统提供了一个直观的框架。
发布者:空投小哥,转转请注明出处:https://www.ktxg.top/13834.html
本文内容仅用于个人信息记录,上述项目和观点不构成投资建议!请读者严格遵守所在地区法律法规,不参与任何非法金融行为。