MoneroSwapper MoneroSwapper
교육

RingCT 심층 분석: 모네로가 거래 금액을 숨기는 방법

MoneroSwapper Team · · · 2 min read · 88 views

링 기밀 거래(RingCT) 소개

모네로(Monero)가 2014년에 처음 출시되었을 때, CryptoNote의 링 서명과 스텔스 주소를 상속받아 모든 거래의 발신자와 수신자를 숨길 수 있었습니다. 그러나 프라이버시 모델에는 심각한 결함이 있었습니다. 거래 금액이 블록체인에 완전히 공개되어 있었던 것입니다. 누구든지 정확히 얼마만큼의 XMR이 전송되고 있는지 확인할 수 있었으며, 이를 통해 정교한 잔액 분석과 익명성 해제 공격이 가능했습니다.

링 기밀 거래(RingCT, Ring Confidential Transactions)는 2017년 1월에 모네로 블록체인에 구현된 암호화 혁신으로, 이 근본적인 취약점을 해결했습니다. 리암 유과 수닐 아구르왈이 2015년에 원래 아이디어를 개발한 후 사토 모리카와스키(Shen Noether)가 모네로에 맞게 적용하고 최적화했습니다. RingCT는 Pedersen 커밋먼트와 범위 증명을 결합하여 블록체인의 어떤 참여자에게도 거래 금액을 노출하지 않으면서도 수학적으로 유효한 거래를 가능하게 합니다.

이 글은 RingCT의 작동 원리를 기술적으로 심층 분석하며, 한국의 금융위원회(FSC)특정 금융거래정보의 보고 및 이용 등에 관한 법률(특금법) 규제 환경에서 모네로 사용자들이 알아야 할 사항을 설명합니다. 기술적 배경이 없는 독자들도 이해할 수 있도록 단계별로 설명하겠습니다.

RingCT 이전: 투명한 거래 금액의 문제

RingCT 도입 이전(2017년 1월 이전), 모네로의 모든 거래는 다음과 같은 구조였습니다:

  • 발신자: 링 서명으로 숨겨짐 (수십 개의 디코이 출력 중 하나)
  • 수신자: 스텔스 주소로 숨겨짐
  • 거래 금액: 완전히 공개됨 - 누구나 블록체인 익스플로러에서 볼 수 있음

이 프라이버시 결함이 왜 심각했는지 구체적인 예를 들어보겠습니다. 만약 누군가가 100 XMR을 전송한다면, 블록체인 관찰자는 다음을 알 수 있었습니다:

  1. 정확히 100 XMR이 이동했다는 사실
  2. 링 서명 내의 디코이들 중 100 XMR 출력을 가진 것만이 실제 사용된 출력일 가능성이 높다는 것
  3. 시간적 패턴과 금액을 결합하여 실제 참가자를 추론할 가능성
  4. 반복적인 금액 패턴을 통해 지갑 잔액을 추정할 가능성

학계 연구자들은 이러한 금액 정보를 이용하여 링 서명의 익명성을 상당 부분 약화시킬 수 있음을 보여주었습니다. 2017년 Princeton 대학과 Carnegie Mellon 대학의 공동 연구에 따르면, 거래 금액 정보를 활용하면 일부 초기 모네로 거래에서 실제 출처를 90% 이상 정확도로 식별할 수 있었습니다. 이는 프라이버시 코인으로서 심각한 결함이었으며, RingCT의 도입이 시급했습니다.

Pedersen 커밋먼트: RingCT의 핵심 암호화 구성 요소

RingCT의 핵심은 Pedersen 커밋먼트(Pedersen Commitments)라는 암호화 구조입니다. 1991년 토르벤 페더슨(Torben Pryds Pedersen)이 제안한 이 구조는 다음 두 가지 핵심 특성을 가집니다:

1. 은닉성 (Hiding Property)

커밋먼트는 기저에 있는 값(거래 금액)에 대한 어떠한 정보도 드러내지 않습니다. 수학적으로, Pedersen 커밋먼트는 다음과 같이 표현됩니다:

C = rG + vH

여기서 각 변수의 의미는:

  • v = 숨길 값 (거래 금액, 예: 2.5 XMR)
  • r = 무작위 블라인딩 팩터 (256비트 난수)
  • G = 타원 곡선 위의 기본 생성 포인트 (공개적으로 알려진 값)
  • H = 타원 곡선 위의 두 번째 생성 포인트 (이산로그 관계가 알려지지 않은 값)

랜덤 블라인딩 팩터 r이 없다면 공격자는 가능한 모든 금액 v를 시도하여 커밋먼트를 역산(브루트포스)할 수 있습니다. 그러나 r이 있으면 같은 금액 v라도 매번 다른 커밋먼트 C가 생성되므로, 이러한 브루트포스 공격이 불가능해집니다. 이것이 계산적 은닉성(computational hiding)입니다.

2. 결합 불가능성 (Binding Property)

한번 특정 값에 커밋되면, 동일한 커밋먼트 C에 대해 다른 값 v`과 다른 블라인딩 팩터 r`을 찾는 것이 계산적으로 불가능합니다. 이를 계산적 결합성(computational binding)이라고 합니다. 이 특성은 거래 참여자가 나중에 금액을 변경하는 것을 방지합니다.

3. 준동형성 (Homomorphic Property) - RingCT의 핵심

Pedersen 커밋먼트는 준동형(additively homomorphic)입니다. 이는 커밋먼트들을 더하거나 뺄 수 있으며, 결과는 기저 값들의 합과 차에 대한 커밋먼트와 동일하다는 의미입니다:

C(v1, r1) + C(v2, r2) = C(v1 + v2, r1 + r2)

이 특성이 왜 중요한가요? 검증자는 실제 금액을 전혀 알지 못하더라도, 거래의 커밋먼트들을 더하고 빼서 결과가 0(또는 수수료 커밋먼트)이 되는지 확인함으로써 거래 균형(입력 합계 = 출력 합계 + 수수료)을 검증할 수 있습니다:

∑C_inputs - ∑C_outputs - C_fee = 0

이 검증은 블라인딩 팩터들이 서로 상쇄될 때 0이 되므로, 실제 금액 없이도 거래가 올바른지 수학적으로 확인할 수 있습니다.

범위 증명: 음수 금액과 인플레이션 방지

Pedersen 커밋먼트만으로는 충분하지 않습니다. 악의적인 사용자가 음수 금액을 사용하거나 오버플로우(overflow)를 이용하여 코인을 무에서 창조할 가능성이 있기 때문입니다.

구체적인 공격 시나리오: 공격자가 10 XMR 입력에 대해 11 XMR 출력을 생성하고 -1 XMR (또는 2^64 - 1 XMR을 통한 오버플로우)의 두 번째 출력을 만들면, 수학적으로 균형은 맞지만 실제로는 1 XMR을 무에서 창조한 셈이 됩니다. 이는 모네로의 21백만 XMR 총 공급량 제한을 무력화하는 치명적인 취약점입니다.

이를 방지하기 위해 RingCT는 범위 증명(Range Proofs)을 포함합니다. 범위 증명은 특정 커밋먼트의 기저 값이 [0, 2^64) 범위 내에 있다는 것을 해당 값을 공개하지 않고도 수학적으로 증명합니다.

초기 RingCT: 보르로메오 링 서명 (2017년)

RingCT의 원래 구현은 보르로메오 링 서명(Borromean Ring Signatures)을 범위 증명으로 사용했습니다. 이 방식은 작동하기는 했지만 상당히 큰 크기의 데이터를 생성했습니다:

  • 64비트 값에 대한 범위 증명: 각 출력당 약 6.1 KB
  • 2개 출력 거래: 약 13.5 KB의 범위 증명 데이터
  • 이는 RingCT 이전 거래보다 약 10-15배 큰 크기

이로 인해 거래 수수료가 상당히 높아졌고, 블록체인의 저장 공간 요구량도 크게 증가했습니다.

Bulletproofs 도입: 80% 크기 감소 (2018년 10월)

2018년 10월, 모네로 네트워크는 하드포크를 통해 Bulletproofs를 도입했습니다. Bulletproofs는 2018년 스탠포드 대학교의 Benedikt Bünz와 동료 연구자들이 발표한 혁신적인 영지식 증명(zero-knowledge proof) 체계입니다.

Bulletproofs의 핵심 특성:

  • 80% 크기 감소: 기존 보르로메오 방식 대비 범위 증명 크기가 크게 줄어듦
  • 집계 증명: 여러 출력에 대한 범위 증명을 단일 증명으로 결합 가능. O(log n) 크기로 n개의 출력 증명
  • 신뢰 없는 설정: Bulletproofs는 어떠한 신뢰할 수 있는 설정(trusted setup)도 필요하지 않습니다
  • 80% 수수료 감소: 평균 모네로 거래 수수료가 약 80% 감소

Bulletproofs 도입 이후, 평균 모네로 거래 크기는 약 13.5 KB에서 2.5 KB 미만으로 줄어들었으며, 이는 실질적인 사용성 개선으로 이어졌습니다.

Bulletproofs+: 추가 최적화 (2022년 8월)

2022년 8월, 모네로는 또 다른 하드포크를 통해 Bulletproofs+로 업그레이드했습니다. 모네로 연구소의 연구원들이 개발한 이 개선 버전은:

  • 범위 증명 크기 추가 7% 감소
  • 증명 생성 시간 약 5% 단축
  • 증명 검증 시간 약 10% 단축

이는 작은 개선처럼 보일 수 있지만, 모네로 네트워크에서 매일 수천 건의 거래가 처리되는 점을 고려하면 네트워크 전체의 효율성에 상당한 기여를 합니다.

완전한 RingCT 거래의 단계별 작동 방식

이제 RingCT를 구성하는 모든 암호화 요소가 실제 거래에서 어떻게 결합되는지 단계별로 살펴보겠습니다. 앨리스가 밥에게 2.5 XMR을 전송하는 시나리오를 사용합니다:

1단계: 입력 선택 및 커밋먼트 생성

앨리스의 지갑에는 이전에 받은 3 XMR짜리 UTXO(미사용 거래 출력)가 있습니다. 앨리스의 지갑 소프트웨어는:

  • 3 XMR 입력에 대한 Pedersen 커밋먼트 생성: C_in = r1*G + 3*H
  • 무작위 블라인딩 팩터 r1 생성 및 안전한 저장
  • 링 서명에 포함할 15개의 디코이(무작위 선택된 다른 사용자의 출력) 선택
  • 실제 입력과 디코이를 구분하지 못하게 하는 MLSAG(Multilayer Linkable Spontaneous Anonymous Group) 서명 생성

2단계: 출력 생성

앨리스는 다음 출력들을 생성합니다:

  • 밥의 출력 2.5 XMR: C_out1 = r2*G + 2.5*H. 밥의 스텔스 주소로 전송되며, ECDH(타원곡선 디피-헬만)를 통해 블라인딩 팩터 r2와 금액을 밥에게 전달
  • 앨리스의 잔돈 0.499 XMR: C_out2 = r3*G + 0.499*H. 앨리스 자신의 새 스텔스 주소로
  • 거래 수수료 0.001 XMR: 공개적으로 표시 (마이너에 대한 보상)

3단계: 균형 검증 (거래 브로드캐스트 전)

앨리스의 지갑은 균형 방정식이 성립하는지 확인합니다:

C_in = C_out1 + C_out2 + C_fee

즉: r1*G + 3*H = r2*G + 2.5*H + r3*G + 0.499*H + 0 + 0.001*H

이를 위해 블라인딩 팩터 조건: r1 = r2 + r3가 필요합니다.

4단계: Bulletproofs+ 범위 증명 생성

각 출력 커밋먼트에 대해 Bulletproofs+ 범위 증명을 생성합니다. 이 증명은 C_out1이 2.5 XMR를 숨기고 있으며 이 값이 [0, 2^64) 범위 내에 있음을 (실제 값 2.5를 공개하지 않고) 증명합니다.

5단계: 노드 검증

모네로 네트워크의 각 노드는 다음을 독립적으로 검증합니다:

  1. 균형 확인: 커밋먼트 합계가 올바른지
  2. 범위 증명 확인: 모든 출력이 유효한 범위 내에 있는지
  3. 링 서명 확인: 발신자가 실제로 입력 중 하나를 소유하는지
  4. 키 이미지 확인: 이 입력이 이전에 사용되지 않았는지 (이중 지불 방지)

