Stable EVM

Stable EVM Stable EVM 是 Stable 区块链的以太坊虚拟机兼容执行层,使用户能够通过现有的以太坊工具和钱包(如 MetaMask)无缝与链进行交互。Stable EVM 结合了 EVM 的开发体验与 StableSDK 的模块化、高性能基础设施。 Stable 的以太坊兼容执行层,支持使用现有的以太坊工具与钱包无缝交互。同时 Stable EVM 引入一系列 预编译合约,允许 EVM 智能合约安全且原子性地调用Stable底层接口。通过这种设计,智能合约可执行包括代币转账、质押、参与治理等特权操作。

未来路线图一:Optimistic并行执行(OPE)

传统区块链系统依赖顺序执行机制,逐个处理交易以确保所有节点的一致状态。虽然这种方式保证了确定性,但极大限制了吞吐量和可扩展性,尤其在现代区块链需要支持每秒成千上万笔交易时更为突出。 为突破此瓶颈,Stable 将采用 Block-STM,一种已验证的并行执行引擎,支持 Optimistic并行执行(Optimistic Parallel Execution,简称 OPE),允许在保证确定性的前提下并行处理交易,显著提升性能。

Block-STM 的工作原理

Block-STM 使用Optimistic并发控制机制:首先假设交易之间不会冲突并进行并行执行,随后进入验证阶段检查冲突并处理重执行。核心依赖以下五项关键技术: 1. 多版本内存结构 Block-STM 为每个内存键(memory key)存储多个版本:
  • 每个交易读取先前交易已提交的最新版本;
  • 执行过程中,读取和写入都会进行版本标记;
  • 验证阶段会检查这些版本以确认是否存在冲突。
2. 基于读取集(Read-Set)/写入集(Write-Set)的验证机制
  • 执行时,交易会记录其读取的键及其版本(Read-Set);
  • 执行结束后,其写入操作记录为 Write-Set;
  • 验证阶段,若任意 Read-Set 中的键在执行期间被其他交易修改,则该交易判定为冲突,程序中止然后进行重试并增加尝试编号(incarnation)。
3. 通过 ESTIMATE 标记实现快速冲突检测
  • 失败的交易会将其 Write-Set 标记为 ESTIMATE;
  • 若其他交易读取到 ESTIMATE 标记的值,会立即停止并等待该交易重试(触发 READ_ERROR);
  • 该机制可快速识别依赖关系,减少不必要的执行负担。
4. 预设交易顺序
  • 区块内的所有交易按照预设的确定顺序执行;
  • 验证与提交阶段也遵循上述相同顺序;
  • 即便并行执行,这能确保所有节点最终状态仍一致。
5. 任务调度器(Collaborative Scheduler)
  • 任务调度器以线程安全的方式为执行和验证分配任务;
  • 优先处理索引较早的交易,加速处理早期提交的任务、减少重试;
  • 调度器管理已多次尝试的任务,直到成功提交。

Block-STM 的核心优势

  • 无锁并行:基于 MVCC(多版本并发控制),允许多个交易同时读取/写入,无需加锁。在执行后才进行冲突检查,最大限度提升吞吐量。
  • ESTIMATE 标记机制:失败交易通过 ESTIMATE 标记提前通知依赖交易暂停,避免资源浪费。
  • 高效调度与优先提交机制:通过任务调度器优先提交索引较早的交易,提高整体吞吐并缩短执行周期。
  • 确定性与共识兼容性:即使某些交易需要重试,也将在相同顺序下提交,确保所有节点达成相同的最终一致性。

Stable 上的 OPE

Optimistic Parallel Execution on Stable Stablechain 将把 Optimistic并行执行(OPE) 作为其执行层的核心功能,并结合 Optimistic区块处理(Optimistic Block Processing,简称 OBP)。需要注意的是,OPE 与 OBP 是互补但本质不同的两种优化策略。

关于 OBP

  • OBP 并不涉及并行,而是优化执行时机;
  • ProcessProposal 阶段,Stable 会在交易 gossip 的同时预先执行区块;
  • 执行结果缓存在内存中,在 FinalizeBlock 阶段复用,节省时间并避免重复计算。
通过结合 OPE 与 OBP,Stable 能在高交易负载下最大限度降低执行延迟与资源争用,带来卓越性能表现。

性能预期

内部基准测试表明,结合 基于 Block-STM 的 OPEStableDB,Stable 的交易处理吞吐量有望提升 至少 2 倍

未来路线图二:StableVM++

虽然 OPE 与 OBP 聚焦于优化「并行执行多笔交易」,但另一个关键的提升性能手段是:「如何更高效地处理每一笔交易」。 Stable 正在探索替代的 EVM 实现方式以加速交易执行。在当前选项中,EVMONE(一个高性能 C++ 编写的 EVM)是最具潜力的替代现有 Go 实现的EVM。理论基准测试表明,这一更换预计将带来高达 6 倍的 EVM 执行性能提升