Abstract
Blockchains leverage the synergy of technologies from networking, cryptography, distributed protocols, security policies, and computer programming, to provide guarantees such as distributed consensus and tamper-resistance over records of data and activities. The interaction of diverse technical elements in a blockchain could create obstacles in precisely understanding the workings of it, and the guarantees delivered by it. We help overcome these obstacles in the case of the transaction flow process of the Hyperledger Fabric blockchain, through theorem-proving techniques. The transaction flow process is an overarching architectural component for the handling of transactions in Hyperledger Fabric. We formalize the transaction flow, and prove that it preserves distributed consensus, in the Coq proof assistant. Our development complements existing formalizations of consensus mechanisms for blockchain systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Companies using Hyperledger Fabric. https://101blockchains.com/hyperledger-fabric/
The Coq proof assistant. https://coq.inria.fr/
A repository for PoS related formal methods. https://github.com/palmskog/pos
Software foundations. https://softwarefoundations.cis.upenn.edu/
Formalization of transaction flow process of Hyperledger Fabric in Coq (2020). https://github.com/lixm/hf-trans-flow
Hyperledger Fabric documentation (2020). https://buildmedia.readthedocs.org/media/pdf/hyperledger-fabric/latest/hyperledger-fabric.pdf
Amani, S., Bégel, M., Bortin, M., Staples, M.: Towards verifying Ethereum smart contract bytecode in Isabelle/HOL. In: CPP 2018, pp. 66–77 (2018)
Androulaki, E., Barger, A., Bortnikov, V., Cachin, C., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In EuroSys 2018, pp. 30:1–30:15 (2018)
Banach, R.: Verification-led smart contracts. In: Bracciali, A., Clark, J., Pintore, F., Rønne, P.B., Sala, M. (eds.) FC 2019. LNCS, vol. 11599, pp. 106–121. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-43725-1_9
Beckert, B., Herda, M., Kirsten, M., Schiffl, J.: Formal specification and verification of Hyperledger Fabric chaincode. In: SDLT 2018 (2018)
Buterin, V., Griffith, V.: The Casper finality gadget. CoRR, abs/1710.09437
Fernández Anta, A., Georgiou, C., Konwar, K., Nicolaou, N.: Formalizing and implementing distributed ledger objects. In: NETYS 2018, pp. 19–35 (2018)
Grishchenko, I., Maffei, M., Schneidewind, C.: A semantic framework for the security analysis of Ethereum smart contracts. In: POST 2018, pp. 243–269 (2018)
Hirai, Y.: Defining the ethereum virtual machine for interactive theorem provers. In: Brenner, M., et al. (eds.) FC 2017. LNCS, vol. 10323, pp. 520–535. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70278-0_33
Jiao, J., Kan, S., Lin, S.-W., Sanan, D., Liu, Y., Sun, J.: Semantic understanding of smart contracts: executable operational semantics of Solidity. In: S&P 2020 (2020)
Li, X., Shi, Z., Zhang, Q., Wang, G., Guan, Y., Han, N.: Towards verifying ethereum smart contracts at intermediate language level. In: Ait-Ameur, Y., Qin, S. (eds.) ICFEM 2019. LNCS, vol. 11852, pp. 121–137. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32409-4_8
Thin, W.Y.M.M., Dong, N., Bai, G., Dong, J.: Formal analysis of a proof-of-stake blockchain. In: ICECCS 2018, pp. 197–200 (2018)
Nielson, F., Nielson, H.R.: Formal Methods - An Appetizer. Springer, Heidelberg (2019). https://doi.org/10.1007/978-3-030-05156-3
Pîrlea, G., Sergey, I.: Mechanising blockchain consensus. In: CPP 2018, pp. 78–90 (2018)
Sukhwani, H., Wang, N., Trivedi, K.S., Rindos, A.: Performance modeling of Hyperledger Fabric (permissioned blockchain network). In: NCA 2018, pp. 1–8 (2018)
Wilcox, J.R., et al.: Verdi: a framework for implementing and formally verifying distributed systems. In: PLDI 2015, pp. 357–368 (2015)
Wood, G.: Ethereum: a secure decentralised generlised transaction ledger. https://gavwood.com/paper.pdf
Woos, D., Wilcox, J.R., Anton, S., Tatlock, Z., Ernst, M.D., Anderson, T.E.: Planning for change in a formal verification of the Raft consensus protocol. In: CPP 2016, pp. 154–165 (2016)
Yaga, D., Mell, P., Roby, N., Scarfone, K.: Blockchain technology overview. Technical report, NISTIR 8202 (2018)
Yuan, P., Zheng, K., Xiong, X., Zhang, K., Lei, L.: Performance modeling and analysis of a Hyperledger-based system using GSPN. Comput. Commun. 153, 117–124 (2020)
Acknowledgement
This work was supported by the National Natural Science Foundation of China (61876111, 61602325, 618770400, 62002246), the general project KM202010028010 of Beijing Municipal Education Commission, and the Youth Innovative Research Team of Capital Normal University. The authors thank the anonymous reviewers for their valuable comments.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Chen, X., Li, X., Zhang, Q., Shi, Z., Guan, Y. (2020). Formalizing the Transaction Flow Process of Hyperledger Fabric. In: Lin, SW., Hou, Z., Mahony, B. (eds) Formal Methods and Software Engineering. ICFEM 2020. Lecture Notes in Computer Science(), vol 12531. Springer, Cham. https://doi.org/10.1007/978-3-030-63406-3_14
Download citation
DOI: https://doi.org/10.1007/978-3-030-63406-3_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-63405-6
Online ISBN: 978-3-030-63406-3
eBook Packages: Computer ScienceComputer Science (R0)