
Merkle 트리 기반 증명은 암호화폐 거래소의 표준이 되어야 한다
FTX가 암호화폐 세계에서 몰락한 이후, 11월 9일 FTX 사태 직후 며칠 동안 주요 중앙화 거래소(CEX)들은 최근 자사의 머클 트리 준비금 증명(Merkle-tree proof-of-reserves)을 공개하거나 발표하겠다고 밝히며, 머클 증명을 통해 기존에 투명하지 않았던 CEX의 준비금을 투명하게 공개함으로써 자사 거래소의 자산 보유 상황을 입증하고, 자금이 유용되거나 이동되지 않았음을 증명하려 하고 있다.
물론 FTX의 붕괴는 전체 CEX 산업의 블랙박스 운영 방식에 그림자를 드리우며 지울 수 없는 오점을 남겼다. 그러나 머클 트리 준비금 증명은 이 업계에 작은 희망의 빛을 가져다주는 것처럼 보인다. 이러한 기술적 해결책은 사실 몇 년 전부터 이미 제안되어 적용된 바 있다. 그렇다면 과연 '머클 증명'이란 무엇이며, 어떻게 사용자 자산이 유용되지 않았음을 입증할 수 있으며, 자산이 안전하게 보관되고 있다는 것을 증명할 수 있을까?
머클 트리는 비트코인과 이더리움 등 암호화폐에서 사용하는 데이터 구조로, 데이터를 압축할 수 있는 암호학적 기술이다. 머클 트리를 활용하면 여러 개의 데이터를 하나로 통합하여 대규모 데이터의 요약 결과를 저장할 수 있으며, 동시에 암호학적 방법을 통해 해당 데이터가 요약 결과에 포함되어 있음을 입증할 수 있다. 또한 머클 트리의 루트(root) 데이터 무결성을 검증함으로써, 머클 트리를 구성하는 모든 데이터의 무결성도 함께 입증할 수 있다.
머클 트리의 리프(leaf) 노드는 각 데이터의 해시값으로 구성된다. 구체적으로는 인접한 두 해시값을 결합해 다시 해시 연산을 수행하여 부모 해시값을 생성하며, 최종적으로 가장 상위 계층에 생성된 해시값을 머클 트리 루트 또는 루트 해시(Merkle Root)라고 한다. 루트 해시값은 모든 데이터의 해시 특성을 포함하고 있기 때문에, 어느 한 노드에서 데이터가 변조되면 완전히 다른 값이 도출되며, 머클 트리에 기록된 해시값은 위변조가 불가능하다.
예를 들어, 우리의 계정 및 잔액 정보가 데이터 A로서 머클 루트에 기록되었다면, 다음의 데이터들을 통해 데이터 A가 실제로 머클 트리에 포함되었는지 검증할 수 있다:
- 데이터 A (계정 및 잔액 정보)
- B의 해시값
- CD의 해시값
- 루트 해시값

그림 1: 머클 트리 데이터 저장 개념도
다음으로 데이터 A로부터 A의 해시값을 계산하고, 이를 B의 해시값과 함께 AB의 해시값을 계산한다. 마지막으로 AB의 해시값과 CD의 해시값을 이용해 루트 해시값을 계산한 후, 우리가 계산한 루트 해시값과 제공받은 루트 해시값을 비교하여 동일하다면 데이터 A가 머클 트리에 기록되었음을 입증할 수 있다.
만약 중앙화 거래소의 모든 사용자 자산이 머클 트리에 기록되고 그 증명이 진실이라면, 거래소는 타 사용자의 정보를 공개하지 않으면서 각 사용자에게 "데이터가 머클 트리에 기록되었으며, 사용자의 자산이 실재한다"는 것을 입증할 수 있게 된다.
이러한 증명 시스템은 실제 운영에서 어떻게 활용될까? 이 시스템의 신뢰는 머클 트리(동적 억제, dynamic deterrence)와 감사(audit, 제3자 전문 책임)라는 두 가지 기반 위에 구축된다. 동적 억제란, 모든 사용자가 검증 노드 역할을 하여 자신이 머클 트리에 포함되지 않았다는 것을 입증함으로써 거래소가 제공한 루트 해시가 가짜임을 폭로할 수 있다는 점에 기반한다. 다만 이는 루트 해시가 모든 사용자 잔액의 합계를 나타낸다는 기능은 없다는 점에서 제한적이다. 두 요소는 서로 없어서는 안 될 관계이며, 단순히 암호학적 증명 방식만으로 모든 문제를 해결할 수 없다. 현실은 이론보다 훨씬 복잡하며 조작 가능한 여지가 많다.
하지만 기존에 감사만으로 모니터링되던 CEX에 비해 머클 트리를 도입하는 것은 사용자에게 내부 고발(whistleblowing)의 권리를 부여하며, CEX의 자산 준비금에 대해 일정 부분 분산된 방식으로 감시할 수 있게 되었기 때문에 큰 진전이라 할 수 있다. 현재 심각한 신뢰 위기에 처한 시장 상황에서 긍정적인 변화이다.
그러나 머클 트리 준비금 증명을 채택한다고 해서 사용자 자산이 반드시 안전하다고 말할 수 있을까? 머클 증명을 통해 자신의 자산이 위변조 불가능한 해시에 기록되어 있음을 확인할 수는 있지만, 이것이 자금이 유용되거나 이동되지 않았음을 완전히 입증할 수 있을까?
중앙화 거래소는 매초 수많은 거래가 발생하기 때문에, 매초마다 루트 해시를 갱신하는 것은 현실적으로 불가능하다. 따라서 우리가 보는 루트 해시는 대부분 최신 정보가 아닐 가능성이 높다. 그러나 다른 한편으로, 머클 트리 계산은 일련의 해시 함수 연산으로 구성되며, 해시 연산 자체는 매우 빠르기 때문에 이론상 갱신 주기가 너무 느리지는 않을 것이다.
갱신 빈도 문제 외에도, 머클 트리 준비금 증명은 다음과 같은 중요한 문제점들을 가지고 있다:
-
프론트엔드 사기 문제: 머클 트리 데이터는 거래소가 소유한 서버에 존재하며, 사용자가 거래소와 상호작용하는 프론트엔드 페이지 역시 거래소가 통제한다. 따라서 거래소는 가짜 페이지를 반환해 사용자를 속일 가능성이 있다. 이 문제는 제3자 소프트웨어의 감시를 통해 해결해야 한다.
-
제3자 감사의 신뢰 문제: 전통 금융권에서도 감사기관의 실수나 불법 행위가 종종 발생한다. 암호화폐 분야에서는 아직 대규모로 적용되지 않았지만, 감사가 항상 객관적이고 공정하다고 보장할 수는 없다.
-
관련 거래, 부채 관계, 증거금 거래 등은 준비금만으로는 반영할 수 없다.
암호화폐 시장은 더욱 공개적이고 투명한 정보를 필요로 한다. 머클 트리 준비금 증명이 암호화폐 거래소의 표준이 된다면 업계 규범을 정립하고 사용자 신뢰를 회복하는 데 기여할 수 있다.
투자자든 사용자든 모두에게 있어, 자금의 안전성 확보는 모든 업계 종사자 머리 위에 걸린 다마스커스의 검과 같다. 이번 약세장에서 누가 무너지고 누가 살아남든, Web3의 바퀴는 멈추지 않고 계속해서 앞으로 나아갈 것이다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














