1. 什么是并行EVM?
并行 Ethereum 虚拟机(Parallel EVM)是传统 Ethereum 虚拟机(EVM)的升级版本,通过同时处理多个不冲突的交易,提升了区块链交易吞吐量,提高了交易处理速度和效率。
以太坊虚拟机(EVM)是以太坊网络的共识和执行机制,负责处理和执行交易。但在传统 EVM 中,交易和智能合约执行按顺序进行。每笔交易必须一个接一个地处理,形成线性有序的进程。这种方法虽然简单,但可能会导致瓶颈,尤其是随着交易量的增加。每笔交易都要通过等待才能轮到我们,处理时间可能会增加,从而导致潜在的延迟和更高的成本(就 gas 费用而言)。
并行EVM通过同时处理多个不冲突的交易,显著提高了区块链的吞吐量和执行速度。例如,如果 Bob 想要进行交换,Alice 想要铸造新 NFT,Eric 想要将资金质押给验证者,这些交易可以同时处理,而不是依次处理,从而减少交易处理时间和成本。这种并行处理能力使得区块链能够在更短的时间内处理更多的交易,解决了传统区块链系统的拥堵问题。
2. 并行EVM如何工作?
在当前的 EVM 架构中,最细粒度的读取和写入操作是sload和sstore,分别用于读取和写入状态 trie。因此,确保不同的线程不会在这两个操作上发生冲突是实现并行/并发 EVM 的直接切入点。事实上,在以太坊中,有一种特殊类型的交易,其中包含一个称为“访问列表”的特殊结构,允许交易携带它们将读取和修改的存储地址。因此,这为实现基于调度程序的并发方法提供了一个很好的起点。
在系统实现方面,并行/并发 EVM 有三种常见的形式:
1. 基于调度的并发处理
-
访问列表:在执行交易前,通过访问列表提前确定交易将要读取和修改的存储地址。访问列表包含了每个交易需要访问的所有状态信息。
-
调度算法:调度算法根据访问列表将交易安排在不同的线程上执行,确保同时执行的交易不会访问相同的存储地址,从而避免冲突。
-
并发执行:在实际执行时,多个交易可以在不同的线程上同时进行,调度算法确保了这些交易之间没有相互依赖或冲突。
2. 多线程 EVM 实例
-
实例化多个 EVM:在一个节点上创建多个 EVM 实例,每个实例都能够独立运行并处理交易。
-
分配交易:将待处理的交易按照某种策略(如哈希值、时间戳等)分配给不同的 EVM 实例。
-
并行执行:每个 EVM 实例在自己的线程中执行分配给它的交易,多个实例可以同时运行,从而实现并行处理。
3. 系统级分片
-
数据分片:将整个区块链状态划分为多个分片,每个分片包含一部分全局状态信息。
-
分片节点:在每个分片上运行多个节点,每个节点负责维护和处理该分片内的交易和状态。
-
跨分片通信:通过跨分片通信协议,确保不同分片之间的数据一致性和交易的全局顺序。跨分片通信可以使用跨分片消息传递和跨分片锁定机制来实现。
-
并行处理:每个分片内的节点可以独立处理该分片内的交易,同时多个分片也可以并行运行,从而实现整个系统的并行处理能力。
3. 头部项目
3.1 Monad :自带並行 EVM 的 L1
Monad 是一个基于 EVM 的第 1 层区块链项目,旨在通过其独特的技术特性显著提升区块链的可扩展性和交易速度。Monad 每秒处理多达 10000 笔交易,并且具有一秒区块时间和即时最终确定性。这样的高效性能得益于独特的 Monadbft 共识机制和对以太坊虚拟机(EVM)的兼容性。
并行 EVM 在 Monad 中的应用:
1. 并行执行的实现
-
乐观执行方法:在区块中较早的交易完成之前开始执行后续交易,这有时会导致执行结果不正确。为了解决这个问题,Monad 跟踪交易执行中使用的输入,并将其与之前交易的输出进行比较。如果发现差异,表明交易需要重新执行。
-
静态代码分析:Monad 使用静态代码分析器在执行过程中预测交易之间的依赖关系,避免无效的并行执行。在最佳情况下,Monad 可以提前预测许多依赖关系;在最差情况下,Monad 会回退到简单的执行模式。
2. Monadbft 共识机制
-
高效通信:采用配对的 BLS 签名来解决可扩展性问题,允许签名逐步聚合成一个签名,证明与公钥相关的共享已签署消息。
-
混合签名方案:BLS 签名仅用于可聚合消息类型(如投票和超时),消息的完整性和真实性仍由 ECDSA 签名提供。
3. 延迟执行
-
更大的容错性:由于执行只需跟上共识的速度,这种方法对特定计算时间的变化更为宽容。
-
Merkle 根延迟:为确保状态机复制,Monad 在区块提案中包括一个延迟 d 个区块的 Merkle 根。这确保了整个网络的一致性,即使存在节点执行错误或恶意行为。
目前,Monad的并行EVM支持每秒处理 10,000 笔交易,区块时间仅为 1 秒,使用 PoS 机制增强网络安全性和能效,预计将在 2024 年第三季度启动主网。
官方账号也在 Twitter 上积累了 28.3万粉丝,主导着一个热情和活跃的社区。尤其是以太坊社区似乎对即将推出的 Monad 感到非常兴奋,这将使 Monad 处于一个有利的位置,可以抓住早期的炒作和采用。
项目背景方面,Monad Labs 已完成两轮融资,分别于2023年2月和今年4月。今年4月9号完成 的2.25 亿美元融资由 Paradigm 领投,其他投资者包括 Electric Capital。2023年完成 的1900 万美元种子轮融资,由Dragonfly Capital 领投,Placeholder Capital、Lemniscap、Shima Capital、Finality Capital、天使投资人 Naval Ravikant、Cobie 和 Hasu 等参投。
Monad团队背景雄厚,成员来自区块链领域顶尖项目,拥有强大的技术团队和资金支持。Monad 的联合创始人兼 CEOKeone Hon此前曾在 Jump Trading 领导一个高频交易部门。他毕业于麻省理工大学。另一个联合创始人James Hunsaker 也是 Jump Trading 的高级软件工程师,他毕业于爱荷华大学。此外,Eunice Giarta 是 Monad 联合创始人兼 COO,此前在传统金融科技领域拥有丰富经验。Eunice 曾在 Shutterstock 支付和基础设施许可部分,曾领导开发团队在 Broadway Technology 构建企业交易系统
3.2 SEI Network:自带並行 EVM 的 L1,V2 版本將並行 EVM 提上日程
SEI Network 是一个专注于去中心化金融(DeFi)基础设施的第 1 层区块链,主要侧重于订单簿的开发。
通过采用并行 EVM的机制,SEI Network 并行进行订单匹配,实现了高速度、低费用和支持各种交易应用的专用功能的目标。Sei 的平均出块时间为0.46 秒,拥有80 多个应用程序。
并行 EVM 在 SEI Network 中的应用:
-
智能区块传播和乐观区块处理:通过提供所有相关交易哈希值,加速交易处理时间,并减少延迟和增加吞吐量。
-
本地订单匹配引擎:不同于当前常用的自动化做市商(AMM)系统,SEI 使用链上订单簿来匹配特定价格的买卖订单。所有基于 Cosmos 的去中心化应用(dApps)都可以访问 SEI 的订单簿和流动性。
-
频繁批量拍卖(FBA):将交易组合成批次,在每个区块内同时执行订单,以防止跑单和 MEV。
SEI Network目前已经发行了自己的原生代币SEI。在 Sei Network 生态系统中,SEI 币发挥着多种作用,包括:
-
交易费: SEI 币用于支付 Sei 网络上产生的交易费。这些费用可作为验证者的激励,并有助于网络的安全。
-
质押:用户可以质押 SEI 币来获得奖励并增强 Sei 网络的整体安全性。
-
治理: SEI 代币持有者有能力积极参与 Sei 网络的治理。这种参与包括对提案进行投票和选举验证者。
SEI 的总代币供应量为 100 亿,其中 51% 分配给 Sei 社区。其中 48% 作为生态系统储备,奖励质押者和贡献者、验证者和开发者。另外 3%(即 3 亿 SEI)指定用于空投第一季,剩余部分分配给私募投资者、基金会和 Sei 团队。
截止5月30日,SEI代币的价格为$0.5049,市值为$1,476,952,630,与加密货币排行榜排名第63位。24小时交易量为 $78,970,605,市场参与度较高。
SEI Network目前的TVL为1800万,获得融资共计约5500 万美元,FDV为82 亿美元,官方推特账户有66.6万粉丝。
SEI Network 的联合创始人Jeff Feng ,毕业于美国加州大学伯克利分校。在进入 Coatue Management 的风险投资之前,他在高盛担任了三年的技术投资银行家。另一个联合创始人Jayendra 毕业于加州大学洛杉矶分校,曾是 Facebook 软件工程实习生。
3.3 Eclipse:折中派,將 SVM 引入以太坊生態的 L2
Eclipse 是一个基于以太坊的下一代乐观型 Layer 2 解决方案,由 Solana 虚拟机(SVM)驱动。將 SVM 引入以太坊,结合了以太坊的结算、Solana 虚擬机(SVM)的执行、Celestia 的数据可用性和 RISC Zero 的零知识证明等多个技术,从而提供一个大规模並行执行的环境,允许多个操作同时进行,从而提高网络吞吐量和效率,同时减少拥堵和交易费用。通过这种结构,Eclipse 旨在提高 dApp 的可扩展性和用户体验。
Eclipse 的主要特点
1. 高交易吞吐量:
Eclipse 利用 SVM 和并行执行技术,实现了极高的交易处理能力,支持成千上万笔交易同时处理。
2. 即时最终确定性:
通过流水线共识机制,实现每个区块内交易的即时完成和最终确定性。
3. 以太坊兼容性:
Eclipse 完全兼容以太坊虚拟机(EVM),使开发者可以轻松将现有以太坊应用移植到 Eclipse 上。
4. 数据可用性:
利用 Celestia 提供的数据可用性解决方案,确保高吞吐量的同时保证数据的安全和可验证性。
5. 零知识证明:
采用 RISC Zero 技术实现零知识欺诈证明,提升系统的效率和安全性。
并行 EVM 在 Eclipse 中的应用
Eclipse 通过集成 Solana 虚拟机(SVM)实现并行 EVM,这一技术显著提升了交易处理速度和效率。
1. 并行执行:
-
技术原理:Eclipse 使用 SVM 的 Sealevel 运行时,这一运行时允许非重叠状态的交易并行执行,而不是按顺序执行。
-
实现方式:通过明确描述每笔交易在执行期间会读取或写入的所有状态,SVM 可以并行处理不涉及重叠状态的交易,从而显著提高吞吐量。
2. 以太坊兼容性:
-
Neon EVM 集成:为了实现 EVM 兼容性,Eclipse 集成了 Neon EVM。这使得 Eclipse 主网能够支持以太坊字节码和 Ethereum JSON-RPC。
-
本地费用市场:每个 Neon EVM 实例都有自己的本地费用市场,应用可以通过部署自己的合约获得应用链的所有好处,而不会破坏用户体验、安全性或流动性。
3. 模块化 Rollup 设计:
-
基础设施层:Eclipse 旨在成为 Layer 3 生态系统的基础设施层,通过支持 dApp 特定的 Layer 3 Rollup 实现高性能和可扩展性。
-
简单来说,Eclipse 的设计逻辑是,交易执行在 Solana 的 SVM 中,交易结算仍在以太坊上。
在项目背景方面,Eclipse 2022 年9月完成 1500 万美金融资, 投资方有 Polychain、Polygon Ventures、Tribe Capital、 Infinity Ventures Crypto、CoinList 等。此外,今年3月11号,也完成 5000 万美元 A 轮融资,Placeholder 和 Hack VC 共同领投,目前其融资总额达到 6500 万美元。
Eclipse 联合创始人& CEO Neel Somani 此前有 Airbnb、Two Sigma、Oasis Labs 等多个公司经歷,首席商务官 Vijay 曾是 Uniswap 和 dYdX 团队的前业务开发主管。
4. 挑战
1. 数据竞争和读写冲突:
在并行处理环境中,不同线程同时读取和修改相同数据会导致数据竞争和读写冲突。这种情况需要复杂的技术解决方案以确保数据的一致性和操作的无冲突执行。
2. 技术兼容性:
新的并行处理方法需要与现有的以太坊虚拟机(EVM)标准和智能合约代码兼容。这种兼容性要求开发者学习和使用新的工具和方法,以充分利用并行 EVM 的优势。
3. 生态系统适应性:
用户和开发者需要适应并行处理带来的新交互模式和性能特点,这需要整个生态系统的参与者对新技术有足够的理解和适应能力。
4. 系统复杂性增加:
并行 EVM 需要高效的网络通信来支持数据同步,增加了系统设计的复杂性。智能管理和分配计算资源也是一个重要挑战,确保在并行处理时的高效资源利用。
5. 安全性:
并行执行环境中的安全漏洞可能会被放大,因为一个安全问题可能会影响多个同时执行的交易。因此,需要更严格的安全审计和测试流程来确保系统的安全性。
5. 未来展望
1. 提升区块链的可扩展性和效率:
并行 EVM 通过在多个处理器上同时执行交易,显著提升了区块链的吞吐量和处理速度,突破了传统顺序处理的限制。这将极大地提高区块链网络的可扩展性和效率。
2. 推动区块链技术的普及和发展:
尽管面临技术挑战,但并行 EVM 的潜力巨大,能够显著增强区块链的性能和用户体验。成功的实施和广泛采用将推动区块链技术的普及和发展。
3. 技术创新与优化:
并行 EVM 的发展将伴随着技术的不断创新和优化,包括更高效的并行处理算法、更智能的资源管理和更安全的执行环境。这些创新将进一步提升并行 EVM 的性能和可靠性。
4. 支持更多样化和复杂的应用:
并行 EVM 可以支持更复杂和多样化的去中心化应用(dApps),特别是在需要高频交易和低延迟的场景下,如去中心化金融(DeFi)、游戏和供应链管理。
参考:
https://www.coinlive.com/news/comprehensive-interpretation-of-parallel-evm-project-overview-and-future-prospects
https://medium.com/@alibertaysolak/what-is-parallel-evm-70451db5f327