Skip to content

Commit

Permalink
Improve FLP specification
Browse files Browse the repository at this point in the history
Clean up the reference code a bit so that it can be excerpted in the
draft: add comments; use more meaningful variable names; and make
variables consistent across the prover and verifier. We've also replaced
`prove_wrapped()` and `query_wrapped()` with class methods on
`ProveGadget` and `QueryGadget` respectively. This way the listing of
these classes is a little tidier.

Replace the current description of the algorithms with the reference
code for and a brief overview of each. This entails defining
`poly_eval()`, which we've done in the conventions section.
`ProveGadget` and `QueryGadget` are listed in the appendix, as their
descriptions are a bit tedious and their functionality is relatively
straightforward. Note however that these are load-bearing parts of the
specification.

Other things:

* Remove the "Encoding" subsection, which is pretty useless. Instead, we
  just say how these are instantiated in the "Validity Circuit" section.

* Remove calls to `check_valid_eval()` from the draft, as this more
  useful for testing than it is as part of the spec.

* Clean up the parameter tables, including indicating types.

* Do another pass of the overview and tighten things up a bit.

Co-authored-by: David Cook <[email protected]>
  • Loading branch information
cjpatton and divergentdave committed Oct 4, 2024
1 parent f7f3efd commit 096be4a
Show file tree
Hide file tree
Showing 2 changed files with 599 additions and 408 deletions.
Loading

0 comments on commit 096be4a

Please sign in to comment.