Utilizing Parallelism in Smart Contracts on Decentralized Blockchains by Taming Application-Inherent Conflicts

01/11/2022
by   Péter Garamvölgyi, et al.
0

Traditional public blockchain systems typically had very limited transaction throughput because of the bottleneck of the consensus protocol itself. With recent advances in consensus technology, the performance limit has been greatly lifted, typically to thousands of transactions per second. With this, transaction execution has become a new performance bottleneck. Exploiting parallelism in transaction execution is a clear and direct way to address this and to further increase transaction throughput. Although some recent literature introduced concurrency control mechanisms to execute smart contract transactions in parallel, the reported speedup that they can achieve is far from ideal. The main reason is that the proposed parallel execution mechanisms cannot effectively deal with the conflicts inherent in many blockchain applications. In this work, we thoroughly study the historical transaction execution traces in Ethereum. We observe that application-inherent conflicts are the major factors that limit the exploitable parallelism during execution. We propose to use partitioned counters and special commutative instructions to break up the application conflict chains in order to maximize the potential speedup. When we evaluated the maximum parallel speedup achievable, these techniques doubled this limit to an 18x overall speedup compared to serial execution, thus approaching the optimum. We also propose OCC-DA, an optimistic concurrency control scheduler with deterministic aborts, which makes it possible to use OCC scheduling in public blockchain settings.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/13/2023

DeFi and NFTs Hinder Blockchain Scalability

Many classical blockchains are known to have an embarrassingly low trans...
research
06/08/2023

Parallel and Asynchronous Smart Contract Execution

Today's blockchains suffer from low throughput and high latency, which i...
research
11/15/2022

Operation-level Concurrent Transaction Execution for Blockchains

Despite the success in various scenarios, blockchain systems, especially...
research
01/05/2019

An Empirical Study of Speculative Concurrency in Ethereum Smart Contracts

We use historical data to estimate the potential benefit of speculative ...
research
04/04/2018

SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains

We present SBFT: a scalable decentralized trust infrastructure for Block...
research
02/18/2020

Flow: Separating Consensus and Compute – Block Formation and Execution

Most current blockchains require all full nodes to execute all tasks lim...
research
04/10/2019

Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges

Blockchains, and specifically smart contracts, have promised to create f...

Please sign up or login with your details

Forgot password? Click here to reset