[Resource Topic] 2023/1216: Unlocking the lookup singularity with Lasso

Welcome to the resource topic for 2023/1216

Unlocking the lookup singularity with Lasso

Authors: Srinath Setty, Justin Thaler, Riad Wahby


This paper introduces Lasso, a new family of lookup arguments, which allow an untrusted prover to commit to a vector a \in \mathbb{F}^m and prove that all entries of a reside in some predetermined table t \in \mathbb{F}^n. Lasso’s performance characteristics unlock the so-called “lookup singularity”. Lasso works with any multilinear polynomial commitment scheme, and provides the following efficiency properties.

For m lookups into a table of size n, Lasso’s prover commits to just m + n field elements. Moreover, the committed field elements are small, meaning that, no matter how big the field \mathbb{F} is, they are all in the set \{0, . . . , m\}. When using a multiexponentiation-based commitment scheme, this results in the prover’s costs dominated by only O(m + n) group operations (e.g., elliptic curve point additions), plus the cost to prove an evaluation of a multilinear polynomial whose evaluations over the Boolean hypercube are the table entries. This represents a significant improvement in prover costs over prior lookup arguments (e.g., plookup, Halo2’s lookups, lookup arguments based on logarithmic derivatives).

Unlike all prior lookup arguments, if the table t is structured (in a precise sense that we define), then no party needs to commit to t, enabling the use of much larger tables than prior works (e.g., of size 2^{128} or larger). Moreover, Lasso’s prover only “pays” in runtime for table entries that are accessed by the lookup operations. This applies to tables commonly used to implement range checks, bitwise operations, big-number arithmetic, and even transitions of a full-fledged CPU such as RISC-V. Specifically, for any integer parameter c > 1, Lasso’s prover’s dominant cost is committing to 3 \cdot c \cdot m + c \cdot n^{1/c} field elements. Furthermore, all these field elements are “small”, meaning they are in the set \{0, . . . , \max{(m, n^{1/c}, q)} − 1\}, where q is the maximum value in a.

Lasso’s starting point is Spark, a time-optimal polynomial commitment scheme for sparse polynomials in Spartan (CRYPTO 2020). We first provide a stronger security analysis for Spark. Spartan’s security analysis assumed that certain metadata associated with a sparse polynomial is committed by an honest party (this is acceptable for its purpose in Spartan, but not for Lasso). We prove that Spark remains secure even when that metadata is committed by a malicious party. This provides the first “standard” commitment scheme for sparse multilinear polynomials with optimal prover costs. We then generalize Spark to directly support a lookup argument for both structured and unstructured tables, with the efficiency characteristics noted above.

ePrint: https://eprint.iacr.org/2023/1216

See all topics related to this paper.

Feel free to post resources that are related to this paper below.

Example resources include: implementations, explanation materials, talks, slides, links to previous discussions on other websites.

For more information, see the rules for Resource Topics .

YouTube playlist for Lasso (and Jolt)
a16z crypto blog post: Approaching the ‘lookup singularity’: Introducing Lasso and Jolt
a16z crypto blog post: Understanding Lasso and Jolt, from theory to code

1 Like