diff --git a/doc/dandelion/dandelion.md b/doc/dandelion/dandelion.md index c4ca4f37b..8b8ab898a 100644 --- a/doc/dandelion/dandelion.md +++ b/doc/dandelion/dandelion.md @@ -31,8 +31,9 @@ The Dandelion protocol is based on three mechanisms: 1. *Stem/fluff propagation.* Dandelion transactions begin in “stem mode,” during which each node relays the transaction to a single randomly-chosen peer. With some fixed probability, the transaction transitions to “fluff” mode, after which it is relayed according to ordinary flooding/diffusion. 2. *Stem Mempool.* During the stem phase, each stem node (Alice) stores the transaction in a transaction pool containing only stem transactions: the stempool. The content of the stempool is specific to each node and is non shareable. A stem transaction is removed from the stempool if: - 1. Alice receives it "normally" advertising the transaction as being in fluff mode. - 2. Alice receives a block containing this transaction meaning that the transaction was propagated and included in a block. + + 1. Alice receives it "normally" advertising the transaction as being in fluff mode. + 2. Alice receives a block containing this transaction meaning that the transaction was propagated and included in a block. 3. *Robust propagation.* Privacy enhancements should not put transactions at risk of not propagating. To protect against failures (either malicious or accidental) where a stem node fails to relay a transaction (thereby precluding the fluff phase), each node starts a random timer upon receiving a transaction in stem phase. If the node does not receive any transaction message or block for that transaction before the timer expires, then the node diffuses the transaction normally.