Abstract
In blockchain networks, transaction data is accessible to all participants by design and hence verifiable. This verifiability feature of data stored on the ledger by any participant fosters trust within data, especially in uncertain environments. However, the public nature of onchain data imposes limitations across various scenarios as subsets of data should be kept private. Zero-knowledge proofs (ZKPs) have emerged as a solution within the literature to overcome this issue. The raw data is not published onchain, only a proof of knowledge of this data is. Hence, the blockchain is used as a trustworthy means for proof verification without requiring data disclosure. Despite their effective use in many scenarios, the formalization of zero-knowledge proof techniques within blockchain settings remains under-explored in current literature, and makes their integration difficult for non-expert blockchain practitioners due to the plurality and complexity of zero knowledge proofs. Software engineering patterns are used in the literature to formalize recurring software engineering practices stemming from the literature and experience of practitioners. Several patterns have been proposed to formalize blockchain-based architecture practices. However, no blockchain patterns tailored to confidential proofs using ZKPs have been designed in the literature. Hence, this paper aims to address this gap by formalizing key blockchain patterns relying on ZKP to handle secure proof verification identified in the literature. We formalize a general pattern called Secure Proof Verification pattern and three related sub-patterns, two of them focusing on efficient or trustless proof verification, and one specifically designed for interval membership verification to aid practitioners in selecting the most suitable non-interactive ZKP design for a blockchain-based application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
A succinct proof is a cryptographic construct that enables the verification of complex computations or statements using a compact proof size, typically much smaller than the original computation.
- 2.
Another ZKP building on Hiding queries to polynomials are Multi-use circuits (Reducing computational problems into arithmetic circuits). However, no scheme has been identified for a blockchain use.
- 3.
- 4.
List of identified STARK libraries at the time of writing: libSTARK, STARKware STARKDEX alpha, STARKExchange, distaff, Cairo.
References
Alexander, C.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)
Alexander, C.: The Timeless Way of Building, vol. 1. Oxford University Press, New york (1979)
Asher, M.: Zero-Knowledge Proofs: STARKs vs SNARKs (2021). https://consensys.io/blog/zero-knowledge-proofs-starks-vs-snarks. Accessed 10 Oct 2023
Ayub, M., Saleem, T., Janjua, M., Ahmad, T.: Storage state analysis and extraction of ethereum blockchain smart contracts. ACM TOSEM 32(3), 1–32 (2023)
Azgad-Tromer, S., Garcia, J., Tromer, E.: The case for on chain privacy and compliance. Stanford J. Blockchain Law Policy 6(2) (2023)
Bai, T., Hu, Y., He, J., Fan, H., An, Z.: Health-zkIDM: a healthcare identity system based on fabric blockchain and zero-knowledge proof. Sensors 22(20), 7716 (2022)
Bandara, H.D., Xu, X., Weber, I.: Patterns for blockchain data migration. In: EuroPlop, pp. 1–19 (2020)
Ben-Sasson, E.: A Cambrian explosion of crypto proofs. NAKAMOTO 8 (2020)
Ben-Sasson, E., et al.: Zerocash: decentralized anonymous payments from bitcoin. In: IEEE SP, pp. 459–474. IEEE (2014)
Benedetti, A., Henry, T., Tucci-Piergiovanni, S.: Gas cost analysis of proxy and diamond patterns: towards trusted smart contract engineering in EVM blockchains. In: FC - WTSC (2024, in press)
Benhamouda, F., Halevi, S., Halevi, T.: Supporting private data on hyperledger fabric with secure multiparty computation. IBM J. Res. Dev. 63(2/3), 3–1 (2019)
Bünz, B., Bootle, J., Boneh, D., Poelstra, A., Wuille, P., Maxwell, G.: Bulletproofs: short proofs for confidential transactions and more. In: IEEE SP, pp. 315–334. IEEE (2018)
Camenisch, J., Chaabouni, R., Shelat, A.: Efficient protocols for set membership and range proofs. In: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350, pp. 234–252. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-89255-7_15
Chaabouni, R., Lipmaa, H., Zhang, B.: A non-interactive range proof with constant communication. In: Keromytis, A.D. (ed.) FC 2012. LNCS, vol. 7397, pp. 179–199. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32946-3_14
Chalkias, K., Cohen, S., Lewi, K., Moezinia, F., Romailler, Y.: Hashwires: hyperefficient credential-based range proofs. Cryptology ePrint Archive, Paper 2021/297 (2021)
Chen, C.L., Deng, Y.Y., Weng, W., Sun, H., Zhou, M.: A blockchain-based secure inter-hospital EMR sharing system. Appl. Sci. 10(14), 4958 (2020)
Chia, S.Y., Xu, X., Paik, H.Y., Zhu, L.: Analysis of privacy patterns from an architectural perspective. In: ICSA-C, pp. 60–67. IEEE (2022)
Circularise: Take control of your supply chain with digital product passports (2023). https://www.circularise.com/dpp. Accessed 10 Mar 2023
Deng, C., et al.: A survey on range proof and its applications on blockchain. In: CyberC, pp. 1–8. IEEE (2019)
Eberhardt, J., Tai, S.: On or off the blockchain? Insights on off-chaining computation and data. In: De Paoli, F., Schulte, S., Broch Johnsen, E. (eds.) ESOCC 2017. LNCS, vol. 10465, pp. 3–15. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67262-5_1
Eberhardt, J., Tai, S.: Zokrates-scalable privacy-preserving off-chain computations. In: iThings. IEEE (2018)
Erler, C., Schinle, M., Dietrich, M., Stork, W.: Decision model to design a blockchain-based system for storing sensitive health data. In: ECIS (2022)
Ernstberger, J., Chaliasos, S., Zhou, L., Jovanovic, P., Gervais, A.: Do you need a zero knowledge proof? Cryptology ePrint Archive (2024)
Feng, Q., He, D., Zeadally, S., Khan, M.K., Kumar, N.: A survey on privacy protection in blockchain system. J. Netw. Comput. Appl. 126, 45–58 (2019)
Garousi, V., Felderer, M., Mäntylä, M.V.: Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Inf. Soft. Technol. 106 (2019)
Goldreich, O., Micali, S., Wigderson, A.: Proofs that yield nothing but their validity or all languages in np have zero-knowledge proof systems. J. ACM (JACM) 38(3), 690–728 (1991)
Huynh, T.T., Nguyen, T.D., Tan, H.: A survey on security and privacy issues of blockchain technology. In: 2019 International Conference on System Science and Engineering (ICSSE), pp. 362–367. IEEE (2019)
Konkin, A., Zapechnikov, S.: Privacy methods and zero-knowledge poof for corporate blockchain. Procedia Comput. Sci. 190, 471–478 (2021)
Lavaur, T., Lacan, J., Chanel, C.P.: Enabling blockchain services for IoE with zk-rollups. Sensors (2022)
Morais, E., Koens, T., Van Wijk, C., Koren, A.: A survey on zero knowledge range proofs and applications. SN Appl. Sci. 1, 1–17 (2019)
Márquez Solís, S.: Zero trust chain: a design pattern for improved interoperability and security in polkadot. arXiv preprint arXiv:2304.14730 (2023)
Nitulescu, A.: zk-snarks: a gentle introduction (2020)
Open Zeppelin: Cairo contracts (2024). https://github.com/OpenZeppelin/cairo-contracts
Oude Roelink, B., El-Hajj, M., Sarmah, D.: Systematic review: comparing zk-snark, zk-stark, and bulletproof protocols for privacy-preserving authentication. Secur. Priv. (2024)
Partisia Blockchain Foundation: Documentation (2023). https://partisiablockchain.gitlab.io/
Porru, S., Pinna, A., Marchesi, M., Tonelli, R.: Blockchain-oriented software engineering: challenges and new directions. In: ICSE-C, pp. 169–171. IEEE (2017)
Qi, H., Xu, M., Yu, D., Cheng, X.: SoK: privacy-preserving smart contract. High-Confidence Comput. 4(1), 100183 (2024)
Quisquater, J.-J., et al.: How to explain zero-knowledge protocols to your children. In: Brassard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 628–631. Springer, New York (1990). https://doi.org/10.1007/0-387-34805-0_60
Sedlmeir, J., Lautenschlager, J., Fridgen, G., Urbach, N.: The transparency challenge of blockchain in organizations. Electron. Mark. 32(3), 1779–1794 (2022)
Singh, A., et al.: Blockchain smart contracts formalization: approaches and challenges to address vulnerabilities. Comput. Secur. 88, 101654 (2020)
Singh, J.: zk-STARKs vs. zk-SNARKs explained (2022). https://cointelegraph.com/explained/zk-starks-vs-zk-snarks-explained. Accessed 04 July 024
Six, N., Herbaut, N., Salinesi, C.: Blockchain software patterns for the design of decentralized applications: a systematic literature review. Blockchain: Res. Appl. 3(2), 100061 (2022)
Starkware: Hello, cairo! (2020). https://medium.com/starkware/hello-cairo-3cb43b13b209
Szabo, N.: Formalizing and securing relationships on public networks. First Monday 2(9) (1997)
Wang, H., et al.: Blockchain challenges and opportunities: a survey. Int. J. Web Grid Serv. 14(4), 352 (2018)
Xie, T., et al.: zkbridge: trustless cross-chain bridges made practical. In: ACM SIGSAC (2022)
Xu, X., Pautasso, C., Zhu, L., Lu, Q., Weber, I.: A pattern collection for blockchain-based applications. In: Proceedings of the 23rd European Conference on Pattern Languages of Programs, pp. 1–20 (2018)
Xu, Z., Chen, L.: DIV: resolving the dynamic issues of zero-knowledge set membership proof in the blockchain. In: ACM SIGMOD, pp. 2036–2048 (2021)
Yang, X., Li, W.: A zero-knowledge-proof-based digital identity management scheme in blockchain. Comput. Secur. 99, 102050 (2020)
Zeiselmair, A., Steinkopf, B., Gallersdörfer, U., et al.: Analysis and application of verifiable computation techniques in blockchain systems for the energy sector. Front. Blockchain (2021)
Zhang, R., Xue, R., Liu, L.: Security and privacy on blockchain. ACM CSUR (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Henry, T., Tucci-Piergiovanni, S. (2024). Secure Proof Verification Blockchain Patterns. In: Di Ciccio, C., et al. Business Process Management: Blockchain, Robotic Process Automation, Central and Eastern European, Educators and Industry Forum. BPM 2024. Lecture Notes in Business Information Processing, vol 527. Springer, Cham. https://doi.org/10.1007/978-3-031-70445-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-031-70445-1_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-70444-4
Online ISBN: 978-3-031-70445-1
eBook Packages: Computer ScienceComputer Science (R0)