Dear esteemed zapps-wg members,
Just a reminder that the "Powers of Tau" part of the snark setup
procedure requires a Phase 2 as well (right now we have only been focusing
on conducting Phase 1). I'm writing this note just so everyone realizes
that a second phase is needed too, so you don't burn out all your
enthusiasm and good cheer in the first phase.
The computational steps of Phase 2 are actually very similar to those of
Phase 1, however
A) Phase 2 uses the final output of Phase 1 as an input,
B) Phase 2 depends on *the particular arithmetic circuit for which we are
generating the parameters*. This means that if we want to generate circuits
for multiple applications at the same time and not just Zcash Sapling,
we'll need to have those circuits ready when we start P2.
If you want to get involved, there are several technical projects that are
still in the #design-needed phase and could use development leaders:
- What should the Phase 2 process look like? Can we generate parameters for
multiple people's circuits at the same time? How many should we do at once,
and how should we pick?
- It would be such low hanging fruit to propose a standard ".r1cs" file
format, and then we can adapt all the various SNARK compilers to output /
read this format. Please, someone, take this up as a challenge and do it!
- Where are all y'alls circuits? I would love to see some R1CS files posted
to this list. Hey! You! Why not spend the weekend whipping up a stupid
- Has anyone looked at adapting existing compilers like Pequin, Geppetto,
or Zokrates to output BLS12-381 compatible arithmetic circuits?
- The current Powers-of-Tau is specific to the BLS12-381-Groth16 snark
configuration, whereas Ethereum Byzantium currently only supports alt_bn128
operations. If someone customizes the powers-of-tau code to work on
alt_bn128, then we could also use this mailing list to coordinate
Byzantium-compatible snark parameters.
Please consider using this thread to informally discussion the
University of Illinois at Urbana-Champaign