Skip to main content

6. Network Broadcasts all messages

· One min read

Status

Accepted

Context

The simplified Head protocol in the Hydra paper requires unicast and multicast messaging between participants. However, this can be simplified to only multicast by also sending AckTx messages to all participants and removing the necessity for ConfTx.

There is already a battle-tested implementation for broadcasting messages over networks with any kind of topology (mesh), namely the TxSubmission protocol of ouroroboros-network.

If the network connects only to interested peers, broadcast is essentially the multicast required by the protocol. If this is not the case, some addressing scheme is required and broadcast would be a waste of resources.

Decision

  • All messages emitted by a Hydra node through the Network component are broadcasted to all nodes in the network
  • This implies the emitter shall itself receive the message

Consequences

  • The network layer is responsible for ensuring sent messages effectively reaches all nodes in the network. How this is achieved is left as an implementation detail, i.e. whether it uses relaying or not.
  • We need to make sure all Head participants are connected to the same network.