Papers1 provider Ā· 1 record
March 14, 2022Ā· arXiv
preprint
Open access

Block-STM: Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing

Authors:Rati GelashviliAlexander SpiegelmanZhuolun XiangGeorge DanezisZekun LiDahlia MalkhiYu XiaRuntian Zhou

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 $110k$ tps in the Diem benchmarks and up to $170k$ tps in the Aptos Benchmarks, which is a $20$x and $17$x improvement over the sequential baseline with $32$ threads, respectively. The throughput on a contended workload is up to $50k$ tps and $80k$ tps in Diem and Aptos benchmarks, respectively.

Community

0 comments
Use Connect Wallet in the navigation

No discussion yet

Be the first to share a question or observation.