Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3510003.3510086acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Utilizing parallelism in smart contracts on decentralized blockchains by taming application-inherent conflicts

Published: 05 July 2022 Publication History

Abstract

Traditional public blockchain systems typically had very limited transaction throughput because of the bottleneck of the consensus protocol itself. With recent advances in consensus technology, the performance limit has been greatly lifted, typically to thousands of transactions per second. With this, transaction execution has become a new performance bottleneck. Exploiting parallelism in transaction execution is a clear and direct way to address this and to further increase transaction throughput. Although some recent literature introduced concurrency control mechanisms to execute smart contract transactions in parallel, the reported speedup that they can achieve is far from ideal. The main reason is that the proposed parallel execution mechanisms cannot effectively deal with the conflicts inherent in many blockchain applications.
In this work, we thoroughly study the historical transaction execution traces in Ethereum. We observe that application-inherent conflicts are the major factors that limit the exploitable parallelism during execution. We propose to use partitioned counters and special commutative instructions to break up the application conflict chains in order to maximize the potential speedup. When we evaluated the maximum parallel speedup achievable, these techniques doubled this limit to an 18x overall speedup compared to serial execution, thus approaching the optimum. We also propose OCC-DA, an optimistic concurrency control scheduler with deterministic aborts, which makes it possible to use OCC scheduling in public blockchain settings.

References

