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 条
  • [21] Reinforcement Learning Guided Symbolic Execution for Ethereum Smart Contracts
    Wang, Meng
    Fei, Weiliang
    Wang, Miao
    Cui, Jin
    PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 91 - 100
  • [22] Annotary: A Concolic Execution System for Developing Secure Smart Contracts
    Weiss, Konrad
    Schuette, Julian
    COMPUTER SECURITY - ESORICS 2019, PT I, 2019, 11735 : 747 - 766
  • [23] A Unified Specification Mining Framework for Smart Contracts
    Liu, Ye
    PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022, 2022,
  • [24] A Modeling and Verification Framework for Ethereum Smart Contracts
    Valentini, Simone
    Braghin, Chiara
    Riccobene, Elvinia
    RIGOROUS STATE-BASED METHODS, ABZ 2024, 2024, 14759 : 201 - 207
  • [25] Continuous and Secure Integration Framework for Smart Contracts
    Reyes, Alvaro
    Jimeno, Miguel
    Villanueva-Polanco, Ricardo
    SENSORS, 2023, 23 (01)
  • [26] Decreasing the locks by isolating the concurrent execution in Microprotocol Framework
    Higashihata, Daiki
    Defago, Xavier
    2013 FIRST INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING (CANDAR), 2013, : 247 - 251
  • [27] Blockumulus: A Scalable Framework for Smart Contracts on the Cloud
    Ivanov, Nikolay
    Yan, Qiben
    Wang, Qingyang
    2021 IEEE 41ST INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS 2021), 2021, : 607 - 617
  • [28] A Generalized Formal Semantic Framework for Smart Contracts
    Jiao, Jiao
    Lin, Shang-Wei
    Sun, Jun
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2020), 2020, 12076 : 75 - 96
  • [29] A Framework and DataSet for Bugs in Ethereum Smart Contracts
    Zhang, Pengcheng
    Xiao, Feng
    Luo, Xiapu
    2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020), 2020, : 139 - 150
  • [30] Framework for Architecting Smart Contracts Using Microservices
    Zhang F.-L.
    Hou P.-Y.
    Li S.-S.
    Rong G.-P.
    Li Z.-Y.
    Ding M.-J.
    Ruan Jian Xue Bao/Journal of Software, 2021, 32 (11): : 3423 - 3439