taiga icon indicating copy to clipboard operation
taiga copied to clipboard

Integrate Vamp-IR into Taiga

Open bazzilic opened this issue 2 years ago • 6 comments

  • [x] Import trivial VPs (1=1 and 1=0) and attempt to prove them within taiga codebase; adjust taiga if necessary.
  • [x] List questions for Vamp-IR team and functional requirements for Vamp-IR to be integrated into Taiga (e.g., I think currently Vamp-IR is only available as a separate binary, but we’d probably like to see it as a library we can import into taiga code; we need vampir to output a VK, which I am not sure it currently does)
  • [x] Further determine scope of this task and add more items below

bazzilic avatar Mar 24 '23 12:03 bazzilic

Currently blocked by https://github.com/anoma/vamp-ir/issues/74

bazzilic avatar Apr 03 '23 14:04 bazzilic

Also blocked by https://github.com/anoma/vamp-ir/issues/57 If this issue is resolved, then the other blocker disappears as well.

bazzilic avatar Apr 11 '23 12:04 bazzilic

Some problems needed to discuss with Vampir Team: https://github.com/anoma/taiga/pull/157#issuecomment-1519080215

The basic underlying gadgets we need to create Taiga Predicate(mandatory/basic constraints): Poseidon hash, Elliptic curve operation(addition and multiplication), sinsemilla commitment

XuyangSong avatar Apr 23 '23 14:04 XuyangSong

Some improvements to be made:

  • [x] Export the instances(public inputs) from vamp_ir. fixed by #166
  • [x] Correctly handle the instances(public inputs) from vamp_ir. There might be a bug about instances handling based on Halo2 in vamp_ir. fixed by #166
  • [ ] Remove the params from the VampIRValidityPredicateCircuit when vamp_ir supports setting the params size manually.
  • [ ] Add an interface to create VP from proof and verifying key when vamp_ir can export the verifying key

XuyangSong avatar May 11 '23 14:05 XuyangSong

Remove the params from the VampIRValidityPredicateCircuit when vamp_ir supports setting the params size manually.

Some VampIR VP circuit tests failed because of the small params. It will be solved by setting bigger params manually. We need the feature in VampIR as above. The failed tests are ignored. Retest them when we have the feature.

XuyangSong avatar Jul 26 '23 07:07 XuyangSong

Proposed prove and verify vamp-ir API that exports the verifying key https://github.com/anoma/vamp-ir/pull/120

paulcadman avatar Jul 31 '23 08:07 paulcadman