skip to main content
10.1145/3615366.3615425acmotherconferencesArticle/Chapter ViewAbstractPublication PagesladcConference Proceedingsconference-collections
research-article

Parallel Execution of Transactions Based on Dynamic and Self-Verifiable Conflict Analysis

Published:17 October 2023Publication History

ABSTRACT

In most blockchains, miners execute transactions sequentially, while validators reproduce the execution to validate its results. Although simple, this approach does not exploit modern multi-core resources efficiently, thus limiting performance and increasing application latency. To circumvent this limitation, some proposals execute independent transactions in parallel, while dependent/conflicting transactions execute sequentially. These solutions are based on static analysis, adding a pre-processing overhead to trace dependencies/conflicts before execution, or usually use a directed acyclic graph (DAG) where the miner stores the conflicts among transactions found during its execution to be used by the validators, which trust the received DAG to perform an equivalent execution. We propose a new solution for parallel execution of transactions through a dynamic conflict analysis that uses transactions and their parameters to define whether two transactions are dependent in order to build a DAG. Consequently, conflicts are self-verifiable at validators since they can access the transactions and their parameters. To minimize the performance impact of this processing, while one parallelizer thread constructs the DAG, a pool of worker threads obtain transactions whose dependencies were resolved to be executed. To evaluate the benefits of our proposal over traditional sequential execution, we created four smart contract applications that simulate the execution of a real blockchain. Experiments show that our proposal outperforms the sequential execution by up to 5 × in some cases.

References

  1. Shrey Baheti, Parwat Singh Anjana, Sathya Peri, and Yogesh Simmhan. 2022. DiPETrans: A framework for distributed parallel execution of transactions of blocks in blockchains. Concurrency and Computation: Practice and Experience 34, 10 (2022), e6804.Google ScholarGoogle ScholarCross RefCross Ref
  2. Massimo Bartoletti, Letterio Galletta, and Maurizio Murgia. 2020. A true concurrent model of smart contracts executions. In International Conference on Coordination Languages and Models. Springer, Valletta, Malta, 243–260. https://doi.org/10.1007/978-3-030-50029-0_16Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Alysson Bessani, João Sousa, and Eduardo E.P. Alchieri. 2014. State Machine Replication for the Masses with BFT-SMART. In 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. IEEE, Atlanta, GA, USA, 355–362. https://doi.org/10.1109/DSN.2014.43Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Blockchain.com. 2022. Bitcoin Block Size. urlhttps://www.blockchain.com/explorer/blocks/btc.Google ScholarGoogle Scholar
  5. Vitalik Buterin. 2013. A Next-Generation Smart Contract and Decentralized Application Platform https://github. com/ethereum/wiki/wiki.Google ScholarGoogle Scholar
  6. Calin Cascaval, Colin Blundell, Maged Michael, Harold W Cain, Peng Wu, Stefanie Chiras, and Siddhartha Chatterjee. 2008. Software transactional memory: Why is it only a research toy?Commun. ACM 51, 11 (2008), 40–46.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chris Dannen. 2017. Introducing Ethereum and Solidity. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-2535-6Google ScholarGoogle ScholarCross RefCross Ref
  8. Tim Dickerson, Paul Gazzillo, Maurice Herlihy, and Eric Koskinen. 2017. Adding concurrency to smart contracts. In Proceedings of the ACM Symposium on Principles of Distributed Computing. ACM, Washington, DC, 303–312.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ian Aragon Escobar, Eduardo Alchieri, Fernando Luís Dotti, and Fernando Pedone. 2019. Boosting Concurrency in Parallel State Machine Replication. In Proceedings of the 20th International Middleware Conference (Davis, CA, USA) (Middleware ’19). Association for Computing Machinery, New York, NY, USA, 228–240. https://doi.org/10.1145/3361525.3361549Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Tao Feng and Yufeng Liu. 2023. Optimized Model Analysis of Blockchain PoW Procotol under Long Delay Attack. In Proceedings of the 2023 2nd Asia Conference on Algorithms, Computing and Machine Learning. Association for Computing Machinery, New York, NY, USA, 25–30. https://doi.org/10.1145/3590003.3590008Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Juan Garay, Aggelos Kiayias, and Nikos Leonardos. 2015. The Bitcoin Backbone Protocol: Analysis and Applications. In Advances in Cryptology - EUROCRYPT 2015, Elisabeth Oswald and Marc Fischlin (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 281–310.Google ScholarGoogle ScholarCross RefCross Ref
  12. Satoshi Nakamoto. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf.Google ScholarGoogle Scholar
  13. Anjana Parwat Singh, Sweta Kumari, Sathya Peri, Sachin Rathor, and Archit Somani. 2019. An Efficient Framework for Optimistic Concurrent Execution of Smart Contracts. In PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING. EUROMICRO INTERNATIONAL CONFERENCE, Pavia, Italy, 83–92. https://doi.org/10.1109/EMPDP.2019.8671637Google ScholarGoogle ScholarCross RefCross Ref
  14. Vikram Saraph and Maurice Herlihy. 2019. An Empirical Study of Speculative Concurrency in Ethereum Smart Contracts. In International Conference on Blockchain Economics, Security and Protocols, OpenAccess Series in Informatics (OASIcs). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 4:1–4:15.Google ScholarGoogle Scholar
  15. Fred B Schneider. 1990. Implementing fault-tolerant services using the state machine approach: A tutorial. Comput. Surveys 22, 4 (1990), 299–319.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jun Zhao, Jing Tang, Zengxiang Li, Huaxiong Wang, Kwok-Yan Lam, and Kaiping Xue. 2020. An Analysis of Blockchain Consistency in Asynchronous Networks: Deriving a Neat Bound. In 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS). IEEE, Singapore, 179–189.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Parallel Execution of Transactions Based on Dynamic and Self-Verifiable Conflict Analysis

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          LADC '23: Proceedings of the 12th Latin-American Symposium on Dependable and Secure Computing
          October 2023
          242 pages
          ISBN:9798400708442
          DOI:10.1145/3615366

          Copyright © 2023 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 17 October 2023

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited
        • Article Metrics

          • Downloads (Last 12 months)18
          • Downloads (Last 6 weeks)3

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format