EVM并行优化:区块链性能提升60倍的关键技术

robot
摘要生成中

EVM的并行化优化:提升区块链性能的关键

EVM作为以太坊的核心执行引擎,一直采用串行方式处理交易。这种方法虽然简单易维护,但随着用户群体扩大和技术进步,其性能瓶颈日益凸显。特别是在Rollup技术广泛应用的今天,EVM的串行执行已成为制约二层网络发展的重要因素。

Sequencer作为Layer2的核心组件,以单一服务器形式承担所有计算任务。当其他模块效率足够高时,Sequencer本身的处理能力就成为了最终的瓶颈。某些团队通过优化DA层和数据读写模块,使Sequencer每秒可执行约2000笔ERC-20转账。这个数字看似不低,但面对更复杂的交易时,TPS必然会大幅下降。因此,交易处理的并行化成为未来发展的必然趋势。

以Reddio为例,阐述并行EVM的优化之路

在以太坊的代码结构中,除EVM外,stateDB也是与交易执行密切相关的核心组件。它负责管理以太坊的账户状态和数据存储。EVM每次执行交易都会改变stateDB中的某些数据,这些变更最终反映在全局状态树中。

stateDB主要维护所有以太坊账户的状态,包括普通账户和合约账户,存储账户余额、智能合约代码等信息。交易执行过程中,stateDB对相应账户数据进行读写,执行结束后将新状态提交到底层数据库中永久保存。

在传统的串行执行模式下,一个区块内的交易按顺序逐笔处理。每笔交易都有独立的EVM实例执行具体操作,但所有交易共用同一个stateDB。EVM在执行过程中需要频繁与stateDB交互,读取和写入相关数据。

以Reddio为例,阐述并行EVM的优化之路

这种串行执行模式的缺陷很明显:交易必须排队等待执行,如果遇到耗时较长的复杂合约交易,后续交易只能被迫等待,无法充分利用硬件资源,严重限制了处理效率。

为了突破这一瓶颈,业界提出了EVM的多线程并行优化方案。其核心思想是开启多个线程同时处理多笔交易,大幅提升效率。然而,并行执行面临的主要挑战是如何处理状态冲突问题。

以Reddio为例,阐述并行EVM的优化之路

某项目对EVM的并行优化思路值得关注。他们为每个线程分配一笔交易和一个临时状态数据库(pending-stateDB)。具体步骤如下:

  1. 多线程并行执行交易,各线程互不干扰。

  2. 每个线程有独立的pending-stateDB,交易执行时不直接修改全局stateDB,而是将状态变化暂存在pending-stateDB中。

  3. 区块内所有交易执行完毕后,EVM将各pending-stateDB中的状态变更依次同步到全局stateDB。

以Reddio为例,阐述并行EVM的优化之路

该项目还对读写操作进行了优化:

  • 读操作时,EVM先检查Pending-state的ReadSet。如有所需数据,直接从pending-stateDB读取;否则从上一区块的全局stateDB读取历史状态。

  • 写操作不直接写入全局stateDB,而是先记录到Pending-state的WriteSet。交易执行完成后,通过冲突检测再尝试合并到全局stateDB。

以Reddio为例,阐述并行EVM的优化之路

为解决状态冲突问题,该项目引入了冲突检测机制:

  • 执行过程中监测不同交易的ReadSet和WriteSet,发现多个交易读写相同状态项时视为冲突。

  • 标记冲突交易为需要重新执行。

以Reddio为例,阐述并行EVM的优化之路

所有交易执行完毕后,多个pending-stateDB的变更记录合并到全局stateDB。合并成功后,最终状态提交到全局状态树,生成新的状态根。

以Reddio为例,阐述并行EVM的优化之路

多线程并行优化显著提升了性能,尤其是在处理复杂智能合约交易时。研究表明,在低冲突工作负载下,基准测试的TPS比传统串行执行提升了3-5倍。在高冲突工作负载中,理论上采用所有优化手段甚至可达到60倍提升。

以Reddio为例,阐述并行EVM的优化之路

这种EVM多线程并行优化方案,通过为每个交易分配临时状态库并在不同线程中并行执行,大幅提高了EVM的交易处理能力。通过优化读写操作和引入冲突检测机制,在保证状态一致性的同时实现了交易的大规模并行化,有效解决了传统串行执行模式的性能瓶颈。这为以太坊生态系统未来的扩展奠定了重要基础。

未来的研究方向可能包括进一步优化存储效率、改进高冲突情况下的处理方案,以及探索利用GPU进行优化等内容。这些进展将为区块链技术的持续发展提供新的动力。

以Reddio为例,阐述并行EVM的优化之路

ETH0.13%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 7
  • 转发
  • 分享
评论
0/400
MEV受害者协会vip
· 12小时前
并发赶紧搞 卡死老子了
回复0
瓜田李下vip
· 12小时前
还在吹evm 吃相难看
回复0
MetaDreamervip
· 12小时前
性能提升60倍?gm又得梭一单干起来
回复0
测试网学者vip
· 12小时前
这卡的,赶紧优化吧
回复0
faded_wojak.ethvip
· 12小时前
卡啦 并行化起飞啊
回复0
智能合约捉虫人vip
· 12小时前
卡住了就得并行 内卷起来!
回复0
DeFi攻略vip
· 13小时前
这瓶颈不就等着被薅吗 抢跑机器人狂喜
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)