Skip to main content

Formalizing the Transaction Flow Process of Hyperledger Fabric

  • Conference paper
  • First Online:
Formal Methods and Software Engineering (ICFEM 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12531))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Companies using Hyperledger Fabric. https://101blockchains.com/hyperledger-fabric/

  2. The Coq proof assistant. https://coq.inria.fr/

  3. A repository for PoS related formal methods. https://github.com/palmskog/pos

  4. Software foundations. https://softwarefoundations.cis.upenn.edu/

  5. Formalization of transaction flow process of Hyperledger Fabric in Coq (2020). https://github.com/lixm/hf-trans-flow

  6. Hyperledger Fabric documentation (2020). https://buildmedia.readthedocs.org/media/pdf/hyperledger-fabric/latest/hyperledger-fabric.pdf

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. Beckert, B., Herda, M., Kirsten, M., Schiffl, J.: Formal specification and verification of Hyperledger Fabric chaincode. In: SDLT 2018 (2018)

    Google Scholar 

  11. Buterin, V., Griffith, V.: The Casper finality gadget. CoRR, abs/1710.09437

    Google Scholar 

  12. Fernández Anta, A., Georgiou, C., Konwar, K., Nicolaou, N.: Formalizing and implementing distributed ledger objects. In: NETYS 2018, pp. 19–35 (2018)

    Google Scholar 

  13. Grishchenko, I., Maffei, M., Schneidewind, C.: A semantic framework for the security analysis of Ethereum smart contracts. In: POST 2018, pp. 243–269 (2018)

    Google Scholar 

  14. 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

    Chapter  Google Scholar 

  15. 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)

    Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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)

    Google Scholar 

  18. Nielson, F., Nielson, H.R.: Formal Methods - An Appetizer. Springer, Heidelberg (2019). https://doi.org/10.1007/978-3-030-05156-3

    Book  MATH  Google Scholar 

  19. Pîrlea, G., Sergey, I.: Mechanising blockchain consensus. In: CPP 2018, pp. 78–90 (2018)

    Google Scholar 

  20. Sukhwani, H., Wang, N., Trivedi, K.S., Rindos, A.: Performance modeling of Hyperledger Fabric (permissioned blockchain network). In: NCA 2018, pp. 1–8 (2018)

    Google Scholar 

  21. Wilcox, J.R., et al.: Verdi: a framework for implementing and formally verifying distributed systems. In: PLDI 2015, pp. 357–368 (2015)

    Google Scholar 

  22. Wood, G.: Ethereum: a secure decentralised generlised transaction ledger. https://gavwood.com/paper.pdf

  23. 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)

    Google Scholar 

  24. Yaga, D., Mell, P., Roby, N., Scarfone, K.: Blockchain technology overview. Technical report, NISTIR 8202 (2018)

    Google Scholar 

  25. 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)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Ximeng Li .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics