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

Anjana, Parwat Singh and Attiya, Hagit and Kumari, Sweta and Peri, Sathya and Somani, Archit (2021) Efficient Concurrent Execution of Smart Contracts in Blockchains Using Object-Based Transactional Memory. Lecture Notes in Computer Science, 12129. pp. 77-93. ISSN 0302-9743

Full text not available from this repository. (Request a copy)


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.

[error in script]
IITH Creators:
IITH CreatorsORCiD
Anjana, Parwat SinghUNSPECIFIED
Item Type: Article
Uncontrolled Keywords: Complex transaction; Concurrent execution; Consensus protocols; Execution framework; Experimental analysis; Multi-core processor; Software transactional memory; Transactional memory;Data Sharing; Ethereum; Interactive computer systems; Miners; Semantics; Storage allocation (computer)
Subjects: Computer science
Divisions: Department of Computer Science & Engineering
Depositing User: . LibTrainee 2021
Date Deposited: 06 Aug 2021 05:52
Last Modified: 06 Aug 2021 05:52
URI: http://raiith.iith.ac.in/id/eprint/8705
Publisher URL: http://doi.org/10.1007/978-3-030-67087-0_6
OA policy: https://v2.sherpa.ac.uk/id/publication/36728
Related URLs:

Actions (login required)

View Item View Item
Statistics for RAIITH ePrint 8705 Statistics for this ePrint Item