Skip to content
This repository has been archived by the owner on Jun 6, 2024. It is now read-only.

zkvm: remove bulletproofs dependency from API #210

Closed
oleganza opened this issue Mar 9, 2019 · 2 comments
Closed

zkvm: remove bulletproofs dependency from API #210

oleganza opened this issue Mar 9, 2019 · 2 comments

Comments

@oleganza
Copy link
Contributor

oleganza commented Mar 9, 2019

Would be good if BulletproofsGens and other entities from BP were encapsulated inside ZkVM or at least re-exported, so that the users can add ZkVM as a dependency w/o also bringing in bulletproofs. See token crate as an example.

  1. BulletproofsGens: those can be instantiated by ZkVM with a capacity parameter. R1CS can take them at the Prover::prove method, so ZkVM can just create a necessary capacity based on number of multiplicative constraints used. This can also be a part of the Tx object.
  2. PedersenGens are already baked into Commitment and Predicate API, and we can do the same for Signature/VerificationKey API, so users do not create those things with raw scalar operations. If they need to do something custom and unsupported by ZkVM APIs, then they can import Ristretto or Bulletproofs explicitly.
  3. R1CS instance is already encapsulated inside ZkVM prover/verifier.
@vickiniu
Copy link
Contributor

progress underway: dalek-cryptography/bulletproofs#266

@oleganza
Copy link
Contributor Author

oleganza commented Jun 8, 2020

Done in #405

@oleganza oleganza closed this as completed Jun 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants