celestia-app icon indicating copy to clipboard operation
celestia-app copied to clipboard

state fraud proofs (celestia): verification logic

Open liamsi opened this issue 4 years ago • 2 comments

Verifying a fraud proof requires knowledge of the state logic. We need to investigate which parts will have to live:

  1. in the abci app itself
  2. in the Cosmos-SDK
  3. lazyledger-core

~~Lazyledger-core most likely should provide a simple library (reactor?) to gossip fraud proofs. Maybe the evidence pool can be re-used for that. This should be as light-weight as possible, as we would want light-clients to also participate in the gossiping.~~ Fraud proofs will be gossiped by Celestia-nodes: https://github.com/celestiaorg/celestia-node Additionally, celestia-core needs to collect the intermediate state in Block.Data (https://github.com/lazyledger/lazyledger-core/issues/84).

The Cosmos-SDK probably needs modifications to produce these intermediate state roots (https://github.com/lazyledger/cosmos-sdk/issues/8 and https://github.com/lazyledger/cosmos-sdk/issues/9).

Fraud proofs generation and verification could happen in a separate module/in the lazyledger-app itself.

The overall design should be part of https://github.com/lazyledger/optimint/issues/23 too. ADRs that link to each other in the particular repositories will inform this design document.

Ideally, the design should be independent of which tree is actually used (iavl/smt/other) (ref: https://github.com/lazyledger/cosmos-sdk/issues/8)

liamsi avatar Mar 20 '21 09:03 liamsi

@liamsi, looks like the description needs to be updated according to the latest plans

Wondertan avatar Aug 17 '21 09:08 Wondertan

Thanks for the nudge. Updated the gossiping part.

liamsi avatar Aug 17 '21 09:08 liamsi