GijsWeterings / IdentityChain

GNU General Public License v3.0
6 stars 0 forks source link

Implement Zero-Knowledge range proofs and number proofs #8

Closed eanker closed 6 years ago

eanker commented 6 years ago

This pr is a first version of the zkp range and number proofs. There still need to be added some improvements, mostly to the readability/understandably. But this pr has been opened, so that it can be incorporated with the rest of the code base.

Improvements:

Made by @eanker and @Recognition2, with a lot of peer programming.

Recognition2 commented 6 years ago

Yeah, we want SetupPublicResult on the blockchain, it already contains the SQR and EL proofs. CommittedIntegerProof IS the EL proof, SQR proof is a translation to an equivalent EL proof. One thing we didn't figure out is how to preserve the private parameters. At the moment they are passed back to the TrustedParty, but in reality we'll want the Prover to keep them secret while he awaits the interactive prove-part. Some sort of a mapping from an ID of the transaction to the corresponding SetupPrivateResult on the prover, or something like that.

The NumberProof contains such a structure, perhaps this is what we want later on?

LiamClark commented 6 years ago

@recognition2 lets discuss this in issue #6

LiamClark commented 6 years ago

Great work guys!