Abstract
This paper introduces BFTune, an innovative open-source testing framework for comprehensive functional testing against coordinated active attacks in the Flow blockchain. The proposed BFTune is the first testing framework of its kind, offering functional coverage, protocol realism, and programmable attacker models for the Flow blockchain, addressing a gap in existing blockchain testing tools. We detail the design and implementation of BFTune, present real-world BFT testing scenarios, and provide an extensive experimental assessment of its scalability and runtime overhead.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system. Decentralized Bus. Rev. (2008)
Wood, G., et al.: Ethereum: a secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper (2014)
Hentschel, A., Hassanzadeh-Nazarabadi, Y., Seraj, R., Shirley, D., Lafrance, L.: Flow: separating consensus and compute–block formation and execution. arXiv preprint arXiv:2002.07403 (2020)
Hentschel, A., Shirley, D., Lafrance, L., Zamski, M.: Flow: separating consensus and compute–execution verification. arXiv preprint arXiv:1909.05832 (2019)
King, S., Nadal, S.: PPCoin: peer-to-peer crypto-currency with proof-of-stake. Self-published paper (2012)
Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. In: Concurrency: The Works of Leslie Lamport, pp. 203–226 (2019)
Douceur, J.R.: The Sybil attack. In: Druschel, P., Kaashoek, F., Rowstron, A. (eds.) IPTPS 2002. LNCS, vol. 2429, pp. 251–260. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45748-8_24
Kuperberg, M.: Towards an analysis of network partitioning prevention for distributed ledgers and blockchains. In: 2020 DAPPS. IEEE (2020)
Saad, M., et al.: Exploring the attack surface of blockchain: a comprehensive survey. IEEE Commun. Surv. Tutor. 22, 1977–2008 (2020)
Singh, A., Das, T., Maniatis, P., Druschel, P., Roscoe, T.: BFT protocols under fire. In: NSDI (2008)
Wang, P.-L., Chao, T.-W., Wu, C.-C., Hsiao, H.-C.: Tool: an efficient and flexible simulator for byzantine fault-tolerant protocols. In: DSN. IEEE (2022)
Bano, S., et al.: Twins: BFT systems made robust. arXiv preprint arXiv:2004.10617 (2020)
Chen, Y., Ma, F., Zhou, Y., Jiang, Y., Chen, T., Sun, J.: Tyr: finding consensus failure bugs in blockchain system with behaviour divergent model. In: Symposium on Security and Privacy. IEEE (2022)
Yang, Y., Kim, T., Chun, B.-G.: Finding consensus bugs in Ethereum via multi-transaction differential fuzzing. In: OSDI (2021)
Castro, M., Liskov, B., et al.: Practical Byzantine fault tolerance. In: OsDI (1999)
Google LLC. GRPC: a high-performance, open-source universal RPC framework (2015). https://grpc.io/docs/what-is-grpc/introduction/. Accessed 8 Mar 2023
Flow go integration tests - pass through. https://github.com/onflow/flow-go/tree/master/integration/tests/bft/passthrough. Accessed 8 Mar 2023
Flow go integration tests - message validation. https://github.com/onflow/flow-go/tree/master/integration/tests/bft/topicvalidator. Accessed 8 Mar 2023
Flow go integration tests - signature requirement. https://github.com/onflow/flow-go/tree/master/integration/tests/bft/gossipsub/signature. Accessed 8 Mar 2023
Flow go integration tests - happy path testing. https://github.com/onflow/flow-go/blob/master/integration/tests/common. Accessed 8 Mar 2023
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
Hassanzadeh-Nazarabadi, Y., Rybalov, M., Claybon, K. (2023). BFT Testing Framework for Flow Blockchain. In: Machado, J.M., et al. Blockchain and Applications, 5th International Congress. BLOCKCHAIN 2023. Lecture Notes in Networks and Systems, vol 778. Springer, Cham. https://doi.org/10.1007/978-3-031-45155-3_34
Download citation
DOI: https://doi.org/10.1007/978-3-031-45155-3_34
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-45154-6
Online ISBN: 978-3-031-45155-3
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)