Verkle Trees - Preimages generation & distribution


Why is this relevant for the Verkle conversion?

  • We have to migrate all the data from MPT to VKT
  • The keys in MPT are hashed
  • We need the preimage of the hash to rekey it into the VKT
  • Thus, we need all the preimages of the MPT tree

Overlay Tree overview & timeline mental model

image


Current proposed strategy

image


How to decide the right moment for Slot C?


Database generation and validation

  • Who generates the database? (TBD)
  • Can people easily verify it? (Yes)

Database format

  • Can be easy and efficient
  • Flat file with [20 byte | 32 byte] ordered values
  • No lookups, sequential read in the exact expected order
  • Redundancy?

How is the database distributed?

  • Out of protocol:
    • Multiple independent CDNs
    • Torrent
  • In protocol:
    • Build sub-protocol allowing clients to share file through peers

Most important question

  • How we distribute the preimage database? (In-protocol or out-protocol?)
Select a repo