celestiaorg / celestia-specs

Celestia Specifications
Creative Commons Zero v1.0 Universal
51 stars 14 forks source link

Use a Merkle accumulator for history #29

Open adlerjohn opened 4 years ago

adlerjohn commented 4 years ago

Instead of a linear previous-blockhash, a Merkle accumulator (such as a Merkle mountain range) should be used. This allows for proving inclusion of a block in the chain with a logarithmic number of hashes, which is especially in the context of cross-chain relays.

adlerjohn commented 4 years ago

It might be possible to capture all the benefits of an in-protocol history MMR with a history MMR computed entirely client-side (i.e. add a new leaf to a locally-maintained MMR for each new block header).