Block-STM: Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing
Rati Gelashvili, Alexander Spiegelman, Zhuolun Xiang, George Danezis,, Zekun Li, Dahlia Malkhi, Yu Xia, Runtian Zhou

TL;DR
Block-STM is a parallel execution engine for smart contracts that leverages transaction ordering to improve throughput and conflict detection, achieving significant performance gains in blockchain benchmarks.
Contribution
It introduces a novel, low-overhead collaborative scheduler that turns the ordering constraint into a performance advantage for blockchain transaction execution.
Findings
Achieves up to 170k tps in Aptos benchmarks
Outperforms sequential baseline by 20x and 17x with 32 threads
Effective in both low and high conflict workloads
Abstract
Block-STM is a parallel execution engine for smart contracts, built around the principles of Software Transactional Memory. Transactions are grouped in blocks, and every execution of the block must yield the same deterministic outcome. Block-STM further enforces that the outcome is consistent with executing transactions according to a preset order, leveraging this order to dynamically detect dependencies and avoid conflicts during speculative transaction execution. At the core of Block-STM is a novel, low-overhead collaborative scheduler of execution and validation tasks. Block-STM is implemented on the main branch of the Diem Blockchain code-base and runs in production at Aptos. Our evaluation demonstrates that Block-STM is adaptive to workloads with different conflict rates and utilizes the inherent parallelism therein. Block-STM achieves up to tps in the Diem benchmarks and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Cloud Computing and Resource Management · Software System Performance and Reliability
