logUp
TL;DR
Idea is to convert the linear product into fractional sums of reciprocals using logarithmic derivatives.
Logarithmic derivative is a popular method to differentiate functions which have high multiplicities as logarithms turn that into summations.
is
Identity underlying logarithm based lookup arguments is: Assuming set and table such that , then if , then there must exist a sequence such that following relation holds:
TODO: sketch proof of above relation
logUp focuses for lookups in multivariate setting where multiple columns are required to be looked upon from same table.
why are logarithmic derivatives useful here? Can a cheating prover create a false relation where it shows existence of a vector which doesn't exist in the table ?
To do this, prover needs to choose ‘s and create a linear combination of such that it can create a summand , where . But, set of all element such that are linearly independent, so no combination of elements in LHS can ever give an element which is not in the table.
Another thing that prover can do to cheat is choose ‘s such that terms cancel each other, then it can cheat with extra elements.
Let’s see how logUp prevents this:
- commits to
- \beta \xleftarrow{\}\mathcal{V}\mathcal{P}$
- Uses Aurora lemma to prove a sub-relation:
Previous Research
- Lookups popularised by Plookup
- Logarithmic derivatives first used in Bulletproofs++ paper
- Large table lookups introduced by Caulk, Caulk+
- Cached Quotients used logarithmic derivatives based lookups for large-table lookup protocols
Preliminaries
Lagrange Kernel of Boolean Hypercube
Boolean Hypercube: as multiplicative subgroup of , Lagrange polynomial for a multivariate function is written as:
- Lemma 1 (Boolean Hypercube): For function ,
- Lemma 2 (Formal Derivative): for a polynomial where characteristic of field is , if , then . Thus, if and , then must be a constant.
- Let be a rational function for polynomial , where . If , then must be a constant.
- Lemma 3 (Logarithmic derivative): if , are sequences over field , then .
- Lemma 4: let be functions , then
- Lemma 5 (Set inclusion): Let be two sequences of elements in field , then iff there exists a sequence such that .
Technical Deep dive (magic)
Let and be functions over , then iff there exists a function such that:
- Prover commits to .
- Verifier sends a random value . Mostly, this value doesn’t lie in .
- turns above relation into an identity by shifting RHS, and equaling to 0.
- To turns this into a polynomial, divides the relation into partial sums of roughly the same number of terms .
- combines using random scalars from verifier
- prove 2 relations in a single polynomial using sumcheck
Protocol
Let be the chosen number, then subintervals is formed.
Above relation represents . Thus, , and for . Similarly for , and for .
This gets reduced to 2 expression combined using random scalars by verifier:
- at