Relayer & Cluster
Relayers are the backbone of the Marlin network who propagate the blocks from producers to receivers. A cluster is a group of relayers who collectively are responsible for propagating the blocks.
As the rewards are distributed to a subset of clusters who propagate the chunks first, clusters are incentivized to be performant and geographically distributed to ensure low latency distribution of chunks to as many receivers as possible.
The protocol allows for flexible cluster management which means clusters are free to choose their own mechanisms to determine how to onboard and manage relayers in the cluster. The rewards are also distributed to the cluster as a whole and the distribution among individual relayers is left to the cluster.
A cluster that is assigned for a particular chunk receives it from the producer and performs necessary spam prevention checks before propagating it to other relayers within the cluster. Each relayer is connected to their own set of receivers who will recieve the chunk from the relayer. Each receiver returns a receipt for the chunk received which is used in the reward mechanisms.