MSTR Cat

블록체인/레벨 IV · 프로토콜 심화/4.3 커스터디와 프라이버시/수업 6

프라이버시: 체인의 정보 유출, CoinJoin과 PayJoin

약속됐던 익명성, 이를 무너뜨린 휴리스틱, 그리고 이에 맞서는 도구들

준비물블록 탐색기 인터페이스(예: mempool.space 또는 blockchain.com)참고용으로 알려진 코인조인 트랜잭션 목록입력/출력 개수와 금액을 기록할 공책블록 탐색기

호기심

  1. 왜 재사용된 주소 하나가 서로 다른 두 거래를 영구적으로 연결하게 될까요?
  2. 서로 모르는 여러 사람이 어떤 출력이 누구 것인지 드러내지 않고 어떻게 입력을 하나의 트랜잭션으로 합칠 수 있을까요?
  3. 2024년에 가장 유명했던 프라이버시 도구들의 개발자들은 어떻게 되었을까요?

탐구

    파트 I개인정보 보호: 주소 재사용 및 코인조인

  1. 비트코인의 원장은 공개되어 있고 변경할 수 없습니다. 제네시스 블록부터 모든 입력과 출력은 노드를 운영하는 누구에게나 보입니다. 백서 10장은 다중 입력 거래가 '필연적으로 그 입력들이 같은 소유자의 것이었음을 드러낸다'고 인정합니다. 분석가들은 이를 공통 입력 소유 휴리스틱(common-input-ownership heuristic)이라 부르며, 어떤 코인이 함께 지출되는지 관찰해 주소들을 주체별로 묶는 데 활용합니다.
  2. 주소 재사용은 이러한 노출을 더 키웁니다. 수취인이 같은 주소로 여러 번 결제를 받으면, 그 주소와 연관된 모든 UTXO가 확정적으로 연결됩니다. 체인 분석 업체들은 이런 휴리스틱을 바탕으로 주소 간 자금 흐름을 매핑해 주체를 식별하는 서비스를 판매합니다. 잔돈 출력도 금액이나 시점 패턴으로 식별될 수 있어 추가적인 묶음이 가능합니다. 그 결과, 수년에 걸쳐 여러 거래 상대방을 가로질러 자금 이력을 추적할 수 있는 그래프가 만들어집니다.
  3. 지갑 사용 관행에는 대응책이 있습니다. 결제마다 새 주소를 쓰면 재사용을 통한 직접 연결을 막을 수 있습니다. 코인 컨트롤을 사용하면 서로 관련 없는 출처의 코인을 함께 지출하지 않을 수 있어, 이력의 서로 다른 부분이 하나로 합쳐지지 않습니다. 이런 관행을 실천하려면 각 출력에 어떤 UTXO를 사용할지 세밀하게 제어하는 지갑 기능이 필요하며, 단순한 '전부 지출' 로직을 넘어 더 정교한 선택 알고리즘이 요구됩니다.
  4. 2013년 그레고리 맥스웰이 제안한 코인조인은 여기서 한 걸음 더 나아갑니다. 여러 사용자가 각자의 입력을 하나의 트랜잭션으로 합치고, 금액이 동일한 출력들을 만듭니다. 출력끼리 서로 구별되지 않으므로 관찰자는 어떤 출력이 어떤 입력에 해당하는지 알 수 없습니다. 이 방식은 신뢰할 제3자 없이 송신자와 수신자 사이의 연결을 끊으며, 대신 공유 트랜잭션 안에서 동일 금액 출력이 만드는 수학적 모호성에 의존합니다.
  5. JoinMarket(2015), Wasabi Wallet(2018), Samourai의 Whirlpool 같은 구현이 코인조인을 사용자들에게 보급했습니다. 그러나 법적 압박이 거세졌습니다. 2024년 4월 미국 당국은 Samourai Wallet 창업자들을 체포하고 자금세탁 공모 및 무허가 송금업 운영 공모 혐의로 기소했습니다. 2025년 그들은 무허가 송금업 혐의에 대해 유죄를 인정했고 징역형을 선고받았습니다. 2024년 6월에는 Wasabi의 코디네이터 서비스를 운영하던 zkSNACKs가 운영을 중단했습니다. 이러한 사건들은 코인조인이 프로토콜 차원의 기능이지만, 그 구현은 상당한 규제 감시를 받는다는 것을 보여 줍니다.
  6. 블록 탐색기에서 알려진 코인조인을 찾아보세요(일부 탐색기는 코인조인에 라벨을 붙여 둡니다). 많은 입력, 금액이 동일한 출력 묶음, 그리고 여전히 소유자와 연결될 수 있는 더 작은 '잔돈' 출력에 주목하세요. 프라이버시는 동일한 출력에서 나옵니다. 한 참여자의 코인을 구별되게 만드는 요소는 무엇이든 프라이버시를 약화합니다.
  7. 파트 II비트코인의 프라이버시 모델과 정보 유출

  8. 사토시 나카모토의 백서는 10절에서 익명성을 통한 프라이버시를 제안했습니다. 공개 키는 이름과 연결되어 있지 않으며 단지 문자열일 뿐입니다. 거래마다 새로운 키 쌍을 사용하면 사용자는 연결을 제한할 수 있었지만, §10 스스로도 다중 입력 거래는 공동 소유를 드러낸다는 점을 인정했습니다. 이 설계는 주식 시장의 체결 기록(테이프)을 닮았습니다. 누구나 거래 규모와 시각은 볼 수 있지만, 누가 체결했는지는 아무도 모릅니다.
  9. 체인 분석은 휴리스틱을 통해 이 모델을 무너뜨렸습니다. 그중 가장 강력한 것은 ‘공통 입력 소유권’ 휴리스틱입니다. 하나의 거래가 여러 입력을 사용하면, 그 입력들은 같은 소유자의 것으로 간주됩니다. 지갑 소프트웨어는 종종 UTXO를 새 주소로 통합하는데, 이때 생기는 다중 입력 거래가 이전에는 분리되어 있던 주소들을 하나의 클러스터로 묶습니다. 한 번의 통합만으로도 지갑의 상당 부분이 서로 연결될 수 있습니다.
  10. 거스름돈 탐지는 문제를 더 키웁니다. 송금자가 전체 잔액보다 적은 금액을 지불하면, 자신에게 돌아오는 거스름돈 출력이 생깁니다. 분석가들은 스크립트 유형이나 금액으로 이를 찾아냅니다. 딱 떨어지는 금액의 출력은 보통 지불금이므로, 나머지 출력이 거스름돈으로 분류됩니다. 어떤 주소가 특정 사용자의 ‘거스름돈’으로 식별되면, 그 주소에서 이후 이루어지는 모든 지출이 그 사용자와 연결됩니다. 지갑이 같은 주소를 다시 사용하는 주소 재사용은 이러한 연결을 영구적이고 눈에 띄게 만듭니다.
  11. 네트워크 수준의 관찰은 또 하나의 층을 더합니다. 어떤 노드가 다른 어떤 피어도 본 적 없는 거래를 브로드캐스트하면, 그 노드의 IP 주소가 발신자와 연결됩니다. 이와 별개로, Meiklejohn 등이 2013년에 발표한 연구 ‘A Fistful of Bitcoins’는 클러스터링 휴리스틱과 소수의 알려진 주소만으로 대형 서비스를 식별하고 그 사이의 자금 흐름을 추적할 수 있음을 보여주었습니다. 거래소의 KYC 기록은 마지막 연결 고리가 됩니다. 거래소가 사용자의 신원을 확인하면, 그 사용자의 입금과 출금은 그 사람의 것으로 귀속됩니다.
  12. 2014년에 설립된 Chainalysis는 이러한 분석을 산업화했습니다. 이 회사의 소프트웨어는 정부와 거래소를 위해 자금 흐름을 추적하며, 수십억 달러 규모의 거래를 매핑합니다. 프라이버시는 단순한 비밀 유지의 문제가 아닙니다. 협박으로부터의 안전, 공급업체 가격 같은 상업 데이터의 보호, 그리고 코인의 대체 가능성에 관한 문제입니다. 특정 코인이 ‘더러운’ 코인으로 표시되거나 범죄자와 연결되면, 그 코인의 가치는 ‘깨끗한’ 코인에 비해 떨어집니다.
  13. 지갑 관리 습관(wallet hygiene)은 이러한 유출을 줄여주지만 완전히 없애지는 못합니다. 결제마다 새 주소를 사용하고 다중 입력 거래로 통합하는 것을 피하면 그래프 클러스터링을 줄일 수 있습니다. 그러나 근본적인 긴장은 여전히 남습니다. 비트코인의 투명성 덕분에 누구나 원장을 검증할 수 있지만, 같은 이유로 누구나 원장을 분석할 수도 있습니다. 백서가 약속한 익명성은 사용자가 엄격한 규율을 지킬 때만 유지되며, 이는 많은 상용 지갑이 감당하지 못하는 부담입니다.
  14. 파트 III코인조인, 페이조인과 법률

  15. 그레고리 맥스웰은 2013년 bitcointalk에서 코인조인을 제안했습니다. 이 메커니즘은 여러 사용자의 입력을 하나의 거래로 합치고, 같은 금액의 출력 여러 개를 만듭니다. 이를 통해 체인 분석 업체들이 주소를 연결하는 데 사용하는 공통 입력 소유권 휴리스틱을 무너뜨립니다. 다섯 명이 참여하면, 외부 증거 없이는 어떤 입력도 특정 출력과 확실하게 연결할 수 없습니다.
  16. Wasabi(zkSNACKs)와 Samourai(Whirlpool) 같은 지갑은 조율형 코인조인을 구현했습니다. 이를 위해서는 거래 규모가 호환되는 참가자들을 매칭해 줄 중앙 서버가 필요했습니다. zkSNACKs는 2024년 6월 1일 코디네이터 운영을 중단했지만, 커뮤니티가 운영하는 서버들은 계속 가동되었습니다. 이러한 중앙화된 아키텍처는 단일 장애 지점을 만들었고, 운영자들을 법적 리스크에 노출시켰습니다.
  17. Samourai의 창립자들은 2024년 4월 체포되었습니다. 로드리게스는 미국에서, 힐은 미국의 요청에 따라 포르투갈에서 체포되었습니다. 이들은 2025년 7월 무허가 송금업 운영 공모 혐의에 대해 유죄를 인정했습니다. 2025년 11월에는 각각 징역 5년과 4년을 선고받았습니다. 검찰은 이 믹싱 서비스를 면허가 필요한 송금업자로 취급했으며, 이러한 법적 해석은 유사한 도구의 개발을 위축시켰습니다.
  18. 페이조인(BIP-78)은 코디네이터가 필요 없는 대안을 제공합니다. 수신자가 결제를 받을 때, 수신자의 지갑은 자신의 UTXO 하나를 입력으로 추가하고 그 금액만큼 자신의 출력을 늘립니다. 이렇게 하면 관찰자에게 정확한 결제 금액이 숨겨지고, 단 두 당사자 사이에서 공통 입력 휴리스틱이 무너집니다. 코인조인보다 단순하지만 기본적인 프라이버시 보호에는 여전히 효과적입니다.
  19. 비동기 버전인 BIP-77(v2)은 송신자와 수신자가 동시에 온라인 상태가 아니어도, Oblivious HTTP를 사용하는 암호화된 릴레이를 통해 메시지를 주고받으며 페이조인을 완료할 수 있게 해줍니다. Payjoin Dev Kit은 2026년 8월 버전 1.0에 도달했습니다. 이 방식은 협상 과정을 최종 브로드캐스트와 분리하므로 네트워크 중단에 더 강하며, 복잡한 상태 관리 없이 기존 지갑 인프라에 통합하기도 더 쉽습니다.
  20. 블록 탐색기를 열어 일반 거래와 알려진 코인조인 또는 페이조인 출력을 비교해 보세요. 조율형 코인조인은 같은 크기의 출력이 많아 쉽게 알아볼 수 있습니다. 페이조인은 평범한 결제처럼 보이도록 설계되었기 때문에, 모든 입력의 소유자가 한 명이라고 가정하는 분석가는 자신도 모르게 틀리게 됩니다. 바로 그것이 페이조인의 강점입니다.

핵심 사실

  • 공통 입력 소유 휴리스틱은 함께 지출된 입력들이 한 소유자의 것이라고 가정합니다.
  • 주소 재사용은 여러 UTXO 사이에 확정적인 연결을 만들어, 온체인 자금을 영구적으로 추적할 수 있게 합니다.
  • 코인조인은 여러 사용자의 입력을 금액이 동일한 출력을 가진 하나의 트랜잭션으로 합쳐 소유 관계를 가립니다.
  • 그레고리 맥스웰은 2013년에 코인조인 프로토콜을 제안했고, JoinMarket은 2015년, Wasabi Wallet은 2018년에 출시되었습니다.
  • 미국 당국은 2024년 4월 Samourai Wallet 창업자들을 체포했으며, 그들은 2025년 무허가 송금업 운영 혐의에 대해 유죄를 인정했습니다.
  • Wasabi Wallet의 코디네이터 운영사인 zkSNACKs는 2024년 6월에 서비스를 중단했습니다.
  • 비트코인 백서(§10)는 공개 키를 익명으로 유지하고 각 거래마다 새로운 키 쌍을 사용함으로써 프라이버시를 보장할 것을 제안했습니다.
  • 공통 입력 소유권 휴리스틱은 단일 거래의 모든 입력을 같은 소유자에게 연결하여 주소 간의 분리를 무너뜨립니다.
  • 크리스 벨처는 거스름돈 탐지와 주소 클러스터링 휴리스틱을 포함해 프라이버시에 대한 주요 블록체인 공격들을 문서로 정리했습니다.
  • Meiklejohn 등(2013)은 클러스터링 휴리스틱과 몇 개의 알려진 주소만으로 주요 비트코인 서비스를 식별할 수 있음을 보여주었습니다.
  • 2014년에 설립된 Chainalysis는 거래소와 정부가 온체인 활동의 주체를 특정할 수 있도록 자금 흐름 추적 소프트웨어를 제공합니다.
  • 주소 재사용과 다중 입력 통합은 장기적인 신원 연결을 가능하게 하는, 사용자 스스로 초래하는 주요 유출 요인입니다.
  • 코인조인은 2013년 그레고리 맥스웰에 의해 제안되었습니다.
  • zkSNACKs는 2024년 6월 1일 중앙 코디네이터 운영을 중단했습니다.
  • Samourai의 창립자들은 2025년 11월 각각 징역 5년과 4년을 선고받았습니다.
  • 페이조인(BIP-78)은 수신자가 거래에 입력을 추가할 수 있게 합니다.
  • Payjoin Dev Kit는 2026년 8월에 버전 1.0에 도달했습니다.
  • 코인조인은 체인 분석에서 사용하는 공통 입력 소유권 휴리스틱을 무너뜨립니다.

연습 아홉, 여섯, 셋, 하나

9모으기블록 탐색기에서 입력이 여러 개인 트랜잭션 9건을 찾으세요. 라벨이 붙은 코인조인을 최소 2건 포함해야 합니다. 입력과 출력의 개수, 출력 금액을 기록하세요.
6묶기9개의 트랜잭션을 출력 금액의 균일성에 따라 모두 동일, 대부분 동일, 큰 잔돈 출력 하나, 다양한 크기, 단일 출력, 기타 패턴의 6개 범주로 분류하세요.
3추리기6개를, 분석가가 이 트랜잭션들로부터 안전하게 도출할 수 있는 결론과 도출할 수 없는 결론 3가지로 줄이세요.
1결정화코인조인 트랜잭션에서 금액이 동일한 출력들이 어떻게 모호성을 만들어 입력과 출력 간의 연결을 끊는지 한 문장으로 쓰세요.

팩트 체크

날짜, 수치 및 주장은 아래에 명시된 출처들을 통해 확인되었습니다.

인터랙티브 아카데미에서 열기 →

EN PT ES ZH JA RU DE FR MS