
암시장에 잠입하다, 투명한 블록체인 상의 프라이버시 연구
저자: Muhammad Yusuf, Delphi Digital
번역: 오설 블록체인
역자 주: 본문은 다양한 종류의 다크풀(dark pool)이 작동하는 방식과 프라이버시 아키텍처, 주문 매칭, 유동성 공급원, MEV(최대 추출 가능 가치), 검열 저항성 등에 대해 상세히 다룬다. 제로 낼스 증명(zero-knowledge proof) 등의 프라이버시 강화 기술을 도입함으로써 다크풀은 거래 프라이버시를 보호하면서도 높은 수준의 보안을 제공하려 시도한다. 또한 본문에서는 규제 준수와 거래 가시성 관련 문제는 물론, 다크풀 내 다양한 비즈니스 모델에 대해서도 논의하고 있다.
블록체인 기반 다크풀의 내부 작동 메커니즘을 깊이 있게 살펴보기 전에, 먼저 다크풀의 역사적 배경과 그 등장 동기, 지속 가능한 운영 구조, 그리고 시장에서 게임 룰을 얼마나 바꾸었는지를 이해해보자.
1960년대의 다크풀
1969년 당시 컴퓨터는 여전히 방 두세 개를 차지할 정도로 거대했고, 트레이더들은 거래장에서 소리를 지르며 지시를 외쳤다. 기관 투자자들은 시장에 파장을 일으키지 않고 주식을 매매할 수 있는 더 나은 방법이 필요했다. Jerome Pustilnik은 Instinet을 설립하여 월스트리트의 전자거래 시대를 열었다. 기관 투자자들은 주문을 내놓으면, Instinet이 매수와 매도 주문을 매칭하고 실행했다. Instinet 같은 플랫폼이 제대로 작동하기 위해서는 다수의 수요와 공급 주문이 필요했다. 그렇다면 기관 투자자들에게는 어떤 이점이 있었을까? 바로 기밀성이다. Instinet은 대기업들이 신원과 주문 내용을 다른 참가자들과 광범위한 시장으로부터 숨기고 익명으로 거래할 수 있도록 해주었다. 이를 통해 자사의 거래가 시장에 영향을 미치는 것을 막을 수 있었으며, 동시에 다른 트레이더들로부터 프론트런(front-run)되는 위험도 줄일 수 있었다.
2022년 기준, SEC에 등록된 다크풀은 60개 이상 존재한다. 일부는 뉴욕증권거래소(NYSE)와 나스닥(NASDAQ) 같은 거래소가 운영하며, 일부는 모건스탠리의 MS Pool이나 골드만삭스의 SigmaX처럼 브로커가 운영한다. 또 다른 일부는 Liquidnet과 MatchNow처럼 독립적으로 운영된다.
운영자가 다크풀을 운영하는 문제는, 운영자가 부정행위를 할 유인이 정당한 운영보다 클 수 있다는 점이다. 계산은 간단하다: 부패로 얻는 이익 > 부패로 인한 비용. 운영자는 벌금보다 더 큰 수익을 얻을 수 있기 때문이다. 2018년, SEC는 씨티그룹에게 1,200만 달러의 벌금을 부과했는데, 이는 씨티그룹이 다크풀을 운영하면서 투자자들을 오도하고 기밀 주문 정보를 고빈도 트레이딩 업체에 유출했기 때문이다. 이 정보를 받은 고빈도 트레이더들은 씨티그룹 고객의 주문 약 90억 달러어치를 프론트런하여 이익을 취했다.

