loading page

FSC: A Fast Smart Contract Transaction Execution Approach via Read-Write Static Analysis
  • +4
  • Ye Lu,
  • Caihua Liu,
  • Meng Zhao,
  • Xiaodong Duo,
  • Pengfei Xu,
  • Zhiyuan Zhou,
  • Xia Feng
Ye Lu
Nankai University College of Computer Science

Corresponding Author:luye@nankai.edu.cn

Author Profile
Caihua Liu
Civil Aviation University of China
Author Profile
Meng Zhao
Civil Aviation University of China
Author Profile
Xiaodong Duo
Ant Group CO Ltd
Author Profile
Pengfei Xu
Ant Group CO Ltd
Author Profile
Zhiyuan Zhou
Ant Group CO Ltd
Author Profile
Xia Feng
Civil Aviation University of China
Author Profile

Abstract

Transaction throughput is an important indicator of blockchain performance. However, many current smart contract virtual machines have low efficiency in executing smart contract transactions, which results in low transaction throughput of the blockchain. Some transaction parallel execution approaches have effectively improved transaction execution efficiency, but there are still problems such as low parallelism and large-scale transaction rollbacks. Therefore, we propose FSC, a fast execution approach for smart contract transactions based on fine-grained read-write analysis. The key idea is to obtain fine-grained read-write information from the smart contract compiler, and use this read-write information to group transactions at the blockchain platform layer, thereby improving the parallelism of transaction execution. FSC mainly includes three parts of work: 1) a fine-grained analysis method for read-write information at the contract state variable level based on the contract compiler; 2) a series of merging rules for merging read-write items; 3) a method to handle conflicting transactions. Our evaluation results show that FSC can accelerate the execution of smart contract transactions. Compared with before, FSC can reduce the overall transaction execution latency by 58.1%. In addition, FSC can shorten the longest execution path by 89.9% when the variation in transaction grouping latency is within 5.5%.