Content area
Popular blockchains such as Ethereum and several others execute complex transactions in the block through user-defined scripts known as smart contracts. Serial execution of smart contract transactions/atomic units (AUs) fails to harness the multiprocessing power offered by the prevalence of multi-core processors. By adding concurrency to the execution of AUs, we can achieve better efficiency and higher throughput. In this paper, we develop a concurrent miner that proposes a block by executing AUs concurrently using optimistic Software Transactional Memory systems (STMs). It efficiently captures independent AUs in the concurrent bin and dependent AUs in the block graph (BG). Later, we propose a concurrent validator that re-executes the same AUs concurrently and deterministically using the concurrent bin followed by the BG given by the miner to verify the block. We rigorously prove the correctness of concurrent execution of AUs. The performance benchmark shows that the average speedup for the optimized concurrent miner is
Details
; Kumari, Sweta 2 ; Peri, Sathya 1 ; Rathor, Sachin 1 ; Somani, Archit 2 1 Indian Institute of Technology Hyderabad, Department of CSE, Telangana, India (GRID:grid.459612.d) (ISNI:0000 0004 1767 065X)
2 Technion, Department of Computer Science, Haifa, Israel (GRID:grid.6451.6) (ISNI:0000 0001 2110 2151)