Protocol меняет только первую стадию P2P relay: в течение примерно десятиминутной epoch передаёт transaction по pseudorandom stem graph, а после перехода в fluff сеть объявляет её как обычно; on-chain data не скрываются, consensus не меняется.
Dandelion++ уменьшает конкретный сетевой след: возможность оценить IP origin node по месту первого распространения новой transaction. Он не шифрует transaction, не скрывает amounts или addresses и не удаляет следы, остающиеся в public blockchain. [1]
Relay состоит из двух фаз. В stem transaction не рассылается всем peers, а идёт по узкому pseudorandom route; когда node переходит в fluff, начинается обычная diffusion. Это создаёт задержку и неопределённость между настоящим source и первым местом широкого распространения. [1]
Для каждой примерно 10-минутной epoch Dandelion++ строит из выбранных outbound peers приблизительно 4-regular anonymity graph. Node выбирает до 2 stem relay connections, а новое назначение в следующей epoch ограничивает длительное наблюдение одного маршрута. [1]
Собственные transactions node в одной epoch выходят по одной stem edge, а полученные отображаются с incoming edge на outbound edge. Роль relay или diffuser выбирается pseudorandom для node и epoch, а не заново для каждой transaction; это противодействует graph-learning и intersection attacks на исходный Dandelion. [1]
Dandelion++ paper не является активным Bitcoin BIP. BIP 156 описывал старый Dandelion и был закрыт без implementation; Bitcoin Core issue 20203 предлагал Dandelion++, но теперь закрыт и не содержит attached branch или pull request. Обычный Bitcoin Core не использует его по default. [3]
Attacker может устроить black-hole attack, занять Sybil positions, изучать topology или сопоставлять несколько transactions. Random fail-safe embargo timer переводит transaction в fluff, если node вовремя не видит diffusion; это улучшает liveness, но timing и partial deployment оставляют утечки и задержки. [4]
Dandelion++ можно сочетать с Tor или I2P, но задачи различаются. Anonymity network скрывает transport path соединения, а Dandelion++ меняет transaction gossip между Bitcoin peers; ни один механизм сам не исправляет on-chain heuristics или ошибки coin control. [1]
Проверка claim требует конкретной implementation, а не одного названия. Нужно проверить feature negotiation, построение epochs и stem peers, mapping incoming edges, stem/fluff switch, embargo timer, fallback с incompatible peers и измеренные anonymity, latency и partial-deployment behavior. [2]
Для полной картины прочитайте эту статью вместе с Транзакция, Mempool, Full Node, Приватность в Bitcoin, Lightning Routing, Sybil Attack. На эту статью также ссылаются Bitcoin Anonymity Networks.
01Входит ли Dandelion++ в Bitcoin Core?+
Нет по текущему public state. Старый BIP 156 закрыт без implementation, и Bitcoin Core issue 20203 для Dandelion++ тоже закрыт без attached branch или pull request. Paper нельзя считать включённой функцией обычного node.
02Делает ли Dandelion++ Bitcoin transactions анонимными?+
Нет. Он ограничивает один способ оценки network origin, но transaction остаётся публичной в blockchain и может раскрывать связи через addresses, amounts, timing, coin selection или другие network observations.