🔥 距离 Gate.io WCTC S7 正式开赛仅剩 7 天
世界加密货币交易大赛即将开启,总奖池高达 $5,000,000
👉🏻 立即报名:https://gate.io/competition/wctc/s7?pid=APP&c=moments_gatePost&ch=druYjDaF
报名参赛,不仅有机会赢取高达百万美元的个人奖励,更有 Gate.io 专属周边大礼等你来拿
全球顶尖交易员正在集结,一场交易盛宴即将开启
🔗 活动详情: https://www.gate.io/announcements/article/44440
MT Capital 研报:全面解读并行 EVM,项目一览与未来展望
撰文:Xinwei,MT Capital
长篇大论;博士
采用并行的主要挑战包括解决数据竞争和读写冲突问题,确保技术与现有标准兼容,适应新的生态系统交互模式,以及管理系统复杂性增加,特别是在安全性和资源分配方面。
并行 EVM 展示了在增强区块链可扩展性和效率方面的巨大潜力,标志着区块链技术的一次重大转变,通过多处理器同时执行事务来提高交易处理能力,突破了传统顺序交易处理的限制。虽然并行 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 是EVM Layer 1,旨在通过其独特的技术特性显着提高区块链的可扩展性和交易速度。 Monad 的关键优势在于它可以处理高达每秒10,000 笔交易,并且具有1 秒的区块时间。这得益于它的MonadBFT 共识机制和EVM 的兼容性,这些特性使得它能够高效快速地处理交易。
Monad 最引人注目的特点之一是其并行执行能力,这允许它同时处理多个交易,与传统区块链系统中的顺序处理方法相比,这极大地提高了网络效率和吞吐量。
Monad 的开发由 Monad Labs 领导,由 Keone Hon、Eunice Giarta 和 James Hunsaker 共同创立。该项目已成功筹集了 1900 万美元的种子资金,计划在 2024 年第一季度中期推出测试网,并随后启动主网。
Monad 在以下四个主要领域进行了优化,使其成为高性能的区块链:
MonadBFT: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:MonadDb 用于数据存储和处理的优化。它是 Monad 优化策略的一部分,旨在提高整体网络性能,尤其是在处理状态数据和交易数据方面。这样的组件设计用于增强数据存储的效率和可扩展性,提高区块链网络处理大量数据的能力。它包括改进的数据索引机制、更高效的存储结构和优化的数据访问路径。这些优化有助于减少数据存取时间,提高交易处理速度,从而提升整个区块链网络的性能。
生态项目
交换
TayaSwap 是一个基于 Monad 的 AMM DEX,由 SubLabs 提供支持,它允许在没有传统订单簿或中介的情况下交易资产。AMM 依靠数学公式和智能合约来促进代币兑换、确定价格,并利用智能合约实现点对点交易。
环境金融
Ambient(原 CrocSwap)是一种去中心化交易协议,允许在任意一对区块链资产上组合集中和恒定产品流动性的双边 AMM。Ambient 在单个智能合约中运行整个 DEX,其中单个 AMM 池是轻量级数据结构,而不是单独的智能合约。
虾协议
Shrimp 是一个 (3,3) DEX,拥有飞轮式代币经济学,支持真实世界资产,即将登陆 Monad。
催化剂
Catalyst 是一种在模块化区块链之间提供无需许可的流动性解决方案,专为连接所有链而构建,旨在实现在任何地方访问任何资产。Catalyst 使开发者能够自动连接到所有链,获得统一生态系统中用户的访问权限,同时其简单、去中心化和自我托管的设计确保了项目能够安全、无缝地访问流动性。
交换
Swaap 是一个市场中立的自动做市商 (AMM)。它结合了预言机和动态点差,为流动性提供者提供可持续的收益,并为交易者提供更便宜的价格。该协议大大减少了无常损失并提供了多资产池。
灵丹妙药
Elixir 是一种去中心化做市协议,通过 API 调用使用做市算法与交易中心化所进行交互,为长尾加密资产带来流动性。
时间互换
Timeswap 是一种基于 AMM 的去中心化货币市场协议,不使用预言机或清算人。与 Uniswap 可以实时交易资产不同,Timeswap 上的借款涉及到交易代币,直到还款完成。贷方提供资产 A 用于借款,同时「保护」借款人用作抵押品的一定数量的资产 B。用户可以调整他们的风险状况,以较低的抵押比率获得更高的利率,反之亦然。
波普利
Poply 是一个基于社区的 NFT 市场,专门针对 Monad 链,展示和赋能专为此链创建的 NFT 收藏品,通过使用 AI 生成艺术和用户友好的界面,吸引对独特 NFT 感兴趣的人士在此进行 ERC-721 代币的交易。
总机
Switchboard 是一个用于通用数据馈送和可验证随机性的无许可、可定制、多链预言机协议。通过允许任何人推送任何形式的数据,无论数据类型如何,它为用户提供一站式服务,并有助于推动下一代去中心化应用程序的发展。
皮斯网络
Pyth Network 是 Douro Labs 开发 下一代价格预言机解决方案,旨在通过区块链技术向项目和协议以及公众提供链上有价值的金融市场数据,包括加密货币、股票、外汇和商品等。该网络汇总了来自 70 多个受信任数据提供商的第一方价格数据,并将其发布以供智能合约和其他链上或链下应用程序使用。
AIT协议
AIT Protocol 是一种人工智能数据基础设施,提供 Web3 人工智能解决方案。AIT 去中心化市场为数百万加密货币用户提供了一个特殊而广泛的机会,让他们参与「训练即赚钱」任务,这一概念同时使他们能够获得奖励,同时积极为人工智能模型的发展和发展做出贡献。
注意
Notifi 为所有 Web3 项目提供通用通信层,计划将通知和消息功能嵌入到去中心化应用程序中,以便在数字和链上渠道上与用户互动。 Notifi API 允许开发人员通过简单的 API 解锁复杂的通信基础设施,这些 API 可以为世界上所有的应用程序提供原生用户体验;Notifi Center 为用户提供定制信息的通知体验,它将从移动端和 Web 端允许用户查看和管理 Web3 世界中的所有信息;Notifi Push 使营销人员能够创建有凝聚力的多渠道参与,从而推动业务增长和保留其用户群。
加密货币
ACryptoS 是一个先进的加密策略平台,是一个多链收益聚合优化器和 DEX,提供包括自动复合单代币金库、双代币 LP 金库、独一无二的流动性金库、Balancer-V2 分支 DEX 和稳定币交换在内的多种独特产品。ACryptoS 最初于 2020 年 11 月在 BNB 链上推出,现已扩展到 11 条链,部署了 100 多个金库,旨在支持 DeFi 用户和协议。
岩浆DAO
MagmaDAO 是一个由 DAO 控制的流动性质押协议,旨在通过生态系统竞争空投实现公平的代币分配,是以太坊以外的首个分布式验证器,建立在最快、最便宜、抗审查能力最强的 EVM L1 Monad 上。
袋熊交换
Wombat Exchange 是一个多链稳定币交易,具有开放的流动性池、低滑点和单边质押。
虫洞
Wormhole 是一种去中心化的通用消息传递协议,使跨链应用程序的开发人员和用户能够利用多个生态系统的优势。
德马斯克财经
DeMask Finance 是一个链上 AMM 协议,用于 NFT 与 ERC20 代币之间的交易。DeMask Finance 支持创建 NFT 集合和 NFT 发射台:与 ETH 和其他代币配对。NFT 去中心化交易所:支持 ERC-1155 NFT 或其他代币与 ETH 及 ERC-20 代币配对。DeMask 协议旨在为 NFT 市场增加流动性,提供了一个界面,实现 ERC20 代币或原生代币与 NFT 集合之间的无缝交换。DeMask 是一个相互连接的智能合约系统,所有用户都可以创建和拥有流动性池,并以完全自动化的方式进行交易。每个池将持有一对资产,包括一个代币和一个 NFT,为即时交易提供固定价格。这还允许其他合约估算两种资产随时间的平均价格。拥有流动性池的用户在交换资产对时将获得奖励。
六V2
Sei V2 是 Sei 网络的一个重要升级,它旨在成为首个完全并行化的 EVM。这个升级将使 Sei 具备以下功能:
向后兼容 EVM 智能合约:这意味着开发者可以无需更改代码,就能在 Sei 上部署已经过审核的、与 EVM 兼容的智能合约。这一点对于开发者来说极为重要,因为它简化了他们将现有智能合约从以太坊等其他区块链转移到 Sei 的过程。
从技术角度来看,Sei 节点将自动导入 Geth——以太坊虚拟机的 Go 实现。Geth 将用于处理以太坊交易,任何由此产生的更新(包括状态更新或非 EVM 相关合约的调用)都将通过 Sei 为 EVM 创建的特殊接口进行。
乐观并行化:它允许区块链在不需要开发者定义任何依赖关系的情况下支持并行化。这意味着所有交易可以并行运行,当出现冲突(例如,交易触及相同的状态)时,链将跟踪每个交易接触的存储部分,并按顺序重新运行这些交易。这个过程将递归地继续,直到解决所有未解释的冲突。因为交易在区块中有序排列,这个过程是确定性的,能够在保持链级别并行性的同时简化开发者的工作流程。
SeiDB:它将引入名为 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 EVM 利用 Solana 区块链的能力,为以太坊 dApps 提供高效的环境。它在 Solana 内作为智能合约运行,允许开发者以最小或无需代码更改的方式部署以太坊 dApps,并从 Solana 的高级特性中受益。Neon EVM 的架构和操作专注于安全性、去中心化和可持续性,为以太坊开发者提供了一个无缝转换到 Solana 环境的机会。它凭借使交易并行执行、提供高吞吐量和降低成本的能力,利用了 Solana 的低费用和高交易速度等优势。Neon EVM 生态系统的主要组成部分包括:
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 状态。
Neon Proxy:它使以太坊 dApps 能够以最小的重配置方式移植到 Neon。Neon Proxy 将 EVM 交易打包成 Solana 交易,以容器化解决方案的形式提供,以方便使用。运行 Neon Proxy 服务器的操作者促进在 Solana 上执行类以太坊交易,接受 NEON 代币作为 gas 费用及 Solana 生态系统内的其他支付。
Neon DAO:DAO 为 Neon 基金会提供托管服务,并指导未来的研究和发展。它以 Solana 上的一系列合约运作,提供控制 Neon EVM 功能的治理层。NEON 代币持有者可以参与 DAO 活动,包括提出和投票决定提案。
NEON 代币:这种实用代币有两个主要功能 - 支付 gas 费用和通过 DAO 参与治理。
集成和工具:Neon EVM 支持各种开发和分析的集成和工具。这些包括块浏览器(如 NeonScan)、ERC-20 SPL 包装器用于代币转移、NeonPass 用于在 Solana 和 Neon EVM 之间转移 ERC-20 代币、NeonFaucet 提供测试代币,以及与 MetaMask 等 EVM 兼容钱包的兼容性。
蚀
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 是 Pontem Network 开发的一个 Layer 2 解决方案,旨在解决以太坊的可扩展性挑战,并为 Web3 带来类似 Web2 的体验。它作为区块链空间中的一个独特 rollup 而脱颖而出,因为它能够同时支持 EVM 和 Aptos 使用的 Move VM。这种双重兼容性允许 Lumio 在 Aptos 上处理交易,同时在以太坊上结算,为 dApp 开发者和用户提供了一个多功能且高效的解决方案。它具有以下几个关键特点:
双虚拟机兼容性:Lumio 独特地支持 EVM 和 Aptos 的 Move VM。这种双重兼容性使 Lumio 能够无缝整合以太坊和 Aptos 的功能,提高了 dApp 开发和执行的灵活性和效率。
高吞吐量和低延迟:通过利用像Aptos 这样的高性能链进行交易排序,Lumio 显着提升了交易带宽。这种整合确保了Lumio 能够高效处理大量交易,同时保持以太坊的安全性和流动性特点。
乐观 Rollup 技术:Lumio 使用开源 OP 栈,采用乐观 rollup 技术。乐观 rollups 以其高效的交易处理和较低成本而闻名,适合扩展基于以太坊的应用程序。
灵活的 Gas 费用经济模型:Lumio 引入了以应用为中心的 Gas 费用经济模型。这种模型允许应用开发者直接从网络使用中受益,可能激励更多创新和用户友好的 dApp 开发。
互操作性和整合:Lumio 能够在 Aptos 上处理交易,并在以太坊上进行结算,展现了不同区块链生态系统之间的高度互操作性。这一特性使开发者能够在其应用程序中充分利用以太坊和 Aptos 的优势。
安全性和可扩展性的平衡:结合了以太坊的强大安全性和 Aptos 的可扩展性,为开发者提供了一个有吸引力的解决方案,以构建高性能、安全的 dApps。Lumio 的架构旨在有效平衡这两个关键方面。
Lumio 目前处于封闭测试阶段,计划逐步向选定用户推出。这种方法允许进行全面测试,并根据用户反馈对平台进行改进,确保在更广泛发布时提供一个稳健和用户友好的平台。
行业内其他并行项目
索拉纳
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 的并行技术特点使其成为一个高效率、高吞吐量的区块链平台,适合各种Web3 应用和使用案例。这些显着特点共同作用,提高了其网络的效率和吞吐量:
Narwhal 和 Bullshark 组件:这两个组件对 Sui 的共识机制至关重要。Narwhal 作为内存池,负责加速交易处理,改善网络效率,确保数据提交给 Bullshark(共识引擎)时的可用性。Bullshark 负责对由 Narwhal 提供的数据进行排序,利用拜占庭容错机制来验证交易的有效性并在网络中分配这些交易。
资产所有权模型:在 Sui 网络中,资产可以被单一所有者拥有或多个所有者共享。单一所有者的资产可以在网络中快速自由转移,而共享资产需要通过共识系统进行验证。这种资产所有权系统不仅提高了交易处理的效率,还使开发人员能够为其应用程序创建多种类型的资产。
分布式计算:Sui 的设计允许网络根据需求扩展资源,使其功能类似于云服务。这意味着,随着对 Sui 网络的需求增加,网络验证者能够增加更多的处理能力,保持网络的稳定性,并维持低 gas 费。
Sui Move 编程语言:Sui Move 是 Sui 的原生编程语言,专为创建高性能、安全且功能丰富的应用程序而设计。它基于 Move 语言,旨在改善智能合约编程语言中的缺陷,提高智能合约的安全性和程序员的工作效率。
可编程交易块(PTB):Sui 中的 PTB 是一种复杂、可组合的交易序列,可以访问所有智能合约中的任何公开的链上 Move 函数。这种设计为支付或金融导向的应用程序提供了强大的保证。
水平可扩展性:Sui 的可扩展性不仅限于交易处理,还包括存储。这使得开发人员能够定义具有丰富属性的复杂资产,并直接存储在链上,而不必为了节省 gas 费而使用间接的离链存储。
### 燃料
在 Fuel 网络中,「并行交易执行」是一项关键技术,它使网络能够高效地处理大量交易。这种并行执行的核心是通过使用严格的状态访问列表来实现的,这些列表基于 UTXO(未花费交易输出)模型。这种模型在比特币和许多其他加密货币中都是基本元素。
Fuel 在 UTXO 模型中引入了并行交易执行的能力。通过使用严格的状态访问列表,Fuel 能够并行处理交易,从而利用通常在单线程区块链中闲置的更多 CPU 线程和核心。这样,Fuel 就能比单线程区块链提供更多的计算能力、状态访问和交易吞吐量。
Fuel 解决了 UTXO 模型中的并发性问题。在 Fuel 中,用户不是直接签署 UTXO,而是签署合约 ID,表明他们打算与合约互动。因此,用户不会直接更改状态,从而导致 UTXO 被消耗。相反,区块生产者将负责处理区块中各种交易如何影响整体状态,从而影响合约 UTXO。被消耗的合约 UTXO 创建了具有相同核心特征但更新了存储和余额的新 UTXO。
为了实现并行交易执行,Fuel 开发了特定的虚拟机——FuelVM。FuelVM 的设计重点在于减少了传统区块链虚拟机架构中的浪费处理,同时为开发人员提供了更多的潜在设计空间。它结合了来自以太坊生态系统多年的经验教训和改进建议,这些改进由于需要保持与过去版本的兼容性而无法在以太坊上实现。
公寓
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 提供了巨大的潜力,但它们的成功实施需要克服复杂的技术挑战,并确保广泛的生态系统采用。