Epidemic Broadcast Trees

The Epidemic Broadcast Trees paper defines a broadcast protocol for gossip-based message propagation.

It’s used in the secure-scuttlebutt protocol and is one of the contributing ideas for our own episub pubsub protocol.

Can someone who has experience with epidemic broadcast trees give some insight on why they’re cool?

1 Like

I looked at the Broadcast Trees paper and I wonder why they do not try something stable and proven, e.g. managed flooding as seen in Bluetooth Mesh:

  • The publish/subscribe model: The exchange of data within the mesh network is described as using a publish/subscribe paradigm. Nodes that generate messages publish the messages to an address, and nodes that are interested in receiving the messages will subscribe to such an address. This allows for flexible address assignment and group casting.

  • Two-layer security: Messages are authenticated and encrypted using two types of security keys. A network layer key provides security for all communication within a mesh network, and an application key is used to provide confidentiality and authentication of application data sent between the intended devices. The application key makes it possible to use intermediary devices to transmit data. Messages can be authenticated for relay without enabling the intermediary devices to read or change the application data. For example, a light bulb should not be able to unlock doors, even if the unlock command needs to be routed though the light bulb to reach the lock.

  • Flooding with restricted relaying: Flooding is the most simple and straightforward way to propagate messages in a network using broadcast. When a device transmits a message, that message may be received by multiple relays that in turn forward it further. Bluetooth mesh includes rules to restrict devices from re-relaying messages that they have recently seen and to prevent messages from being relayed through many hops.

  • Power saving with “friendship”: Devices that need low-power support can associate themselves with an always-on device that stores and relays messages on their behalf, using the concept known as friendship. Friendship is a special relationship between a low-power node and one neighboring “friend” node. Friendship is first established by the low-power node; once established, the friend node performs actions that help reduce the power consumption on the low-power node. The friend node maintains a cache that stores all incoming messages addressed to the low-power node and delivers those messages to the low-power node when requested. In addition, the friend node delivers security updates to the low-power node.

  • Bluetooth Low Energy Proxy: Some Bluetooth devices such as smartphones may not support the advertising bearer defined by Bluetooth mesh natively. To enable those devices within the mesh network, Bluetooth Mesh Profile specifies a proxy protocol using legacy Bluetooth connectivity, over which mesh messages can be exchanged.

1 Like