并行EVM的基本概念
作者: 投资币 时间: 2024-11-26 03:50 阅读: 1447
- 并行EVM的必要性在于它解决了传统EVM按顺序处理交易的效率问题,通过允许多个操作同时执行,显著提高了网络的吞吐量和性能。
- 并行EVM的实现方法包括基于调度的并发处理、多线程EVM实例、系统级分片,同时面临诸如不可靠时间戳、区块链确定性和验证者收益导向等技术挑战。
- Monad Labs通过其Layer 1项目Monad,旨在通过独特技术特性显著提升区块链的可扩展性和交易速度,特点包括每秒处理高达10,000笔交易、1秒区块时间、并行执行能力和MonadBFT共识机制。
- Sei V2是Sei网络的重要升级,旨在成为首个完全并行化的EVM,提供向后兼容EVM智能合约、乐观并行化、新的SeiDB数据结构和与现有链的互操作性,旨在大幅提升交易处理速度和网络可扩展性。
- Neon EVM是在Solana上的平台,旨在为以太坊dApps提供高效、安全、去中心化的环境,允许开发者轻松部署和运行dApps,同时利用Solana的高吞吐量和低成本优势。
- Lumio是Pontem Network开发的一种Layer 2解决方案,它通过独特支持EVM和Aptos使用的Move VM,创新地解决了以太坊的可扩展性挑战,将Web3体验提升至接近Web2水平。
- Eclipse是一个以太坊Layer 2解决方案,使用SVM加速交易处理,采用模块化rollup架构,整合了以太坊结算、SVM智能合约、Celestia数据可用性和RISC Zero欺诈证明。
- Solana利用其Sealevel技术实现并行智能合约处理,Sui通过Narwhal和Bullshark组件提高吞吐量,Fuel通过UTXO模型实现并行交易执行,而Aptos使用Block-STM引擎以提升交易处理能力,均展现了区块链领域中并行技术的不同实现和优势。
- 采用并行的主要挑战包括解决数据竞争和读写冲突问题,确保技术与现有标准兼容,适应新的生态系统交互模式,以及管理系统复杂性增加,特别是在安全性和资源分配方面。
- 并行EVM展示了在增强区块链可扩展性和效率方面的巨大潜力,标志着区块链技术的一次重大转变,通过多处理器同时执行事务来提高交易处理能力,突破了传统顺序交易处理的限制。虽然并行EVM提供了巨大的潜力,但它们的成功实施需要克服复杂的技术挑战,并确保广泛的生态系统采用。
EVM简介
以太坊虚拟机(EVM)是以太坊区块链的核心组件,充当其计算引擎。它是一个准图灵完备的机器,为以太坊网络上的智能合约执行提供运行环境,这对于维护整个以太坊生态系统中的信任和一致性至关重要。
EVM通过处理字节码来执行智能合约,这是将通常用高级编程语言(如Solidity)编写的智能合约代码编译成的更基本形式。这些字节码由一系列操作码(opcode)组成,用于执行各种功能,包括算术运算和数据存储/检索。EVM作为一个堆栈机器运行,以后进先出的方式处理操作,EVM中的每个操作都有相关的gas成本。这个gas系统衡量执行操作所需的计算工作,确保公平的资源分配并防止网络滥用。
在以太坊中,交易在EVM的功能中扮演着重要角色。有两种类型的交易:一种是导致消息调用的交易,另一种是导致合同创建的交易。合约创建会导致创建一个包含编译后的智能合约字节码的新合约账户,当另一个账户对该合约进行消息调用时,就会执行其字节码。
EVM的架构包括字节码、堆栈、内存和存储等组件。它有一个专用的内存空间,用于在执行过程中临时存储数据,以及一个在区块链上用于无限期保存数据的持久存储空间。EVM的设计确保了智能合约的安全执行环境,将它们隔离以防止重入攻击,并采用了各种安全措施,如gas和堆栈深度限制。
此外,EVM的影响力超出了以太坊,通过EVM兼容链延伸到了更广泛的范围。这些链虽然有所不同,但保持了与基于以太坊的应用的兼容性,使其能够与以太坊基础应用无缝互动。这些链在企业解决方案、GameFi和DeFi等各个领域发挥着关键作用。
并行EVM的必要性
并行EVM(以太坊虚拟机)的必要性源于其能够显著提升区块链网络的性能和效率。传统的EVM按顺序处理交易,这不仅耗费大量能源,而且对网络验证者的工作负担很大。这种处理方式通常导致高交易成本和效率低下,被认为是阻碍区块链广泛采用的主要障碍。
并行EVM通过允许多个操作同时执行,彻底改变了共识过程。并行执行的能力极大地提高了网络的吞吐量,从而增强了整个区块链的性能和可扩展性。利用并行EVM,区块链网络能够在更短的时间内处理更多的交易,有效解决了传统区块链系统常见的拥堵问题和慢速处理时间。
并行EVM对区块链技术的各个方面都有重大影响:
- 它提供了一种更节能高效的交易处理方法。通过减轻验证者和整个网络的工作负担,并行EVM有助于构建更可持续的区块链生态系统。
- 提高的可扩展性和增加的吞吐量直接导致交易费用的降低。用户将享受到更经济的体验,使区块链平台对更广泛的受众更具吸引力。
- 同时处理多个交易而非按顺序处理,意味着dApps即使在网络高需求期间也能更顺畅地运行。
并行EVM的实现方法
在当前的EVM架构中,最精细的读写操作是sload和sstore,分别用于从状态trie读取和写入数据。因此,确保不同线程在这两个操作上不发生冲突是实现并行/并发EVM的一个简单入口点。事实上,以太坊中有一种特殊的交易类型,包括一个称为“访问列表”的特殊结构,允许携带将要读取和修改的存储地址的交易。因此,这为实现基于调度的并发方法提供了一个良好的起点。
在系统实现方面,有三种常见的并行/并发EVM形式:
并行/并发在区块链中与数据库系统中的不同之处在于:
- 不可靠的时间戳使得基于时间戳的并发方法难以在区块链世界中部署。
- 区块链系统上绝对的确定性,以确保不同验证者之间重新执行的交易是相同的。
- 验证者的最终目标是更高的收益,而不是更快地执行交易。
那么我们需要什么?
- 需要系统级的共识,更快的执行将带来更高的回报。
- 考虑到区块限制的多变量调度算法,可以在能够更快完成执行的同时捕获更多收入。
- 更细粒度的数据操作,包括操作码级的数据锁定、内存缓存层等。
Monad Labs
Monad是EVM Layer 1,旨在通过其独特的技术特性显著提高区块链的可扩展性和交易速度。Monad的关键优势在于它可以处理高达每秒10,000笔交易,并且具有1秒的区块时间。这得益于它的MonadBFT共识机制和EVM的兼容性,这些特性使得它能够高效快速地处理交易。
Monad最引人注目的特点之一是其并行执行能力,这允许它同时处理多个交易,与传统区块链系统中的顺序处理方法相比,这极大地提高了网络效率和吞吐量。
Monad的开发由Monad Labs领导,由Keone Hon、Eunice Giarta和James Hunsaker共同创立。该项目已成功筹集了1900万美元的种子资金,计划在2024年第一季度中期推出测试网,并随后启动主网。
Monad在以下四个主要领域进行了优化,使其成为高性能的区块链:
MonadBFT是Monad区块链的高性能共识机制,用于在拜占庭行为者存在的情况下,在部分同步条件下达成交易排序的一致性。它是基于HotStuff的改进版,采用了两阶段的BFT算法,具有乐观响应性,并在常见情况下具有线性通信开销,在超时情况下具有二次通信开销。在MonadBFT中,领导者每轮向验证者发送一个新块和前一轮的QC(Quorum Certificate)或TC(Timeout Certificate)。验证者对该块进行审核,如果同意,会向下一轮的领导者发送签名的“是”投票。这个过程通过阈值签名来聚合**2f+1**个验证者的“是”投票形成QC。在通信的常见情况下,领导者向验证者发送块,验证者直接向下一轮的领导者发送投票。MonadBFT还采用了基于配对的BLS签名,以解决可伸缩性问题,它可以将签名增量聚合成一个签名,验证单个有效聚合签名就能证明与公钥关联的股份都已签署了该消息。为了性能考虑,MonadBFT采用了混合签名方案,其中BLS签名仅用于可聚合的消息类型(投票和超时)。消息的完整性和真实性仍由ECDSA签名提供。由于这些特点,MonadBFT能够实现高效和稳健的区块链共识。
这是一项关键的创新,使执行过程从共识过程中解耦。在这种架构下,共识过程涉及节点就交易的官方排序达成一致,而执行则是实际执行这些交易并更新状态的过程。在这种设计中,领导节点提出交易排序,但在提出排序时还不知道最终的状态根;验证节点在对块有效性进行投票时,也不知道块中的所有交易是否会执行成功。
这种设计允许Monad实现显著的速度提升,使得单分片区块链可以扩展到数百万用户。在Monad中,每个节点在对块N达成共识的同时,独立执行块N中的交易,并开始对块N+1达成共识。这种方法允许更大的gas预算,因为执行只需跟上共识的速度。此外,由于执行只需平均上跟上共识,这种方法对计算时间的具体变化更具容忍性。
为了进一步确保状态机复制,Monad在区块提案中包含了一个延迟了D个区块的Merkle根。这种延迟的Merkle根确保了即使有节点执行错误或恶意行为,也能维持整个网络的一致性。
在MonadBFT中,最终确定性是单槽(1秒),执行结果通常在全节点上落后不到1秒。这种单槽的最终确定性意味着,提交交易后,用户将在单个区块之后看到交易的官方排序。除非网络的超级多数行为恶意,否则不会有重新排序的可能性。对于需要快速了解交易结果的用户(例如,高频交易者),可以运行全节点以最小化延迟。
它使得Monad能够同时执行多个交易。这种方法在首次看来似乎与以太坊的执行语义不同,但实际上并不是。Monad的区块与以太坊的区块相同,都是线性排序的交易集合。执行这些交易的结果在Monad和以太坊之间是相同的。
在并行执行过程中,Monad使用乐观执行的方法,即在块中较早的交易完成之前开始执行后续交易。这有时会导致执行结果不正确。为解决这个问题,Monad通过追踪在执行交易过程中使用的输入,并将它们与之前交易的输出进行比较。如果存在差异,表明需要使用正确的数据重新执行该交易。
此外,Monad在执行交易时采用了一种静态代码分析器来预测交易间的依赖关系,以避免无效的并行执行。在最佳情况下,Monad可以提前预测许多依赖关系;在最坏情况下,它会回退到简单的执行模式。
Monad的并行执行技术不仅提高了网络效率和吞吐量,而且通过优化执行策略,减少了因为并行执行导致的交易失败的情况。
MonadDb用于数据存储和处理的优化。它是Monad优化策略的一部分,旨在提高整体网络性能,尤其是在处理状态数据和交易数据方面。这样的组件设计用于增强数据存储的效率和可扩展性,提高区块链网络处理大量数据的能力。它包括改进的数据索引机制、更高效的存储结构和优化的数据访问路径。这些优化有助于减少数据存取时间,提高交易处理速度,从而提升整个区块链网络的性能。
生态项目
Tayaswap
TayaSwap 是一个基于Monad的AMM DEX,由SubLabs提供支持,它允许在没有传统订单簿或中介的情况下交易资产。AMM 依靠数学公式和智能合约来促进代币兑换、确定价格,并利用智能合约实现点对点交易。
Ambient Finance
Ambient(原CrocSwap)是一种去中心化交易协议,允许在任意一对区块链资产上组合集中和恒定产品流动性的双边AMM。Ambient在单个智能合约中运行整个DEX,其中单个AMM池是轻量级数据结构,而不是单独的智能合约。
Shrimp Protocol
Shrimp 是一个 (3,3) DEX,拥有飞轮式代币经济学,支持真实世界资产,即将登陆Monad。
Catalyst
Catalyst 是一种在模块化区块链之间提供无需许可的流动性解决方案,专为连接所有链而构建,旨在实现在任何地方访问任何资产。Catalyst 使开发者能够自动连接到所有链,获得统一生态系统中用户的访问权限,同时其简单、去中心化和自我托管的设计确保了项目能够安全、无缝地访问流动性。
Swaap
Swaap 是一个市场中立的自动做市商 (AMM)。它结合了预言机和动态点差,为流动性提供者提供可持续的收益,并为交易者提供更便宜的价格。该协议大大减少了无常损失并提供了多资产池。
Elixir
Elixir是一种去中心化做市协议,通过API调用使用做市算法与交易中心化所进行交互,为长尾加密资产带来流动性。
Timeswap
Timeswap 是一种基于 AMM 的去中心化货币市场协议,不使用预言机或清算人。与 Uniswap 可以实时交易资产不同,Timeswap 上的借款涉及到交易代币,直到还款完成。贷方提供资产 A 用于借款,同时“保护”借款人用作抵押品的一定数量的资产 B。用户可以调整他们的风险状况,以较低的抵押比率获得更高的利率,反之亦然。
Poply
Poply 是一个基于社区的 NFT 市场,专门针对 Monad 链,展示和赋能专为此链创建的 NFT 收藏品,通过使用 AI 生成艺术和用户友好的界面,吸引对独特 NFT 感兴趣的人士在此进行 ERC-721 代币的交易。
Switchboard
Switchboard 是一个用于通用数据馈送和可验证随机性的无许可、可定制、多链预言机协议。通过允许任何人推送任何形式的数据,无论数据类型如何,它为用户提供一站式服务,并有助于推动下一代去中心化应用程序的发展。
Pyth Network
Pyth Network 是 Douro Labs 开发 下一代价格预言机解决方案,旨在通过区块链技术向项目和协议以及公众提供链上有价值的金融市场数据,包括加密货币、股票、外汇和商品等。该网络汇总了来自 70 多个受信任数据提供商的第一方价格数据,并将其发布以供智能合约和其他链上或链下应用程序使用。
AIT Protocol
AIT Protocol 是一种人工智能数据基础设施,提供 Web3 人工智能解决方案。AIT 去中心化市场为数百万加密货币用户提供了一个特殊而广泛的机会,让他们参与“训练即赚钱”任务,这一概念同时使他们能够获得奖励,同时积极为人工智能模型的发展和发展做出贡献。
Notifi
Notifi 为所有 Web3 项目提供通用通信层,计划将通知和消息功能嵌入到去中心化应用程序中,以便在数字和链上渠道上与用户互动。 Notifi API 允许开发人员通过简单的 API 解锁复杂的通信基础设施,这些 API 可以为世界上所有的应用程序提供原生用户体验;Notifi Center 为用户提供定制信息的通知体验,它将从移动端和 Web 端允许用户查看和管理 Web3 世界中的所有信息;Notifi Push 使营销人员能够创建有凝聚力的多渠道参与,从而推动业务增长和保留其用户群。
ACryptoS
ACryptoS 是一个先进的加密策略平台,是一个多链收益聚合优化器和DEX,提供包括自动复合单代币金库、双代币LP金库、独一无二的流动性金库、Balancer-V2 分支DEX和稳定币交换在内的多种独特产品。ACryptoS 最初于2020年11月在BNB链上推出,现已扩展到11条链,部署了100多个金库,旨在支持DeFi用户和协议。
MagmaDAO
MagmaDAO 是一个由 DAO 控制的流动性质押协议,旨在通过生态系统竞争空投实现公平的代币分配,是以太坊以外的首个分布式验证器,建立在最快、最便宜、抗审查能力最强的 EVM L1 Monad上。
Wombat Exchange
Wombat Exchange 是一个多链稳定币交易,具有开放的流动性池、低滑点和单边质押。
Wormhole
Wormhole 是一种去中心化的通用消息传递协议,使跨链应用程序的开发人员和用户能够利用多个生态系统的优势。
DeMask Finance
DeMask Finance 是一个链上AMM协议,用于 NFT 与 ERC20 代币之间的交易。DeMask Finance 支持创建 NFT 集合和 NFT 发射台:与 ETH 和其他代币配对。NFT 去中心化交易所:支持 ERC-1155 NFT 或其他代币与 ETH 及 ERC-20 代币配对。DeMask 协议旨在为 NFT 市场增加流动性,提供了一个界面,实现 ERC20 代币或原生代币与 NFT 集合之间的无缝交换。DeMask 是一个相互连接的智能合约系统,所有用户都可以创建和拥有流动性池,并以完全自动化的方式进行交易。每个池将持有一对资产,包括一个代币和一个 NFT,为即时交易提供固定价格。这还允许其他合约估算两种资产随时间的平均价格。拥有流动性池的用户在交换资产对时将获得奖励。
Sei V2
Sei V2是Sei网络的一个重要升级,它旨在成为首个完全并行化的EVM。这个升级将使Sei具备以下功能:
这意味着开发者可以无需更改代码,就能在Sei上部署已经过审核的、与EVM兼容的智能合约。这一点对于开发者来说极为重要,因为它简化了他们将现有智能合约从以太坊等其他区块链转移到Sei的过程。
从技术角度来看,Sei节点将自动导入Geth——以太坊虚拟机的Go实现。Geth将用于处理以太坊交易,任何由此产生的更新(包括状态更新或非EVM相关合约的调用)都将通过Sei为EVM创建的特殊接口进行。
它允许区块链在不需要开发者定义任何依赖关系的情况下支持并行化。这意味着所有交易可以并行运行,当出现冲突(例如,交易触及相同的状态)时,链将跟踪每个交易接触的存储部分,并按顺序重新运行这些交易。这个过程将递归地继续,直到解决所有未解释的冲突。因为交易在区块中有序排列,这个过程是确定性的,能够在保持链级别并行性的同时简化开发者的工作流程。
它将引入名为SeiDB的新数据结构来优化平台的存储层。SeiDB的主要目标是防止状态膨胀,即网络变得数据过重的问题,同时简化新节点的状态同步过程。这样的设计旨在提升Sei区块链的整体性能和可扩展性。
Sei V2通过将传统的IAVL树转变为一个双组件系统——状态存储和状态承诺,实现了这一目标。这种变化显著减少了延迟和磁盘使用量,并且Sei V2还计划转向使用PebbleDB,以提高多线程访问的读写性能。
Sei V2允许EVM与Sei支持的任何其他执行环境之间的无缝组合,为开发者提供了更流畅的体验,他们可以轻松访问本地代币和其他链功能,如质押。它还将创建一个新组件来支持EVM智能合约。这些EVM智能合约将受益于对共识和并行化所做的所有更改,并且还能够与现有的Cosmwasm智能合约进行交互。
从性能角度来看,Sei V2将提供每秒28,300个批量交易的吞吐量,同时提供390毫秒的出块时间和390毫秒的最终确定性。这使得Sei能够比现有区块链支持更多的用户、提供更好的交互体验,同时提供更便宜的每笔交易成本。
Sei V2的主要升级进度,目前已接近代码完成。审核完成后,此升级将于2024年第一季度在公共测试网中发布,并将于2024年上半年部署到主网。
Neon
Neon EVM利用Solana区块链的能力,为以太坊dApps提供高效的环境。它在Solana内作为智能合约运行,允许开发者以最小或无需代码更改的方式部署以太坊dApps,并从Solana的高级特性中受益。Neon EVM的架构和操作专注于安全性、去中心化和可持续性,为以太坊开发者提供了一个无缝转换到Solana环境的机会。它凭借使交易并行执行、提供高吞吐量和降低成本的能力,利用了Solana的低费用和高交易速度等优势。Neon EVM生态系统的主要组成部分包括:
它是一个编译成Berkeley Packet Filter字节码的EVM,运行在Solana上。它在Solana上处理类以太坊交易(Neon交易),遵循以太坊规则。Neon EVM通过类似去中心化的多签EVM账户进行配置,参与者可以更改Neon EVM代码和设置参数。
Neon EVM处理交易的过程涉及几个关键步骤。首先,用户通过兼容以太坊的钱包发起类似以太坊的交易(N-tx)。这些交易通过Neon Proxy被封装成Solana交易(S-tx),然后被传递给托管在Solana上的Neon EVM程序。Neon EVM程序解封交易,验证用户签名,加载EVM状态(包括账户数据和智能合约代码),在Solana BPF(Berkeley Packet Filter)环境中执行交易,并更新Solana的状态以反映新的Neon EVM状态。
Eclipse
Eclipse是一个针对以太坊的Layer 2解决方案,它通过利用Solana Virtual Machine (SVM)大幅加速交易处理。Eclipse的设计旨在实现快速和可扩展性,采用模块化的rollup架构,并集成了诸如以太坊结算、SVM智能合约、Celestia数据可用性和RISC Zero安全性等关键技术。
具体来说,Eclipse Mainnet结合了最佳的模块化堆栈部件:
- 结算层 –Ethereum: Eclipse使用以太坊作为其结算层。在这一层上,交易被最终确定和安全保障。使用以太坊不仅意味着利用其健全的安全性和流动性,而且还意味着使用ETH作为支付交易费用的gas代币。这样的设置允许Eclipse从以太坊那里继承强大的安全特性。
- 执行层 –SVM:在智能合约的执行方面,Eclipse采用了SVM。这与EVM顺序执行交易的方式形成鲜明对比,SVM能够进行并行交易处理。其Sealevel运行时的特点是,可以并行处理不涉及重叠状态的交易,使得Eclipse能够水平扩展并提高吞吐量。
- 数据可用性 –Celestia:为确保数据的及时可用和可验证,Eclipse采用Celestia。Celestia为数据发布提供了一个可扩展和安全的平台,是Eclipse高吞吐量的重要支持。
- 欺诈证明 – RISC Zero:Eclipse集成了RISC Zero来进行零知识欺诈证明,避免了中间状态序列化的需求,从而提高了系统的效率和安全性。
Eclipse的设计目标是为以太坊提供一个能够真正大规模使用的通用Layer 2解决方案。它旨在解决特定应用rollup带来的限制和由此产生的隔离及复杂性问题,这些问题可能会导致用户和开发者体验的恶化。Eclipse通过其模块化rollup系统和整合的技术组件,为在以太坊上构建可扩展和高性能的dApps提供了一个有吸引力的选择。
Lumio
Lumio是Pontem Network开发的一个Layer 2解决方案,旨在解决以太坊的可扩展性挑战,并为Web3带来类似Web2的体验。它作为区块链空间中的一个独特rollup而脱颖而出,因为它能够同时支持EVM和Aptos使用的Move VM。这种双重兼容性允许Lumio在Aptos上处理交易,同时在以太坊上结算,为dApp开发者和用户提供了一个多功能且高效的解决方案。它具有以下几个关键特点:
Lumio目前处于封闭测试阶段,计划逐步向选定用户推出。这种方法允许进行全面测试,并根据用户反馈对平台进行改进,确保在更广泛发布时提供一个稳健和用户友好的平台。
行业内其他并行项目Solana
Solana的Sealevel技术是其区块链架构的关键组成部分,旨在通过并行处理技术提升智能合约的性能。这种方法与其他区块链平台的单线程处理有显著不同,例如EVM和EOS的基于WASM的运行时,它们一次处理一个合约并按顺序修改区块链状态。
Sealevel使Solana运行时能够并行处理数以万计的合约,利用验证器可用的所有核心。这种并行处理能力是可能的,因为Solana交易明确描述了执行过程中将读取或写入的所有状态,允许非重叠的交易并发执行,以及只读取相同状态的交易。
Sealevel的核心功能基于Solana独特的架构,包括Cloudbreak账户数据库和历史证明(PoH)共识机制等组成部分。Cloudbreak将公钥映射到账户,账户维护余额和数据,程序(无状态的代码)管理这些账户的状态转换。
Solana中的交易指定了一个指令向量,每个指令包含程序、程序指令和交易希望读写的账户列表。这个接口受到低级操作系统接口对设备的启发,允许SVM对数百万个待处理的交易进行排序,并为并行处理调度所有非重叠的交易。此外,Sealevel可以按程序ID对所有指令进行排序,并同时在所有账户上运行相同的程序,这个过程类似于GPU中使用的SIMD(单指令多数据)优化。
Solana的Sealevel提供了多个好处,包括增强的可扩展性、降低的延迟、成本效率和改进的安全性。它使Solana网络能够处理每秒大幅更高数量的交易,提供几乎即时的交易最终确认,并降低交易费用。即使在并行处理期间,通过Solana的强大安全协议,智能合约的安全性得以维持。
Sealevel通过实现高速并行处理和增加的交易吞吐量,使Solana成为一个强大的去中心化应用平台。
Sui
Sui的并行技术特点使其成为一个高效率、高吞吐量的区块链平台,适合各种Web3应用和使用案例。这些显著特点共同作用,提高了其网络的效率和吞吐量:
Fuel
在Fuel网络中,”并行交易执行”是一项关键技术,它使网络能够高效地处理大量交易。这种并行执行的核心是通过使用严格的状态访问列表来实现的,这些列表基于UTXO(未花费交易输出)模型。这种模型在比特币和许多其他加密货币中都是基本元素。
Fuel在UTXO模型中引入了并行交易执行的能力。通过使用严格的状态访问列表,Fuel能够并行处理交易,从而利用通常在单线程区块链中闲置的更多CPU线程和核心。这样,Fuel就能比单线程区块链提供更多的计算能力、状态访问和交易吞吐量。
Fuel解决了UTXO模型中的并发性问题。在Fuel中,用户不是直接签署UTXO,而是签署合约ID,表明他们打算与合约互动。因此,用户不会直接更改状态,从而导致UTXO被消耗。相反,区块生产者将负责处理区块中各种交易如何影响整体状态,从而影响合约UTXO。被消耗的合约UTXO创建了具有相同核心特征但更新了存储和余额的新UTXO。
为了实现并行交易执行,Fuel开发了特定的虚拟机——FuelVM。FuelVM的设计重点在于减少了传统区块链虚拟机架构中的浪费处理,同时为开发人员提供了更多的潜在设计空间。它结合了来自以太坊生态系统多年的经验教训和改进建议,这些改进由于需要保持与过去版本的兼容性而无法在以太坊上实现。
Aptos
Aptos区块链采用了一种名为Block-STM(软件事务内存)的并行执行引擎,以提升其处理交易的能力。这种技术允许Aptos在每个区块中以预设顺序执行交易,并在执行过程中将交易分配给不同的处理器线程。这种方法的核心思想是在执行所有交易的同时,记录被交易修改的内存位置。所有交易结果都被验证后,如果发现某个交易访问了之前交易修改的内存位置,那么该交易将被无效化。然后,被中止的交易将被重新执行,这一过程重复进行,直到所有交易都执行完毕。
与其他并行执行引擎不同,Block-STM保持了交易的原子性,而无需事先知道将要读/写的数据。这使得开发人员可以更容易地构建高度并行化的应用程序。Block-STM支持比其他并行执行环境更丰富的原子性,这些环境通常需要将操作拆分为多个交易(打破逻辑原子性)。通过降低延迟和提高成本效率,Block-STM增强了用户体验。
此外,Aptos还采用了称为AptosBFTv4的共识机制,这是一个经过严格正确性证明的生产区块链BFT协议。该协议优化了响应性,能够提供低延迟和高吞吐量,充分利用了底层网络的优势。AptosBFTv4采用类似于处理器的流水线设计,确保在每个步骤中最大限度地利用资源。因此,单个节点可能会参与共识的许多方面,从选择包含在区块中的交易到执行另一组交易,将另一组交易的输出写入存储,以及认证另一组交易的输出。这使得吞吐量仅受最慢阶段的限制,而不是所有阶段的顺序组合。
挑战技术难题
一般来说,采用并行或并发方法的核心挑战是数据竞争问题、读写冲突或数据危险问题。所有这些术语都描述了同一问题:不同的线程或操作试图同时读取和修改相同的数据。实现高效且可靠的并行系统需要解决复杂的技术问题,尤其是在确保成千上万去中心化节点上可预测、无冲突地执行并行操作方面。另外,技术兼容性的挑战在于确保新的并行处理方法能够与现有的EVM标准和智能合约代码相兼容。
生态系统适应性
对于开发者来说,他们可能需要学习新的工具和方法来最大化利用并行EVM的优势。此外,用户也需要适应可能出现的新的交互模式和性能特点。这要求整个生态系统的参与者(包括开发者、用户和服务提供商)都要对新技术有一定的了解和适应能力。同时,一个强大的区块链生态系统不仅依赖于其技术特性,还依赖于广泛的开发者支持和丰富的应用程序。新技术如并行EVM要在市场中获得成功,需要建立足够的网络效应,吸引开发者和用户的参与。
系统复杂性增加
并行EVM需要高效的网络通信来支持跨多个节点的数据同步。网络延迟或同步失败可能导致交易处理不一致,增加了系统设计的复杂性。为了有效地利用并行处理的优势,系统需要更加智能地管理和分配计算资源。这可能涉及到在不同节点间动态分配负载,以及优化内存和存储的使用。开发支持并行处理的智能合约和应用程序比传统的顺序执行模型更加复杂。开发者需要考虑并行执行的特性和限制,这可能使得编码和调试过程更加困难。在一个并行执行环境中,安全漏洞可能被放大,因为一个安全问题可能影响多个并行执行的交易。因此,需要更加严格的安全审核和测试流程。
未来展望并行EVM在提高区块链的可扩展性和效率方面展现出了巨大的潜力。上文提到的这些并行EVM代表了区块链技术的一个重要转变,旨在通过在多个处理器上同时执行事务来增强交易处理能力。这种方法突破了传统的顺序交易处理方式,允许更高的吞吐量和更低的延迟,这对于区块链网络的可扩展性和效率至关重要。
并行EVM的成功实施在很大程度上依赖于开发者的远见和技能,特别是在智能合约和数据结构的设计上。这些元素在确定交易是否可以并行执行方面至关重要。开发者必须从项目开始就考虑并行处理,确保他们的设计能够促使不同的交易独立运行,不受干扰。
并行EVM还保持了与以太坊生态系统的兼容性,这对于已经参与以太坊基础应用的开发者和用户来说至关重要。这种兼容性确保了现有dApps的平滑过渡和整合,这对像有DAG这样的系统是一个挑战,因为它们通常需要对现有应用进行重大修改。
开发并行EVM被视为解决区块链可扩展性基本限制的关键一步。这些创新有望为区块链网络的未来做好准备,使它们能够跟上日益增长的需求,成为下一代Web3基础设施的基石。虽然并行EVM提供了巨大的潜力,但它们的成功实施需要克服复杂的技术挑战,并确保广泛的生态系统采用。