Skip to main content

Relayers

An IBC relayer is a key component in the IBC protocol, which enables different blockchain networks to communicate and interact with each other. The role of an IBC relayer is to monitor two or more blockchains that are connected via the IBC protocol and relay messages between them thus incurring transaction fees for submitting messages to each blockchain.

Relayer process

The relayer listens for specific events or transactions on each blockchain that indicate a request to send data or assets to another chain. Once a relevant event is detected on one blockchain, the relayer packages the information into a message and submits it to the other blockchain. This involves creating IBC packets that are then sent across the networks.

The receiving blockchain processes the message, executes the requested action (such as token transfer or light client update), and then sends back a confirmation or acknowledgment. The relayer may also relay this confirmation back to the original chain, completing the cycle.

Light client security

The security of IBC does not rely on the honesty of the relayers. IBC leverages cryptographic proofs to allow a blockchain to verify the state of another blockchain. When a relayer forwards a packet from one chain to another, it also includes a cryptographic proof of the state from the source chain.

Each blockchain in an IBC connection runs a light client of the other blockchains it communicates with. A light client is a lightweight version of a blockchain client that can verify the consensus state of the other blockchain, including block headers and commitments, without running a full node.

Unlike Cosmos SDK/Tendermint blockchains, a light client of a RollApp existing on Dymension is updated after a dispute period, which is a specified amount of blocks in Dymension's protocol. Market makers utilizing eIBC facilitate user orders and in turn receive ownership of the packet upon successful finalization of the RollApp light client.