この protocol が変えるのは P2P relay の初期段階だけである。約十分の epoch 中は pseudorandom に構成した stem graph で transaction を転送し、fluff へ移行後は通常どおり告知する。on-chain data を隠さず、consensus も変更しない。
Dandelion++ が抑えようとするのは、新しい transaction が最初にどこから広がったかを基に origin node の IP を推定するという特定の network trace である。transaction を暗号化せず、amounts や addresses を隠さず、public blockchain に残る痕跡も消さない。 [1]
Relay は二段階である。stem では transaction を全 peers に送らず、細い pseudorandom route を通す。ある node が fluff に切り替えると通常の diffusion が始まるため、真の source と最初の広範な拡散地点の間に遅延と不確実性が生じる。 [1]
Dandelion++ は約 10 分ごとの epoch に、選んだ outbound peers でおよそ 4-regular の anonymity graph を作る。Node は最大 2 本の stem relay connections を選び、次の epoch で割り当てを更新して同じ経路の長期観測を抑える。 [1]
Node 自身の transactions は一つの epoch 内で同じ stem edge から出し、受信した transactions は incoming edge から outbound edge へ map する。Relay または diffuser の役割は transaction ごとではなく node と epoch ごとに pseudorandom に選び、元の Dandelion への graph-learning と intersection attacks に対処する。 [1]
Dandelion++ paper は active Bitcoin BIP ではない。BIP 156 は古い Dandelion を記述し implementation なしで closed となった。Dandelion++ を提案した Bitcoin Core issue 20203 も現在は closed で、branch や pull request は付いていない。通常の Bitcoin Core は default で使わない。 [3]
Attacker は black-hole attack、Sybil positions、topology learning、複数 transactions の correlation を試せる。Random fail-safe embargo timer は node が時間内に diffusion を確認できない場合に fluff へ切り替える。liveness は高まるが、timing と partial deployment による情報漏れや遅延は残る。 [4]
Dandelion++ は Tor や I2P と組み合わせられるが役割は異なる。Anonymity network は connection の transport path を隠し、Dandelion++ は Bitcoin peers 間の transaction gossip を変える。どちらも単独では on-chain heuristics や coin-control mistakes を解決しない。 [1]
Claim の検証には名称だけでなく具体的な implementation が必要である。Feature negotiation、epochs と stem peers の構成、incoming-edge mapping、stem/fluff switch、embargo timer、incompatible peers 時の fallback、実測 anonymity、latency、partial-deployment behavior を確認する。 [2]
理解を深めるには、この項目とあわせて次もお読みください トランザクション, Mempool, Full Node, Bitcoin のプライバシー, Lightning Routing, Sybil Attack. 次の項目からも参照されています Bitcoin Anonymity Networks.
01Dandelion++ は Bitcoin Core の一部か?+
現在の公開状態では違う。古い BIP 156 は implementation なしで closed となり、Dandelion++ の Bitcoin Core issue 20203 も branch や pull request なしで closed である。Paper を通常の node で有効な機能として扱うことはできない。
02Dandelion++ は Bitcoin transactions を匿名にするか?+
しない。Network origin を推定する一つの方法を抑えるだけで、transaction は blockchain 上で公開され、addresses、amounts、timing、coin selection、その他の network observations から関連を推定され得る。