Secure proof verification blockchain patterns
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.
Domains
Software Engineering [cs.SE]
Fichier principal
Secure_Proof_Verification_Blockchain_Patterns - BPM24-BCF.pdf (433.98 Ko)
Télécharger le fichier
Origin | Files produced by the author(s) |
---|