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


More

  • Manuel Rigger

Accepted

[PDF] Submission (2.2MB) Sep 3, 2021, 5:16:36 AM AoE · db57fcd560549cfae3ac1606ed6c0dd870801ce067762fe1c1dd523530e036efdb57fcd5

Traditional public blockchain systems typically had very limited transaction throughput due to 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 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. During our evaluations, these techniques doubled the parallel speedup achievable to an 18x overall speedup compared to serial execution, approaching the optimum. We also propose an OCC scheduler with deterministic aborts, which makes it suitable for practical integration into public blockchain systems.

P. Garamvölgyi, Y. Liu, D. Zhou, F. Long, M. Wu

Contacts

Data Availability

https://github.com/icse22-blockchain/supplementary-material

Gender Information (optional)

None

Student Participation (optional)

1

Industry Participation (optional)

4

  • Parallel, Distributed, and Concurrent Systems
  • Performance

To edit this submission, sign in using your email and password.

[Text] Reviews and comments in plain text