Enabling Concurrency on Smart Contracts Using Multiversion Ordering

被引:18
|
作者
Zhang, An [1 ]
Zhang, Kunlong [1 ]
机构
[1] Tianjin Univ, Sch Comp Sci & Technol, Tianjin, Peoples R China
来源
WEB AND BIG DATA (APWEB-WAIM 2018), PT II | 2018年 / 10988卷
关键词
Blockchain; Smart contract; Concurrency; Multiversion transaction ordering;
D O I
10.1007/978-3-319-96893-3_32
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Blockchain-based platforms, such as Ethereum, allow transactions in blocks to call user-defined scripts named smart contracts. In the blockchain network, after being generated by a miner, a block will be validated many times by the peers who accept it. Hence by enabling concurrency on smart contracts, especially validation, we can improve the efficiency and the throughput of those platforms. By introducing multiversion transaction ordering, this paper presents a concurrent scheme called MVTO to run smart contracts concurrently. First, the miners are able to use any concurrency control technique to discover a conflict-serializable schedule. Then, validators use MVTO to verify the block by replaying this schedule concurrently and deterministically. The evaluation shows that this mechanism achieves approximately 2.5x speedup in the block validation using a thread pool with 3 threads.
引用
收藏
页码:425 / 439
页数:15
相关论文
共 50 条
  • [1] Multiversion post ordering: A new concurrency control method
    Harris, TJ
    Perrizo, W
    Ding, Q
    COMPUTER APPLICATIONS IN INDUSTRY AND ENGINEERING, 2000, : 9 - 12
  • [2] Adding Concurrency to Smart Contracts
    Dickerson, Thomas
    Gazzillo, Paul
    Herlihy, Maurice
    Koskinen, Eric
    PROCEEDINGS OF THE ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PODC'17), 2017, : 303 - 312
  • [3] Adding concurrency to smart contracts
    Thomas Dickerson
    Paul Gazzillo
    Maurice Herlihy
    Eric Koskinen
    Distributed Computing, 2020, 33 : 209 - 225
  • [4] Adding concurrency to smart contracts
    Dickerson, Thomas
    Gazzillo, Paul
    Herlihy, Maurice
    Koskinen, Eric
    DISTRIBUTED COMPUTING, 2020, 33 (3-4) : 209 - 225
  • [5] How to add concurrency to smart contracts
    2018, European Association for Theoretical Computer Science (2018):
  • [6] Finding Concurrency Exploits on Smart Contracts
    Li, Yue
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019), 2019, : 144 - 146
  • [7] HOW TO ADD CONCURRENCY TO SMART CONTRACTS
    Dickerson, Thomas
    Gazzillo, Paul
    Herlihy, Maurice
    Koskinen, Eric
    BULLETIN OF THE EUROPEAN ASSOCIATION FOR THEORETICAL COMPUTER SCIENCE, 2018, (124): : 22 - 33
  • [8] Entitling Concurrency to Smart Contracts Using Optimistic Transactional Memory
    Anjana, Parwat Singh
    Kumari, Sweta
    Peri, Sathya
    Rathor, Sachin
    Somani, Archit
    ICDCN '19: PROCEEDINGS OF THE 2019 INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING AND NETWORKING, 2019, : 508 - 508
  • [9] Rethinking serializable multiversion concurrency control
    Faleiro, Jose M.
    Abadi, Daniel J.
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2015, 8 (11): : 1190 - 1201
  • [10] Formal Verification of Smart Contracts from the Perspective of Concurrency
    Qu, Meixun
    Huang, Xin
    Chen, Xu
    Wang, Yi
    Ma, Xiaofeng
    Liu, Dawei
    SMART BLOCKCHAIN, 2018, 11373 : 32 - 43