[1]
Daniel J Abadi and Jose M Faleiro. 2018. An Overview of Deterministic Database Systems. Commun. ACM 61, 9 (2018), 78--88.
[2]
Parwat Singh Anjana, Sweta Kumari, Sathya Peri, Sachin Rathor, and Archit Somani. 2019. An Efficient Framework for Optimistic Concurrent Execution of Smart Contracts. In 2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP). IEEE, 83--92.
[3]
Vivek Bagaria, Sreeram Kannan, David Tse, Giulia Fanti, and Pramod Viswanath. 2019. Prism: Deconstructing the Blockchain to Approach Physical Limits. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security (London, United Kingdom) (CCS '19). Association for Computing Machinery, New York, NY, USA, 585--602.
[4]
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, 243--260.
[5]
Silas Boyd-Wickizer, Austin T Clements, Yandong Mao, Aleksey Pesterev, M Frans Kaashoek, Robert Tappan Morris, Nickolai Zeldovich, et al. 2010. An Analysis of Linux Scalability to Many Cores. In OSDI, Vol. 10. 86--93.
[6]
Ting Chen, Xiaoqi Li, Ying Wang, Jiachi Chen, Zihao Li, Xiapu Luo, Man Ho Au, and Xiaosong Zhang. 2017. An adaptive gas cost mechanism for ethereum to defend against under-priced dos attacks. In International conference on information security practice and experience. Springer, 3--24.
[7]
Deloitte. 2017. 5 Blockchain Technology Use Cases in Financial Services. http://blog.deloitte.com.ng/5-blockchain-use-cases-in-financial-services/.
[8]
Deloitte. 2018. Blockchain: Opportunities for Health Care. https://www2.deloitte.com/us/en/pages/public-sector/articles/blockchain-opportunities-for-health-care.html.
[9]
Thomas Dickerson, Paul Gazzillo, Maurice Herlihy, and Eric Koskinen. 2019. Adding Concurrency to Smart Contracts. Distributed Computing (2019), 1--17.
[10]
Ryan Dozier, Sam Ervolino, Zach Newsom, Faye Strawn, and Ross Wagner. [n.d.]. A Correctness Tool to Verify Concurrent Ethereum Transactions. ([n. d.]).
[11]
William Entriken, Dieter Shirley, Jacob Evans, and Nastassia Sachs. 2018. EIP-721: Non-Fungible Token Standard. https://eips.ethereum.org/EIPS/eip-721.
[12]
Ittay Eyal, Adem Efe Gencer, Emin Gün Sirer, and Robbert Van Renesse. 2016. Bitcoin-NG: A Scalable Blockchain Protocol. In NSDI. 45--59.
[13]
Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich. 2017. Algorand: Scaling Byzantine Agreements for Cryptocurrencies. In Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 51--68.
[14]
Yilin Han, Chenxing Li, Peilun Li, Ming Wu, Dong Zhou, and Fan Long. 2020. Shrec: Bandwidth-Efficient Transaction Relay in High-Throughput Blockchain Systems. In Proceedings of the 11th ACM Symposium on Cloud Computing (Virtual Event, USA) (SoCC '20). Association for Computing Machinery, New York, NY, USA, 238--252.
[15]
IBM. 2020. Blockchain for Supply Chain. https://www.ibm.com/blockchain/supply-chain/.
[16]
Victor Youdom Kemmoe, William Stone, Jeehyeong Kim, Daeyoung Kim, and Junggab Son. 2020. Recent Advances in Smart Contracts: A Technical Overview and State of the Art. IEEE Access 8 (2020), 117782--117801.
[17]
Hsiang-Tsung Kung and John T Robinson. 1981. On Optimistic Methods for Concurrency Control. ACM Transactions on Database Systems (TODS) 6, 2 (1981), 213--226.
[18]
Yoad Lewenberg, Yonatan Sompolinsky, and Aviv Zohar. 2015. Inclusive Block Chain Protocols. In International Conference on Financial Cryptography and Data Security. Springer, 528--547.
[19]
Chenxing Li, Peilun Li, Dong Zhou, Zhe Yang, Ming Wu, Guang Yang, Wei Xu, Fan Long, and Andrew Chi-Chih Yao. 2020. A Decentralized Blockchain with High Throughput and Fast Confirmation. In 2020 USENIX Annual Technical Conference (USENIX ATC 20). USENIX Association, 515--528. https://www.usenix.org/conference/atc20/presentation/li-chenxing
[20]
Satoshi Nakamoto. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System. Decentralized Business Review (2008), 21260.
[21]
Shuaifeng Pang, Xiaodong Qi, Zhao Zhang, Cheqing Jin, and Aoying Zhou. 2019. Concurrency Protocol Aiming at High Performance of Execution and Replay for Smart Contracts. arXiv preprint arXiv:1905.07169 (2019).
[22]
Rafael Pass and Elaine Shi. 2017. Fruitchains: A Fair Blockchain. In Proceedings of the ACM Symposium on Principles of Distributed Computing. ACM, 315--324.
[23]
Daniël Reijsbergen and Tien Tuan Anh Dinh. 2020. On Exploiting Transaction Concurrency to Speed Up Blockchains. In 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS). IEEE, 1044--1054.
[24]
Danny Ryan and Vitalik Buterin. 2020. EIP-2982: Serenity Phase 0 [DRAFT]. https://eips.ethereum.org/EIPS/eip-2982.
[25]
Vikram Saraph and Maurice Herlihy. 2019. An Empirical Study of Speculative Concurrency in Ethereum Smart Contracts. arXiv preprint arXiv:1901.01376 (2019).
[26]
Ilya Sergey and Aquinas Hobor. 2017. A Concurrent Perspective on Smart Contracts. In International Conference on Financial Cryptography and Data Security. Springer, 478--493.
[27]
Yonatan Sompolinsky, Shai Wyborski, and Aviv Zohar. 2020. PHANTOM and GHOSTDAG, A Scalable Generalization of Nakamoto Consensus. (2020). https://eprint.iacr.org/2018/104.pdf.
[28]
Yonatan Sompolinsky and Aviv Zohar. 2015. Secure High-Rate Transaction Processing in Bitcoin. In International Conference on Financial Cryptography and Data Security. Springer, 507--527.
[29]
Alexander Thomson and Daniel J Abadi. 2010. The Case for Determinism in Database Systems. Proceedings of the VLDB Endowment 3, 1--2 (2010), 70--80.
[30]
Alexander Thomson and Daniel J Abadi. 2011. Building Deterministic Transaction Processing Systems without Deterministic Thread Scheduling. In Proceedings of the 2nd Workshop on Determinism and Correctness in Parallel Programming, Vol. 5.
[31]
Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, and Daniel J Abadi. 2012. Calvin: Fast Distributed Transactions for Partitioned Database Systems. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. 1--12.
[32]
Haifeng Yu, Ivica Nikolic, Ruomu Hou, and Prateek Saxena. 2020. OHIE: Blockchain Scaling Made Simple. In Proceedings of the IEEE Symposium on Security and Privacy. IEEE.
[33]
An Zhang and Kunlong Zhang. 2018. Enabling Concurrency on Smart Contracts Using Multiversion Ordering. In Asia-Pacific Web (APWeb) and Web-Age Information Management (WAIM) Joint International Conference on Web and Big Data. Springer, 425--439.

Cited By

View all
  • (2024)Spectrum: Speedy and Strictly-Deterministic Smart Contract Transactions for Blockchain LedgersProceedings of the VLDB Endowment10.14778/3675034.367504517:10(2541-2554)Online publication date: 6-Aug-2024
  • (2023)BlockPilot: A Proposer-Validator Parallel Execution Framework for BlockchainProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605621(193-202)Online publication date: 7-Aug-2023
  • (2023)A Comparative Analysis of Ethereum Solidity and Sui Move Smart Contract Languages: Advantages and Trade-Offs2023 6th World Symposium on Communication Engineering (WSCE)10.1109/WSCE59557.2023.10365887(34-38)Online publication date: 27-Sep-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '22: Proceedings of the 44th International Conference on Software Engineering
May 2022
2508 pages
ISBN:9781450392211
DOI:10.1145/3510003
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 ACM 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]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 July 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. blockchain
  2. deterministic concurrency
  3. distributed ledgers
  4. optimistic concurrency
  5. parallel execution
  6. smart contracts

