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 条
  • [41] SESCF: A Secure and Efficient Supply Chain Framework via Blockchain-Based Smart Contracts
    Lou, Menghui
    Dong, Xiaolei
    Cao, Zhenfu
    Shen, Jiachen
    SECURITY AND COMMUNICATION NETWORKS, 2021, 2021
  • [42] Regulating smart contracts: An efficient integration approach
    Alikhani, Alireza
    Hamidi, Hamid Reza
    INTELLIGENT DECISION TECHNOLOGIES-NETHERLANDS, 2021, 15 (03): : 397 - 404
  • [43] Eagle: Efficient Privacy Preserving Smart Contracts
    Baum, Carsten
    Chiang, James Hsin-yu
    David, Bernardo
    Frederiksen, Tore Kasper
    FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, FC 2023, PT I, 2024, 13950 : 270 - 288
  • [44] Towards Efficient Hashing in Ethereum Smart Contracts
    Onica, Emanuel
    Schifirnet, Cosmin-Ionut
    PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES (ICSOFT), 2021, : 660 - 666
  • [45] A Legal Framework for Using Smart Contracts in Consumer Contracts: Machines as Servants, Not Masters
    Durovic, Mateja
    Willett, Chris
    MODERN LAW REVIEW, 2023, 86 (06): : 1390 - 1421
  • [46] LENIENT EXECUTION AND CONCURRENT EXECUTION OF REENTRANT ROUTINES - EFFICIENT IMPLEMENTATION IN DATA FLOW SYSTEMS
    GOVINDARAJAN, R
    PATNAIK, LM
    COMPUTER JOURNAL, 1990, 33 (02): : 185 - 187
  • [47] Interpretation of Contracts and Smart Contracts: Smart Interpretation or Interpretation of Smart Contracts?
    Cannarsa, Michel
    EUROPEAN REVIEW OF PRIVATE LAW, 2018, 26 (06): : 773 - 785
  • [48] A framework for smart construction contracts using BIM and blockchain
    Mohamed A. Kamel
    Emad S. Bakhoum
    Mohamed M. Marzouk
    Scientific Reports, 13
  • [49] SODA: A Generic Online Detection Framework for Smart Contracts
    Chen, Ting
    Cao, Rong
    Li, Ting
    Luo, Xiapu
    Gu, Guofei
    Zhang, Yufei
    Liao, Zhou
    Zhu, Hang
    Chen, Gang
    He, Zheyuan
    Tang, Yuxing
    Lin, Xiaodong
    Zhang, Xiaosong
    27TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2020), 2020,
  • [50] SolOSphere: A Framework for Gas Optimization in Solidity Smart Contracts
    Khanzadeh, Sourena
    Alalfi, Manar H.
    2024 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING-COMPANION, SANER-C 2024, 2024, : 35 - 45