전통적인 다크풀 사용자들은 운영자의 조작 위험에 직면해 있다. 이는 그들이 결함 있는 신뢰 체계에 참여함으로써 감수해야 하는 무거운 대가다. 2011년 이후 다크풀 운영자들은 혐의 해결을 위해 3.4억 달러 이상의 벌금을 지불했다. 그러나 이는 그들이 누릴 수 있는 잠재적 수익에 비하면 상대적으로 작은 비용이다. 블록체인 기반 다크풀은 이러한 악의적 운영자에 대한 신뢰를 없애려 하지만, 여전히 문제는 남아 있다.
믹서, 풀, 그리고 그 사이의 모든 것
블록체인은 본질적으로 완전한 투명성을 목표로 설계되었다. 이는 책임성을 촉진하지만, 동시에 양날의 검이기도 하다. 만약 당신이 체인 상에서 급여를 받는다면, 당신의 지갑 주소를 아는 누구라도 당신의 과거 및 미래 급여 내역을 확인할 수 있다.
DEX(탈중앙화 거래소)와 지갑은 지갑 추적 플랫폼과 팔로우 트레이딩 플랫폼에 의해 추적되며, 후자는 익명의 사용자가 성과 좋은 트레이더를 스나이핑(snipe)하게 해 거래 전략을 복잡하게 만든다. 대규모 주문은 공개 메모리풀(mempool) 내에서 검색자(searcher)에 의해 프론트런될 위험도 있다.
다크풀에 들어가기 전에, 먼저 믹서(mixer)와 다크풀을 구분하자. 믹서는 다크풀의 하위 집합이다. Tornado Cash 같은 믹서는 토큰을 혼합하여 지갑과 자산 간 연결을 끊어 자금 출처를 추적하기 어렵게 한다. 반면 다크풀은 지갑과 토큰 간 연결을 끊을 뿐 아니라, 다른 거래 상대방에 관한 정보를 전혀 공개하지 않고도 거래할 수 있도록 돕는다.
이제 우리는 전통적 다크풀의 기원과 동기를 이해했고, 믹서와 다크풀을 구분했다. 이제 계정/잔액 모델(Account/Balance models)과 제로 낼스 증명, 다자간 계산(MPC), 완전 동형 암호화(FHE) 같은 프라이버시 강화 기술(PETs)을 통해 프라이버시를 인프라에 통합하는 블록체인 기반 다크풀에 대해 깊이 탐구해보자.

본문 작성 시점 기준, Portal Gate, Renegade, Tristero 등의 다크풀은 아직 개발 중이다. 반면 Panther와 Railgun 같은 프라이버시 프로토콜은 이미 운영 중이며, 교환뿐만 아니라 스테이킹, 유동성 공급, 대출 등 다양한 DeFi 거래를 위한 프라이버시 보호 거래를 지원한다.
프라이버시 아키텍처
잔액 모델
블록체인은 상태 머신(state machine)이다. 상태는 계정과 거래로 구성되며, 계정의 거래가 발생할 때마다 새로운 상태 전환이 체인에 추가되고, 계정 잔액도 업데이트된다. 계정 잔액 모델은 블록체인이 사용자 계정 잔액을 추적하고 관리하는 방식의 한 형태다. 이더리움, 솔라나, 폴리곤 등의 블록체인은 계정 모델을 사용하며, 비트코인, Zcash, 모네로 등의 블록체인은 UTXO 모델을 사용한다. 이러한 모델은 블록체인 상태를 관리하고 표현하는 방식에서 차이를 보인다.
계정 모델은 은행 계좌와 유사하며, 현재 상태를 일련의 주소와 그 잔액으로 표시한다. 지불을 할 때마다 정확한 금액을 보내며, 어느 쪽에도 잔여 금액이 남지 않으며 새로운 잔액도 생성되지 않는다. 반면 UTXO(Unspent Transaction Output) 모델은 그렇게 단순하지 않다. 지불을 할 때 기존 전체 잔액이 이전되며, 기존 잔액은 소각된다. 남은 부분은 새로운 잔액으로 추가된다. UTXO 모델은 현재 상태를 모든 거래의 사용된 출력과 미사용 출력으로 구성된 그래프로 표시한다.

예를 들어 설명하자면:
앨리스의 지갑에는 6개의 코인이 들어있는 UTXO 하나와 5개의 코인이 들어있는 UTXO 하나가 있고, 밥의 지갑에는 5개의 코인이 들어있는 UTXO 하나만 있다고 하자. 앨리스가 밥에게 5개의 코인을 보낼 때, 그녀는 두 UTXO를 하나의 거래로 합친다. 이로 인해 관찰자는 그녀가 밥에게 보낸 5개 코인의 출처와 남은 잔액의 행방을 파악하기 어려워진다. 이러한 프라이버시 보호 메커니즘은 자금 흐름을 효과적으로 은폐하고 거래 참여자의 프라이버시를 보장한다.
새롭게 생성된 UTXO는 소유자가 알려져 있지 않으므로, 개별 사용자와 연결시키기 위해 더 정교한 체인 상 분석이 필요하다. 반면 계정 모델은 대체 가능성을 가지며, 주소 재사용을 장려하므로 개별 사용자의 거래 이력을 쉽게 추적할 수 있다.
UTXO 모델에서는 이중 지불(double-spend)이 매우 어렵다. 각 UTXO는 자체에서 생성되는 고유한 "nullifier"를 갖는다. 거래를 검증할 때, 즉 UTXO가 사용될 때, 그 nullifier도 함께 사용되며, 이는 해당 거래가 다시 사용되는 것을 방지한다.
프라이버시 중심 L1과 L2에서는 UTXO 모델의 여러 변형이 사용되고 있다. Aleo가 사용하는 Record 모델은 UTXO 모델의 변형이며, Aztec과 Polygon Miden은 UTXO 모델과 계정 모델을 혼합 사용한다.
Zcash가 사용하는 UTXO 모델은 다크풀에서 사용되는 UTXO 모델에 크게 영감을 주었다. 일부 프로토콜은 이를 수정하여 다수의 자산과 계정을 지원한다. Portal Gate, Penumbra, Railgun, Renegade 등의 프로토콜은 각 UTXO가 note가 되는 'note' 기반 메커니즘을 사용한다. 이러한 note는 UTXO와 마찬가지로 자산, 주문, 가치에 대한 정보를 포함하지만, 소유자/사용자에게만 공개된다. 이 note들은 상태 커밋 트리(State Commitment Tree)라 불리는 머클 트리 내에 저장되며, 상태 체인을 저장한다. note는 다크풀 내부의 송금 또는 정산으로 생성되거나 리레이어(relayer)에게 요금을 지불하면서 생성될 수 있다. Renegade는 UTXO(주문)를 매칭하고 개인 상태를 업데이트하기 위해 내장 MPC를 사용한다. 여러 note는 단일 note 안에 저장될 수도 있다.
Panther 프로토콜에서는 각 자산이나 계정이 zAsset(프라이빗 자산) 또는 zNFT(프라이빗 NFT)로 표현되며, UTXO 모델은 "Bus"라는 머클 트리를 통해 작동한다. Bus는 최대 64개의 UTXO를 묶어 처리하여 사용자의 비용 효율성을 최적화한다. "Bus 운영자"가 처리를 담당하며, 사용자는 $ZKP로 계산되는 보상을 통해 운영자를 유인한다. 개별 UTXO를 실행할 때는 Panther가所谓 "Taxi" 머클 트리를 사용한다. 다수의 체인에 걸쳐 UTXO를 지원하기 위해 "Ferry" 머클 트리라는 또 다른 구조도 존재한다.
증명 시스템
이는 프라이버시 강화 기술(PETs)의 핵심 구성 요소다. 제로 낼스 증명(ZKPs)은 정보를 노출하지 않으면서도 올바른 정보를 소유하고 있음을 증명하는 데 사용된다. 다크풀 맥락에서 ZKPs는 사용자가 충분한 자금과 주문 권한을 가지고 있음을 증명하여 주문 매칭과 정산을 가능하게 하되, 이 세부 정보는 다크풀 운영자, 다른 트레이더, 외부 제3자에게는 숨긴다.
증명 시스템은 이러한 증명을 생성하기 위해 고안된 암호학적 구조다. 다양한 유형이 있으며, 각각 생성하는 증명의 크기, 생성 및 검증 시간, 계산 리소스 소비량이 다르다. 여기서는 우리가 언급한 다크풀에서 실제로 적용된 Groth16과 UltraPlonk이라는 두 가지 중요한 증명 시스템을 심층적으로 살펴볼 것이다.

Panther, Penumbra, Railgun은 모두 Groth16 증명 시스템을 활용하여 증명을 생성한다. Groth16은 일정한 크기의 증명을 생성한다는 점에서 선호되는데, 이는 증명 크기가 거래 규모, 가스 비용, 처리량에 영향을 미칠 수 있기 때문이다. 반면 Portal Gate와 Renegade는 UltraPlonk 증명 시스템을 사용한다.
Groth16이든 UltraPlonk이든, 모두 신뢰 설정(trusted setup)을 필요로 한다. 이 설정 과정에서 신뢰할 수 있는 여러 당사자들이 협력하여 공통의 매개변수 세트를 구축한다. 이 매개변수들은 검증자가 증명자를 신뢰하지 않아도 되고, 증명자가 검증자를 신뢰하지 않아도 되는 방식으로 증명을 검증하는 데 사용된다. 참고로, 신뢰 설정은 관련 당사자에 대한 신뢰 가정을 의미한다. 보안 다자간 계산(MPC)은 어떤 일방도 기초 설정 구조에 접근하지 못하도록 방지할 수 있다. Groth16은 신뢰 설정을 위해 다수의 참여를 요구하지만, UltraPlonk은 단 한 명의 참여만으로도 충분하다.
다크풀의 내부 작동
이제 다크풀의 내부 작동 방식에 대해 알아보자. 다크풀은 거래 중 프라이버시를 보호하고, 유동성을 제공하며, MEV 추출을 방지하고, 검열에 저항하며, 규제 준수를 어떻게 실현하는가?
지갑 설정
대부분의 경우, 다크풀과 상호작용하기 위해선 전용 지갑을 새로 만들어야 한다. Railgun은 Railway Wallet이라는 제3자 지갑 제공업체를 두고 있으며, 이를 통해 암호화된 EOA를 생성할 수 있어 토큰/NFT의 수량과 종류를 노출하지 않고 보유할 수 있다. 또한 Relay Adapt 메커니즘을 통해 공개 스마트 계약을 비공개로 호출할 수 있다.
Renegade에서는 지갑이 곧 개인 키를 소유하고 거래에 서명할 수 있는 UTXO를 의미한다. 새로운 UTXO를 생성하고 ZK 증명을 제출해야 한다. 이 증명은 새로운 UTXO가 실제로 새롭고, 그 안의 자금을 아직 사용하지 않았음을 입증한다. 대부분의 작업(예: 예치, 주문, 거래)은 기존 지갑을 무효화시키므로, 이중 지불을 방지하기 위해 새로운 지갑을 생성해야 한다. 사용자 경험은 일반 이더리움 지갑과 동일하다.
Penumbra를 사용하려면 다른 Cosmos 체인과 마찬가지로 새 지갑을 생성해야 한다. 이후 IBC 전송을 통해 지갑에 자금을 입금할 수 있다.
Panther와 Portal Gate는 KYC 절차를 마련했다. 기존 이더리움 지갑을 사용할 수 있지만, 연결된 지갑 사용자는 여권을 검증하여 프로토콜과 상호작용할 수 있는 자격을 받아야 한다. 기업 사용자는 KYB 절차를 거쳐 사업 정보를 공유해야 한다. 검증은 체인 외부에서 등록된 컴플라이언스 제공자가 수행하며, 자격은 정기적으로 만료되어 재검증이 필요하다.
주문 발견 및 매칭
주문 발견과 매칭 측면에서, Uniswap이나 Curve 같은 일반 DEX는 자동 시장 조성자(AMM) 방식을 사용하여 주문을 유동성 풀과 매칭한다. 그러나 이 방식은 프라이버시 관점에서 최적이 아니다. 왜냐하면 주문이 공개 유동성 풀과 매칭될 때, 주문 세부 정보가 블록체인 상에 공개되기 때문이다. 이는 대규모 거래를 하는 트레이더에게 이상적이지 않다. 왜냐하면 시장의 다른 참여자들에게 자신의 의도를 드러내고, 그들이 이를 악용할 수 있기 때문이다. 일부 다크풀은 결국 유동성 풀과 매칭하거나 외부 공개 계약을 사용하여 주문을 매칭하는데, 이때 리레이어를 프라이버시 보호를 위한 격벽으로 삼아 트레이더와 외부 유동성 공급원을 분리한다. 다음으로는 다크풀이 프라이버시를 유지하면서 어떻게 유동성을 확보하는지 살펴보겠다.
이제 기억하자. 트레이더는 이미 자금을 다크풀의 지갑에 예치했다. 이제 주문을 제출할 때 어떤 일이 일어나는지 살펴보자. 일부 다크풀은 P2P 방식의 주문 매칭을 채택하고, 일부는 풀 기반 방식을 사용하며, 제로 낼스 증명이나 다자간 계산 같은 PETs를 활용한다. 이들의 내부 계약은 외부 공개 계약과 상호작용한다. P2P 방식이나 거래자 간 주문 교차(crossing)는 슬리피지 없이 더 나은 실행을 가능하게 한다. 왜냐하면 주문이 유동성 풀과 매칭되면, 주문 제출과 실행 사이에 풀의 가격이 변할 수 있기 때문이다. 반면 거래자 간 주문이 교차되면, 주문은 그들 사이에서 합의한 가격으로 실행된다.
P2P 방식을 사용하는 Renegade의 경우, 트레이더가 주문을 제출하면 자신을 대신해 입찰(주문 매칭)을 수행할 리레이어를 선택하고 수수료를 지불한다. 트레이더는 자신의 지갑과 주문을 소유하고 있음을 증명하는 'VALID COMMITMENT'라는 ZK 증명을 생성한다. 그런 다음 네트워크에 '핸드셰이크(handshake)'를 보내 다른 트레이더의 핸드셰이크와 매칭한다. 핸드셰이크는 본질적으로 VALID COMMITMENT ZK 증명, 해시된 주문 세부 정보, nullifier, 키 쌍을 포함하는 불변 리스트다. 트레이더의 핸드셰이크가 다른 트레이더의 핸드셰이크와 매칭되면, 다자간 계산을 수행한다. Renegade는 공동 ZK-SNARK를 사용하여 트레이더의 주문이 실제로 상대방의 주문과 매칭되었음을 증명한다. 이를 통해 주문 매칭 중에도 주문 세부 정보가 다른 당사자에게 노출되지 않는다. 필요한 모든 증명이 완료되면, 교환된 토큰을 보관할 새로운 지갑이 생성되며, 이 지갑이 실제로 새로운 것임을 검증하여 이중 지불을 방지한다. 사용자 경험은 기존 이더리움 지갑과 동일하다.

Portal Gate의 경우, 트레이더가 주문을 제출하면 API 노드가 주문을 수신하고 암호화한 후 ZK 증명을 생성하여 Book으로 중계한다. Book은 일련의 오프체인 노드로 구성되며, 주문을 수집하고 FHE(완전 동형 암호화) 환경에서 주문 매칭 알고리즘을 실행한다. 즉, 암호화된 주문을 해독하지 않고도 매칭이 가능하다. 주문 매칭이 성공하면, 개별 매칭 세부 정보는 공개되지 않은 채 전체 매칭 결과만 표시된다. 이 역시 프라이버시 보호에 기여한다.

Railgun의 경우, 트레이더가 Railgun을 통해 교환 주문을 내면, 'Adapt Module'이라 불리는 스마트 계약이 여러 작업을 수행한다. 즉, 트레이더 지갑 내에서 지정된 프라이빗 잔액을 가져와 프라이버시 마스킹을 해제한다. Adapt Module은 주문(UTXO)이 이미 폐기/사용되었는지도 검증한다. 그런 다음 0x API가 집계된 DEX 유동성 사이에서 최적의 환율을 찾아 자산을 교환한다. 마지막으로 Adapt Module은 교환된 자산을 다시 프라이빗 잔액에 마스킹하여 활동이나 주소가 노출되지 않도록 한다. 이 워크플로우는 다른 DeFi 거래 유형에도 적용 가능하다.

Panther 프로토콜도 유사하게 작동하며, MASP(멀티자산 프라이버시 풀)를 다른 DeFi 프로토콜과 연결하는 'Zswap' 모듈을 사용한다. '풀'이라기보다 MASP는 자산이 MASP에 예치될 때 그 UTXO를 커밋하는 '추가 전용(append-only)' 머클 트리들의 집합에 가깝다. 트레이더가 주문을 생성하면, Zswap은 다른 DeFi 프로토콜에서 견적을 집계하여 트레이더가 선택하게 한다. 주문이 내려지면 Zswap은 어떠한 세부 정보도 공개하지 않고 사용자 간 교환을 비공개로 촉진하는 암호화된 타임 기반 에스크로 계약을 생성한다. 자산이 교환되면, 사용자는 Panther의 MASP로부터 ZAsset(ZNFT) 형태로 토큰의 IOU(채무 증서)를 받는다.

Penumbra의 교환 모듈도 Zswap이라 불리지만, 작동 원리는 전혀 다르다. 트레이더가 주문을 생성하면, 트레이더의 프라이빗 잔액에 있는 자산이 소각되고, 암호화된 주문 가치가 검증자에게 전송된다. 주문 처리에는 일정 수수료도 필요하다. 사용자는 이벤트 기록을 보관하기 위해 'swap' NFT를 받는다. 이 NFT는 거래 자산, 수수료, 입력 금액, 암호화 키 등 다양한 매개변수로 구성된다. 검증자는 여러 트레이더의 주문 입력을 한 번에 집계한 후, 집중된 유동성 포지션에 대해 실행한다. 실행 후 출력은 각 트레이더의 입력 비율에 따라 배분된다. 이 경우 개별 데이터는 여전히 비공개지만, 검증자가 주문을 집계하여 집중 유동성 포지션에 대해 실행할 때는 집계된 데이터가 노출된다.

