Skip to content

Commit

Permalink
groth editing in progress
Browse files Browse the repository at this point in the history
  • Loading branch information
tideofwords committed May 28, 2024
1 parent 1637ac1 commit 9ac38a7
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/groth16.typ
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ The inputs are divided into two categories:
- ($a_0$), $a_1$, ..., $a_ell$ are _public inputs_; and
- $a_(ell+1)$, $a_1$, ..., $a_n$ are _private inputs_.

== Interpolation

The basic idea of Groth16 is to interpolate polynomials
through the coefficients of the $m$ equations,
then work with KZG commitments to these polynomials.
(This is sort of the opposite of the interpolation in PLONK (@plonk),
where we interpolate
a polynomial through Peggy's solution $(a_0, ..., a_n)$.


#todo[Deal with trusted setup]

== Trusted setup
Expand All @@ -45,7 +55,7 @@ through the coefficients of our R1CS system;
that is we have $U_i (X), V_i (X), W_i (X) in FF_p [X]$ such that
$ U_i (q) = u_(i,q), #h(1em) V_i (q) = v_(i,q), #h(1em) W_i (q) = w_(i,q). $

Whoever is doing the trusted setup then selects a secret $gamma in FF_p$
Trent (who is doing the trusted setup) then selects a secret $gamma in FF_p$
and publishes all of the following points on $E$:
$ [gamma],
#h(1em) [(U_i (s)) / gamma],
Expand Down

0 comments on commit 9ac38a7

Please sign in to comment.