Abstract
Unlike blockchain systems in public settings, the stricter trust model in permissioned blockchain opens an opportunity for pursuing higher throughput. Recently, as the consensus protocols are developed significantly, the existing serial execution manner of transactions becomes a key factor in limiting overall performance. However, it is not easy to extend the concurrency control protocols, widely used in database systems, to blockchain systems. In particular, there are two challenges to achieve parallel execution of transactions in blockchain as follows: (i) the final results of different replicas may diverge since most protocols just promise the effect of transactions equivalent to some serial order but this order may vary for every concurrent execution; and (ii) almost all state trees that are used to manage states of blockchain do not support fast concurrent updates. In the view of above challenges, we propose a parallel execution engine called PEEP, towards permissioned blockchain systems. Specifically, PEEP employs a deterministic concurrency mechanism to obtain a predetermined serial order for parallel execution, and offers parallel update operations on state tree, which can be implemented on any radix tree with Merkle property. Finally, the extensive experiments show that PEEP outperforms existing serial execution greatly.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
CITA project (2020). https://github.com/citahub
Amiri, M.J., Agrawal, D., et al.: Parblockchain: leveraging transaction parallelism in permissioned blockchain systems. In: ICDCS, pp. 1337–1347. IEEE (2019)
Amsden, Z., Arora, R., et al.: The libra blockchain. Libra project, pp. 1–29 (2020). https://developers.libra.org/docs/assets/papers/the-libra-blockchain/2020-05-26.pdf
Androulaki, E., Barger, A., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: EuroSys, pp. 30:1–30:15. ACM (2018)
Buchman, E.: Tendermint: byzantine fault tolerance in the age of blockchains. Ph.D. thesis (2016)
Castro, M., Liskov, B.: Practical byzantine fault tolerance. In: OSDI, pp. 173–186. USENIX Association (1999)
Dickerson, T., Gazzillo, P., Herlihy, M., Koskinen, E.: Adding concurrency to smart contracts. Distrib. Comput. 209–225 (2019). https://doi.org/10.1007/s00446-019-00357-z
Dinh, T.T.A., Wang, J., et al.: BLOCKBENCH: a framework for analyzing private blockchains. In: SIGMOD Conference, pp. 1085–1100. ACM (2017)
Ji, Y., Chai, Y., et al.: Smart intra-query fault tolerance for massive parallel processing databases. Data Sci. Eng. 5(1), 65–79 (2020)
Kalidhindi, J., Kazorian, A., et al.: Angela: a sparse, distributed, and highly concurrent Merkle tree (2018)
Li, Z., Romano, P., et al.: Sparkle: speculative deterministic concurrency control for partially replicated transactional stores. In: DSN, pp. 164–175. IEEE (2019)
Nakamoto, S., et al.: Bitcoin: a peer-to-peer electronic cash system (2008)
Ongaro, D., Ousterhout, J.K.: In search of an understandable consensus algorithm. In: USENIX Annual Technical Conference, pp. 305–319. USENIX Association (2014)
Pang, S., Qi, X., et al.: Concurrency protocol aiming at high performance of execution and replay for smart contracts. CoRR abs/1905.07169 (2019)
Sharma, A., Schuhknecht, F.M., et al.: Blurring the lines between blockchains and database systems: the case of hyperledger fabric. In: SIGMOD Conference, pp. 105–122. ACM (2019)
Thomson, A., Diamond, T., et al.: Calvin: fast distributed transactions for partitioned database systems. In: SIGMOD Conference, pp. 1–12. ACM (2012)
Wood, G.: Ethereum: a secure decentralised generalised transaction ledger. Ethereum Project Yellow Pap. 151, 1–32 (2014)
Acknowledgments
This work is partially supported by National Science Foundation of China (61972152, U1811264 and U1911203), Guangxi Key Laboratory of Trusted Software (kx202005).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Chen, Z., Qi, X., Du, X., Zhang, Z., Jin, C. (2021). PEEP: A Parallel Execution Engine for Permissioned Blockchain Systems. In: Jensen, C.S., et al. Database Systems for Advanced Applications. DASFAA 2021. Lecture Notes in Computer Science(), vol 12683. Springer, Cham. https://doi.org/10.1007/978-3-030-73200-4_24
Download citation
DOI: https://doi.org/10.1007/978-3-030-73200-4_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-73199-1
Online ISBN: 978-3-030-73200-4
eBook Packages: Computer ScienceComputer Science (R0)