Lasso presentation notes
Notes on the Lasso presentation and further conversations
Overall idea using an OR operation as an example:
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Represent the operands as bit-vectors
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Split them into eight 4-bit chunks
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Join each column into an 8-bit lookup table
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Lasso springs from Spartan. Spartan uses Spark. The Polynomial Commitment Scheme of Lasso is Surge
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Multilinear extensions
To make use of the Sum Check protocol, we transform each function into a multilinear extension. The domain becomes the boolean hypercube, that is, sequential integer indexes are represented as bit vectors
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
The boolean cube is the domain for the multilinear extension of this example
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
As mentioned, EQ~ is defined for a bigger domain than EQ that we need for the Sum Check protocol
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Jolt
While their Lasso implementation is ready to use, their Jolt implementation is under development in this branch github.com/a16z/lasso/tree/moodlezoup/jolt
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Understanding Surge (the Polynomial Commitment Scheme) is needed to build a Jolt VM, but apparently only that first paragraph in the Lasso paper
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Jolt API
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
materialise
is the evaluation over the boolean hypercube. evaluate_mle
is the evaluation over the extension function ~
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Example of an instruction VM: 8-bit EQ instruction Implementation
Convert to bit vectors and compare each bit. If all bits are equal, then 1 else 0
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
A useful mental model is a lookup table. On 64 bit operands, this table becomes size 2^128. This is too big, so we need to do something else
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
The solution is to split the input vectors into a series of 2-bit instructions. Bitwise operations are independent.
C is the subtable dimensionality (4 in this case). This creates a set of much smaller tables
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Splitting a lookup table into smaller lookup tables is efficient because the reduction is logarithmic. E.g. The cost of looking up a matrix of size (2^128) becomes the cost of looking up 2^{128/C} * (cost of constructing a structured submatrix) where C is a parameter we can choose.
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
- k is the number of subtable types you need to define the big table instruction
- g is how you combine subtables into a big table evaluation. In this case, it is just the product
- M is the size of the small subtables
- C is the number of subtables
Implementation of the 8-bit EQ instruction
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More โ
Other considerations
- Arithmetisation is not relevant here. It's only lookups that Lasso deals with. I believe Lasso uses Hyrax as a proving system right now but that is not important for us
- Many VMs can share instructions. This is great for auditing