Skip to content

logUp* lookup protocol #1368

@jimpo

Description

@jimpo

This task is to implement the logUp* reduction of knowledge for use in the Spark compiler (Spartan, Section 7).

logUp* is an indexed lookup argument with the notable feature that the lookup-up values do not need to be committed. The verification procedure has parameters:

  • F: Field
  • eval_claim: F - the evaluation of the lookup-up vector at the eval_point
  • eval_point: Vec<F> - n-coordinate evaluation point
  • transcript

The reduction outputs

  • table_eval_point: Vec<F> - the m-coordinate evaluation point of the table multilinear
  • table_eval_claim: F - the claimed evaluation of the table multilinear (T) at table_eval_point
  • pushforward_eval_claim: F - the claimed evaluation of the pushforward multilinear (Y) at table_eval_point
  • index_eval_point: Vec<F> - the n-coordinate evaluation point of the index multilinear
  • index_eval_claim: F - the claimed evaluation of the index multilinear (I) at index_eval_point

The caller must then verify the three eval claims. Verifying the reduced (output) claims is out of scope for this task. The logUp* verify routine should verify the evaluation of the X multilinear, which it has sufficient information to do.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions