블록체인 거래 프라이버시를 설계하는 Bulletproofs·링 서명·은닉 주소
Bulletproofs, Ring Signatures, Stealth Addresses를 결합해 금액·송신자·수신자 정보를 보호하는 거래 프라이버시 설계와 운영 조건을 정리한다.
2026-08-14 · 최초 발행 2025-11-09
거래 정보는 서로 다른 방식으로 드러난다
감시 저항성과 규제 친화성을 함께 요구하는 환경에서는 금액만 가리는 방식으로 충분하지 않다. 거래 프라이버시는 금액, 송신자, 수신자를 각각 분리해 다뤄야 하며, Bulletproofs·Ring Signatures·Stealth Addresses는 이 역할을 나눠 맡는다. 최신 프로토콜 변형으로 Bulletproofs+, Triptych, Lelantus 등이 존재하므로 적용 전 최신 정보를 확인할 필요가 있다.
Bulletproofs는 금액을 공개하지 않은 상태에서 해당 금액이 유효 범위(예: 0~2^64−1)에 있다는 사실을 증명하는 비대화형 영지식 범위증명 기법이다. Pedersen 커밋 기반 Confidential Transactions와 결합하며, 증명 크기는 로그 스케일로 증가한다. 누구나 증명을 검증할 수 있지만 금액 자체는 드러나지 않아 금액 비공개, 합계 보존, 오버플로 방지를 함께 다룬다.
Ring Signatures는 실제 송신자 키를 디코이 키와 묶어 서명한다. 검증자는 서명이 유효한지 확인할 수 있지만 집합 안에서 누가 실제 서명자인지는 식별할 수 없다. Linkable 속성의 키 이미지는 같은 출력을 다시 소비하려는 시도를 찾아내며, 링의 크기가 커질수록 익명성 집합도 넓어진다.
Stealth Addresses는 수신자의 공개키와 송신자의 에페메럴 키로 거래마다 일회성 주소를 만든다. 체인 위의 수신자 고정 주소와 실제 거래 사이의 연결을 끊는 방식이다. 수신자는 View Key로 블록체인을 스캔해 자신에게 온 출력만 찾고, Spend Key가 있어야 이를 소비할 수 있다.
거래 프라이버시 구성 요소를 하나의 거래에 묶는 방식
거래 생성 과정에서는 Pedersen 커밋으로 금액을 은닉한 뒤 Bulletproofs를 만들고 검증한다. 이어 에페메럴 키를 사용해 원타임 주소를 파생하고, 디코이를 포함한 링을 구성해 입력 소비를 증명한다. 이 순서로 금액 비공개, 송신자 익명성, 수신자 은닉성을 함께 제공한다.
Bulletproofs는 디스크리트 로그 가정과 Fiat–Shamir 휴리스틱에 의존한다. 파라미터 선택은 검증 비용과 증명 크기 사이의 균형 문제다. 링 서명에서는 링 크기와 디코이 선택 알고리즘의 품질이 익명성에 직접 영향을 미치며, 키 이미지의 충돌 저항성도 필요하다.
범위증명이 실패하면 로컬에서 거래 생성을 중단하며 비밀 데이터는 노출되지 않는다. 키 이미지가 중복되면 노드는 이중지출로 판단해 거래를 거절하고 체인 일관성을 유지한다. 지갑 스캔이 실패한 경우에는 인덱싱을 재구축하거나 View Key를 다시 적용해야 한다.
검증 자원과 지갑 운영의 부담
Bulletproofs의 크기는 수백 바이트~수 KB 수준이며, 여러 출력을 묶어 증명하면 효율을 개선할 수 있다. 검증 비용은 출력 수와 로그 항에 비례한다. 링 서명의 검증 비용은 링 크기에 선형 비례하고, 은닉 주소를 찾기 위한 스캔 비용은 블록 크기와 주소 수에 비례한다.
| 구분 | Bulletproofs | Ring Signatures | Stealth Addresses |
|---|---|---|---|
| 성능 | 검증 비용 중간, 배치 검증 시 효율 | 링 크기에 선형 증가, 검증 비용 높음 | 스캔 비용 누적, 지갑 측 최적화 필요 |
| 확장성 | 증명 크기 로그 성장, 집합 증명 유리 | 익명성 강화를 위해 링 크기↑ 시 페널티 존재 | 주소 무한 생성 가능, 인덱싱 전략 필요 |
| 일관성 | 금액 합 보존, 오버플로 방지 보장 | 키 이미지로 이중지출 방지 일관성 확보 | 수신자 매핑은 오프체인 스캔으로 일관성 유지 |
| 안정성 | 표준 암호가정 기반, 배포 성숙도 높음 | 링크어빌리티·디코이 모델 민감도 존재 | 키 관리 안전성에 좌우, 구현 단순도 높음 |
| 운영 편의 | 노드·지갑 검증 자원 추가 요구 | 파라미터 튜닝·디코이 정책 필요 | View/Spend Key 분리 운영, 스캔 비용 관리 |
디코이는 시간 동형성, 출력 나이 분포, 지리적·시간대 편향을 고려해 선택해야 한다. 링을 키우면 익명성 집합은 확대되지만 성능 비용도 커진다. Bulletproofs의 집합 증명과 배치 검증은 검증 비용을 줄일 수 있으나, 노드 검증 지연과 메모리 사용량은 계속 관리해야 한다.
스캔 경로에서는 Checkpoint 인덱싱, 서버 측 블룸필터, 경량 클라이언트 동기화를 사용할 수 있다. 이 선택은 프라이버시와 편의 사이의 트레이드오프를 수반한다.
선택적 공개가 필요한 거래 환경
퍼블릭 프라이버시 코인 결제에서는 불특정 다수가 참여하는 환경에서 금액과 참가자 익명성을 확보하는 기본 스택으로 활용할 수 있다. 엔터프라이즈 B2B 정산에서는 거래 금액과 경쟁사 관련 정보를 감추고, 감사 시에는 View Key로 필요한 범위만 공개할 수 있다.
급여나 보조금 지급에서는 수령자 보호와 사회적 낙인 방지가 목적이 될 수 있으며, 내부 통제에는 다중 서명과 View Key 조합을 적용한다. Web3·DeFi에서는 DAO 재무 운영, OTC 거래, NFT 고가 거래의 가격 민감 정보를 보호하는 데 사용할 수 있다. 관할 기관이나 감사인에게 제한된 가시성을 제공하는 방식은 데이터 최소 공개 원칙에도 맞닿아 있다.
프라이버시 효과는 운영 정책에서 갈린다
이 조합은 금액을 감추고 상대방 잔고 추정 리스크를 크게 낮추며, 수신자 매핑의 난이도를 높인다. 링 크기와 디코이 품질은 추적 성공 확률을 낮추는 방향으로 작동하지만, 권장 링 크기를 늘릴수록 검증 비용 증가를 감수해야 한다.
거래 크기는 일반 거래 대비 수배 증가할 수 있어 네트워크와 스토리지에 부담을 준다. Bulletproofs 집합 증명과 서명 압축으로 이를 완화할 수 있다. 노드의 검증 시간과 지갑의 스캔 시간도 누적되므로 인덱싱, 캐싱, 배치 검증으로 체감 비용을 낮추는 운영이 필요하다.
View Key 기반의 선택적 투명성은 감사 효율을 높일 수 있다. 반대로 키 관리에 실패하거나 View Key가 유출되면 수신 기록이 노출될 수 있으므로 최소 권한 원칙과 분리 보관을 전제로 설계해야 한다. 디코이 선택 정책, 링 크기, 배치 검증, 스캔 인덱싱, 키 관리 체계를 함께 조정하는 일이 이 프라이버시 스택의 효과와 비용을 결정한다.