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

03/14/2022
by   Rati Gelashvili, et al.
0

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 20x and 17x 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/05/2018

Entitling Concurrency to Smart Contracts Using Optimistic Transactional Memory

Blockchain platforms such as Ethereum and several others execute complex...
research
02/16/2023

An Efficient Framework for Execution of Smart Contracts in Hyperledger Sawtooth

Blockchain technology is a distributed, decentralized, and immutable led...
research
11/03/2022

AdaChain: A Learned Adaptive Blockchain

This paper presents AdaChain, a learning-based blockchain framework that...
research
06/27/2019

DiPETrans: A Framework for Distributed Parallel Execution of Transactions of Blocks in Blockchain

In most of the modern day blockchain, transactions are executed serially...
research
05/22/2019

LazyLedger: A Distributed Data Availability Ledger With Client-Side Smart Contracts

We propose LazyLedger, a design for distributed ledgers where the blockc...
research
02/09/2021

OptSmart: A Space Efficient Optimistic Concurrent Execution of Smart Contracts

Popular blockchains such as Ethereum and several others execute complex ...
research
03/11/2020

Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers

Many proofs of concept blockchain applications built using Hyperledger F...

Please sign up or login with your details

Forgot password? Click here to reset