A Survey on Zero Knowledge Range Proofs and Applications

Eduardo Morais,Tommy Koens,Cees van Wijk,Aleksei Koren
DOI: https://doi.org/10.48550/arXiv.1907.06381
2019-07-15
Abstract:In last years, there has been an increasing effort to leverage Distributed Ledger Technology (DLT), including blockchain. One of the main topics of interest, given its importance, is the research and development of privacy mechanisms, as for example is the case of Zero Knowledge Proofs (ZKP). ZKP is a cryptographic technique that can be used to hide information that is put into the ledger, while still allowing to perform validation of this data. In this work we describe different strategies to construct Zero Knowledge Range Proofs (ZKRP), as for example the scheme proposed by Boudot in 2001; the one proposed in 2008 by Camenisch et al, and Bulletproofs, proposed in 2017. We also compare these strategies and discuss possible use cases. Since Bulletproofs is the most efficient construction, we will give a detailed description of its algorithms and optimizations. Bulletproofs is not only more efficient than previous schemes, but also avoids the trusted setup, which is a requirement that is not desirable in the context of Distributed Ledger Technology (DLT) and blockchain. In case of cryptocurrencies, if the setup phase is compromised, it would be possible to generate money out of thin air. Interestingly, Bulletproofs can also be used to construct generic Zero Knowledge Proofs (ZKP), in the sense that it can be used to prove generic statements, and thus it is not only restricted to ZKRP, but it can be used for any kind of Proof of Knowledge (PoK). Hence Bulletproofs leads to a more powerful tool to provide privacy for DLT. Here we describe in detail the algorithms involved in Bulletproofs protocol for ZKRP. Also, we present our implementation, which was open sourced.
Cryptography and Security
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to implement privacy - protection mechanisms in distributed ledger technology (DLT) and blockchain, especially to hide sensitive information in transactions through zero - knowledge proof (ZKP) technology while still being able to verify the validity of these data. Specifically, the paper focuses on the research and application of zero - knowledge range proof (ZKRP), which is a special ZKP used to prove that a secret integer belongs to a specific interval without revealing the specific value of the number. For example, in a payment system, ZKRP can be used to prove that the transaction amount is positive, thus preventing illegal transfer of funds. The main contributions of the paper include: 1. **Summarized different construction strategies of ZKRP**: including the scheme proposed by Boudot in 2001, the scheme proposed by Camenisch et al. in 2008, and the Bulletproofs scheme in 2017. 2. **Described the Bulletproofs algorithm and its optimization in detail**: Bulletproofs is not only more efficient than previous schemes, but also avoids trusted setup, which is an undesirable requirement in the context of DLT and blockchain. 3. **Compared the performance of different ZKRP schemes**: compared in terms of proof size, complexity of verifiers and provers, etc. 4. **Discussed the application scenarios of ZKRP**: including but not limited to age verification, anti - money laundering (AML), anonymous credentials, e - voting, e - auctions, signatures of board members, reputation verification, etc. Through these studies, the paper aims to provide developers and researchers with a comprehensive ZKRP technology guide, especially in the practical applications in the fields of DLT and blockchain.