712 / 736D++

Dandelion++

以两阶段 transaction relay 缩小网络足迹

Dandelion++ 是一项提高 Bitcoin transaction relay 隐私的研究提案:transaction 先沿狭窄的 stem path 前进,之后才通过普通 fluff flooding 扩散,从而增加推断 origin node 的难度。

该 protocol 只改变 P2P relay 的第一阶段:在约十分钟的 epoch 内通过 pseudorandom stem graph 转发 transaction,切换到 fluff 后由网络正常宣布;它既不隐藏 on-chain data,也不改变 consensus。

Dandelion++ 针对一种具体 network trace:根据新 transaction 最初从何处传播来推断 origin node 的 IP。它不加密 transaction,不隐藏 amounts 或 addresses,也不消除 public blockchain 上留下的痕迹。 [1]

Relay 分两阶段。在 stem 阶段,transaction 不发送给所有 peers,而是沿狭窄的 pseudorandom path 传递;某个 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。Relay 或 diffuser 角色按 node 与 epoch pseudorandom 选择,而非每笔 transaction 重选,以应对原 Dandelion 的 graph-learning 和 intersection attacks。 [1]

Dandelion++ paper 不是 active Bitcoin BIP。BIP 156 描述的是较早的 Dandelion,已在未实现的情况下关闭;Bitcoin Core issue 20203 提议 Dandelion++,如今也已关闭且没有附加 branch 或 pull request。因此普通 Bitcoin Core 默认不使用 Dandelion++。 [3]

攻击者可以尝试 black-hole attack、占据 Sybil positions、学习 topology 或关联多笔 transactions。Random fail-safe embargo timer 会在 node 未及时看到 diffusion 时把 transaction 切换为 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 未实现便已关闭,关于 Dandelion++ 的 Bitcoin Core issue 20203 也已关闭且没有附加 branch 或 pull request。Paper 不能当作普通 node 已启用的功能。

02Dandelion++ 会让 Bitcoin transactions 匿名吗?

不会。它限制一种推断 network origin 的方法,但 transaction 仍公开记录在 blockchain 上,并可能通过 addresses、amounts、timing、coin selection 或其他 network observations 暴露关联。

DOC · 001Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees文档 DOC · 002BIP 156 — Dandelion: Privacy Enhancing Routing规范 DOC · 003Bitcoin Core issue 20203 — Dandelion++ transaction relay一手来源 DOC · 004A Systematic Analysis of the Security of Dandelion, Dandelion++ and Lightning Network文档
修订日期: 来源优先 · 非投资建议