Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2023 Publication 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.
[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_16
[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.43
[4]
Blockchain.com. 2022. Bitcoin Block Size. urlhttps://www.blockchain.com/explorer/blocks/btc.
[5]
Vitalik Buterin. 2013. A Next-Generation Smart Contract and Decentralized Application Platform https://github. com/ethereum/wiki/wiki.
[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.
[7]
Chris Dannen. 2017. Introducing Ethereum and Solidity. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-2535-6
[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.
[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.3361549
[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.3590008
[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.
[12]
Satoshi Nakamoto. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf.
[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.8671637
[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.
[15]
Fred B Schneider. 1990. Implementing fault-tolerant services using the state machine approach: A tutorial. Comput. Surveys 22, 4 (1990), 299–319.
[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.

Cited By

View all
  • (2024)An overview of blockchain smart contract execution mechanismJournal of Industrial Information Integration10.1016/j.jii.2024.10067441(100674)Online publication date: Sep-2024

Recommendations

Comments

Information & Contributors

Information

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
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 for this article.

Check for updates

Author Tags

  1. Blockchain
  2. Parallelism
  3. Transactions

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • PUCRS-PrInt - CAPES
  • Conselho Nacional de Desenvolvimento Científico e Tecnológico
  • FAPDF
  • Fundação de Amparo à Pesquisa do Estado Do Rio Grande do Sul

Conference

LADC 2023

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)4
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2024)An overview of blockchain smart contract execution mechanismJournal of Industrial Information Integration10.1016/j.jii.2024.10067441(100674)Online publication date: Sep-2024

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media