为了更好地理解这些设计细节的影响,通过当今推动并行执行前沿的团队的视角来分析并行执行可能会有所帮助。
Solana是第一个围绕并行执行设计的区块链网络,其灵感来自创始人AnatolyYakovenko在电信行业的以往经验。Solana旨在提供一个开发平台,其运行速度尽可能快,因此并行计算的速度和效率是一个简单直观的设计选择。
Sealevel是Solana网络的并行智能合约运行时环境,是实现其快速速度和高吞吐量的关键组件。与基于EVM和WASM的环境不同,Sealevel采用多线程架构,这意味着它可以在验证器核心的容量范围内同时处理多个交易。
Solana并行执行的关键是在启用交易时,网络会为该交易分配一系列要执行的指令,具体是访问哪些账户和状态以及进行哪些更改这是确定哪些交易不冲突并且可以同时执行的关键,同时也允许尝试访问相同状态的交易同时进行。
考虑机场托运行李系统中标签提供的效率。
Solana还利用Cloudbreak,其自定义的accountsDB,用于存储和管理状态数据,以支持交易的并发读写。Cloudbreak针对并行执行进行了优化,可以水平扩展以跨多个节点分布和管理状态数据。
得益于其并行架构,Solana能够处理大量交易,同时仍然快速执行,为交易提供近乎即时的最终性。Solana目前平均每秒处理2,000到10,000笔交易(TPS)。此外,随着像Eclipse这样的团队推出旨在利用SVM作为执行环境的Layer2基础设施,SVM的用例正在缓慢但稳步扩展。
ParallelEVM描述了一种新的区块链执行环境,旨在结合Solana和Ethereum设计的优点,即Solana的速度和性能以及Ethereum的安全性和流动性。与传统的EVM设计不同,通过并行而不是顺序处理交易,ParallelEVM使开发人员能够在一个高性能网络上构建应用程序,同时能够利用与EVM流动性和开发工具的连接。
SeiNetwork是一个与EVM兼容的开源Layer1区块链,它支持围绕高性能构建的各种去中心化应用程序。Sei旨在为用户和开发者提供快速的速度和低成本,而并行执行是实现这一性能和用户体验的关键组成部分。目前,Sei提供了390毫秒的区块确认时间,并在其太平洋主网上处理了超过19亿笔交易。
最初,Sei采用了确定性并行执行模型,智能合约提前声明其所需的状态访问,以便系统能够同时运行不冲突的交易。随着他们V2升级的到来,Sei正在过渡到一个乐观的并行模型,这意味着所有交易将在提交到网络时并行处理(执行阶段),然后在验证阶段检查与先前交易的冲突信息。如果发现两个或更多的冲突交易,即尝试访问相同网络状态的交易,Sei会识别这一冲突点,然后根据冲突的性质,要么并行要么顺序地重新运行交易。
为了存储和维护交易数据,Sei还将引入SeiDB,这是一个定制数据库,旨在通过优化并行执行来改进v1版本的不足之处。SeiDB的目标是减少存储冗余数据的开销,并保持高效的磁盘使用率,以提高网络性能。V2减少了跟踪和存储所需的元数据量,并启用了预写日志,以帮助在崩溃事件中恢复数据。
最后,Sei最近还宣布推出了其ParallelStack,这是一个开源框架,用于使Layer2扩展解决方案(例如rollups)能够利用并行执行并从中受益。
Monad是一个即将到来的并行-EVMLayer1区块链,为以太坊应用程序和基础设施提供完整的字节码和RPC兼容性。通过一些创新的技术实现,Monad旨在在保持较低交易成本的同时,通过优化性能和可移植性,提供比现有区块链更具互动性的体验,具有1秒的区块时间和高达10,000TPS的最终确定性。
Monad实现了并行执行和超标量流水线技术,以优化交易的速度和吞吐量。类似于Seiv2,Monad将采用乐观执行模型,这意味着网络将开始同时执行所有传入的交易,然后分析和验证交易以寻找冲突并相应地重新执行,最终目标是,如果交易按顺序执行,结果将是相同的。
重要的是要注意,在与以太坊保持同步的同时,Monad会以线性顺序对区块中的交易进行排序,并顺序更新每个交易。
为了比当前以太坊客户端提供的状态更有效地维护和访问区块链数据,Monad创建了自己的定制MonadDB,这是为区块链本地构建的。MonadDB利用先进的Linux内核特性,实现高效的异步磁盘操作,消除了同步输入/输出访问的限制。MonadDB提供异步输入/输出(asyncI/O)访问,这是实现并行执行的关键特性,系统可以在等待读取先前交易的状态的同时开始处理下一笔交易。
一个简单的类比是,考虑烹饪一个多步骤的餐点(比如肉丸意面)。所涉及的步骤是1)准备酱汁,2)煮肉丸,和3)煮面条。一个高效的厨师会先为面条煮水,然后准备酱汁的配料,然后在现在沸腾的水中煮面条,接着煮酱汁,最后煮肉丸,而不是一次完成一个步骤,每完成一个任务后再进行下一个。
Move是一种编程语言,最初由Facebook团队在2019年为现已废弃的Diem项目开发。Move旨在以安全的方式处理智能合约和交易数据,消除了其他语言固有的攻击向量,如可重入性攻击。
MoveVM作为基于Move的区块链的本地执行环境,利用并行化提供更快的交易执行速度和更高的整体效率。
Aptos是由前Diem项目成员开发的基于Move的Layer1区块链,它通过并行执行提供了一个高性能的环境给应用开发者。Aptos利用Block-STM,这是一种软件事务内存(STM)并发控制机制的修改实现。
Block-STM是一个多线程并行执行引擎,它允许乐观并行执行。交易在区块内被预排序和策略性地排序,这对于有效解决冲突和重新执行交易至关重要。Aptos的研究发现,使用Block-STM的并行化理论上可以支持高达160,000TPS。
与Aptos类似,Sui是由前Diem项目成员开发的Layer1区块链,它也使用Move语言。然而,Sui采用了自定义的Move实现,该实现从原始的Diem设计中改变了存储模型和资产权限。特别是,这允许Sui使用状态存储模型将独立交易表示为对象。每个对象在Sui的执行环境中都有唯一ID,从而允许系统轻松识别不冲突的交易再并行处理它们。
与Solana类似,Sui实施了确定性并行执行,要求交易提前声明它们需要访问的账户。
Movement正在构建一套开发者工具和区块链基础设施服务,以便开发者能够轻松访问在Move上构建的好处。作为Move开发者的AWS类执行即服务平台,Movement将并行化作为核心设计特性,以实现更高的吞吐量和更大的整体网络效率。MoveVM是一个模块化的执行环境,它允许区块链网络根据需要扩展和调整其交易处理能力,以支持日益增长的交易量,增强其并行处理和执行交易的能力。
Movement还将推出M2,这是一个将与EVM和Move客户端互操作的ZK-rollup。M2将继承Block-STM并行化引擎,并有望因此实现数万TPS。
关于并行区块链的发展,有一些重要的问题和考虑需要深思:
网络为了通过并行执行实现更好的性能而做出了哪些权衡?
较少的验证者保护网络可以加快验证和执行速度,但这是否会妥协区块链的安全性,使其更容易受到验证者的共谋攻击?
是否有大量的验证者共址?这是一种在加密和非加密系统中都常见的最小化延迟的策略,但如果特定数据中心受到威胁,网络会发生什么?
对于乐观的并行系统,重新执行无效交易的过程是否会随着网络的扩展而成为瓶颈?这种效率是如何被测试和评估的?
从高层次来看,平行区块链面临着账本不一致的风险,即双重支付和交易顺序的变化(这确实是顺序执行的主要好处)。确定性并行化通过在底层区块链上为交易创建一个内部标记系统来解决这个问题。实施乐观处理的区块链必须确保它们用来验证和重新执行交易的机制是安全和实用的,并且为了性能所做的权衡可以合理实施。
计算机的历史告诉我们,随着时间的推移,平行系统往往比顺序系统更有效和可扩展。Solana之后的并行区块链的崛起强调了这一概念也适用于加密基础设施。即使是Vitalik也提到并行化为提高EVMrollups可扩展性的潜在关键解决方案之一。广义上讲,加密/区块链的采用增长需要比今天可用的系统更优越的系统,包括并行区块链。
Solana最近的网络挑战突出了并行区块链开发中还有很大的改进空间。随着更多的团队寻求推动链上前沿的界限,并将下一批大规模用户群体和采用引入到区块链原生应用和生态系统中,平行执行模型为构建能够高效处理网络活动量级、轻松匹配Web2公司规模的系统提供了一个直观的框架。
以上就是区块链并行执行是什么?为什么下一代区块链并行执行很重要的全部内容,望能这篇区块链并行执行是什么?为什么下一代区块链并行执行很重要可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。