Stable EVM

未来路线图一:Optimistic并行执行(OPE)
传统区块链系统依赖顺序执行机制,逐个处理交易以确保所有节点的一致状态。虽然这种方式保证了确定性,但极大限制了吞吐量和可扩展性,尤其在现代区块链需要支持每秒成千上万笔交易时更为突出。 为突破此瓶颈,Stable 将采用 Block-STM,一种已验证的并行执行引擎,支持 Optimistic并行执行(Optimistic Parallel Execution,简称 OPE),允许在保证确定性的前提下并行处理交易,显著提升性能。Block-STM 的工作原理
Block-STM 使用Optimistic并发控制机制:首先假设交易之间不会冲突并进行并行执行,随后进入验证阶段检查冲突并处理重执行。核心依赖以下五项关键技术: 1. 多版本内存结构 Block-STM 为每个内存键(memory key)存储多个版本:- 每个交易读取先前交易已提交的最新版本;
- 执行过程中,读取和写入都会进行版本标记;
- 验证阶段会检查这些版本以确认是否存在冲突。
- 执行时,交易会记录其读取的键及其版本(Read-Set);
- 执行结束后,其写入操作记录为 Write-Set;
- 验证阶段,若任意 Read-Set 中的键在执行期间被其他交易修改,则该交易判定为冲突,程序中止然后进行重试并增加尝试编号(incarnation)。
- 失败的交易会将其 Write-Set 标记为 ESTIMATE;
- 若其他交易读取到 ESTIMATE 标记的值,会立即停止并等待该交易重试(触发
READ_ERROR); - 该机制可快速识别依赖关系,减少不必要的执行负担。
- 区块内的所有交易按照预设的确定顺序执行;
- 验证与提交阶段也遵循上述相同顺序;
- 即便并行执行,这能确保所有节点最终状态仍一致。
- 任务调度器以线程安全的方式为执行和验证分配任务;
- 优先处理索引较早的交易,加速处理早期提交的任务、减少重试;
- 调度器管理已多次尝试的任务,直到成功提交。
Block-STM 的核心优势
- 无锁并行:基于 MVCC(多版本并发控制),允许多个交易同时读取/写入,无需加锁。在执行后才进行冲突检查,最大限度提升吞吐量。
- ESTIMATE 标记机制:失败交易通过 ESTIMATE 标记提前通知依赖交易暂停,避免资源浪费。
- 高效调度与优先提交机制:通过任务调度器优先提交索引较早的交易,提高整体吞吐并缩短执行周期。
- 确定性与共识兼容性:即使某些交易需要重试,也将在相同顺序下提交,确保所有节点达成相同的最终一致性。
Stable 上的 OPE

关于 OBP
- OBP 并不涉及并行,而是优化执行时机;
- 在
ProcessProposal阶段,Stable 会在交易 gossip 的同时预先执行区块; - 执行结果缓存在内存中,在
FinalizeBlock阶段复用,节省时间并避免重复计算。

