google / trillian

A transparent, highly scalable and cryptographically verifiable data store.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Brainstorming: Verkle Tree support in Trillian (constant-sized proofs)

Dentrax opened this issue · comments

Last months, Ethereum published an article that called: Verkle tree structure. It was officially introduced by John Kuszmaul at 2018. 1 He mentions officially implemented in C++ but couldn't find the source code. @vbuterin wrote a blog post that compares the differences between Merkle Tree. 2

AFAIUC, Verkle Trees are similar to Merkle Trees but have constant-sized proofs.

I'm not an expert in Math, just dropping the idea here to discuss further about to implement Verkle Tree in Trillian, if it makes sense and worthy.

Found a Go implementation: https://github.com/gballet/go-verkle by @gballet
Video: Stateless Ethereum Meeting 13: Verkle Trees

Footnotes

  1. https://math.mit.edu/research/highschool/primes/materials/2018/Kuszmaul.pdf

  2. https://vitalik.ca/general/2021/06/18/verkle.html

Hello,

Thank you for the links. We indeed found Verkle trees interesting, and discussed them in the team last year.

It is unlikely that we are going to implement it in Trillian, because there is no well-defined request / use-case for it. We concluded that Verkle trees are optimal for "map" use-case, and not necessarily for the "log" case.

Also, at the moment Merkle trees are at the core of Trillian, so supporting another type of tree could well be an entirely new system.