You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 8, 2023. It is now read-only.
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:
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.
The initial ABCI interface for Fraud Proof Generation looked as follows:
GetAppHash () -> appHashTriggerFraudProofGenerationMode () -> ModeEnabledSuccessGenerateFraudProof () -> FraudProofHowever, this design requires
Optimintto callBeginBlock,DeliverTx,EndBlockagain 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 incosmos-sdkand not haveOptimintworry 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:
GetAppHash () -> appHashGenerateFraudProof (beginBlockRequest, []deliverTxRequests, endBlockRequest) -> FraudProofThis new
GenerateFraudProofwould take in the partial relevant requests made during the execution of a block corresponding toBeginBlock,DeliverTx, andEndBlockrespectively 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.