713 / 736ANON

Bitcoin Anonymity Networks

Bitcoin node를 위한 Tor, I2P, CJDNS

Bitcoin Anonymity Networks는 node가 일반 인터넷 주소를 직접 노출하지 않고 P2P connection을 맺거나 받을 수 있게 하는 transport layer입니다. Bitcoin Core는 Tor v3, I2P, CJDNS를 지원하지만 각 network가 보호하는 traffic 범위와 한계는 다릅니다.

Bitcoin node 통신을 위한 서로 다른 network path입니다. Tor는 SOCKS proxy와 onion services, I2P는 SAM interface를 통한 tunnel, CJDNS는 암호화된 IPv6 overlay를 사용합니다. 이 메커니즘은 transaction, blockchain, consensus를 바꾸지 않으며 그 자체로 사용자의 익명성을 보장하지 않습니다.

anonymity network가 다루는 것은 nodes 사이의 transport이지 Bitcoin transaction의 내용이 아닙니다. 일반 IP address를 상대에게 숨기거나 경로 관찰을 어렵게 할 수 있지만 공개 금액, address 연결, timing, on-chain heuristics는 별도 문제로 남습니다. [5]

Bitcoin Core는 outbound connection을 Tor SOCKS proxy로 보내고 inbound connection용 Tor v3 onion service를 만들 수 있습니다. version 22.0부터 Tor v2 address를 무시합니다. 잘못된 설정은 DNS 또는 clearnet traffic이 의도한 경로를 우회하게 할 수 있으므로 -proxy, -onion, -onlynet, -bind와 firewall의 조합이 중요합니다. [1]

I2P connection은 보통 127.0.0.1:7656에 있는 SAM interface 지원 외부 I2P router를 사용합니다. Bitcoin Core는 version 22.0부터 I2P를 지원하며 connection을 받을 때 기본적으로 영구 I2P address와 key를 만듭니다. -i2pacceptincoming=0이면 outbound connection마다 임시 address를 쓰지만 I2P 상대는 시작자의 address를 볼 수 있습니다. [2]

CJDNS는 fc00::/8 address와 public key based routing을 사용하는 암호화 IPv6 overlay입니다. Bitcoin Core는 version 23.0부터 -cjdnsreachable로 지원합니다. 문서는 CJDNS가 중간 routers에게 송신자와 수신자를 숨기지 않으며 peers가 적을 때 이것만 사용하지 말라고 명시합니다. [3]

BIP 155는 가변 길이 address와 Tor v3, I2P, CJDNS별 network IDs를 갖는 sendaddrv2 및 addrv2 message를 도입했습니다. node는 이 endpoints를 저장하고 gossip할 수 있습니다. address 공지만으로 그 network를 쓰거나 특정 traffic이 그 경로를 지났다고 증명되지는 않습니다. [4]

여러 network를 함께 쓰면 node가 peers로 가는 다른 경로를 확보해 가용성을 높이고 eclipse 또는 partition attack을 어렵게 할 수 있습니다. 같은 설정이 분리돼 보이는 identities를 연결할 수도 있습니다. 공격자는 uptime, 행동, 함께 공지된 address, clearnet과 overlay network traffic을 비교할 수 있습니다. [1]

Tor, I2P, CJDNS는 latency, 사용 가능한 peers 수, endpoint 가시성, Sybil resistance에서 다른 trade-off를 가집니다. onlynet mode는 다른 network로의 누출을 줄이지만 peer 집합이 작으면 동기화가 느려지고 소수 nodes 의존이 커집니다. 어떤 선택도 wallet 오류나 blockchain analysis를 해결하지 않습니다. [3]

검증은 실제 sockets와 node state를 확인해야 합니다. getnetworkinfo, -netinfo, -addrinfo, getpeerinfo는 local address, 알려진 endpoints 수, 구체적 connections를 보여 줍니다. Bitcoin Core 설정 외에도 실행 중인 Tor 또는 I2P router, CJDNS interface, DNS path, binds, firewall, inbound와 outbound traffic이 의도한 network를 실제 사용하는지 점검해야 합니다. [2]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Bitcoin 프라이버시, Full Node, Bitcoin Core, Dandelion++, 트랜잭션, Lightning Routing. 다음 항목에서도 이 글을 참조합니다 Paralelní Polis(평행 폴리스), Reusable Proofs of Work, Mix Network, Sybil Attack.

01Tor가 Bitcoin transaction을 익명으로 만드나요?

아닙니다. Tor는 node의 network path나 일반 IP address를 숨길 수 있지만 transaction은 blockchain에 공개 기록됩니다. Coin selection, address reuse, 금액, timing, exchange와의 연결은 Tor가 정상 작동해도 사용자를 식별할 수 있습니다.

02Bitcoin에 가장 좋은 anonymity network는 무엇인가요?

threat model 없이는 하나의 답이 없습니다. Tor는 가장 널리 지원되고 I2P는 다른 내부 network를, CJDNS는 빠른 암호화 overlay를 제공하지만 endpoint를 숨기는 방식은 같지 않습니다. 검증된 설정, 독립 peers 수, identity correlation 제한이 이름보다 중요합니다.

DOC · 001Bitcoin Core — Tor support in Bitcoin문서 DOC · 002Bitcoin Core — I2P support문서 DOC · 003Bitcoin Core — CJDNS support문서 DOC · 004BIP 155 — addrv2 message명세 DOC · 005Tor Project — How Onion Services Work문서
개정일: 1차 출처 우선 · 투자 조언이 아닙니다