Abstract
Blockchain technology is a distributed, decentralized, and immutable ledger system. It is the platform of choice for managing smart contract transactions (SCTs). Smart contracts are pieces of code that capture business agreements between interested parties and are commonly implemented using blockchains. A block in a blockchain contains a set of transactions representing changes to the system and a hash of the previous block. The SCTs are executed multiple times during the block production and validation phases across the network. In most of the existing blockchains, transactions are executed sequentially.
In this work, we propose a parallel direct acyclic graph (DAG) based scheduler module for concurrent execution of SCTs. This module can be seamlessly integrated into the blockchain framework, and the SCTs in a block can be executed efficiently, resulting in higher throughput. The dependencies among the SCTs of a block are represented as a DAG data structure which enables parallel execution of the SCTs. Furthermore, the DAG data structure is shared with block validators, allowing resource conservation for DAG creation across the network. To ensure secure parallel execution, we design a secure validator capable of validating and identifying incorrect DAGs shared by malicious block producers. For evaluation, our framework is implemented in Hyperledger Sawtooth V1.2.6. The performance across multiple smart contract applications is measured for the various schedulers. We observed that our proposed executor exhibits a 1.58 times performance improvement on average over serial execution.
Funded by Meity India: No.4(4)/2021-ITEA & 4(20)/2019-ITEA. This is part of the National (Indian) Blockchain Framework Project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The detailed architecture is explained in Appendix A of [15].
- 2.
The transaction family code can be accessed here: https://github.com/PDCRL/ConcSawtooth.
References
Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform. https://ethereum.org/
Hyperledger Sawtooth. https://sawtooth.hyperledger.org/
Amiri, M.J., Agrawal, D., El Abbadi, A.: ParBlockchain: leveraging transaction parallelism in permissioned blockchain systems. In: 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS), pp. 1337–1347 (2019)
Androulaki, E., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: EuroSys (2018)
Anjana, P.S., Kumari, S., Peri, S., Rathor, S., Somani, A.: An efficient framework for optimistic concurrent execution of smart contracts. In: PDP, pp. 83–92 (2019)
Anjana, P.S., Attiya, H., Kumari, S., Peri, S., Somani, A.: Efficient concurrent execution of smart contracts in blockchains using object-based transactional memory. In: Georgiou, C., Majumdar, R. (eds.) NETYS 2020. LNCS, vol. 12129, pp. 77–93. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-67087-0_6
Anjana, P.S., Kumari, S., Peri, S., Rathor, S., Somani, A.: OptSmart: a space efficient Optimistic concurrent execution of Smart contracts. Distrib. Parallel Databases (2022)
Baheti, S., Anjana, P.S., Peri, S., Simmhan, Y.: DiPETrans: a framework for distributed parallel execution of transactions of blocks in blockchains. Concurr. Comput.: Pract. Exp. 34(10), e6804 (2022)
Dang, H., Dinh, T.T.A., Loghin, D., Chang, E.C., Lin, Q., Ooi, B.C.: Towards scaling blockchain systems via sharding. In: Proceedings of the 2019 International Conference on Management of Data, SIGMOD 2019, pp. 123–140. Association for Computing Machinery, New York (2019)
Dickerson, T., Gazzillo, P., Herlihy, M., Koskinen, E.: Adding concurrency to smart contracts. In: PODC 2017, pp. 303–312. Association for Computing Machinery, New York, NY, USA (2017)
Gelashvili, R., et al.: Block-STM: scaling blockchain execution by turning ordering curse to a performance blessing (2022)
Kokoris-Kogias, E., Jovanovic, P., Gasser, L., Gailly, N., Syta, E., Ford, B.: OmniLedger: a secure, scale-out, decentralized ledger via sharding. In: 2018 IEEE Symposium on Security and Privacy (SP), pp. 583–598 (2018)
Kunz, T., Black, J.P., Taylor, D.J., Basten, T.: POET: target-system independent visualizations of complex distributed-applications executions. Comput. J. 40(8), 499–512 (1997)
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://bitcoin.org/bitcoin.pdf
Piduguralla, M., Chakraborty, S., Anjana, P.S., Peri, S.: An efficient framework for execution of smart contracts in hyperledger sawtooth (2023). https://doi.org/10.48550/arXiv.2302.08452
Piduguralla, M., Saheli, C., Anjana, P.S., Peri, S.: Artifact and instructions to generate experimental results for Euro-Par conference proceeding 2023 paper: DAG-based Efficient Parallel Scheduler for Blockchains: Hyperledger Sawtooth as a Case Study (2023). https://doi.org/10.6084/m9.figshare.23544960
Valtchanov, A., Helbling, L., Mekiker, B., Wittie, M.P.: Parallel block execution in SoCC blockchains through optimistic concurrency control. In: 2021 IEEE Globecom Workshops (GC Wkshps), pp. 1–6 (2021)
Vasin, P.: Blackcoin’s proof-of-stake protocol v2, p. 71 (2014). https://blackcoin.co/blackcoin-pos-protocol-v2-whitepaper.pdf
Zamani, M., Movahedi, M., Raykova, M.: RapidChain: scaling blockchain via full sharding. In: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, CCS 2018, pp. 931–948. Association for Computing Machinery, New York (2018)
Zheng, P., et al.: Aeolus: distributed execution of permissioned blockchain transactions via state sharding. IEEE Trans. Industr. Inf. 18(12), 9227–9238 (2022)
Acknowledgements and Data Availability
We would like to express our sincere gratitude to the paper and artifact reviewers who dedicated their time and expertise to evaluate our work. We would also like to extend our gratitude to the members of the MeitY and NBF (National Blockchain Framework) project for their support throughout the research. The modified Sawtooth node developed in this work with both implementations discussed is available at the Figshare repository: https://doi.org/10.6084/m9.figshare.23544960 [16].
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Piduguralla, M., Chakraborty, S., Anjana, P.S., Peri, S. (2023). DAG-Based Efficient Parallel Scheduler for Blockchains: Hyperledger Sawtooth as a Case Study. In: Cano, J., Dikaiakos, M.D., Papadopoulos, G.A., Pericàs, M., Sakellariou, R. (eds) Euro-Par 2023: Parallel Processing. Euro-Par 2023. Lecture Notes in Computer Science, vol 14100. Springer, Cham. https://doi.org/10.1007/978-3-031-39698-4_13
Download citation
DOI: https://doi.org/10.1007/978-3-031-39698-4_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-39697-7
Online ISBN: 978-3-031-39698-4
eBook Packages: Computer ScienceComputer Science (R0)