IBC relays on off-chain actors transferring packets and proofs between chains. Voyager is our in-house relayer, allowing us to support new networks without waiting for up-stream support.
We have opted for an event driven architecture, where the application uses an internal memory queue for observed events and I/O.
Voyager integrates over gRPC with Galois to offload computation to dedicated hardware, with pending support for proving markets.