Triggering A Verification Data Request With An IVM
Last updated
Last updated
The state verification powering interop protocol message passing is managed by a custom of off-chain software typically referred to in most interop designs as a Relayer. This software is responsible for passing a message between the origin and target network. The most common security setup for Relayers is either a single signer key from a centralized entity, or a multi-sig with private keys managed directly by protocol entity team members or by a collection of entities. The verification process in a multi-sig is coupled with the relaying of a message between chains. SEDA IVMs, however, are triggered parallel to the relayer reading and transporting the message between networks.
When an IVM is triggered, a data request with an ID matching the protocol requesting verification, is sent to the SEDA Network. The data request is sent to the SEDA Network via a single Solver from within a decentralized network of Solvers. Once on the SEDA Chain, the request is forwarded to an Overlay Node Network, where a secret committee of Overlay Nodes are randomly selected.
This committee then queries the RPC endpoints via pre-selected data providers (as per the protocol's IVM instructions). Overlay Nodes follow a commit-reveal scheme to return/deliver their results to a DR Tally. The DR Tally follows an IVM's instructions to filter, clean, and aggregate data. The final aggregated results are sent to the SEDA Main Chain, where the data is batched.
The Solver then relays the data, encrypted with cryptographic proofs and signed by main chain validators, to the Prover Contract on the destination chain. Lastly, the verification proof is made available from the Prover Contract to a bridge contract to trigger the desired event on the destination chain.