유동성 확보
Renegade와 Portal Gate 같은 다크풀은 익명 방식으로 사용자 간에 매수/매도 주문을 직접 교차 매칭하지만, 항상 주문 수요를 충족시킬 만큼의 유동성이 존재하지는 않는다. 일반 DEX에서는 거의 확실히 충분한 유동성을 확보할 수 있지만, 그 대가로 프라이버시와 가격 영향(price impact)을 포기해야 한다. 프라이버시란, 누구나 당신이 매도하거나 매수하는 대상을 볼 수 있다는 것이며, 가격 영향이란 보장된 유동성에는 프리미엄이 붙어 있어 주문과 함께 추가 비용을 지불해야 한다는 것이다. 다크풀에서는 거래 전후 모두 주문 정보가 숨겨진다.
Renegade는 중개 없이 주문 흐름을 역방향 주문 흐름과 매칭함으로써 이러한 디자인 철학을 따른다. 유동성이 부족한 경우, '관심 의사 표시(Indication of Interests)'라는 메커니즘이 있는데, 트레이더가 주문 매칭 리레이어에게 주문의 일부 세부 정보를 공개할 수 있다. 제로 낼스를 통해 가격, 규모, 자산, 주문 유형 등의 세부 사항을 효과적으로 증명할 수 있다. 트레이더가 이러한 정보를 공개하기로 선택하면, 다른 트레이더들은 주문북에 게시된 주문을 볼 수 있게 되어, 주문이 더 빨리 실행될 가능성이 높아진다.
Panther 프로토콜은 단순한 다크풀을 넘어서 다양한 프라이버시 보호 DeFi 활동을 제공한다. 사용자는 먼저 자금을 멀티자산 프라이버시 풀(MASP)에 예치하며, 예치된 자산은 ZkAsset(ZkNFT)로 표현된다. ZkAsset은 본질적으로 IOU 토큰으로, 이더리움에서 스테이킹할 때 받는 stETH와 유사하다. DeFi Adaptor라 불리는 플러그인은 MASP를 기존 DeFi 프로토콜과 비공개로 연결할 수 있다. Zswap과 Ztrade는 MASP를 Uniswap, Quickswap, Curve 등의 DEX와 연결하는 어댑터다.
Panther나 Railgun과 마찬가지로, Penumbra도 다양한 DeFi 활동을 수행할 수 있는 경로다. Penumbra에서 사용자가 LP 포지션을 개설하면, 사실상 자신만의 소규모 AMM을 생성하는 것이다. 이렇게 되면 사용자가 직접 수수료를 설정하며 수만 개의 집중 유동성 포지션이 생겨난다. 그러나 이는 유동성 분산을 초래할 수 있으나, Zswap / DEX 엔진이 이러한 개별 유동성 포지션을 하나의 AMM으로 통합하여 전체 유동성 그래프를 통해 유입 거래를 라우팅할 수 있게 한다.
Portal Gate는 Book의 백업으로, Automaton이라 불리는 익명 AMM DEX를 사용한다. Book은 리레이어가 운영하는 주문북으로, 사용자 거래를 교차 매칭한다. 유동성 부족으로 주문북이 거래를 성사시키지 못하면, 주문은 Automaton으로 라우팅된다. 유동성은 다른 AMM과 마찬가지로 Automaton 내에서 유도된다.
Railgun의 Railway DEX는 0x가 개발한 0xAPI를 사용한다. 즉, Railway DEX의 주문은 0xAPI DEX 집계기 내에서 최적의 실행 가격을 찾기 위해 라우팅된다. 거래 경로가 결정되면, 지갑은 트레이더 잔액의 자금을 사용해 교환을 수행하는 증명을 생성하며, 0xAPI로부터 유입된 토큰은 트레이더 잔액 내에서 다시 마스킹된다.
비즈니스 모델
전통 금융(TradFi) 다크풀은 본질적으로 엘리트 클럽처럼 여겨지며, 많은 자금을 가진 사람들만이 거래할 수 있다. 이들은 익명으로 주문을 내고 반대편에서 오는 관련 주문 흐름을 받기 위해 회원비를 지불한다. 거래 수수료는 일반적으로 전통 금융 거래소보다 낮다. 전통 금융 다크풀은 브로커 역할을 하여 판매자로부터 낮은 가격에 증권을 매수한 후, 다른 매수자에게 높은 가격에 재판매할 수도 있다.
암호화폐 분야의 다크풀은 '운영자 중심' 설계를 더 많이 버리고 '촉진자(facilitator)' 역할에 더 가깝다. 그들은 두 가지 주요 구성 요소를 통해 수익을 창출한다: 성공적으로 매칭된 주문에 대한 프로토콜 수수료, 그리고 트레이더가 거래 처리를 위해 리레이어에게 지불하는 수수료의 일부. 리레이 수수료의 일부는 리레이 운영자에게 돌아갈 수도 있다. 트레이더는 더 나은 프라이버시를 위해 자체 리레이어를 운영함으로써 리레이 수수료를 피할 수도 있다.

탈중앙화된 암호화폐 다크풀은 '콜드 스타트(cold start)' 문제에 직면할 수 있다. 유동성 풀과 거래하는 DEX와 달리, 대부분의 다크풀은 매수와 매도 주문을 매칭하여 사용자끼리 거래하게 한다. 그러한 시스템에서는 시장의 양쪽에 주문이 있어야 한다는 점이 중요하다. 참고로 전통 금융 다크풀은 골드만삭스처럼 수십억 달러 규모의 은행이나 뉴욕증권거래소 같은 거래소가 호스팅한다. 따라서 사용자에게 주문 흐름을 제공하는 것이 비교적 쉽다. 독립형 다크풀 중 하나인 Liquidnet은 당초 플랫폼에서 운영을 시작할 최소 100개의 바이사이드 회사가 필요하다고 추정했지만, 실제로는 38개 회사만 참여했다. 지금은 Liquidnet이 세계 3대 다크풀 중 하나로 자리매김했다.

중앙화 거래소는 탈중앙화 거래소보다 평균 10배 이상의 거래량을 기록하는데, 이는 더 광범위한 사용자층을 끌어들이고, 더 나은 사용자 경험과 규제 준수를 제공하여 수요를 충족시키기 위한 공급을 늘리기 때문이다. OTC(장외 거래) 유동성은 상대적으로 확보하기 어렵다.
암호화폐 분야의 대부분의 OTC 거래는 OTC 데스크와 호스팅 스마트 계약, 혹은 텔레그램 그룹을 통해 이루어진다. 이는 충격적인 현상이다. 사람들은 자주 사기를 당한다. 사기꾼 입장에서는 텔레그램에서 타인을 사칭하거나 메시지와 거래 세부 정보를 편집하는 것이 매우 용이하다. 다크풀을 사용하면 유동성이 없는 토큰이나 NFT의 즉시 정산을 보장받지는 못할 수 있지만, 더 높은 수준의 보안성과 프라이버시를 보장한다. 다크풀을 통한 OTC 거래는 OTC 데스크 고객이 브로커 수수료를 지불하지 않아도 된다는 장점도 있다.

거래량은 다크풀의 효과적 운영에 필수적이다. 이는 주문 매칭을 효과적으로 하고 트레이더의 익명성을 보호하는 데 도움이 된다. 다크풀 내 익명 자금이 많을수록, 주문북에 있는 주문이 많을수록 예금자와 트레이더를 자산과 연결하기가 더 어려워진다. 왜냐하면 연결하려는 잠재적 예금자가 더 많아지기 때문이다. 자산을 보호할 때는 토큰 종류도 중요하게 고려해야 한다. USDC나 DAI 같은 일반적인 스테이블코인을 보호하는 것은, 인지도가 낮고 예금자가 극소수인 밈 토큰보다 훨씬 더 높은 익명성을 제공한다.

MEV와 검열 저항성
퍼블릭 체인에서 운영되는 대부분의 DEX는 공개 투명한 원장 특성상 MEV가 존재할 수밖에 없다. Uniswap이나 Curve 같은 DEX의 주문 세부 정보는 비밀이 아니므로, 검색자(searcher)와 빌더(builder)는 이를 기반으로 번들을 재배치하거나 블록 내 거래 순서를 조정하여 MEV를 추출할 수 있다.
프라이버시는 중요하지만, 주관적인 문제다. Tornado Cash는 체인 상에서 익명으로 금융 활동을 하는 데 탁월한 성과를 보였다. 오픈소스이며 누구나 무료로 사용할 수 있기 때문에, 범죄자들도 이를 이용해 훔친 자금을 세탁하기도 한다. 북한의 해커 조직 라자루스(Lazarus)는 지금까지 약 10억 달러(9.58억 달러)를 훔쳤다. OFAC(해외자산통제국)은 특별지정국민(SDN) 및 제재 대상 개인 명단을 유지하고 있다. 라자루스와 같은 악의적 개인 및 조직, 심지어 Tornado Cash의 스마트 계약 주소까지도 규정 미준수로 인해 OFAC 명단에 올랐다. OFAC 규정을 준수하지 않는 프로토콜은 체인 상 블록에서 거래가 배제될 가능성이 매우 높다. 이는 심각한 검열 저항성 문제인가? 그렇다. 문제는 블록 생성자에만 국한되지 않는다. 검증자와 리레이어도 거래나 블록을 무시할 수 있다.

다크풀에서는 각 주문이 ZKP를 생성하므로, 주문 세부 정보는 검증자를 포함한 모든 제3자에게 대부분 비공개 상태가 된다. 이는 주문 매칭이나 정산 세부 정보를 공개할 필요성을 없애며, MEV와 검열 저항성을 높인다. 적어도 거래 워크플로가 다크풀의 암호화 전제 하에 유지되는 한 말이다. 다만 공개 계약을 호출하거나 공유 정렬기(shared sequencer)를 사용하는 경우, 다시 MEV 추출 기회가 발생할 수 있다.
규제 준수
당신이 프로토콜 내에서 운영하든 개인 사용자로서 행동하든, 가장 원하지 않는 것은 거래가 처리되지 않고 블록 내에서 무시되어 상태 전환이 실패하거나, SEC가 찾아와 차를 마시자는 것이다. Tornado Cash의 창립자와 개발자들에게 이러한 걱정은 현실이 되었으며, 이들은 돈세탁 혐의로 체포되었다. 많은 국가에서 TC 프론트엔드는 불법이거나 사용 중단되었으며, 일부 중앙화 거래소에서도 지원되지 않는다. 그러나 TC 스마트 계약 자체는 기술적 지식이 있는 사람이라면 여전히 사용할 수 있다.
이러한 상황을 최소화하기 위해, 다크풀과 기타 프라이버시 중심 프로토콜은 사용자가 스스로 규제 준수 여부를 결정할 수 있는 방법을 찾아왔다.
Renegade는 각 트레이더가 거래 상대방 그룹을 선택할 수 있도록 한다. 개인 트레이더는 거래 상대방에 대해 기본적인 AML/제재 검사를 원할 수 있고, 기관은 KYB/KYC 검사를 원할 수 있다. 이러한 거래 상대방 선택 로직은 MPC 시작 전에 ZKP를 사용하여 컴플라이언스 검사를 설정할 수 있다.
Portal Gate와 Panther Protocol은 컴플라이언스 오라클과 협력하며, 이 오라클은 다시 전통적인 컴플라이언스 서비스 제공업체와 협력하여 사용자 계정의 KYC/KYB를 체인 외부에서 검증한다. 검증이 완료되면 사용자는 컴플라이언스 ZK 증명을 획득한다. 이를 통해 지갑이 다크풀 프로토콜과 함께 사용할 수 있게 되지만, 정기적으로 재검증이 필요하다.
Penumbra에서는 사용자가 '거래 시점(view)'을 사용하여 체인 외부에서 자신의 컴플라이언스를 보여줄 수 있으며, 자금 출처 등을 선택적으로 공개할 수 있다. 마찬가지로 Railgun에서는 사용자가 '뷰 키(view key)'를 소유하여 X 블록 시간에서 Y 블록 시간까지의 거래와 잔액을 조회할 수 있다.
Railgun은 Chainway가 개발한 'Innocence Proof(무죄 증명)'를 사용하며, 이는 Privacy Pools 2.0 논문에서 논의된다. Innocence Proof는 어떠한 거래 세부 정보도 공개하지 않고도 거래가 합법적임을 입증할 수 있게 도와준다. 머클 트리는 모든 이전 UTXO(거래, 잔액)의 집합 역할을 한다. 이를 통해 특정 잔액이 특정 거래 집합의 일부임을 확인할 수 있다. 그러나 특정 잔액이 특정 거래 집합의 일부가 아님을 증명하려면 NULL 값을 기록하는 Sparse Merkle 트리가 필요하다. 이를 통해 특정 잔액이 특정 거래 집합의 일부가 아님을 입증할 수 있다. 이 경우, 초기 예치에서 최종 인출까지의 증명 체인 계산이 정확함을 입증하기 위해 재귀적 SNARK가 사용되며, 이는 사용자의 잔액이 특정 거래 집합의 일부가 아님을 입증하는 근거가 된다.
남겨진 생각들
다크풀 사용자는 공개 가격을 거래 기준으로 삼지만, 공개 거래소에서의 자산 가격은 다크풀 내에서 발생하는 변동을 반영하지 못할 수 있다. 2014년 이전까지 다크풀과 공개 거래소 간의 가격 발견은 일방향 관계였다. 미국 금융산업규제국(FINRA)과 미국 증권거래위원회(SEC)는 다크풀 거래 정보를 거래 후 2~4주 지연하여 증권별로 공개 발표하도록 하는 조치를 시행했다. 앞으로 암호화폐 다크풀에도 유사한 공개 공시 기준이 적용되어 모든 시장 참여자의 보다 나은 가격 발견을 촉진할지 여부는 아직 불확실하다.

순수한 다크풀은 시장의 양쪽에 주문 흐름을 축적하여 임계점을 달성해야 한다. OTC 거래가 OTC 데스크와 텔레그램 그룹보다 더 안전하고, 프라이버시가 보장되며, 경제적으로 효율적이기 때문에 많은 OTC 거래가 다크풀로 이동할 수 있다. 프라이빗 DEX가 공개 유동성 풀이나 외부 스마트 계약과 상호작용하는 경우, 정보 유출을 시뮬레이션하는 것이 일부 거래와 트레이더의 노출을 초래할 수 있다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














