TY - GEN
T1 - Efficient Concurrent Execution of Smart Contracts in Blockchains Using Object-Based Transactional Memory
AU - Anjana, Parwat Singh
AU - Attiya, Hagit
AU - Kumari, Sweta
AU - Peri, Sathya
AU - Somani, Archit
N1 - Publisher Copyright: © 2021, Springer Nature Switzerland AG.
PY - 2021
Y1 - 2021
N2 - 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.
AB - 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.
KW - Blockchain
KW - Concurrency
KW - Conflict-opacity
KW - Multi-version
KW - Object-based Software Transactional Memory
KW - Opacity
KW - Smart contract
UR - http://www.scopus.com/inward/record.url?scp=85101539609&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/978-3-030-67087-0_6
DO - https://doi.org/10.1007/978-3-030-67087-0_6
M3 - منشور من مؤتمر
SN - 9783030670863
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 77
EP - 93
BT - Networked Systems - 8th International Conference, NETYS 2020, Proceedings
A2 - Georgiou, Chryssis
A2 - Majumdar, Rupak
PB - Springer Science and Business Media Deutschland GmbH
T2 - 8th International Conference on Networked Systems, NETYS 2020
Y2 - 3 June 2020 through 5 June 2020
ER -