Lookup Arguments and PLONKUP
Diving into the deep well of lookup arguments, tables and the variant lookup
At its core, a "lookup argument" is a method or protocol used to efficiently verify that a specific value or set of values exists within a predefined collection (like a table, list, or set) without revealing unnecessary information about the collection itself. It’s about proving membership or correctness of a computation involving lookups.
In zero-knowledge proofs, a lookup argument is a cryptographic technique that lets a prover demonstrate that a value (or set of values) used in a computation exists within a predefined table, without revealing the table’s full contents or exhaustively verifying each possible match. It’s a way to say, “I used a valid value from this list,” while keeping everything zero-knowledge (no extra info leaked) and efficient.
For example:
Table: {1, 4, 9, 16} (squares of 1–4).
Claim: “My computation used the value 9, which is in the table.”
Goal: Prove this without showing the table or checking 1, 4, 9, 16 one by one.
Traditional ZKPs might encode such checks as arithmetic circuits (e.g., using polynomials), but this can get unwieldy for large tables or complex constraints. Lookup arguments streamline this.
Going further into this section, it would be assumed that the reader has a good understanding of the PLONK protocol, if this assumption is wrong, please do something about is here
Chapter Seven: PLONK ProtocolWe would be looking into two lookup argument protocol used hand in hand with the PLONK protocol.
PLOOKUPHalo2 Lookup ProtocolLast updated