论文标题

Block-STM:通过将命令诅咒变成表演祝福来缩放区块链执行

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

论文作者

Gelashvili, Rati, Spiegelman, Alexander, Xiang, Zhuolun, Danezis, George, Li, Zekun, Malkhi, Dahlia, Xia, Yu, Zhou, Runtian

论文摘要

Block-STM是用于智能合约的并行执行引擎,围绕软件交易内存的原理构建。交易分组为块,并且块的每个执行都必须产生相同的确定性结果。 Block-STM进一步强制执行结果与根据预设订单执行交易一致,利用此订单动态检测依赖关系并避免在投机交易执行期间发生冲突。 Block-STM的核心是执行和验证任务的新颖,低头的协作调度程序。 Block-STM是在Diem区块链代码基的主要分支上实现的,并在Aptos的生产中运行。我们的评估表明,Block-STM适应具有不同冲突率的工作负载,并利用其中固有的并行性。 Block-STM在DIEM基准中最高可实现$ 110K $ TPS,在Aptos基准中最多可实现$ 170k $ tps的价格,这是$ 20 $ x和$ 17 $ x的$ 17 $ x,分别比顺序基线,分别具有$ 32 $ threads。争夺工作量的吞吐量分别为$ 50K $ TPS和$ 80K $ TPS的DIEM和APTOS基准。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源