
性能突围:并行执行引擎(SVM/Rollup)在区块链开发中的状态冲突解决策略
区块链的性能瓶颈,本质上是一个调度问题。传统EVM顺序执行交易的方式,如同单车道公路——无论车辆多少,只能排队通过。并行执行引擎的兴起,试图将这条公路扩展为多车道高速路,但随之而来的核心难题是:当多笔交易同时读写同一状态时,如何保证最终结果与顺序执行完全一致? 这一被称为“状态冲突”的问题,正是区分优秀与平庸并行方案的分水岭。

一、冲突的根源:并行与确定性的天然矛盾
区块链要求所有节点执行同一批交易后必须得出相同的状态根。顺序执行天然满足这一要求——交易按确定顺序逐个执行,结果唯一。而并行执行允许多笔交易同时进行,当两笔交易修改同一账户余额时,执行顺序的差异会导致不同结果。
以经典的转账场景为例:交易A从账户B转出10枚代币到账户C,交易B同时从账户B转出5枚代币到账户D。如果A先执行,B的余额基数不同;如果B先执行,结果同样不同。并行执行必须在保证“与某个确定的顺序执行结果一致”的前提下,最大化并发度。这恰恰是并行执行引擎设计的核心挑战。
二、两种哲学:静态规划与乐观推测
当前主流的并行执行策略,可归为两大流派。
静态规划派的代表是Solana SVM。Solana通过SeaLevel引擎要求交易在提交时明确声明读写哪些账户(即Read-Write Sets),系统据此在调度阶段识别冲突:修改不同账户的交易可并行执行,修改同一账户的交易则按依赖关系排序,冲突交易被延迟到后续迭代中处理。这一策略的优点是确定性高、无回滚开销,但缺点同样明显——在高冲突场景(如热门DeFi池的集中交互)下,性能会显著下降至约45k TPS,因为大量交易被串行化处理。
乐观推测派则以Aptos的Block-STM和Monad为代表。这些引擎先假定交易之间无冲突,让所有交易并行执行,执行完成后通过验证阶段检测冲突——如果发现某笔交易读取的数据在执行期间被其他交易修改,则该交易被中止(Abort)并重新执行,直到所有交易验证通过。Block-STM采用多版本内存管理(Multi-Version Memory),为每个状态变量维护版本链,读操作自动获取当前最新已提交版本,保证最终状态与顺序执行一致。这种策略在低冲突场景下性能极高,Aptos的理论峰值可达10万+ TPS,但在高冲突场景下回滚开销陡增。
三、混合与进化:从冲突规范到重执行
学术研究与工业实践正在探索更精细的折中方案。近期发表于AFT 2025的研究提出了一种基于冲突规范的Block Transactional Memory(BTM)算法,在EVM和MoveVM上均有验证:通过算法推导交易的冲突规范,使并行执行器在运行前即可识别可能冲突的交易,减少不必要的乐观推测和回滚,实验显示相比纯乐观方案可实现最高1.33倍的加速。
另一条路径来自Overpass Ledger系统,它提出ReX(Re-Execution)机制——当冲突发生时,不直接中止交易,而是高效地重新执行冲突部分,避免资源浪费和回滚开销。实验表明该方案相比Hyperledger Fabric可实现77倍的吞吐量提升。
Crystality项目(发表于PPoPP 2025)则从更微观的粒度切入:将交易分解为无重叠状态访问的微操作,通过细粒度的确定性调度最大化CPU利用率,同时保证可串行化与原子性。
四、Rollup场景的特殊挑战
在Rollup架构中,并行执行面临额外约束:Rollup依赖以太坊作为结算层,其交易顺序由L1最终确定,并行执行引擎必须在给定顺序的前提下最大化并发。这与Solana等L1“调度即执行”的模式有本质区别。Monad和并行EVM方案因此更强调在有序交易集上的乐观并发控制,在保持L1顺序约束的同时,通过推测执行挖掘并行潜力。
深圳本地区块链技术服务商,专业做 WEB3、DAPP、智能合约开发,兼顾 RWA 项目、AI 量化系统、公链主链定制开发,技术成熟稳定,高效助力客户开拓链上业务市场。

