Paper: https://eprint.iacr.org/2024/1259.pdf

The paper presents a key observation: as the arity (the number of branches per node) increases, the probability of collisions drops significantly. This leads to a proposed sketch of a tree construction based on multicollision hardness, which results in a near 2-fold reduction in the depth of the tree compared to traditional constructions. The depth of the tree, in this case, is approximately equal to the security parameter $\lambda$, offering a substantial improvement.

To improve both (non-)membership proof complexity and insertion complexity, the authors propose a construction for storing nullifiers that relies on the random oracle model. The random oracle model introduces post-factum randomness and rate-limiting to prevent malicious actors from querying the oracle before inserting keys. This randomness, combined with rate-limiting, improves security by making it difficult for an adversary to precompute key collisions.

Efficiency Gains (Section 4.2)

The authors also explore more general-purpose constructions, such as:

Screenshot 2024-10-09 at 12.50.06.png

Components

  1. Addressable Binary Hash Tree (Depth $d_a$): This tree stores the top-level structure, directing key-value pairs to a particular bucket. The depth $d_a$ represents how far into the tree we travel before hitting a bucket.
  2. Buckets: Each bucket can hold up to $s-1$ elements, where $s$ represents the threshold for collision. A collision here means two or more elements hashing to the same bucket. By increasing the number of elements a bucket can hold, the likelihood of collision is reduced. The bucket itself serves as a smaller container to hold elements after the top-level tree path has directed the input there.

picturetree.png

Insertion Process

To insert a key-value pair $(k, v)$:

  1. The system hashes the key $k$ into an index $h=H(k)$.
  2. The first $d_a$ bits of this index dictate the path to the correct bucket.