비트코인과 같은 P2P 네트워크에서는
1. 사용자가 트랜잭션을 생성하면
2. 주변 노드들에게 즉시 브로드캐스트 되고
3. 네트워크 전체로 빠르게 퍼집니다.
하지만 이러한 방식은 트랜잭션이 어디서 처음 시작됐는지 추적하기 쉽다는 문제가 있습니다.
네트워크 감시자가 여러 노드를 운영하면, 최초 전파 지점을 비교해 발신자를 추정할 수 있습니다.
Dandelion의 기본 아이디어
이름처럼 민들레(dandelion) 구조를 따릅니다.
트랜잭션 전파를 두 단계로 나눕니다.
1. Stem Phase (줄기 단계)
트랜잭션을 무작위로 선택된 단일 노드에게만 전달
체인처럼 한 노드에서 다음 노드로 전달됨
이 구간에서는 브로드캐스트 하지 않음
목적: 발신자 위치를 숨김
2. Fluff Phase (솜털 단계)
일정 확률로 전환되면
해당 노드가 일반적인 방식으로 전체 네트워크에 브로드캐스트
이후는 기존과 동일하게 확산
Monero는 2020년부터 Dandenion++ 프로토콜을 채택하여 네트워크 계층의 공격까지 방어해줍니다.