Designs Codes and Cryptography · 2023 · 19 citations · 15 references
ComputingComputer ScienceMathematicsCryptographySecurity ProtocolsSet TheoryCryptographic ProtocolsDeductive VerificationPredicate LogicPrivacy-preserving ProtocolsProof ComplexityZero-knowledge ProofsAnonymityNon-interactive Zero-knowledge ProofsSecurity ProofsSet Membership ProofsSet-theoretic ProofsSuccinct Zero-knowledge ProofsZero-knowledge Proof ProtocolsZero-knowledge Proof Systems
Abstract We consider the problem of proving in zero knowledge that an element of a public set satisfies a given property without disclosing the element, i.e., for some u , “ $$u \in S$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mi>u</mml:mi><mml:mo>∈</mml:mo><mml:mi>S</mml:mi></mml:mrow></mml:math> and P ( u ) holds”. This problem arises in many applications (anonymous cryptocurrencies, credentials or whitelists) where, for privacy or anonymity reasons, it is crucial to hide certain data while ensuring properties of such data. We design new modular and efficient constructions for this problem through new commit-and-prove zero-knowledge systems for set membership , i.e. schemes proving $$u \in S$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mi>u</mml:mi><mml:mo>∈</mml:mo><mml:mi>S</mml:mi></mml:mrow></mml:math> for a value u that is in a public commitment $$c_u$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msub><mml:mi>c</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:math> . We also extend our results to support non-membership proofs , i.e. proving $$u \notin S$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mi>u</mml:mi><mml:mo>∉</mml:mo><mml:mi>S</mml:mi></mml:mrow></mml:math> . Being commit-and-prove, our solutions can act as plug-and-play modules in statements of the form “ $$u \in S$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mi>u</mml:mi><mml:mo>∈</mml:mo><mml:mi>S</mml:mi></mml:mrow></mml:math> and P ( u ) holds” by combining our set (non-)membership systems with any other commit-and-prove scheme for P ( u ). Also, they work with Pedersen commitments over prime order groups which makes them compatible with popular systems such as Bulletproofs or Groth16. We implemented our schemes as a software library, and tested experimentally their performance. Compared to previous work that achieves similar properties—the clever techniques combining zkSNARKs and Merkle Trees in Zcash—our solutions offer more flexibility, shorter public parameters and $$3.7 \times $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mn>3.7</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math> – $$30\times $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mn>30</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math> faster proving time for a set of size $$2^{64}$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msup><mml:mn>2</mml:mn><mml:mn>64</mml:mn></mml:msup></mml:math> .
15
Zerocash: Decentralized Anonymous Payments from Bitcoin
Eli Ben Sasson, Alessandro Chiesa, Christina Garman et al. · 2014 · 1.9K citations · Full text
Bulletproofs: Short Proofs for Confidential Transactions and More
Benedikt Bünz, Jonathan Bootle, Dan Boneh et al. · 2018 · 1.1K citations · Full text
Zerocoin: Anonymous Distributed E-Cash from Bitcoin
Ian Miers, Christina Garman, Matthew Green et al. · 2013 · 942 citations · Full text
Computing, Computer Science, Finance +17