Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Modify Fraud Proof ABCI Interface to combine Trigger and Generate #62

@Manav-Aggarwal

Description

@Manav-Aggarwal

The initial ABCI interface for Fraud Proof Generation looked as follows:

  1. GetAppHash () -> appHash
  2. TriggerFraudProofGenerationMode () -> ModeEnabledSuccess
  3. GenerateFraudProof () -> FraudProof

However, this design requires Optimint to call BeginBlock, DeliverTx , EndBlock again on a new cosmos-sdk app with a reverted state. It does so to fast-forward it to right before the fraudulent state transition so that it can then generate a fraud proof from that state. Ideally, we’d have all this just take place in cosmos-sdk and not have Optimint worry about it.

Since an ABCI method can call another ABCI method within itself, we combine two of the methods in the initially proposed design. The modified design looks as follows:

  1. GetAppHash () -> appHash
  2. GenerateFraudProof (beginBlockRequest, []deliverTxRequests, endBlockRequest) -> FraudProof

This new GenerateFraudProof would take in the partial relevant requests made during the execution of a block corresponding toBeginBlock, DeliverTx, and EndBlock respectively needed to generate a Fraud Proof. Note that this set of requests is only made of state transitions right before a fraudulent block and the last state transition in this set of requests refers to the fraudulent state transition.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions