64 / 736PRIV

Bitcoin 프라이버시

Bitcoin Privacy

비트코인으로 결제한다고 해서 상대에게 내 재정 전체를 보여 주고 싶은 것은 아닐 것입니다. 하지만 공개된 결제 기록은 예상보다 많은 것을 드러낼 수 있습니다. 프라이버시를 지키려면 무엇이 보이고, 누가 나를 알며, 어떤 정보를 불필요하게 연결하고 있는지부터 이해해야 합니다.

Bitcoin 프라이버시란 공개 결제와 특정 사람, 그 사람의 다른 자금 사이의 연결을 줄이는 것입니다. 일반 거래에는 실명이 필요하지 않지만 사용한 자금, 새 출력과 금액은 보입니다. 청구서, 서비스 계정 또는 수취인이 이름을 더할 수 있습니다. 따라서 Bitcoin은 자동으로 익명성을 제공하지 않습니다.

Anna는 일한 대가로 100,000 sat를 받았습니다. sat는 비트코인의 최소 단위입니다. 나중에 이 자금에서 Pavel에게 20,000 sat를 지급하고, 79,000 sat는 자기 지갑으로 돌려받으며 1,000 sat는 수수료로 냅니다. 출력에는 금액과 그 금액을 쓰기 위해 충족해야 할 조건이 기록됩니다. 네트워크는 이 이동 전체를 봅니다. Pavel은 자신이 받은 금액과 Anna를 알기 때문에 다른 출력 중 무엇이 그녀의 거스름돈인지 추측할 수 있습니다. 이것이 곧 모든 저축을 드러내지는 않지만 단서는 됩니다. 은행 명세서와 달리 이 기록은 은행과 계좌 주인만 볼 수 있는 것이 아닙니다. 누구나 몇 년 뒤에도 다시 살펴볼 수 있습니다. [1]

낯선 사람은 공개 기록을 보고, Pavel은 Anna도 알고, 거래소는 그녀의 신분증을 가지고 있을 수 있습니다. 지갑 서비스 제공자는 앱이 어떤 주소를 조회하는지 알 수 있습니다. 누구에게 어떤 정보를 감추고 싶은지 정하는 것을 위협 모델이라고 합니다. 모두를 공격자로 여긴다는 뜻은 아닙니다. 고객에게 수입을 숨기는 일과 네트워크 연결을 보호하는 일에는 다른 대책이 필요하기 때문입니다. 개인키는 지갑이 결제를 승인하는 디지털 서명을 만들 때 사용하는 비밀 데이터입니다. 개인키를 비밀로 유지하는 것만으로 결제 기록까지 숨겨지지는 않습니다. [1] [3]

Anna는 고객마다 새로운 수신 주소를 줄 수 있습니다. 그러면 같은 주소에 반복해서 들어온 결제를 단순히 더해 수입을 파악하기 어려워집니다. 지갑은 보통 송금인에게 돌아오는 잔액, 즉 change라고 부르는 거스름돈에도 새 주소를 만듭니다. 이는 좋은 출발점이지 연결이 불가능하다는 보장은 아닙니다. Anna가 나중에 여러 주소의 자금을 한 결제에 합치면 스스로 새 단서를 만들 수 있습니다. 공개 기부 주소는 특별한 경우입니다. 투명성을 의도할 수는 있지만 그 주소의 입금은 더 이상 비공개가 아닙니다. [1]

지갑은 구분 없는 하나의 잔액을 관리하지 않습니다. 이전 거래에서 아직 쓰이지 않은 출력인 UTXO를 관리하고, 그중 일부를 결제의 입력으로 고릅니다. 여러 입력을 함께 쓰면 분석자는 흔히 주인이 같다고 추정합니다. 이는 휴리스틱, 즉 추정을 돕는 방법이지 증거가 아닙니다. 여러 사람이 함께 만드는 거래는 이 가정을 깨뜨립니다. Coin Control은 입력 선택에 관여할 수 있게 해 줍니다. 자금 출처를 적은 라벨은 구분을 유지하는 데 도움이 되지만 지갑 속 메모일 뿐 네트워크에 규칙을 강제하지 않습니다. 거스름돈을 이해하지 못한 채 수동 선택하면 프라이버시와 수수료 모두 불리해질 수 있습니다. [2] [7]

확장 공개키 XPUB에서 다른 공개키를 도출하고, 지갑의 주소 규칙과 결합하면 해당 분기의 주소를 만들 수 있습니다. 이 정보를 가진 사람은 해당 분기의 결제를 추적할 수 있지만 XPUB만으로 결제에 서명할 수는 없습니다. 범위는 어떤 키를 공유했는지에 달려 있습니다. 지갑 전체가 드러나는 것은 아니어도 민감한 정보입니다. 서비스는 출금을 KYC, 즉 고객 신원 확인으로 얻은 이름과 연결할 수 있습니다. 웹 거래 탐색기는 무엇을 어디서 조회했는지 기록할 수도 있습니다. 잔액 확인을 위해 복구 단어나 개인키를 넘겨서는 안 됩니다. 공개 정보조차 필요한 범위와 의미를 이해한 곳에만 공유해야 합니다. [1] [6]

앱은 어떤 결제가 자기 것인지 알아내야 합니다. 다른 사람의 서버에 주소 목록을 보내면 주소 사이의 관계를 드러낼 수 있습니다. Full Node는 네트워크 규칙에 따라 비트코인 거래와 블록을 독립적으로 검증하는 소프트웨어를 실행하는 컴퓨터입니다. 자신의 Full Node는 지갑이 실제로 그 노드에서 데이터를 얻을 때 도움이 됩니다. 필요하다면 자체 색인 서비스를 거칠 수도 있습니다. 지갑 옆에 노드만 설치해서는 충분하지 않습니다. 가벼운 지갑은 BIP 157 압축 필터를 이용해 주소 목록을 보내지 않고 로컬에서 일치 여부를 찾을 수 있습니다. 그래도 다른 네트워크 단서는 남습니다. Tor는 인터넷 연결의 주소인 IP 주소 노출을 줄일 수 있지만 공개 금액이나 거래 사이의 관계는 바꾸지 않습니다. [1] [3]

관찰자가 주소에서 이름을 직접 알아낼 필요는 없습니다. 정확한 금액이 적힌 공개 청구서, 공개한 구매 시점과 뒤이은 결제만으로 충분할 수도 있습니다. 거래 구조와 거스름돈으로 보이는 출력도 단서를 줍니다. 하나의 특징만으로 소유자를 확실히 입증하지는 못하지만 여러 특징이 합쳐지면 추정은 강해집니다. 여러 지갑에 자금을 나눠도 나중에 다시 합치면 구분에 도움이 되지 않습니다. Bitcoin Core의 고급 기능 avoid partial spends는 같은 주소의 출력을 함께 쓰도록 선택할 수 있습니다. 해당 주소에서 나눠 결제할 때 새로운 연결이 생기는 것을 줄이지만 입력과 수수료가 늘어날 수 있습니다. 결과는 설정한 수수료 한도에도 달려 있으며 만능 익명화 도구는 아닙니다. [1] [5]

CoinJoin은 여러 사람의 자금을 한 거래에 모읍니다. 관찰자는 새 출력 각각을 원래 어느 소유자가 통제하는지 알아내기 어려워질 수 있습니다. PayJoin은 다르게 작동합니다. 수취인이 송금인의 결제에 자기 입력을 추가하므로 모든 입력의 주인이 하나라는 단순한 가정이 성립하지 않습니다. 어느 방법도 기록을 지우거나 익명성을 보장하지 않습니다. 결과는 프로토콜, 참여자, 다른 사람이 아는 정보와 이후 결제에 달려 있습니다. 사용 전에는 조정 방식, 수수료와 절차가 중단될 때 일어나는 일도 이해해야 합니다. 기능 이름 자체는 아무것도 보장하지 않습니다. [2] [7]

BIP 352의 Silent Payments는 고정된 결제 정보를 공개하고 송금인이 거기서 서로 다른 목적지 출력을 만들게 합니다. 수취인은 사람마다 새 일반 주소를 미리 보낼 필요가 없습니다. 다만 수취 지갑은 이 프로토콜을 지원하고 입금을 식별하기 위해 데이터를 스캔해야 합니다. 명세는 결제를 찾는 키와 자금을 쓰는 키를 분리합니다. 백업과 복구는 사용하는 지갑에 맞아야 하며 사용한 라벨도 중요할 수 있습니다. Silent Payments 라벨은 별개 신원이 아닙니다. 공개 결제 정보가 동일한 스캔 공개키를 공유하기 때문입니다. 이 기술도 이후의 자금 이동을 전부 숨기지는 않습니다. [4]

일반적인 입금마다 새 주소를 쓰고, 불필요한 결제 증빙을 공개하지 않으며 지갑이 어디서 데이터를 얻는지 확인하세요. 자금 출처를 기록하고 연결하고 싶지 않은 용도를 나눕니다. 입력을 수동으로 고르거나 고급 기술을 쓰기 전에 영향을 이해하세요. 실수는 프라이버시를 위해 반드시 치러야 하는 대가가 아닙니다. 주소, 백업과 수수료 확인도 여전히 중요합니다. 목표는 불필요한 정보 공개를 줄이는 것이지, 누구도 나를 어떤 결제와도 연결할 수 없다는 잘못된 확신을 얻는 것이 아닙니다. [1] [3] [4]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 가명성, CoinJoin, Coin Control, KYC, Bitcoin, 비트코인 주소. 다음 항목에서도 이 글을 참조합니다 Watch-only Wallet, Coin Control, Change Address, Extended Public Key (xpub).

DOC · 001Bitcoin.org — Protect Your Privacy문서 DOC · 002BIP 78 — A Simple Payjoin Proposal명세 DOC · 003BIP 157 — Client Side Block Filtering명세 DOC · 004BIP 352 — Silent Payments명세 DOC · 005Bitcoin Core 0.21 — Avoid Partial Spends문서 DOC · 006BIP 32 — Hierarchical Deterministic Wallets명세 DOC · 007Gregory Maxwell — CoinJoin: Bitcoin privacy for the real world1차 출처
개정일: 1차 출처 우선 · 투자 조언이 아닙니다