712 / 736D++

Dandelion++

네트워크 흔적을 줄이는 두 단계 transaction relay

Dandelion++는 Bitcoin transaction relay의 privacy를 높이기 위한 연구 제안이다. 먼저 좁은 stem path로 transaction을 보내고 이후 일반 fluff flooding으로 확산해 origin node 추정을 어렵게 한다.

이 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의 새 배정은 같은 route의 장기 관찰을 제한한다. [1]

Node가 만든 transactions는 한 epoch 동안 같은 stem edge로 나가고 받은 transactions는 incoming edge에서 outbound edge로 mapping된다. 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, measured 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로 관계가 드러날 수 있다.

DOC · 001Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees문서 DOC · 002BIP 156 — Dandelion: Privacy Enhancing Routing명세 DOC · 003Bitcoin Core issue 20203 — Dandelion++ transaction relay1차 출처 DOC · 004A Systematic Analysis of the Security of Dandelion, Dandelion++ and Lightning Network문서
개정일: 1차 출처 우선 · 투자 조언이 아닙니다