description |
---|
A high level description of important roles played in the Abacus protocol |
The Abacus protocol is operated by a set of off-chain agents.
With the exception of the validators, the roles these agents play are simple, permission-less, and can be filled by anyone. For convenience, Abacus implements these agents as set of Rust binaries.
- Checkpointers periodically call
Outbox.checkpoint()
, which creates a new merkle root checkpoint, allowing messages to be passed to one or more Inboxes. - Validators sign checkpoints and make their signatures available to relayers.
- Relayers aggregate signatures on a given checkpoint and relay it to one or more Inboxes.
- Processors prove messages against an Inbox's accepted checkpoints and forward it to the recipient where the message is processed.