MSTR Cat

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

사일런트 페이먼트와 앞으로의 프라이버시 업그레이드

체인상에서 절대 반복되지 않는 정적 키

준비물사일런트 페이먼트(BIP352)를 지원하는 지갑비트코인 코어 버전 27 이상거래 디코딩 기능을 갖춘 블록 탐색기사일런트 페이먼트를 지원하는 풀노드 또는 SPV 지갑(예: Sparrow, Cake)

호기심

  1. 하나의 공개 주소가 어떻게 받은 결제들이 같은 주체의 것임을 드러내지 않고 무제한으로 결제를 받을 수 있을까요?
  2. 수신자 측의 입력 하나를 추가하면 체인 분석가들이 사용하는 공동 소유라는 가정이 왜 깨지는 걸까요?
  3. 두 당사자가 고정된 키 쌍으로부터 유일하고 연결 불가능한 출력 키를 도출할 수 있게 하는 암호학적 기법은 무엇인가요?

탐구

    파트 I다가오는 프라이버시 업그레이드

  1. 비트코인 주소는 재사용할 수 있으며, 이는 온체인 연결 고리를 만듭니다. 판매자가 모든 고객에게 주소 하나를 공개하면, 그 주소로 들어오는 모든 결제가 원장에서 눈에 띄게 연결됩니다. 이러한 연결 가능성은 누구나 시간에 걸친 자금 흐름을 추적할 수 있게 하므로 프라이버시를 훼손합니다. 사일런트 페이먼트(BIP352)는 타원곡선 디피-헬만(ECDH)을 사용해 이 문제를 해결합니다. 수신자는 고정된 스캔 키와 지출 키 쌍을 보유합니다. 각 발신자는 자신의 입력 키와 수신자의 스캔 키를 결합해 고유한 트윅(tweak)을 도출하고, 이를 통해 다른 어떤 온체인 출력과도 구별할 수 없는 일회용 탭루트 주소를 만듭니다.
  2. 파생된 주소가 트랜잭션마다 달라지므로, 블록체인 데이터상에서 같은 판매자에게 보낸 두 결제가 서로 연결되어 보이지 않습니다. 수신자는 발신자와 사전에 상호작용할 필요 없이 자신의 개인 키로 체인을 스캔해 이러한 고유한 출력을 찾아냅니다. 따라서 새 주소를 만들기 위한 제3자 서버나 실시간 통신이 필요 없습니다. 이 과정은 스캔하는 쪽에 계산 부담이 크지만, 양측 모두에게 강력한 비연결성을 제공하여 판매자의 수익 흐름을 수동적 관찰자가 쉽게 집계할 수 없게 합니다.
  3. 페이조인(Payjoin, BIP78)은 트랜잭션 구조라는 다른 각도에서 프라이버시 문제에 접근합니다. 체인 분석가들은 같은 주체에 속한 입력들을 묶기 위해 공통 입력 소유 휴리스틱에 의존합니다. 일반적인 트랜잭션에서는 모든 입력을 발신자가 통제합니다. 페이조인에서는 수신자가 트랜잭션이 서명되기 전에 입력 하나를 보탤 수 있습니다. 이렇게 하면 수신자의 코인과 발신자의 코인이 한 트랜잭션 안에 섞여, 모든 입력이 한 당사자의 것이라는 가정이 깨집니다. 결과물은 평범한 결제처럼 보이므로, 모든 입력이 발신자의 것이라고 가정하는 분석가는 잘못된 결론에 이르게 됩니다.
  4. 버전 2(BIP77)에서는 수신자가 공개 서버를 운영할 필요가 없습니다. 양측은 Oblivious HTTP 릴레이를 거쳐 접속하는 디렉터리 서버를 통해 암호화된 PSBT를 비동기적으로 주고받으므로, 디렉터리는 메시지를 읽거나 IP 주소와 연결할 수 없습니다. 트랜잭션이 이루어지고 있다는 사실 자체를 숨기지는 못하지만, 서로 다른 두 소유자의 입력이 소유자가 하나인 것처럼 보이는 한 트랜잭션 안에 들어 있으므로 주소 클러스터링을 크게 어렵게 만듭니다.
  5. 네트워크 수준의 프라이버시를 위해서는 트래픽 패턴을 숨겨야 합니다. 암호화된 P2P 전송(BIP324)은 2024년 비트코인 코어 버전 27에서 기본값이 되었습니다. 이 방식은 메시지 내용, 즉 노드가 어떤 트랜잭션과 주소를 중계하는지를 수동적 관찰자로부터 숨깁니다. 다만 어떤 IP 주소가 어디에 연결되는지는 여전히 보이며, 암호화에 인증이 없어 능동적인 중간자 공격은 막지 못합니다. BIP324는 무작위 바이트처럼 보이도록 인코딩된 키로 타원곡선 키 교환을 한 뒤 ChaCha20-Poly1305로 암호화하므로, 통신을 엿보는 것만으로 특정 트랜잭션을 특정 노드와 연결하기가 훨씬 어려워집니다.
  6. 트랜잭션의 모든 입력이 서명 하나를 공유할 수 있게 하는 교차 입력 서명 집계(CISA)에 대한 연구가 계속되고 있습니다. 입력이 많은 코인조인 같은 협업 트랜잭션은 같은 코인을 따로따로 지출하는 것보다 저렴해져, 프라이버시가 곧 수수료 절감이 됩니다. 커스터디 메커니즘 단원에서 다룬 코인조인과 달리, 이러한 업그레이드는 사회적 조율이나 서버를 통한 믹싱이 아니라 암호학적 구조와 네트워크 전송에 초점을 맞춥니다.
  7. 파트 II사일런트 페이먼트

  8. 2024년 5월 BIP 저장소에 병합된 BIP-352는 사일런트 페이먼트를 도입합니다. 수신자는 스캔 키와 스펜드 키라는 두 개의 공개 키로 이루어진 하나의 정적 코드를 공개합니다. 일반 주소와 달리 이 코드는 지갑을 사용하는 내내 바뀌지 않습니다. 송신자의 지갑은 자신의 입력 개인 키를 사용해 결제마다 새롭고 고유한 탭루트 주소를 도출하므로, 서로 다른 송신자나 거래 사이에서 주소 재사용이 일어나지 않습니다.
  9. 이 메커니즘은 타원곡선 디피-헬만(ECDH)에 기반합니다. 앨리스가 밥의 사일런트 페이먼트 코드로 송금할 때, 앨리스의 지갑은 자신의 입력 개인 키와 밥의 스캔 공개 키를 결합합니다. 이를 통해 트윅(tweak) 역할을 하는 공유 비밀이 생성됩니다. 이 트윅을 밥의 스펜드 공개 키에 더하면 목적지 출력 P가 만들어집니다. 이 도출 과정은 앨리스의 입력 키와 아웃포인트(‘입력 해시’), 그리고 출력마다 붙는 카운터에 의존하기 때문에, 모든 결제는 다른 어떤 탭루트 출력과도 구별되지 않는 고유한 주소로 이어집니다.
  10. 그 대가는 연산의 비대칭성입니다. 송신자는 일반적인 서명 작업만 수행하면 되지만, 수신자는 들어오는 결제를 찾아내기 위해 블록체인을 직접 스캔해야 합니다. 밥은 특정 주소에 자금이 있는지 단순히 확인할 수 없습니다. 조건을 충족하는 입력이 있는 모든 거래에 대해, 밥은 자신의 스캔 개인 키를 그 거래의 입력 공개 키들의 합과 결합한 뒤 일치하는 출력이 있는지 확인해야 합니다. 이 스캔 과정은 연산량이 많으며, 지금까지 경량 SPV 클라이언트에게는 특히 어려운 과제였습니다.
  11. 이렇게 생성된 거래는 일반적인 비트코인 송금과 구별 없이 섞입니다. 추가 데이터 필드도 없고, 거래 크기도 늘어나지 않으며, 조율을 위한 제3자 서버도 필요하지 않습니다. 외부 관찰자에게는 표준 탭루트 입력과 출력만 보입니다. 송신자의 입력 키와 수신자의 정적 코드 사이의 연결은 암호학적으로 숨겨져 있어, 관찰자는 해당 결제를 수신자가 공개한 코드와 연결할 수 없습니다.
  12. 사양이 공개된 이후 지갑의 도입은 꾸준히 진행되어 왔습니다. Cake Wallet은 2024년에 지원을 구현했습니다. Sparrow Wallet은 2025년 10월에 송금 기능을, 2026년 5월에 수신 기능을 추가했습니다. Nunchuk은 2026년에 송금 기능을 추가했습니다. Bitcoin Core는 2026년에 BIP-352 핵심 로직(PR #35301)을 병합했지만, 지갑의 송금 및 수신 기능은 아직 검토 중이며 정식 릴리스에는 포함되지 않았습니다.
  13. 사일런트 페이먼트는 송신자와 수신자 간의 상호작용이나 코인조인 프로토콜에서 쓰이는 것과 같은 조율 서버 없이 주소 재사용 문제를 해결합니다. 수신자는 급여, 청구서, 기부 등 모든 용도에 하나의 정적 식별자를 사용하고, 들어오는 모든 UTXO는 고유하고 서로 연결할 수 없는 주소에 도착합니다. 수신자의 스캔 과정이 견고하고 안전하다면, 그래프 분석으로 여러 결제를 같은 주체와 연결하는 것을 막아 대체 가능성을 높여줍니다.

핵심 사실

  • 사일런트 페이먼츠(BIP352)는 고정된 키 쌍으로부터 고유한 탭루트 주소를 도출하기 위해 ECDH를 사용합니다.
  • 페이조인(BIP78/BIP77)은 수신자가 입력을 하나 보태게 함으로써 공통 입력 소유 휴리스틱을 무너뜨립니다.
  • 암호화된 P2P 전송(BIP324)은 비트코인 코어 버전 27(2024)에서 기본값이 되었습니다.
  • 사일런트 페이먼트 주소(sp1…)는 별도의 형식이지만, 이를 통해 생성되는 출력은 일반적인 탭루트 출력과 똑같아 보입니다.
  • Payjoin v2(BIP77)는 디렉토리 서버를 통해 암호화된 PSBT들을 교환하므로, 수신자는 공개 서버가 필요하지 않습니다.
  • 교차 입력 서명 집계는 아직 연구 단계에 있지만, 전체 거래에 하나의 서명을 부여함으로써 코인조인 비용을 줄일 수 있을 것입니다.
  • BIP-352는 2024년 5월에 병합되었으며, 사양 버전 1.1.0은 2026년 3월에 공개되었습니다.
  • 사일런트 페이먼트는 ECDH를 사용해 송신자의 입력 키와 수신자의 정적 스캔 키로부터 거래마다 고유한 탭루트 주소를 도출합니다.
  • 수신자는 조건을 충족하는 모든 거래에 대해 ECDH 연산(스캔 키 × 입력 공개 키들의 합)을 수행하고, 그 거래의 탭루트 출력을 확인해야 합니다.
  • Cake Wallet(2024년), Sparrow Wallet(송금 2025년 10월, 수신 2026년 5월), Nunchuk(송금, 2026년)이 사일런트 페이먼트를 지원하며, Bitcoin Core는 2026년에 핵심 로직을 병합했습니다.
  • 사일런트 페이먼트 거래는 크기, 비용, 구조 면에서 일반 탭루트 거래와 구별할 수 없습니다.
  • 이 프로토콜은 송신자와 수신자 간의 상호작용을 요구하지 않으며, 제3자 조율 서버에 의존하지도 않습니다.

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

9모으기능동형(사용자가 직접 시작)과 수동형(프로토콜 수준) 유형을 모두 포함해 프라이버시 메커니즘 또는 프로토콜 9가지를 나열하세요. 각각이 애플리케이션, 네트워크, 합의 계층 중 어디에서 작동하는지도 적으세요.
6묶기9가지를 주요 위협 모델에 따라 6개로 분류하세요. 각각 어떤 구체적인 관찰을 막아 주나요? (예: 주소 클러스터링, 트래픽 분석, 입력 소유권 연결)
3추리기6개 그룹을, 이 메커니즘들이 다루는 프라이버시 손실의 3가지 근본 범주로 압축하세요.
1결정화정적 주소가 왜 감시의 통로가 되는지, 그리고 암호학적 파생이 이를 어떻게 무력화하는지 한 문장으로 쓰세요.

팩트 체크

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

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

EN PT ES ZH JA RU DE FR MS