Efficient Concurrent Execution of Smart Contracts in Blockchains Using Object-Based Transactional Memory

Parwat Singh Anjana, Hagit Attiya, Sweta Kumari, Sathya Peri, Archit Somani

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Several popular blockchains such as Ethereum execute complex transactions through user-defined scripts. A block of the chain typically consists of multiple smart contract transactions (SCTs). To append a block into the blockchain, a miner executes these SCTs. On receiving this block, other nodes act as validators, who re-execute these SCTs as part of the consensus protocol to validate the block. In Ethereum and other blockchains that support cryptocurrencies, a miner gets an incentive every time such a valid block is successfully added to the blockchain. When executing SCTs sequentially, miners and validators fail to harness the power of multiprocessing offered by the prevalence of multi-core processors, thus degrading throughput. By leveraging multiple threads to execute SCTs, we can achieve better efficiency and higher throughput. Recently, Read-Write Software Transactional Memory Systems (RWSTMs) were used for concurrent execution of SCTs. It is known that Object-based STMs (OSTMs), using higher-level objects (such as hash-tables or lists), achieve better throughput as compared to RWSTMs. Even greater concurrency can be obtained using Multi-Version OSTMs (MVOSTMs), which maintain multiple versions for each shared data item as opposed to Single-Version OSTMs (SVOSTMs). This paper proposes an efficient framework to execute SCTs concurrently based on object semantics, using optimistic SVOSTMs and MVOSTMs. In our framework, a multi-threaded miner constructs a Block Graph (BG), capturing the object-conflicts relations between SCTs, and stores it in the block. Later, validators re-execute the same SCTs concurrently and deterministically relying on this BG. A malicious miner can modify the BG to harm the blockchain, e.g., to cause double spending. To identify malicious miners, we propose Smart Multi-threaded Validator (SMV). Experimental analysis shows that proposed multi-threaded miner and validator achieve significant performance gains over state-of-the-art SCT execution framework.

Original languageEnglish
Title of host publicationNetworked Systems - 8th International Conference, NETYS 2020, Proceedings
EditorsChryssis Georgiou, Rupak Majumdar
PublisherSpringer Science and Business Media Deutschland GmbH
Pages77-93
Number of pages17
ISBN (Print)9783030670863
DOIs
StatePublished - 2021
Event8th International Conference on Networked Systems, NETYS 2020 - Marrakech, Morocco
Duration: 3 Jun 20205 Jun 2020

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume12129 LNCS

Conference

Conference8th International Conference on Networked Systems, NETYS 2020
Country/TerritoryMorocco
CityMarrakech
Period3/06/205/06/20

Keywords

  • Blockchain
  • Concurrency
  • Conflict-opacity
  • Multi-version
  • Object-based Software Transactional Memory
  • Opacity
  • Smart contract

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Efficient Concurrent Execution of Smart Contracts in Blockchains Using Object-Based Transactional Memory'. Together they form a unique fingerprint.

Cite this