6단계: 밥의 수신 확인

밥의 지갑은 블록체인을 스캔하여 자신의 뷰 키(view key)로 복호화 가능한 출력을 찾습니다. 밥의 지갑이 C_out1을 발견하면:

  • ECDH를 통해 블라인딩 팩터 r2를 복구
  • 실제 금액 2.5 XMR 확인
  • 지출 키(spend key)를 통해 이 출력을 나중에 사용할 수 있는 열쇠 생성

RingCT와 한국 규제 환경: 특금법과 금융위원회

한국은 암호화폐 규제에 있어 아시아에서 가장 발전된 법적 체계 중 하나를 갖추고 있습니다. 모네로 및 RingCT 기술의 한국 규제 맥락을 이해하는 것은 매우 중요합니다.

특금법(특정 금융거래정보의 보고 및 이용 등에 관한 법률) 개요

2021년 3월에 시행된 개정 특금법은 가상자산사업자(VASP, Virtual Asset Service Providers)에 대한 규제를 크게 강화했습니다. 주요 규제 내용:

  • 실명 인증 의무(KYC): 모든 가상자산사업자는 실명 인증된 은행 계좌와 연결된 거래만 허용해야 합니다. 이는 4대 주요 은행(KB국민은행, 신한은행, 우리은행, NH농협은행)만이 가상자산 관련 실명 계좌를 제공하는 독과점 구조를 낳았습니다.
  • VASP 신고 의무: 모든 가상자산사업자는 금융정보분석원(FIU, Financial Intelligence Unit)에 신고하고 정보보호관리체계(ISMS) 인증을 받아야 합니다.
  • AML/CFT 의무: 고객 실사(CDD), 강화된 고객 실사(EDD), 의심 거래 보고(STR) 의무가 있습니다.
  • 프라이버시 코인 제한: 대부분의 국내 거래소는 모네로(XMR), 대시(DASH), 지캐시(ZEC), 버지(XVG) 등 프라이버시 강화 암호화폐를 상장 폐지했습니다.

금융위원회(FSC)와 금융감독원(FSS)의 입장

금융위원회는 프라이버시 코인에 대해 일관되게 엄격한 입장을 취하고 있습니다. FSC가 우려하는 주요 사항:

  • RingCT와 같은 익명성 강화 기술이 자금세탁(ML) 및 테러자금조달(TF) 추적을 불가능하게 한다는 점
  • 국세청(NTS)의 세금 추적 및 탈세 방지 의무와의 충돌
  • FATF(금융행동태스크포스)의 가이드라인 이행 요구 - 특히 "여행 규칙(Travel Rule)"은 1,000달러 이상 가상자산 이전 시 발신자/수신자 정보 전달을 요구

이에 따라 업비트(Upbit), 빗썸(Bithumb), 코인원(Coinone), 코빗(Korbit) 등 국내 주요 거래소들은 2021년 이후 모네로를 상장 폐지했습니다. 현재 국내 규제 거래소에서 합법적으로 XMR을 거래하는 것은 불가능합니다.

한국 투자자의 합법적 선택지와 주의사항

한국 거주자가 모네로를 보유하거나 거래하고자 한다면 다음 사항을 주의해야 합니다:

  • 해외 거래소 이용 시: 외국환거래법에 따라 연간 5만 달러 초과 해외 송금은 한국은행 신고 의무가 있습니다. 소액은 가능하지만 목적을 명확히 해야 합니다.
  • 세금 신고: 2025년부터 가상자산 양도소득에 대해 250만 원 초과분에 22% 세율(지방세 포함)이 적용됩니다. XMR 거래 수익도 신고 대상입니다.
  • P2P 거래: LocalMonero 등 P2P 플랫폼을 통한 거래는 기술적으로 가능하지만, 특금법의 VASP 신고 의무를 회피하기 위한 목적으로 사용할 경우 법적 위험이 있습니다.

RingCT의 기술적 한계와 미래 발전 방향

현재의 기술적 한계

