Parallel Transaction Execution in Public Blockchain Systems
Date
2024-05-27
Authors
Shahid, Rizwan
Advisor
Wong, Bernard
Al-Kiswany, Samer
Al-Kiswany, Samer
Journal Title
Journal ISSN
Volume Title
Publisher
University of Waterloo
Abstract
Public blockchain systems like Ethereum and Bitcoin suffer from poor transaction
throughput, leading to delayed transaction execution and high transaction fees. They execute transactions one by one, failing to extract inherent parallelism possible in executing
the workload.
We present Block-X, a parallel transaction processing system with a serializable concurrency control that executes transactions in a block in a serializable order equivalent to
the order of transactions in the block for public blockchains. It pre-executes transactions
that are waiting to be added to a block. Through this pre-execution, Block-X estimates
the keys a transaction wants to read or write. It uses this information to create a parallel
execution schedule and run transactions optimistically in parallel following the schedule.
It also uses the pre-execution to prefetch data that will be accessed during the critical path
transaction execution. If a smart contract transaction accesses data outside of its initially
estimated read-write set of keys, Block-X detects and resolves any potential conflicts. The
final state is equivalent to the state produced after the sequential execution of transactions
in the block order. Finally, Block-X also accelerates the process of validating blocks by
providing the parallel execution schedule produced in the block execution step to validate
transactions in parallel.
We implemented our system on Ethereum so it is compatible with EVM chains. Our
evaluation demonstrates that Block-X achieves up to a 2.3× higher throughput than
Ethereum. Moreover, our performance is comparable to other systems that perform pessimistic execution. These systems require predefined read-write set and reject transactions
that use data outside of it.
Description
Keywords
Blockchain, Transaction processing, Concurrency Control, Smart Contract