An Efficient Framework for Optimistic Concurrent Execution of Smart Contracts

被引:37
|
作者
Anjana, Parwat Singh [1 ]
Kumari, Sweta [1 ]
Peri, Sathya [1 ]
Rathor, Sachin [1 ]
Somani, Archit [1 ]
机构
[1] IIT Hyderabad, Dept Comp Sci & Engn, Hyderabad, Telangana, India
关键词
Blockchain; Smart Contracts; Software Transactional Memory System; Multi-version Concurrency Control; Opacity; CORRECTNESS;
D O I
10.1109/EMPDP.2019.8671637
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Blockchain platforms such as Ethereum and several others execute complex transactions in blocks through user defined scripts known as smart contracts. Normally, a block of the chain consists of multiple transactions of smart contracts which are added by a miner. To append a correct block into the blockchain, miners execute these transactions of smart contracts sequentially. Later the validators serially re-execute the smart contract transactions of the block. If the validators agree with the final state of the block as recorded by the miner, then the block is said to be validated. It is then added to the blockchain using a consensus protocol. In Ethereum and other blockchains that support cryptocurrencies, a miner gets an incentive every time such a valid block successfully added to the blockchain. In most of the current day blockchain the miners and validators execute the smart contract transactions serially. In the current era of multi-core processors, by employing the serial execution of the transactions, the miners and validators fail to utilize the cores properly and as a result, have poor throughput. By adding concurrency to smart contracts execution, we can achieve better efficiency and higher throughput. In this paper, we develop an efficient framework to execute the smart contract transactions concurrently using optimistic Software Transactional Memory systems (STMs). Miners execute smart contract trans lions concurrently using multi-threading to generate the final state of blockchain. STM is used to take care of synchronizationissues among the transactions and ensure atomicity. Now when the validators also execute the transactions (as a part of validation) concurrently using multi-threading, then the validators may get a different final state depending on the order of execution of conflicting transactions. To avoid this, the miners also generate a block graph of the transactions during the concurrent execution and store it ill the block. This graph captures the conflict relations among the transactions and is generated concurrently as the transactions are executed by different threads. The miner proposes a block which consists of set of transactions, block graph, hash of the previous block, and final state of each shared data-objects. Later, the validators re-execute the same smart contract transactions concurrently and deterministically with the help of block graph given by the miner to verify the final state. If the validation is successful then proposed block appended into the blockchain and miner gets incentive otherwise discard the proposed block. We execute the smart contract transactions concurrently using Basic Time stamp Ordering (BTO) and Multi-Version Time stamp Ordering (MVTO) protocols as optimistic STMs. BTO and MVTO miner achieves 3.6x and 3.7x average speedups over serial miner respectively. Along with, BTO and MVTO validator outperform average 40.8x and 47.1x than serial validator respectively.
引用
收藏
页码:83 / 92
页数:10
相关论文
共 50 条
  • [1] OptSmart: a space efficient Optimistic concurrent execution of Smart contracts
    Parwat Singh Anjana
    Sweta Kumari
    Sathya Peri
    Sachin Rathor
    Archit Somani
    Distributed and Parallel Databases, 2024, 42 : 245 - 297
  • [2] OptSmart: a space efficient Optimistic concurrent execution of Smart contracts
    Anjana, Parwat Singh
    Kumari, Sweta
    Peri, Sathya
    Rathor, Sachin
    Somani, Archit
    DISTRIBUTED AND PARALLEL DATABASES, 2024, 42 (02) : 245 - 297
  • [3] Efficient Concurrent Execution of Smart Contracts in Blockchain Sharding
    Wang, Yan
    Li, Jixin
    Liu, Wansheng
    Tan, Aiping
    SECURITY AND COMMUNICATION NETWORKS, 2021, 2021
  • [4] ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts
    Wuest, Karl
    Matetic, Sinisa
    Egli, Silvan
    Kostiainen, Kari
    Capkun, Srdjan
    CCS '20: PROCEEDINGS OF THE 2020 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2020, : 587 - 600
  • [5] SmartBugs 2.0: An Execution Framework for Weakness Detection in Ethereum Smart Contracts
    di Angelo, Monika
    Durieux, Thomas
    Ferreira, Joao F.
    Salzer, Gernot
    2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 2102 - 2105
  • [6] A Formal Verification Framework for Tezos Smart Contracts Based on Symbolic Execution
    Thi Thu Ha Doan
    Thiemann, Peter
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2024, 2025, 15194 : 305 - 324
  • [7] High-Performance Smart Contracts Concurrent Execution for Permissioned Blockchain Using SGX
    Fang, Min
    Zhang, Zhao
    Jin, Cheqing
    Zhou, Aoying
    2021 IEEE 37TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2021), 2021, : 1907 - 1912
  • [8] Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts
    Mossberg, Mark
    Manzano, Felipe
    Hennenfent, Eric
    Groce, Alex
    Grieco, Gustavo
    Feist, Josselin
    Brunson, Trent
    Dinaburg, Artem
    34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, : 1186 - 1189
  • [9] An SGX-based execution framework for smart contracts upon permissioned blockchain
    Fang, Min
    Zhang, Zhao
    Jin, Cheqing
    Zhou, Aoying
    DISTRIBUTED AND PARALLEL DATABASES, 2024, 42 (02) : 143 - 178
  • [10] An SGX-based execution framework for smart contracts upon permissioned blockchain
    Min Fang
    Zhao Zhang
    Cheqing Jin
    Aoying Zhou
    Distributed and Parallel Databases, 2024, 42 : 143 - 178