RingCT는 획기적인 기술이지만 다음과 같은 한계가 있습니다:

  • 거래 크기 오버헤드: Bulletproofs+ 이후에도 모네로 거래는 비트코인의 유사한 거래보다 약 2-5배 큽니다. 일반적인 2-출력 모네로 거래는 약 1.4-2 KB입니다.
  • 제한된 링 크기: 현재 모네로는 링 크기 16을 사용합니다. 이는 15개의 디코이와 1개의 실제 입력을 의미합니다. 링 크기가 클수록 익명성이 높아지지만 거래 크기도 커집니다.
  • 뷰 키의 한계: 감사 목적으로 뷰 키를 공유하면 해당 지갑이 수신한 모든 금액과 잔액이 공개됩니다. 그러나 어떤 출력이 지출되었는지는 여전히 숨겨집니다. 이는 부분적인 감사 가능성과 완전한 프라이버시 사이의 트레이드오프입니다.
  • 초기 블록체인 분석 취약성: RingCT 도입(2017년) 이전의 모네로 거래들은 여전히 금액이 공개되어 있습니다. 따라서 초기 모네로 블록체인의 완전한 익명성은 보장되지 않습니다.

FCMP (Full Chain Membership Proofs): 차세대 익명성

모네로 커뮤니티는 현재 풀 체인 멤버십 증명(FCMP)을 개발 중입니다. 이 기술의 핵심 혁신:

  • 현재의 링 서명(16개 디코이)을 전체 UTXO 집합을 디코이 풀로 사용하는 방식으로 대체
  • 링 크기가 수백만 개로 확장 - 사실상 전체 블록체인 히스토리를 익명성 집합으로 사용
  • Curve Trees라는 새로운 암호화 구조 사용으로 증명 크기를 합리적으로 유지
  • 링 크기 제한으로 인한 모든 통계적 분석 공격 차단

FCMP는 현재 활발히 개발 중이며, 구현되면 모네로의 프라이버시를 현재보다 훨씬 높은 수준으로 끌어올릴 것입니다.

Triptych과 Arcturus: 더 효율적인 링 서명

FCMP와 별개로, 연구자들은 더 효율적인 링 서명 체계를 제안하고 있습니다:

  • Triptych: 링 크기 n에 대해 O(log n) 크기의 서명 생성. 현재 선형적으로 증가하는 MLSAG/CLSAG 대비 대형 링에서 훨씬 효율적
  • Arcturus: Triptych의 변형으로, 배치 검증(batch verification)에 최적화. 여러 거래를 동시에 검증할 때 검증 시간 대폭 단축

RingCT와 다른 프라이버시 기술 비교

모네로 RingCT vs 지캐시(Zcash) zk-SNARK

항목모네로 RingCT지캐시 zk-SNARK
기본 프라이버시모든 거래에 자동 적용실드 거래 선택 필요
신뢰 설정불필요 (신뢰 최소화)초기 Sprout에서 필요, Sapling 이후 개선
거래 크기약 1.4-2 KB실드: 약 2.5 KB
검증 시간수십 ms수십-수백 ms (zk-SNARK 검증)
실사용 프라이버시약 99%+ 거래가 비공개약 20-30% 거래만 실드 사용

모네로 RingCT vs 비트코인 CoinJoin

비트코인의 프라이버시 향상 기법인 CoinJoin은 모네로 RingCT와 근본적으로 다릅니다:

  • 금액 은닉: CoinJoin은 거래 금액을 숨기지 않습니다. 동일 금액으로 분할하는 방식을 사용하지만 분석으로 추적 가능합니다.
  • 참여자 수: CoinJoin은 여러 사용자가 협력해야 하지만, RingCT는 단독으로 작동합니다.
  • 브레이킹 가능성: Chainalysis 등 블록체인 분석 회사들은 CoinJoin 거래의 상당 비율을 추적할 수 있습니다.

MoneroSwapper에서의 안전한 XMR 거래

MoneroSwapper를 통해 XMR을 교환할 때, 모든 모네로 거래는 완전한 RingCT 보호를 자동으로 받습니다:

  • 금액 완전 은닉: 교환에 사용된 XMR 금액은 블록체인에서 완전히 숨겨집니다. 네트워크 관찰자는 거래가 발생했다는 것만 알 수 있으며, 금액은 알 수 없습니다.
  • 발신자/수신자 익명성: 링 서명(발신자 보호)과 스텔스 주소(수신자 보호)가 결합되어 완전한 거래 프라이버시를 제공합니다.
  • Bulletproofs+ 효율성: 최신 범위 증명 기술로 거래 크기와 수수료를 최소화합니다.
  • KYC 없음: MoneroSwapper는 신원 확인 없이 운영되며 개인 정보 보호를 최우선합니다.

