-
Notifications
You must be signed in to change notification settings - Fork 53
Description
Background
As I am working on a Dandelion Vac RFC specifying Dandelion for Waku Relay
(and by extension for libp2p, because Waku Relay builds on libp2p gossipsub),
I was looking into current implementations and analyses beyond the Dandelion/Dandelion++ papers.
The first goal is identifying anonymity properties,
and, if possible, relaxations that yield lower latency but still beneficial anonymity properties.
js-libp2p-gossipsub Dandelion Implementation
The current implementation of js-libp2p-gossipsub does not follow the Dandelion and/or Dandelion++ approaches directly.
It currently implements what the Dandelion paper refers to as "diffusion-by-proxy" with a fixed stem length
(the implementation features an additional degree parameter for the anonymity phase, though).
In contrast, Dandelion
- fixes the anonymity graph
- has a probabilistic stem length
- introduces random delay in the fluff phase (because it uses diffusion) which gossipsub does not do
Also, it introduces epochs and a fail-safe that diffuses messages if they are not received via fluff spreading after some time.
I wanted to ask if there is any analysis regarding the design choices made in the current implementation?
It will improve latency, but (presumably) at the cost of lower entropy (i.e. higher recall / precision for the attacker).
Dandelion Vac Spec
Would any js-libp2p-gossipsub Dandelion contributor be interested in collaborating on a Vac RFC specifying Dandelion for libp2p gossipsub / Waku Relay? I am currently working on a first raw version as a basis for discussion. We are interested in trade-offs leaning towards lower latency at a low anonymity cost.