Operation-level Concurrent Transaction Execution for Blockchains

11/15/2022
by   Haoran Lin, et al.
0

Despite the success in various scenarios, blockchain systems, especially EVM-compatible ones that serially execute transactions, still face the significant challenge of limited throughput. Concurrent transaction execution is a promising technique to accelerate transaction processing and increase the overall throughput. Existing concurrency control algorithms, however, fail to obtain enough speedups in real-world blockchains due to the high-contention workloads. In this paper, we propose a novel operation-level concurrency control algorithm designed for blockchains. The core idea behind our algorithm is that only operations depending on conflicts should be executed serially, while all other conflict-free operations can be executed concurrently. Therefore, in contrast to the traditional approaches, which block or abort the entire transaction when encountering conflicts, our algorithm introduces a redo phase to resolve conflicts at the operation level by re-executing conflicting operations only. We also develop a set of data dependency tracking mechanisms to achieve precise identification and speedy re-execution for conflicting operations. We implement an open-source prototype based on Go Ethereum and evaluate it using real-world Ethereum blocks. The evaluation results show that our algorithm achieves an average speedup of 4.28×. If combined with state prefetching techniques, our approach can further accelerate the transaction execution by 7.11×.

READ FULL TEXT
research
03/13/2020

On Exploiting Transaction Concurrency To Speed Up Blockchains

Consensus protocols are currently the bottlenecks that prevent blockchai...
research
01/15/2023

Early Detection for Multiversion Concurrency Control Conflicts in Hyperledger Fabric

Hyperledger Fabric is a popular permissioned blockchain system that feat...
research
01/11/2022

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

Traditional public blockchain systems typically had very limited transac...
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
11/26/2019

Index-Based Scheduling for Parallel State Machine Replication

State Machine Replication (SMR) is a fundamental approach to designing s...
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
05/23/2022

Wiser: Increasing Throughput in Payment Channel Networks with Transaction Aggregation

Payment channel networks (PCNs) are one of the most prominent solutions ...

Please sign up or login with your details

Forgot password? Click here to reset