Problem:

In Merkle Tree we have a way to trade time for space when it comes to opening commitments, prover can be very efficient by storing part of the tree.

What are the equivalent possibilities in constant-size vector commitments? Let’s look at LVC construction we recently published here.

DRI: Anca Nitulescu

Talk is available here.

Muppets: New Maintainable VC from LVC

https://docs.google.com/presentation/d/1c0bI_ZKe90Fi_HpUsPskGBPikfmxyG3RUHp6VrAdoCk/edit?usp=sharing

Tree-based VC: High-level description

We have two novel maintainable VC constructions that can be instantiated from any underlying VC scheme with homomorphic proofs.

We show how to achieve a stronger, more flexible form of maintainability: our schemes allow to arbitrary tune the memory used to save on the opening time.

One construction is based on multivariate polynomials, the other on univariate polynomials:

  1. The multivariate case is a generalisation of Hyperproofs that uses binary trees:
  2. The univariate construction:

Univariate Muppets: Construction

How it works:

We divide the vector $v$ (size $2^n$) in small chunks $v_j$ of size $2^k$. We have $2^n=2^{m+k+1}$

We then arrange these chunks in a tree as follows:

Screenshot 2022-06-17 at 14.54.41.png

More of how to compute each level: