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 条
  • [31] Slither: A Static Analysis Framework For Smart Contracts
    Feist, Josselin
    Greico, Gustavo
    Groce, Alex
    2019 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE ENGINEERING FOR BLOCKCHAIN (WETSEB 2019), 2019, : 8 - 15
  • [32] An energy trading framework using smart contracts
    Mololoth, Vidya Krishnan
    Ahlund, Christer
    Saguna, Saguna
    2023 IEEE GREEN TECHNOLOGIES CONFERENCE, GREENTECH, 2023, : 214 - 218
  • [33] SmartBugs: A Framework to Analyze Solidity Smart Contracts
    Ferreira, Joao F.
    Cruz, Pedro
    Durieux, Thomas
    Abreu, Rui
    2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 1349 - 1352
  • [34] SolAnalyser: A Framework for Analysing and Testing Smart Contracts
    Akca, Sefa
    Rajan, Ajitha
    Peng, Chao
    2019 26TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC), 2019, : 482 - 489
  • [35] Reducing the execution time of unit tests of smart contracts in blockchain platforms
    Medeiros, Hallan
    Vilain, Patricia
    Pereira Junior, Vilmar Cesar
    PROCEEDINGS OF THE XV BRAZILIAN SYMPOSIUM ON INFORMATION SYSTEMS, SBSI 2019: Complexity on Modern Information Systems, 2019,
  • [36] LightCross: Sharding with Lightweight Cross-Shard Execution for Smart Contracts
    Qi, Xiaodong
    Li, Yi
    IEEE INFOCOM 2024-IEEE CONFERENCE ON COMPUTER COMMUNICATIONS, 2024, : 1681 - 1690
  • [37] Execution Plan Control in Dynamic Coalition of Robots with Smart Contracts and Blockchain
    Teslya, Nikolay
    Potryasaev, Semyon
    INFORMATION, 2020, 11 (01)
  • [38] Off-chain Execution and Verification of Computationally Intensive Smart Contracts
    Sariboz, Emrah
    Kolachala, Kartick
    Panwar, Gaurav
    Vishwanathan, Roopa
    Misra, Satyajayant
    2021 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN AND CRYPTOCURRENCY (ICBC), 2021,
  • [39] SECAUCTEE: Securing Auction Smart Contracts using Trusted Execution Environments
    Desai, Harsh
    Kantarcioglu, Murat
    2021 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN 2021), 2021, : 448 - 455
  • [40] Precise Dynamic Symbolic Execution for Nonuniform Data Access in Smart Contracts
    Huang, Jianjun
    Jiang, Jiasheng
    You, Wei
    Liang, Bin
    IEEE TRANSACTIONS ON COMPUTERS, 2022, 71 (07) : 1551 - 1563