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.