Qualifiers

  • Research-article

Conference

ICSE '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)92
  • Downloads (Last 6 weeks)12
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Spectrum: Speedy and Strictly-Deterministic Smart Contract Transactions for Blockchain LedgersProceedings of the VLDB Endowment10.14778/3675034.367504517:10(2541-2554)Online publication date: 6-Aug-2024
  • (2023)BlockPilot: A Proposer-Validator Parallel Execution Framework for BlockchainProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605621(193-202)Online publication date: 7-Aug-2023
  • (2023)A Comparative Analysis of Ethereum Solidity and Sui Move Smart Contract Languages: Advantages and Trade-Offs2023 6th World Symposium on Communication Engineering (WSCE)10.1109/WSCE59557.2023.10365887(34-38)Online publication date: 27-Sep-2023
  • (2023)PaVM: A Parallel Virtual Machine for Smart Contract Execution and ValidationIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2023.333420835:1(186-202)Online publication date: 20-Nov-2023
  • (2023)FLUID: Towards Efficient Continuous Transaction Processing in DAG-Based BlockchainsIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.327231235:12(12679-12692)Online publication date: 2-May-2023
  • (2023)A Review on the Capability and Smart Contract Potential of Block chain Technology2023 3rd International Conference on Smart Data Intelligence (ICSMDI)10.1109/ICSMDI57622.2023.00022(80-87)Online publication date: Mar-2023
  • (2023)Smart Contract Parallel Execution with Fine-Grained State Accesses2023 IEEE 43rd International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS57875.2023.00068(841-852)Online publication date: Jul-2023
  • (2023)A Centralized Blockchain Architecture with Optimum Sharing2023 8th International Conference on Communication and Electronics Systems (ICCES)10.1109/ICCES57224.2023.10192696(684-688)Online publication date: 1-Jun-2023
  • (2023)EVMTracer: Dynamic Analysis of the Parallelization and Redundancy Potential in the Ethereum Virtual MachineIEEE Access10.1109/ACCESS.2023.326727711(47159-47178)Online publication date: 2023
  • (2023)Enhancing Blockchain Performance via On-chain and Off-chain CollaborationService-Oriented Computing10.1007/978-3-031-48421-6_27(393-408)Online publication date: 28-Nov-2023
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media