다만, 한국 사용자는 자국의 특금법, 외국환거래법, 세금 신고 의무를 준수할 책임이 있습니다. MoneroSwapper는 기술적 도구를 제공하지만 법적 조언을 제공하지 않습니다.

결론: RingCT가 모네로 프라이버시의 핵심인 이유

RingCT는 단순한 기술적 기능이 아닙니다. 이는 "퍼블릭 블록체인에서 완전한 금융 프라이버시가 가능한가?"라는 오랜 질문에 대한 실용적이고 검증된 답변입니다.

Pedersen 커밋먼트의 준동형 특성(금액을 숨기면서도 균형 검증 가능), Bulletproofs+의 효율적인 범위 증명(음수/오버플로우 방지), 그리고 기존 링 서명 및 스텔스 주소와의 완벽한 통합을 통해, 모네로는 다음을 동시에 달성합니다:

  1. 완전한 금액 비공개: 어떤 제3자도 거래 금액을 알 수 없습니다 - 마이너, 노드 운영자, 정부 기관 모두 포함
  2. 수학적 검증 가능성: 이중 지불 없이 거래 유효성 및 총 공급량 보존을 검증할 수 있습니다
  3. 실용적 효율성: Bulletproofs+로 합리적인 거래 크기와 수수료를 유지합니다
  4. 신뢰 최소화: 어떠한 중앙화된 신뢰 기관이나 신뢰 설정도 필요하지 않습니다
  5. 기본 적용: 모든 모네로 거래에 자동으로 적용되어 "프라이버시 집합"의 희석을 방지합니다

한국의 규제 환경이 프라이버시 코인에 점점 더 엄격해지고 있는 가운데, RingCT의 기술적 원리를 이해하는 것은 정보에 입각한 결정을 내리는 데 매우 중요합니다. 금융 프라이버시는 불법적 활동을 위한 것이 아니라, 경제적 자유, 개인 안전, 기업 기밀 보호를 위한 기본적인 권리입니다. 모네로와 RingCT는 이 원칙을 가장 엄격하고 실용적으로 구현한 암호화폐 기술의 사례입니다.

관련 기술에 대한 더 깊은 이해를 원하신다면, 다음 글들도 참고하세요: 모네로 링 서명의 작동 원리, 스텔스 주소 완전 가이드, 그리고 모네로 vs 비트코인 프라이버시 비교 분석.

자주 묻는 질문 (FAQ)

Q: RingCT는 모네로 거래를 100% 추적 불가능하게 만드나요?
A: RingCT는 거래 금액을 완벽하게 숨기며, 링 서명과 스텔스 주소와 결합하여 매우 높은 수준의 프라이버시를 제공합니다. 그러나 블록체인 외부의 정보(IP 주소, 거래소 KYC 데이터 등)와 결합된 분석에는 취약할 수 있으므로, Tor나 I2P를 통한 연결이 권장됩니다.

Q: 한국에서 모네로 보유가 불법인가요?
A: 모네로 자체를 보유하는 것은 현재 한국에서 불법이 아닙니다. 다만, 국내 규제 거래소에서 거래하는 것은 불가능하며, 수익 발생 시 세금 신고 의무가 있습니다. 규제는 계속 변화하므로 전문 법률 자문을 받으시기 바랍니다.

Q: RingCT 이전에 채굴한 모네로도 보호받나요?
A: RingCT 도입(2017년 1월) 이전에 채굴되거나 수신된 코인들은 금액이 공개된 채로 블록체인에 기록되어 있습니다. 그러나 이 코인들을 현재 지갑으로 전송하면 새 거래는 완전한 RingCT 보호를 받습니다.

이 기사 공유

관련 기사

교환할 준비가 되셨나요?

익명 모네로 거래소

KYC 없음 • 등록 없음 • 즉시 교환

지금 교환