Abstract: Traditional blockchain systems still struggle with limited throughput, particularly those compatible with EVM, which are crucial in many blockchain applications. One of the main reasons arises from serial execution, which doesn’t exploit parallelism in transaction execution. Although some recent literature introduced concurrency control mechanisms to execute transactions in parallel, they do not work efficiently in real-world blockchains where proposers and validators have different execution contexts, which means varying execution deterministic levels and execution quantities.In this work, we propose BlockPilot, an overall parallel execution framework for blockchains. In the framework, proposers and validators can execute transactions concurrently with different deterministic levels. To enable parallel execution and produce a serializable schedule in proposers, we introduce an Optimistic Concurrency Control (OCC) algorithm called OCC-WSI. Meanwhile, validators require scheduling conflicting transactions to support parallel execution and commit transactions in the same schedule as proposers. Given that validators process more blocks than proposers, a parallel and pipeline workflow is designed for validators to process multiple blocks concurrently. We implement a prototype system based on Go Ethereum and evaluate its performance using real-world blocks. Our experimental results demonstrate that BlockPilot can accelerate the processing of a single block by 3.18x and achieve a maximum speedup of 7.71x in processing multiple blocks in 16 threads for validators, as well as a 4.89x acceleration for proposers compared to Go Ethereum.
Loading