
코보 공동창립자: 머클 트리 준비금 증명의 결함 및 개선 아이디어
저자: 장창하오(Cobo 공동창립자 겸 CTO)
FTX의 붕괴 이후 중앙화 기관에 대한 신뢰가 무너지면서 CZ는 트위터를 통해 거래소들이 머클 트리(Merkle Tree) 방식의 준비금 증명을 채택해 사용자 자산을 유용하지 않았음을 입증할 것을 촉구했다. 이후 여러 거래소들이 이에 호응하며 준비금 증명을 준비하기 시작했고, 고객들에게 자금이 안전하다는 점을 보장하고 있다. 그러나 머클 트리 기반의 준비금 증명 방법은 근본적인 결함을 가지고 있다. 구체적으로 말하면, 중앙화 기관은 이러한 준비금 증명이 목표로 하는 '유용 없음' 검증을 우회할 수 있는 몇 가지 경로를 쉽게 이용할 수 있다.
아래에서는 현재의 머클 트리 기반 준비금 증명 방식이 가진 두 가지 근본적인 문제점을 설명하고, 이를 개선하기 위한 아이디어들을 제안하고자 한다.
기존 준비금 증명 방식의 작동 원리
사용자와 중앙화 기관 사이의 정보 비대칭을 완화하기 위해, 기존의 준비금 증명은 일반적으로 전통적인 감사(audit) 방식을 활용한다. 즉, 양측이 신뢰하는 제3자 감사기관이 감사 보고서를 발행하여, 중앙화 기관이 블록체인 상에 보유한 자산량(준비금 증명)과 사용자 자산 잔액의 총합(부채 증명)이 일치함을 입증하는 것이다.
부채 증명의 경우, 중앙화 기관은 사용자 계정 정보와 자산 잔액을 포함하는 머클 트리를 생성해야 한다. 머클 트리는 본질적으로 사용자 계정의 자산 잔액에 대한 익명화되고 위변조 불가능한 스냅샷을 만든다. 각 사용자는 자신의 계정 해시 값을 독립적으로 계산함으로써, 자신의 계정이 머클 트리에 포함되어 있는지를 확인할 수 있다.
준비금 증명의 경우, 중앙화 기관은 자신이 소유한 체인상 주소를 제공하고, 이를 검증 및 감사받아야 한다. 일반적인 방법은 중앙화 기관이 해당 주소에 대한 소유권을 입증하기 위해 디지털 서명을 제공하도록 요구하는 것이다.
머클 트리 스냅샷과 체인상 주소 소유권 확인이 완료되면, 감사기관은 부채와 준비금 각각의 자산 총량을 대조함으로써, 중앙화 기관이 사용자 자금을 유용했는지 여부를 판단하게 된다.
기존 준비금 증명 방식의 결함
1. 차입 자금을 이용해 감사를 통과할 가능성
준비금 증명 방식의 한 가지 문제점은, 감사가 특정 시점에 기초한다는 점이며, 보통 몇 달 또는 수년마다 한 번씩 실시된다는 것이다. 즉, 중앙화 거래소는 여전히 사용자 자금을 유용한 후, 감사 기간 동안 단기 차입을 통해 공백을 메워 감사를 간단히 통과할 기회를 가질 수 있다.
2. 외부 자금 제공처와 공모하여 감사를 통과할 가능성
관련 디지털 서명을 제공하는 것은 해당 주소 상 자산에 대한 소유권을 의미하지 않는다. 중앙화 기관은 외부 자금 제공처와 공모하여 체인상 자산 증명을 제공할 수 있다. 외부 자금 제공처는 동일한 자금을 이용해 여러 기관에 동시에 자산 증명을 제공할 수도 있다. 현재의 감사 방식으로는 이러한 사기 행위를 식별하기 어렵다.
증명 방식 개선을 위한 제안
이상적인 준비금 증명 시스템은 감사기관과 최종 사용자에게 부채와 준비금에 대해 실시간으로 점검할 수 있는 능력을 제공해야 한다. 하지만 이는 높은 비용이나 사용자 계정 정보 유출이라는 대가를 수반할 수 있다. 충분한 데이터를 확보한 제3자 감사기관은 익명화된 데이터로부터도 사용자의 포지션 정보를 추론해낼 수 있기 때문이다.
감사 기간 동안 준비금 증명이 위조되는 가능성을 방지하면서도 사용자 정보를 노출시키지 않기 위해, 다음의 두 가지 주요 아이디어를 제안한다:
1. 샘플링 기반 무작위 감사
예측 불가능한 시간 간격으로 무작위 감사를 실시하면, 중앙화 기관이 계정 잔액과 체인상 자산을 조작하기 어려워진다. 또한, 무작위 감사에 적발될 수 있다는 두려움은 부정행위를 억제하는 효과도 있다.
실천 방안: 감사 요청은 신뢰할 수 있는 제3자 감사기관이 중앙화 기관에 무작위로 전송할 수 있다. 지침을 받은 후, 중앙화 기관은 해당 시점(특정 블록 높이 기준)의 사용자 계정 잔액(부채 증명)을 포함하는 머클 트리를 생성해야 한다.
2. MPC-TSS 방식을 활용한 준비금 증명 가속화
무작위 감사 기간 동안, 중앙화 기관은 짧은 시간 내에 준비금 증명을 제공해야 한다. 이는 다수의 체인상 주소를 관리하는 중앙화 기관(예: 거래소)에게 큰 도전 과제이다. 중앙화 기관이 대부분의 자산을 소수 고정 주소(예: 핫월렛 또는 콜드월렛)에 저장할 수 있다 하더라도, 많은 수의 체인상 주소에 분산 저장된 자산의 총량은 여전히 크다. 감사 기간 동안 모든 주소의 자금을 소수의 공개 주소로 집계하는 작업은 매우 시간이 오래 걸린다. 이러한 시간 차이는 유용 행위가 차입이나 외부 자금 지원을 통해 공백을 메울 충분한 여지를 제공한다.
중앙화 기관이 자산을 실제로 보유한 주소에서 바로 준비금 증명을 할 수 있을까? 즉, 체인상 자산을 소수 주소로 통합하지 않고도 가능한가? 가능한 방법 중 하나는 MPC 임계값 서명 방식(MPC-TSS) 기술을 활용하는 것이다.
요약하면, MPC-TSS는 고급 암호 기술로서, 개인키를 두 개 이상의 조각으로 나누어 암호화한 후 여러 당사자가 보유하게 한다. 이 키 조각 보유자들은 각자의 키 조각을 교환하거나 병합하지 않고도 협력하여 트랜잭션에 공동 서명할 수 있다. 이 MPC-TSS 위탁 기술은 Cobo가 최근 출시한 제품이기도 하다.
이 솔루션 하에서, 제3자 감사기관(법률사무소, 회계법인, 위탁관리기관, 신탁자, 혹은 규제기관 자체 등)이 키 조각 하나를 보유하고, 중앙화 기관이 나머지 키 조각을 보유할 수 있다. "임계값(threshold)"을 1보다 큰 수로 설정하면, 모든 자산은 여전히 중앙화 기관의 통제 하에 있게 된다. 참고로, 중앙화 기관이 감사기관과 공동 관리하는 다수의 주소를 생성할 수 있도록 하기 위해서는, MPC-TSS 공동 관리 방식이 BIP32 프로토콜을 지원해야 한다. 감사기관이 하나의 키 조각을 보유함으로써, 중앙화 기관의 체인상 주소 집합을 명확히 파악하고, 특정 블록 높이에서 중앙화 기관의 자산 규모를 산정할 수 있게 된다.
감사의 말
이 글 작성 과정에서 Discus Fish(신어), Lily King, Jeanette, Tavia, Linfeng, Ellaine 등 Cobo 동료들의 소중한 논의와 건설적인 제안에 감사드립니다.
Cobo의 MPC WaaS(MPC 기반 웹3 자산 위탁/공동관리 솔루션)에 관심이 있으신 분은 고객 성공팀에 문의해 주시기 바랍니다. Web3 자산 위탁 및 DeFi 보안 구조에 관한 솔루션에 대해 기꺼이 논의하겠습니다.
Cobo에 문의하기: https://mpc.cobo.com/mpc-zh
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News













