TRACE · Bitcoin forensic investigation platform · internal threat model & dev roadmap

TRACE — Criminal Fund Flow Threat Model

어디까지 보이는가, 어디서 끊기는가, 무엇을 다음에 개발할 것인가

TRACE의 목표는 범죄자가 사용하는 “최적의 은닉 경로”를 추천하는 것이 아니다. 공개 수사자료와 실제 기술 구조에서 반복되는 laundering typology를 모델링하고, 각 단계에서 다음을 결정한다.

  1. 1무엇이 FACT 인가
  2. 2무엇이 INFERENCE 인가
  3. 3무엇이 EXTERNAL EVIDENCE 를 요구하는가
  4. 4TRACE가 어떤 기능을 개발해야 하는가
Core principle · Evidence-first
TRACE는 모르는 구간을
추측으로 연결하지 않는다.

TRACE never bridges an unknown segment with a guess. UNKNOWN stays UNKNOWN. OPAQUE stays unlinked.

UNKNOWN ≠ 없음 OPAQUE ≠ coverage gap 상관 ≠ 같은 자금
지금 만들 것
  1. P1 Bitcoin foundation — index · spend · peel · cluster · coverage
  2. P2 Post-mix — CoinJoin 탐지 · ambiguity · collapse guard
  3. P3 Attribution + custodial boundary — provenance · validity
추적이 약해지거나 끊기는 곳
  • CoinJoin — trail은 남고 소유 추론이 약해짐
  • Custodial service — 내부 장부는 chain 밖
  • XMR — OPAQUE 공개 증거로 lineage 불가
  • P2P · OTC · bank — 관계·목적·현금화는 외부 기록
다시 잇는 유일한 방법
  • 외부 기록이 명시한 txid / address에서만 재시작 (R13)
  • anchor는 Bitcoin에서 재검증 → 새 trace
  • anchor 없는 후보 생성은 제품 기능이 아님
범위. 수사·포렌식 제품 개발용 문서다. 회피 경로 순서, 서비스 익명성 순위, 금액·시간 간격 같은 회피 파라미터는 의도적으로 넣지 않았다. 서비스·프로젝트 이름은 연구 대상 예시이며 알파벳 순이다.
“TRACE 현재 능력” 칸. 이 문서는 TRACE 코드베이스를 직접 검증하지 않았다. 그래서 구현 상태는 기본값이 NOT VERIFIED 이고, 설계 결정은 ◷TRACE PLANNED 으로만 표시한다. 코드 확인 후 갱신한다.
Part I · 흐름
01

상태 범례 · 근거 수준 · 절대 만들지 않는 등식

색만으로 구분하지 않는다. 모든 상태는 텍스트 label과 선 모양(실선·점선·이중선)을 함께 쓴다.

Evidence 상태 — 모든 주장에 하나가 붙는다

  • FACTBitcoin Core에서 재현 가능한 데이터. txid · outpoint · script · value · height.
  • INFERENCEheuristic·모델의 결론. 규칙과 근거를 같이 기록. FACT로 승격되지 않는다.
  • ATTRIBUTION주소·cluster ↔ 서비스·주체 연결. provenance와 유효기간 필수.
  • EXTERNAL EVIDENCEchain 밖 기록. 서비스 장부, 수사 회신, 압수 DB, endpoint artifact.
  • CORRELATED CANDIDATE시간·금액 같은 상관만 있는 후보. 자동 승격 금지, 사람 검토 대상.
  • UNKNOWN아직 모른다. 없다는 뜻이 아니다.
  • OPAQUE SEGMENT데이터는 존재하지만 공개 증거로 lineage를 입증할 수 없는 구간 (예: XMR).
  • NOT IMPLEMENTEDTRACE에 기능이 없다. 결과 없음 ≠ 대상 없음.
  • NOT VERIFIED주장·설계는 있으나 검증 전.
  • BOUNDARYcustodial · protocol 경계. 이 너머의 이동은 그 주체의 기록에 있다.

근거 수준 badge — typology 자체의 근거

  • ◉Observed in public cases공개 수사·기소 자료에서 반복 관찰된 typology.
  • ◇Technically possible기술적으로 가능. 공개 prevalence 자료 부족.
  • ?Research hypothesisTRACE 연구 가설. 측정 전에는 detector가 아니다.
  • ✓TRACE implemented코드에서 확인된 기능. 이 문서에서는 아직 부여하지 않음.
  • ◷TRACE planned연구·설계 트랙에 있음.
  • ○Not implemented계획 또는 연구 후보 단계.

“해커들이 주로 사용한다”, “가장 선호한다” 같은 표현은 쓰지 않는다. 공개 통계가 없으면 insufficient public prevalence data로 적는다. 개별 사건 출처 연결은 R14/R15 corpus에서 관리한다.

TRACE가 절대 만들지 않는 등식

CoinJoin output≠범죄자 소유
P2P transfer≠현금화
CEX deposit≠fiat cashout
서비스가 XMR 지원≠이 주문이 XMR로 교환됨
시간·금액이 비슷함≠같은 자금
같은 계정/주소 연결≠같은 자연인
UNKNOWN≠없음
OPAQUE≠coverage gap
XMR≠off-chain
02

Full Threat Map — 범죄 자금이 거칠 수 있는 typology

이 그림은 typology 지도이지 evidence graph가 아니다. 선은 “가능한 경로”이고, 선 모양은 그 구간에서 TRACE가 얻을 수 있는 최선의 근거 수준을 뜻한다. 단계는 생략·반복·순서 변경될 수 있다.

TRACE 전체 자금흐름 위협 지도 Stolen BTC에서 layering, peel chain, CoinJoin을 거쳐 instant exchanger, atomic swap, DEX/bridge, P2P/OTC로 분기한다. privacy asset 이후 OPAQUE SEGMENT가 있고, 외부 기록 anchor에서만 transparent asset 재등장을 추적한다. CEX deposit은 fiat cashout 확인이 아니다. ① BITCOIN · 공개 TRANSACTION GRAPH FACT · '도난' 판정은 EXTERNAL STOLEN BTC txid · outpoint · value 도난 여부 = 피해 기록 FACT LAYERING intermediary wallets edge = FACT · 소유 ≠ FACT FACT + INFERENCE PEEL CHAIN 각 hop = FACT change 판정 = INFERENCE STRUCTURAL FACT · 소유는 NOT FACT COINJOIN / MIXER CoinJoin tx 탐지 = FACT 어느 output이 누구 것인지 = NOT FACT CoinJoin 생략 가능 가능한 분기 · A–D는 상호배타 아님 · 순서 고정 아님 ② 서비스 · 프로토콜 · 상대방 경계 SERVICE BOUNDARY · ATTRIBUTION A · INSTANT EXCHANGER custodial · service deposit 주소 XMR 지원 ≠ 이 주문이 XMR RESEARCH · NOT IMPLEMENTED B · ATOMIC SWAP 2-of-2 lock · timelock 경로 2-of-2 ≠ swap 확정 FACT (BTC 측) · R9 C · DEX / BRIDGE cross-chain · protocol swap 반대편 체인 = EXTERNAL FACT (transfer) · 목적 UNKNOWN D · P2P / OTC chain에서는 단순 transfer로 보임 transfer ≠ 관계 ≠ 현금화 PRIVACY ENTRY EVIDENCE 필요 · 거래별 PRIVACY ASSET — XMR 등 서비스 지원 목록 ≠ 이 주문의 교환 자산 entry는 order record · endpoint 증거로만 성립 EXTERNAL EVIDENCE · R8 전 다른 TRANSPARENT CHAIN ETH · TRON-USDT 등 BTC FACT와 source grade 분리 UNKNOWN ≠ 없음 외부 P2P · OTC 기록 기록 없으면 목적·상대 UNKNOWN ledger · chat · payment record entry anchor (기록이 있을 때만) OPAQUE SEGMENT Public lineage unavailable No synthetic edge R16 import R8 전 native index 아님 XMR 구간 = OPAQUE ✕ 없는 데이터 아님 ✕ Bitcoin coverage gap 아님 ✕ NOT_ON_CHAIN 아님 edge 없음 — anchor는 외부 기록이 독립적으로 지정한다 ③ 재등장 · 현금화 경계 EXTERNAL EVIDENCE EXTERNAL RECORD ANCHOR payout txid · address order ID · LE return FACT (anchor 검증 후) TRANSPARENT 재등장 BTC · ETH · TRON-USDT 새 trace run 시작 FACT (edge) · 소유 INFERENCE INTERMEDIARY WALLETS layering 재반복 가능 cluster ≠ 자연인 CUSTODIAL BOUNDARY CEX · CUSTODIAN DEPOSIT CEX DEPOSIT ≠ FIAT CASHOUT CONFIRMED R13 · ANCHOR 규칙 기록이 이름을 준 txid / address에서만 재시작한다 anchor는 Bitcoin에서 존재를 검증한 뒤 새 trace run으로 연다 기록이 말하지 않은 쪽은 비워 둔다 — inference로 채우지 않는다 EXTERNAL EVIDENCE P2P / OTC transfer ≠ relationship relationship ≠ cashout NOT VERIFIED · 기록 전까지 FIAT · BANK · REAL ASSET CEX trade · withdrawal · bank 기록으로만 확인한다 외부 기록 필요

← 좁은 화면에서는 지도를 가로로 스크롤한다 →

chain에서 FACT로 확인 가능한 구간 external evidence가 있어야 성립하는 구간 연구 단계 (NOT IMPLEMENTED) BOUNDARY 이중 테두리 = custodial / service 경계 OPAQUE 빗금 + 점선 = 선을 긋지 않는 구간
Part II · 기법별 카드 — 같은 9개 항목
03 · Technique · P1 foundation

Layering / intermediary wallets · Peel chain

◉Observed in public cases ◷TRACE planned · P1

범죄 BTC를 여러 주소와 여러 거래를 거쳐 이동시키는 기본 layering. Bitcoin에서는 여전히 transaction graph가 보인다.

FACTStolen UTXO
→
FACThopsplit · merge
→
FACTpeel hop큰 출력이 이어짐
→
INFERENCEchange 판정어느 출력이 같은 행위자인가
→
ATTRIBUTION도착 서비스?provenance 필요
Why first 다른 모든 기술보다 먼저 완성해야 하는 기반이다.

CoinJoin 경계, custodial 경계, opaque segment, cashout 판단 모두 이 graph 위에서 결정된다. 여기의 coverage가 틀리면 이후의 “끊김” 판단도 틀린다.

무엇인가
여러 주소·거래로 자금을 분할·병합·이동하는 기본 layering. peel chain은 큰 출력 하나가 계속 다음 hop으로 이어지고 작은 출력이 하나씩 떨어져 나가는 반복 구조다.
세탁 과정에서의 역할
경로를 길게 만들어 수동 분석 비용을 키운다. 이후 모든 단계(mixer, 서비스, P2P)의 입구다.
FACT Bitcoin에서 보이는 것
  • 모든 tx, input/output, value, script type
  • block height · time
  • outpoint → spending tx 관계
  • peel chain의 각 hop
UNKNOWN Bitcoin에서 보이지 않는 것
  • 주소의 실제 소유자
  • change 출력이 누구 것인지 (→ INFERENCE)
  • 여러 cluster가 같은 주체인지
TRACE 현재 능력
Bitcoin Core = canonical source. full index · spend index · clustering · peel-chain 완성도는 NOT VERIFIED
TRACE가 개발해야 할 것
  • full index · spend index (outpoint → spender)
  • peel-chain detector (INFERENCE로 표시)
  • clustering + CoinJoin collapse guard
  • graph traversal (budget · 중단 사유 기록)
  • coverage semantics — 어디까지 봤고 왜 멈췄는가
잘못 판단하면 안 되는 것
  • change heuristic 결과를 FACT로 표시
  • traversal이 멈춘 곳 = 자금의 종착점
  • cluster = 한 사람
  • index가 없어서 못 본 것 = 없음
주요 evidence source
Bitcoin Core blocks · tx · script · witness, TRACE index, 피해 신고(“도난” 판정 근거)
관련 연구
P1 · 번호 있는 연구 트랙 없음 (foundation)
04 · Technique · P2 post-mix

CoinJoin / Mixer

◉Observed in public cases ◷TRACE planned · P2
FACTCrime BTC
→
STRUCTURAL FACTCoinJoin tx다수 input · 동일 금액 output
→
CANDIDATEpostmix #1
CANDIDATEpostmix #2
CANDIDATEpostmix #…N
Key CoinJoin은 trail을 없애는 것이 아니라, ownership inference를 약하게 만든다.

tx·input·output은 모두 공개되어 있다. 사라지는 것은 “어느 output이 어느 input 주체의 것인가”라는 대응이다.

STRUCTURAL FACTCoinJoin transaction detected
INFERENCEpossible postmix continuations — 후보 집합으로 표시
NOT FACTwhich output belongs to the original actor
탐지 대상구조적 특징 (detector 관점)공개 사용량 지표 — 출처 · 범위 · 시점TRACE 상태주의
Whirlpool
ZeroLink 계열 · Samourai → Ashigaru 등
고정 denomination pool, mix tx마다 5 input / 5 output, fee는 premix(tx0)에서223,597 tx · 22,450.63 BTC mixed (Samourai, 2018-07 ~ 2022-02) [1]
DOJ: Whirlpool + Ricochet 합계 80,000 BTC 초과 (Ricochet는 CoinJoin 아님) [3]
2024-04 Samourai 중단 · 이후 재개된 Whirlpool은 “little activity” [2]
NOT VERIFIED 목표coordinator 운영 상태는 시점 의존 → valid_from/to. 중단 이후에도 과거 사건 데이터에는 계속 나온다
Wasabi 1.x
ZeroLink · Chaumian — WabiSabi 아님
대형 round, 고정 기준 denomination(+배수) 동일 금액 출력, coordinator fee 출력32,251 tx · 205,030.21 BTC mixed (2018-07 ~ 2022-02) [1]
현재 inactive [2]
NOT VERIFIED 목표과거 사건 데이터용. WabiSabi 수치와 같은 행에 합치지 않는다
WabiSabi
Wasabi 2.x · Ginger 등
다수 input/output, 표준 denomination 집합에서 반복되는 금액, variable amountkruw.io가 mixed input의 99%, 최근 18개월 46,000 BTC 초과 · 2024-06 종료 이전 수준을 넘어섬 [2]
NOT VERIFIED 2022-06 ~ 2026-10-27: 108,226 CoinJoin · input 명목량 2,310,458 BTC · 그중 value 기준 92.5%가 remix · fresh inflow 149,192 BTC [7]
NOT VERIFIED 목표“99%”는 Wasabi 2.x 안에서의 점유율이다. 명목량은 remix 중복을 포함하므로 신규 유입 규모는 fresh inflow로 본다
JoinMarketmaker/taker 구조, 동일 금액 출력 + 참여자별 change유동성 추이(2015~)가 공개 통계 페이지에 차트로 있다 [6]. 누적 tx · BTC 총계는 확인하지 못함. P2P 구조라 탐지 coverage 자체가 한계NOT VERIFIED 목표change 출력은 참여자별로 남는다 — 그래도 소유 확정 아님
Generic CoinJoin다수 input + 동일 금액 output 다수구현별 분해 없음. 분석 업체의 전체 CoinJoin 지표는 heuristic 기반이고 시간에 따라 기준이 바뀐다NOT VERIFIED 목표batch payment와의 false positive 측정
Centralized mixerCoinJoin 아님. service deposit → pool → payout (custodial)공개 수치는 주로 수사·기소 자료: Helix 354,468 BTC 이상 (2014–2017) [4] · ChipMixer 30억 달러 초과 (2017–2023) [5]P3 attribution 영역deposit과 payout 사이 chain link 없음 — 서비스 기록 필요. CoinJoin 수치와 같은 축으로 비교하지 않는다

비율은 “무엇으로 재느냐”에 따라 뒤집힌다

같은 기간 · 같은 논문에서 두 구현을 함께 측정한 유일한 공개 비교 (2018-07 ~ 2022-02, Wasabi 1.x vs Samourai Whirlpool — 둘 다 ZeroLink 계열) [1]

mixed BTC 기준 205,030 : 22,451 BTC (약 9배)
transaction 수 기준 32,251 : 223,597 tx (약 7배)

이유는 구조다. Whirlpool은 5×5 소형 tx + 무료 remix 반복으로 tx 수가 커지고, Wasabi 1.x는 round 하나에 많은 참여자가 모여 tx당 BTC가 크다. 두 값 모두 remix 중복이 빠졌는지는 [1]에서 확인이 필요하다.

명목량 ≠ 신규 유입 — WabiSabi (Wasabi 2.x) NOT VERIFIED

2022-06 ~ 2026-10-27 집계 [7]

input 명목량 2,310,458 BTC
fresh inflow 149,192 BTC (약 6.5%)

TRACE 문서에서 “신규 유입 규모”는 누적 mixed volume이 아니라 fresh inflow로 쓴다. 명목량을 그대로 쓰면 이미 mix된 BTC를 여러 번 센다.

  • 구현 간 현재 점유율은 표기하지 않는다. 계열마다 측정 단위(BTC · tx · input) · 기간 · 방법이 다르고, JoinMarket은 누적 총계를 확인하지 못했다. 서로 다른 수치를 나누면 근거 없는 비율이 된다.
  • 사용량 ≠ 범죄 사용량. 이 수치는 전체 mixing 활동이다. 범죄 자금 비율은 별개 지표이고, 분석 업체 추정치는 heuristic 기반이라 TRACE의 evidence가 아니다.
  • TRACE에 주는 의미: 사용량은 detector 개발 우선순위의 참고값일 뿐, 개별 사건에서 “이 계열일 확률”로 쓰지 않는다.
  1. [1] Ghesmati et al., Adoption and Actual Privacy of Decentralized CoinJoin Implementations in Bitcoin, arXiv:2109.10229 v3 (2022-09), block 530,500 ~ 725,345. Wasabi tx 수는 논문 안에서 30,251 / 32,251로 표기가 엇갈린다 — 본문 기여 절의 값을 사용. arxiv.org/abs/2109.10229
  2. [2] Svenda, Gavenda, Mavroudis, Hicks, CoinJoin ecosystem insights for Wasabi 1.x, Wasabi 2.x and Whirlpool coordinator-based privacy mixers, PoPETs 2026(2), pp. 557–592. coordinator 기반 구현 누적 391,000 BTC 초과(2018~). crocs.fi.muni.cz
  3. [3] U.S. DOJ SDNY, Samourai Wallet 기소 발표 (2024-04) · 선고 발표 (2025-11). justice.gov
  4. [4] U.S. DOJ, Helix 관련 자산 몰수 발표 (2026-01). justice.gov
  5. [5] U.S. DOJ, ChipMixer takedown 발표 (2023-03). justice.gov
  6. [6] crocs-muni, CoinJoin Statistics (Wasabi 2 · Wasabi 1 · Whirlpool · JoinMarket 유동성 차트, 2026-10-28 갱신). crocs-muni.github.io/coinjoin
  7. [7] 내부 리서치 메모가 인용한 coinjoin-stats.github.io 수치. 2026-10-29 이 문서 작성 시 해당 사이트는 404였고, [6]의 차트·explorer에서도 같은 수치를 찾지 못했다 → NOT VERIFIED. [6] 차트의 Wasabi 2 평균 remix rate는 대체로 80–95% 범위로, 방향은 일치한다(차트 판독).

조회일 2026-10-29. 수치는 각 출처의 주장·측정이고, TRACE가 재현한 값이 아니다.

무엇인가
여러 참여자의 input을 하나의 tx로 묶어 동일 금액 output을 만드는 협력 거래. Mixer는 서비스가 자금을 받아 다른 자금으로 지급하는 custodial 구조다.
세탁 과정에서의 역할
input↔output 소유 대응을 모호하게 만든다. 이후 분기(서비스·P2P)로 가기 전 단계로 반복 관찰된다.
FACT Bitcoin에서 보이는 것
  • CoinJoin tx 자체와 구조
  • input 집합 · 동일 금액 output
  • postmix output의 이후 spend
  • remix 반복
UNKNOWN Bitcoin에서 보이지 않는 것
  • input ↔ output 소유 대응
  • 참여자 수 = 주체 수인지
  • mixer 내부 pool 경로
TRACE 현재 능력
Whirlpool · WabiSabi · JoinMarket · generic 탐지와 postmix 분석은 현재/목표 항목. 완성도 NOT VERIFIED
TRACE가 개발해야 할 것
  • 계열별 detector · benchmark 분리. 순서: WabiSabi(현재 활동 · 규모) → JoinMarket → ZeroLink(Whirlpool · Wasabi 1.x — 과거 사건 데이터 때문에 필수 지원)
  • CoinJoin detection completeness + FP 측정
  • postmix candidate set (1개가 아니라 집합)
  • ambiguity 표현 — UI와 report 모두
  • clustering collapse guard: CoinJoin tx에 common-input 금지
잘못 판단하면 안 되는 것
  • output 하나를 원래 행위자 소유로 선언
  • CoinJoin input 전체를 한 cluster로 병합
  • “N개 중 1개”를 ownership probability로 제시
주요 evidence source
chain 구조(FACT), 압수된 coordinator/mixer DB, 압수 wallet 파일(endpoint), 수사 회신
관련 연구
P2 · 번호 미배정
05 · Technique · Service boundary

Custodial Instant Exchanger

◉Observed in public cases ◷TRACE planned · R11 · R14
연구 사례 (알파벳 순 · 순위 아님):ChangeNOWGodexSimpleSwapStealthEX
FACTBTC wallet
→
BOUNDARYservice-provided
deposit addressATTRIBUTION 필요
→
UNKNOWNoperator / LP내부 장부
⇢
EXTERNALXMR 또는 다른 자산주문 기록으로만
⇢
EXTERNALdestination wallet
Key 사용자는 자신의 BTC transaction에 서명하지만, deposit 이후 payout 이전에는 서비스 운영 로직에 의존한다.

Marketing claim

“non-custodial”

서비스가 스스로 붙이는 category. 증거가 아니다.

vs

TRACE가 묻는 질문

execution 중 deposited asset을 누가 통제하는가?

문서·기록으로 뒷받침되는 custody claim으로 답한다.

R11 핵심 수탁 여부는 서비스 category가 아니라 evidence-backed custody claim이다.

R11 custody claim 필드

legal_entity
운영 법인 (모르면 UNKNOWN)
jurisdiction
관할
custody_claim
근거 문서가 붙은 수탁 주장
operational_status
운영 · 중단 · 압수 등
sanctions_status
제재 여부와 근거
cooperation_status
수사 협조 이력
record_holder
주문 기록을 가진 주체
valid_from · valid_to
모든 claim은 기간이 있다
source documents
provenance — 출처 없는 claim 금지
무엇인가
계정 없이 주소만으로 자산을 교환해 주는 서비스. 사용자가 서비스 deposit 주소로 보내면 서비스가 다른 자산을 지정 주소로 지급한다.
세탁 과정에서의 역할
자산 종류를 바꾸는 지점(chain hopping). privacy asset으로의 entry 경로 중 하나로 공개 자료에서 반복 관찰된다.
FACT Bitcoin에서 보이는 것
  • deposit 주소로의 tx
  • 서비스 hot wallet 통합 패턴 (attribution 근거)
  • BTC payout tx — 단, deposit과의 연결은 chain에 없음
UNKNOWN Bitcoin에서 보이지 않는 것
  • 주문 존재 · 교환 자산 · 목적지
  • 내부 LP 경로
  • deposit ↔ payout 매핑
TRACE 현재 능력
R11 설계 (custody claim) · R14 corpus 계획. 구현 상태 NOT VERIFIED
TRACE가 개발해야 할 것
  • evidence-backed custody claim + validity
  • deposit address attribution with provenance
  • CUSTODIAL BOUNDARY 종료 표시
  • order record import → anchor (R13)
잘못 판단하면 안 되는 것
  • 서비스가 XMR 지원 → 이 deposit이 XMR로 교환
  • 비슷한 시각의 payout = 이 주문의 payout
  • “non-custodial” 마케팅 = custody claim
주요 evidence source
order record (order id ↔ deposit txid ↔ payout asset/address), 수사 회신, 압수 operator DB, 제재 공지
관련 연구
R11 R14 R13 R12
06 · Technique · Protocol boundary · Proposed research

Atomic Swap (BTC ↔ XMR)

◇Technically possible ?Research hypothesis ○Not implemented
연구 대상 (알파벳 순 · 순위·추천 아님):BasicSwapEigenwalletFarcaster· 공개 prevalence: insufficient public prevalence data
FACTBTC holderBTC lock tx
⇄
RESEARCHcryptographic swap protocol2-of-2 · timelock · adaptor signature
⇄
OPAQUEXMR holder / makerMonero 측

중앙 수탁 서비스의 deposit address가 필수가 아니다. 그래서 instant exchanger처럼 service attribution으로 접근할 수 없고, transaction structure + endpoint evidence로 접근해야 한다.

BITCOIN 측 연구 대상 경로 (일반 구조 · 구현마다 다름) LOCK 2-of-2 output witness/script 형태 연구 REDEEM · happy path 일반 spend와 유사 가능 adaptor-signature 관련 CANCEL timelock 이후 다시 2-of-2로 이동 REFUND BTC 측으로 반환 PUNISH 2nd timelock 이후 가설: happy path는 구별이 어렵고, cancel/refund/punish 경로가 더 특징적인 흔적을 남길 수 있다
Never equate 2-of-2 발견 ≠ Atomic Swap confirmed

2-of-2는 Lightning channel funding, multisig custody, P2P escrow에도 흔하다. 구조 하나로 swap을 확정하지 않는다.

Promotion gate false positive 측정 후에만 detector로 승격

라벨된 sample(자체 생성 regtest/testnet + endpoint로 확인된 사례) → feature → Lightning·multisig·escrow corpus 대비 precision → 승격 여부 결정.

무엇인가
두 체인 사이에서 상대방 수탁 없이 암호학적 조건(2-of-2, timelock, adaptor signature)으로 교환을 강제하는 프로토콜.
세탁 과정에서의 역할
중앙 서비스 deposit 주소 없이 BTC를 privacy asset으로 바꾸는 경로. service attribution이 적용되지 않는 지점.
FACT Bitcoin에서 보이는 것
  • lock · redeem · cancel · refund · punish tx (각각 tx로서 FACT)
  • script type · timelock · witness
UNKNOWN Bitcoin에서 보이지 않는 것
  • XMR leg 전체
  • 상대방 identity
  • 구조만으로 “swap이었다”는 확정
TRACE 현재 능력
NOT IMPLEMENTED Proposed research 단계
TRACE가 개발해야 할 것
  • BTC↔XMR Atomic Swap Structural Recognition
  • 라벨 sample set · feature 정의
  • FP 측정 (Lightning · multisig · escrow)
  • candidate는 CORRELATED CANDIDATE로만 표시
잘못 판단하면 안 되는 것
  • 2-of-2 = swap
  • swap candidate = XMR 수령 확정
  • refund가 안 보임 = swap 성공
주요 evidence source
endpoint (swap history, wallet DB, application log), maker 측 기록, chain 구조
06·B · Atomic Swap 구현체 비교 · Proposed research corpus

Eigenwallet · BasicSwap · Farcaster

?Research hypothesis ○Not implemented 시점 의존 사실 NOT VERIFIED

셋 다 “중앙 수탁자 없이 서로 다른 체인의 코인을 원자적으로 교환한다”는 같은 계열이다. 하지만 제품 성격, 지원 자산, 네트워크, BTC 측 암호 구조가 다르다.

Key Atomic Swap은 기술 범주이고, 세 프로젝트는 서로 호환되지 않는 별개 구현체다.

Eigenwallet 사용자와 BasicSwap 사용자가 바로 거래하는 구조가 아니다. 각자 주문 발견 · 네트워크 · 프로토콜 구현이 따로 있다.

Research hypothesis “Atomic Swap fingerprint” 한 종류는 없을 가능성이 높다.

protocol · coin pair · 구현 버전별로 fingerprint가 다를 수 있다. detector는 구현체별로 측정하고, 일반화는 측정 결과로만 판단한다.

항목EigenwalletBasicSwap DEXFarcaster
성격BTC↔XMR 특화 swap 앱atomic swap 위에 만든 범용 cross-chain DEXatomic swap 프로토콜 · 노드 구현
BTC↔XMR핵심 기능지원 (양방향)핵심 연구 대상
인터페이스GUI (taker) + ASB (maker)GUI · maker/taker 같은 클라이언트CLI · 노드 (microservice)
역할 구조GUI 사용자 = BTC 제공 taker · XMR 제공 쪽은 ASB maker 운영maker / taker 모두maker / taker 노드
지원 자산BTC / XMR 중심BTC, XMR, LTC, BCH, DASH, DCR, FIRO, PIVX, WOW 등BTC / XMR 중심
주문 발견maker discovery · rendezvous분산 order book + SMSGoffer · peer
네트워크libp2p · TorSMSG P2P network자체 peer / node 구조
BTC 측 암호 구조2-of-2 + timelock · adaptor signature 계열pair별로 다름: script 가능 체인은 HTLC (secret hash), XMR류는 adaptor signatureadaptor signature + arbitrating / accordant 체인 추상화
자산 수탁중앙 수탁 없음BasicSwap은 메시지 · 주문 발견만 제공, 자산 교환은 각 chain의 swap중앙 수탁 없음
개발 활동 NOT VERIFIED활발 — 4.16.1 (2026-10-13)활발 — 2026-10까지 변경저활동 — default branch 마지막 활동 2024-08 · README가 mainnet 사용 위험을 경고
TRACE 관련 evidencemaker ASB API / DB (예: btc_redeem_txid, btc_punish_txid) · GUI swap history로컬 DB · SMSG 메시지 · HTLC preimage (→ R10)노드 DB · swapd / syncerd 로그
TRACE 연구 역할Corpus A · 첫 측정 대상Corpus B · C · 구현 간 · pair 간 일반화 검증Corpus D · protocol reference / control sample

이 열 순서는 사용 추천이나 안전성 순위가 아니다. TRACE 연구 순서이고, 기준은 현재 활동성 · BTC 측 상태 머신의 명확성 · sample 확보 가능성이다. 버전 · 날짜 · 지원 자산 · timelock 값은 2026-10 리서치 메모 기준이고, 이 문서에서 재검증하지 않았다.

Eigenwallet BTC 측 상태 머신 — 측정할 5종 transaction

FACT (tx)Tx_locktaker가 BTC를 2-of-2에 lock
→
OPAQUEXMR lockmaker · Monero 측
→
FACT (tx)Tx_redeemmaker가 BTC redeem · secret 노출
→
OPAQUEXMR redeemtaker · Monero 측
FACT (tx)Tx_lock
→
NOT VERIFIEDcancel timelock메모 기준 24 Bitcoin blocks · 버전별 확인
→
FACT (tx)Tx_cancel
→
FACT (tx)Tx_refundrefund window 안
or
FACT (tx)Tx_punishrefund 없이 window 경과

각 tx의 존재는 FACT다. “이 tx들이 atomic swap이다”는 측정 전까지 CORRELATED CANDIDATE로만 표시한다. 압수된 maker ASB 기록에 txid가 있으면 R13 anchor가 된다.

Atomic Swap Structural Recognition Corpus

  1. AEigenwalletBTC 측 5종 tx (lock · redeem · cancel · refund · punish) 수집 · 상태 머신 기준 feature 측정
  2. BBasicSwap BTC/XMRA와 같은 pair, 다른 구현 — 구현 간 fingerprint 차이 측정
  3. CBasicSwap HTLC pairsBTC↔LTC · BTC↔DASH 등 — HTLC 구조, preimage 처리는 R10 규칙을 따름
  4. DFarcaster referenceprotocol 설계 대조용 control sample — 사용자 행태 탐지 대상 아님
  5. EOrdinary Bitcoin decoys — 필수Lightning channel funding / close · 2-of-2 multisig custody · CSV timelock wallet · P2P escrow. 이것 없이는 precision을 말할 수 없다
Never 2-of-2, timelock, 특정 witness가 보인다는 이유만으로 ATOMIC_SWAP으로 판정하지 않는다.

Corpus A–D 각각을 Corpus E와 비교해 precision을 측정한 뒤에만 detector 승격 여부를 결정한다. 승격은 구현체 · pair 단위로 한다.

07

Atomic Swap vs Instant Exchanger vs P2P Escrow

세 구조는 “교환”이라는 결과는 같지만, TRACE가 접근하는 방법이 다르다.

Instant exchangerservice attribution 중심
Atomic swaptransaction structure + endpoint evidence 중심
P2P escrowescrow structure + payment / endpoint evidence 중심
구분구조CustodianKYC dependencyBitcoin service addressCounterparty trustBlockchain fingerprintExternal recordsTRACE detection method
Custodial instant exchanger 서비스가 deposit을 받고 payout 실행 중 서비스가 통제 — custody claim으로 판단 서비스 정책·관할에 따라 다름 있음
service-provided deposit address
운영자 신뢰 deposit · hot wallet 패턴 → attribution order record (record holder = 서비스) service attribution + R11 custody claim
Atomic swap 프로토콜이 양측 lock/claim을 강제 필수 중앙 수탁자 없음 프로토콜 자체엔 없음 · maker/front-end는 별도 필수 아님 암호학 + timelock, liveness 필요 2-of-2 lock + timelock 경로 HYPOTHESIS endpoint · maker 기록 transaction structure + endpoint evidence
P2P escrow peer 간 거래 + escrow/multisig multisig 참여자 (arbitrator 포함 가능) — 단독 수탁 아님 플랫폼 KYC 없을 수 있음 · 결제수단 측 identity 노출 가능 escrow가 BTC일 때만 escrow + 평판 + arbitration BTC escrow면 multisig deposit/payout 구조 trade 기록 · 결제 기록 · chat escrow structure + payment / endpoint evidence
08 · Technique · Counterparty boundary

P2P — 세 가지 유형

◉Observed in public cases ◷TRACE planned · R13 · P6

DIRECT_P2P

wallet A
⇄
wallet B
  • 상대방 신뢰 필요
  • chain에서는 단순 transfer로 보일 수 있음
  • 왜 거래했는지는 external evidence 없이는 모름

P2P_MARKETPLACE

예:BisqHaveno
peer discovery
→
escrow / multisig
→
payment
→
dispute · arbitration
  • 플랫폼 KYC 없음 ≠ identity exposure 없음 — 결제수단·통신·endpoint에 남는다

ESCROW_P2P

A
⇄
ESCROW / MULTISIG
⇄
B
  • 상대방 신뢰 문제를 escrow·multisig가 줄인다
  • escrow가 BTC면 구조가 chain에 남는다
P2P transfer observed≠P2P relationship established
P2P relationship established≠cashout confirmed
무엇인가
중개 거래소 없이 개인 간 자산을 교환하는 거래. 직접 송금, marketplace, escrow 기반으로 나뉜다.
세탁 과정에서의 역할
custodial 기록이 없는 교환·현금화 경로. privacy asset 이후 재진입 경로로도 쓰일 수 있다.
FACT Bitcoin에서 보이는 것
  • BTC transfer 자체
  • BTC escrow면 multisig deposit/payout
UNKNOWN Bitcoin에서 보이지 않는 것
  • 거래 목적 · 상대방 · 반대 급부
  • fiat 결제 여부
  • marketplace 내부 trade 기록
TRACE 현재 능력
transfer 관측은 P1 기반에 의존. P2P 관계 증거 import는 R13 설계 NOT VERIFIED
TRACE가 개발해야 할 것
  • P2P_TYPE 구분 (DIRECT / MARKETPLACE / ESCROW)
  • escrow 구조 인식 (BTC escrow인 경우)
  • payment · chat · platform record → anchor
잘못 판단하면 안 되는 것
  • P2P transfer = 관계 성립
  • 관계 성립 = 현금화
  • 수령자 = mule (자동 라벨 금지)
주요 evidence source
platform trade 기록, 결제 기록, chat, 압수 wallet·app 데이터, 수사 회신
관련 연구
R13 R15 P6
09

Haveno vs Bisq — 위협모델 비교

어느 쪽이 범죄자에게 유리한지 평가하는 표가 아니다. TRACE가 어디서 무엇을 볼 수 있는지 비교한다.

Key KYC 없음 ≠ 추적 불가능

Bisq는 escrow가 Bitcoin 위에 있어 구조 분석이 가능하다. Haveno는 escrow가 Monero 위에 있어 공개 lineage 분석이 어렵고, endpoint와 외부 증거가 중심이 된다.

항목HavenoBisq
중심 자산XMRBTC
네트워크TorTor
플랫폼 KYC없음 (non-KYC)없음 (non-KYC)
거래 형태P2PP2P
EscrowXMR multisig escrowBitcoin multisig escrow
Public-chain lineageOPAQUE 공개 lineage 분석 어려움FACT Bitcoin transaction graph 공개
BTC 측에서 보일 수 있는 것BTC가 반대 급부일 때 peer 간 직접 송금으로 보일 수 있음escrow deposit/payout 구조 구체 fingerprint는 HYPOTHESIS
TRACE 접근endpoint · external evidence 중심structural analysis 가능 + external evidence
핵심 evidence앱 데이터 디렉터리, trade 기록, dispute/arbitration 기록, 결제 기록chain 구조, 앱 데이터 디렉터리, trade 기록, 결제 기록
10 · Technique · Broker boundary

OTC broker / dealer

◉Observed in public cases ◷TRACE planned · R13 · P6
FACTcustomer wallet
⇄
BOUNDARYOTC broker / dealer
⇢
UNKNOWN반대 자산 출처자체 inventory · 다른 고객 · LP
⇢
EXTERNALpayout / fiat settlement
Never 시간 + 금액 correlation만으로 자동 연결하지 않는다.

브로커는 여러 고객의 주문을 같은 inventory로 처리한다. 비슷한 시각·금액의 payout은 다른 고객의 것일 수 있다.

무엇인가
고객과 브로커/딜러가 장외에서 대량 교환하는 구조. 브로커는 자체 inventory, 다른 고객, liquidity provider로 반대 자산을 지급할 수 있다.
세탁 과정에서의 역할
자산 전환 · fiat 정산 지점. chain 위에서는 브로커 주소와의 송수신만 남는다.
FACT Bitcoin에서 보이는 것
  • 고객 → 브로커 주소 tx
  • 브로커 주소 → 수령 주소 tx (있다면)
  • attribution이 있으면 브로커 cluster
UNKNOWN chain alone으로 알 수 없는 것
  • 주문 목적
  • 실제 고객
  • 반대편 지급
  • fiat settlement
TRACE 현재 능력
broker/order evidence import는 R13 설계 NOT VERIFIED
TRACE가 개발해야 할 것
  • broker ledger · order id → anchor import
  • payout txid 검증 후 새 trace
  • record holder · provenance 기록
잘못 판단하면 안 되는 것
  • time + amount → 같은 주문
  • 브로커 지급 = 범죄 수익 지급
  • 브로커 고객 = 범죄 주체
주요 evidence source
broker ledger, order id, payout txid, communication, seized database, law enforcement return
관련 연구
R13 R15 P6
Part III · 증거 모델 — 끊긴 곳을 어떻게 다루는가
11 · Privacy asset · 가장 중요한 경계

XMR / Privacy Asset

◉Observed in public cases ◷TRACE planned · R12 · R13
FACTBTC transactiontxid · outpoint — Bitcoin Core에서 재현
↓
EXTERNAL EVIDENCEPRIVACY ENTRY EVIDENCE이 BTC가 privacy asset으로 들어갔다는 거래별 근거 — order record · endpoint · 수사 회신
OPAQUE SEGMENT No public evidence establishes lineage
✕ 위아래를 잇는 edge 없음
EXTERNAL EVIDENCEEXTERNAL RECORD ANCHOR기록이 명시한 payout txid · address
↓
FACTTransparent chain FACTanchor 검증 후 새 trace
✕XMR은 없는 데이터가 아니다Monero activity는 blockchain에 있다.
✕XMR은 Bitcoin coverage gap이 아니다TRACE index를 더 만든다고 풀리는 문제가 아니다. coverage 문제와 privacy 문제는 다르다.
✕XMR은 Lightning 같은 NOT_ON_CHAIN이 아니다off-chain이 아니라, on-chain이지만 공개 증거만으로 필요한 lineage를 입증할 수 없다.
Definition Monero activity는 blockchain에 있지만, 공개 증거만으로 필요한 lineage를 입증할 수 없다.
No synthetic edge across XMR.
무엇인가
송수신자·금액·출력 연결을 기본적으로 숨기도록 설계된 privacy asset. 이 문서에서는 XMR을 대표로 다룬다.
세탁 과정에서의 역할
transparent chain lineage를 공개 증거 수준에서 끊는 구간(chain hopping). 이후 다른 transparent asset으로 재등장할 수 있다.
FACT Bitcoin에서 보이는 것
  • entry 쪽 BTC tx (서비스·swap으로 가는 tx)
  • exit 쪽 BTC tx (anchor가 주어졌을 때)
OPAQUE 공개 증거로 입증되지 않는 것
  • entry와 exit 사이 lineage
  • XMR 내부 이동·보유 기간·분할
  • entry 주체 = exit 주체 여부
TRACE 현재 능력
R12 sidecar 설계 · R13 anchor 설계 ◷planned · 구현 NOT VERIFIED
TRACE가 개발해야 할 것
  • OpaqueSegment sidecar (R12)
  • entry/exit anchor를 각자 독립 근거로 기록
  • UI: opaque 구간을 선 없이 표시
잘못 판단하면 안 되는 것
  • XMR = off-chain / 없음
  • XMR = coverage gap
  • entry와 exit 사이 synthetic edge
  • 시간·금액 유사 = 같은 자금
주요 evidence source
exchanger order record, swap endpoint data, 압수 wallet, P2P/OTC 기록, 수사 회신
관련 연구
R12 R13 R11
12 · Design principle

R12 · Opaque Segment

◷TRACE planned구현 NOT VERIFIED

OpaqueSegment는 …

✕FrontierKind가 아니다“더 볼 수 있는데 아직 안 본 곳”이 아니다.
✕TerminalReason이 아니다trace의 종료 사유 enum을 늘리지 않는다.
✕canonical graph edge가 아니다graph에 노드·edge를 추가하지 않는다.
✕run serialization을 바꾸지 않는다같은 입력 → 같은 run 결과. 재현성 유지.
So it is sidecar 데이터

canonical trace 옆에 붙는 별도 기록. trace 결과를 바꾸지 않고, “이 구간은 공개 증거로 잇지 않는다”를 명시한다.

두 독립 anchor가 존재할 수 있다

ENTRY ANCHOR독립 근거 #1
✕no edge
OPAQUEpublic lineage unavailable
✕no edge
EXIT ANCHOR독립 근거 #2

entry만 있거나 exit만 있을 수 있다. 없는 쪽은 비어 있는 채로 둔다.

Never entry와 exit가 있다고 해서 같은 자금 · 같은 계정 · 같은 사람이라고 하지 않는다.

두 anchor를 잇는 관계는 외부 기록이 직접 말할 때만 RECORD_ASSERTED_LINK로 기록된다 (R13). 그때도 출처는 그 기록이며, chain FACT edge가 아니다.

13 · Design principle · 재진입의 유일한 경로

R13 · External Evidence + Anchor Linker

◷TRACE planned구현 NOT VERIFIED
Principle External record가 명시적으로 이름을 준 anchor에서만 다시 추적한다.

허용되는 anchor 예

payout txid
기록이 지급 tx를 명시
deposit address
기록이 입금 주소를 명시
withdrawal address
출금 대상 주소
order ID tied to tx
주문이 txid와 함께 기록됨
seized operator record
압수된 운영자 기록
law-enforcement return
수사 회신

Anchor 규칙

record names one anchor→create one anchor
record names two anchors→record both (연결하지 않음)
record explicitly states relationship→RECORD_ASSERTED_LINK
missing side→remains missing

처리 흐름

EXTERNALrecord importsource · record holder · 수령일
→
명시된 anchor만 추출해석·보간 없음
→
FACT CHECKBitcoin에서 검증txid 존재 · address 일치
→
새 trace runanchor provenance 유지

검증 실패 → anchor는 NOT VERIFIED로 남고 trace를 열지 않는다.

Never 절대로 inference로 빈 부분을 채우지 않는다.
14

Re-entry Candidate Engine을 만들지 않는 이유

⚠ 기준점 없는 후보 생성은 기본 제품 기능으로 만들지 않는다
  1. XMR 반대편에 anchor가 없다외부 기록이 아무 txid·address도 주지 않음
  2. 모든 exchanger payout을 검색한다면후보가 너무 많다
  3. 결국 남는 신호time proximity amount similarity
  4. R11에서 이미 결정time·amount 자동 상관은 하지 않는다
원칙: anchor-driven investigation only
15 · Boundary · R15

Cashout Boundary

◉Observed in public cases ◷TRACE planned · R15
FACTTransparent asset
→
CUSTODIAL BOUNDARYCEX deposit

CEX deposit = custodial boundary. 이 뒤의 이동은 거래소 내부 장부에 있다.

CEX DEPOSIT≠FIAT CASHOUT

현금화 증거 사다리 — 각 단계는 별도 기록이 필요하다

  1. FACT + ATTR① deposit 관측tx + 주소 attribution
  2. EXTERNAL② 계정 식별거래소 회신
  3. EXTERNAL③ 거래 체결CEX trading record
  4. EXTERNAL④ fiat 출금withdrawal record
  5. EXTERNAL⑤ 은행 수령bank record

앞 단계가 뒤 단계를 증명하지 않는다. ①만 있으면 결론은 “custodial boundary 도달”이다.

무엇인가
transparent asset이 거래소·수탁자로 들어가 fiat 또는 실물 자산으로 바뀌는 경계.
세탁 과정에서의 역할
범죄 수익을 실제 사용 가능한 가치로 바꾸는 마지막 단계. 동시에 KYC 기록이 존재할 가능성이 높은 지점.
FACT Bitcoin에서 보이는 것
  • deposit 주소로의 tx
  • 거래소 hot wallet 이동 (attribution 근거)
UNKNOWN Bitcoin에서 보이지 않는 것
  • 계정 소유자
  • 매매 · fiat 출금 여부
  • 은행 계좌 · 실제 수익자
TRACE 현재 능력
R15 boundary 설계 ◷planned · 구현 NOT VERIFIED
TRACE가 개발해야 할 것
  • CUSTODIAL BOUNDARY 종료 표시 (cashout 아님)
  • cashout claim은 기록 단계별로만
  • record holder · 요청 대상 표시
잘못 판단하면 안 되는 것
  • CEX deposit → fiat cashout
  • 계좌 명의자 = 실제 수익자
  • 자동 mule 라벨
Fiat cashout 확인에 필요한 것
CEX trading record, withdrawal record, bank record, seized database, law-enforcement response
관련 연구
R15 R13 P3
16 · Technique · R9 · R16 · R8

Cross-chain / DEX / Bridge

◉Observed in public cases ◷TRACE planned · R9 · R16
Current architecture TRACE의 canonical source는 Bitcoin Core다.

그래서 BTC 밖 체인을 다루는 방법은 두 가지뿐이다.

A 직접 node / index 운영

  • 체인마다 node·index·운영 비용
  • R8에서 multi-chain 직접 지원 여부를 결정
  • 결정 전에는 시작하지 않는다

B External evidence로 import 현재 추천 · 먼저

  • 외부 체인 데이터를 source grade와 함께 가져온다 (R16)
  • 출처 · 수집 시점 · 도구를 기록
  • Bitcoin FACT와 같은 등급으로 가장하지 않는다
BITCOIN FACT자체 Bitcoin Core
≠
EXTERNAL CHAIN FACTimport · source-graded
무엇인가
BTC를 다른 체인 자산으로 바꾸는 DEX, bridge, protocol swap. 반대편 체인은 TRACE canonical source 밖에 있다.
세탁 과정에서의 역할
자산·체인을 바꿔 분석 도구의 coverage 경계를 넘긴다. 반대편이 transparent chain이면 다시 추적 가능하다.
FACT Bitcoin에서 보이는 것
  • vault/bridge 주소로의 BTC tx
  • OP_RETURN memo 등 프로토콜 데이터 (annotation 대상)
  • BTC로 나오는 outbound tx
UNKNOWN Bitcoin에서 보이지 않는 것
  • 반대편 체인의 실제 수령·이동
  • 프로토콜 내부 처리
TRACE 현재 능력
Bitcoin 측만 canonical. 외부 체인 import는 R16 · 구현 NOT VERIFIED
TRACE가 개발해야 할 것
  • R9 THORChain annotation
  • R16 external-chain facts (source grade)
  • R8 multi-chain 결정 준비
잘못 판단하면 안 되는 것
  • external chain data = Bitcoin FACT 등급
  • bridge 주소로 송금 = 특정 체인 수령 확정
  • 프로토콜 주소 = 사용자 attribution
주요 evidence source
Bitcoin chain, 프로토콜 공개 endpoint, 외부 체인 explorer/node 데이터 (source grade 표시), 수사 회신
관련 연구
R9 R16 R8
17 · Protocol swap · R9 요약

THORChain / protocol swap

◷TRACE planned · R9구현 NOT VERIFIED
Scope 처음에는 annotation only.

precision을 측정한 뒤에 boundary로 승격할지 결정한다.

Vault pack에 보존할 것

endpoint
어디서 가져왔나
observed_at
언제 관측했나
height
관측 시점 높이
chain
대상 체인
vault type / status
vault 종류 · 상태
valid_from / valid_to
vault 주소는 기간이 있다

범위

OUT memo→실제 BTC sample에서 먼저 측정
ADD · TRADE+ · SECURE+→현재 scope 밖
boundary 승격→precision 측정 후 결정

vault 주소는 사용자 주소가 아니다. memo의 목적지 값은 수령자 신원이 아니다.

18 · R10 요약

Hashlock / Preimage

◷TRACE planned · R10구현 NOT VERIFIED
  • facts + annotations only
  • templates / swap boundary는 나중
  • witness는 investigator 요청 시 candidate별 read
  • K/H는 report에 항상
  • preimage는 evidence package에만

UI 상태 — preimage

공개 안 됨chain에서 아직 드러나지 않음
공개됐고 패키지에 있음evidence package에 포함
읽지 못함요청 전 · 실패 — 없음과 다름

“읽지 못함”은 “공개 안 됨”이 아니다. UNKNOWN을 없음으로 표시하지 않는다.

Part IV · 비교와 시나리오
19

구조 4종 한 화면 비교

신뢰 모델이 다르면, 남는 흔적과 TRACE의 접근 방법도 다르다.

Custodial Instant Swap
BTC→SERVICE→XMR
Trust model
실행 중 서비스 운영자를 신뢰
Observable evidence
service deposit tx · hot wallet 패턴 · 서비스 order record
TRACE detection
service attribution + custody claim (R11) → anchor (R13)
Atomic Swap
BTC⇄PROTOCOL⇄XMR
Trust model
암호학 + timelock. 중앙 수탁자 필수 아님
Observable evidence
BTC lock / claim 경로 구조 · endpoint swap history
TRACE detection
structural candidate (FP 측정 후) + endpoint evidence
P2P Escrow
A⇄ESCROW / MULTISIG⇄B
Trust model
escrow · 평판 · arbitration이 상대방 위험을 줄임
Observable evidence
BTC escrow면 multisig 구조 · platform · 결제 기록
TRACE detection
escrow structure + payment / endpoint evidence
Direct P2P
A⇄B
Trust model
상대방을 직접 신뢰
Observable evidence
단순 transfer · chat · 결제 기록
TRACE detection
transfer는 FACT, 관계·목적은 external evidence only
20

실제 위협 시나리오 Matrix

각 행이 하나의 개발 scenario다. 테스트 케이스와 기능 우선순위를 정할 때 여기서 시작한다.

A
Crime BTC → layering → CEX
chain 관측: 경계까지 넓음
ObservableBTC 경로 전체 FACT · CEX deposit ATTRIBUTION
Ambiguouschange 판정 · cluster 경계 · deposit 주소 attribution의 근거와 유효기간
External evidence neededCEX 계정 · 거래 · 출금 기록
TRACE feature requiredP1 foundation · P3 attribution · custodial boundary (R15)
B
Crime BTC → CoinJoin → BTC P2P
chain 관측: CoinJoin까지 · 이후 모호
ObservableCoinJoin tx · input 측 trail · postmix output들의 이후 이동
Ambiguous어느 postmix output이 행위자 것인지 · P2P transfer의 의미
External evidence neededwallet 파일 · P2P platform · chat · 결제 기록
TRACE feature requiredCoinJoin detection · ambiguous continuation 표현 · collapse guard · external P2P evidence (R13)
C
Crime BTC → instant exchanger → XMR
chain 관측: deposit까지
Observableservice deposit tx FACT + 서비스 ATTRIBUTION
Ambiguous주문 존재 · 교환 자산 · 목적지 — UNKNOWN
External evidence neededtransaction-specific order record (order id · deposit txid · payout asset/address)
TRACE feature requiredservice / custody boundary (R11 · R14) · R13 anchor · R12 opaque segment
D
Crime BTC → atomic swap → XMR
chain 관측: 후보 구조만
Observablelock · claim 경로 tx (각각 FACT) — swap 여부는 아님
Ambiguousswap 여부 자체 (false positive) · 상대방
External evidence neededendpoint evidence — swap history · wallet DB · log
TRACE feature requiredatomic-swap structural candidate (proposed) · R12 opaque segment · R13 anchor
E
Crime BTC → bridge / DEX → another transparent chain
chain 관측: BTC 측까지
ObservableBitcoin 측 vault/bridge tx FACT · memo ANNOTATION
Ambiguous반대편 체인의 수령과 이후 이동
External evidence neededsource-graded external-chain facts (R8 결정 전까지)
TRACE feature requiredR9 annotation · R16 import · R8 결정
F
XMR → P2P / OTC → BTC
chain 관측: anchor 이후만
Observableanchor가 주어진 BTC tx와 그 이후
AmbiguousXMR 측 전부 OPAQUE · BTC 수령 tx와 XMR의 관계
External evidence neededbroker ledger · order record가 명시한 payout txid / address
TRACE feature requiredno synthetic XMR linkage · R13 anchor · Bitcoin 검증 · new trace
G
XMR → P2P → bank
chain 관측: 없음
ObservableBitcoin 측 관측 없음
Ambiguous전 구간 — 관계·목적·수익자
External evidence neededP2P platform 기록 · bank record · 수사 회신
TRACE feature requiredexternal evidence only · no automatic mule label · banking evidence가 있을 때만 cashout
21

수사관이 확보하면 강력한 자료 — 그리고 FACT가 되는 범위

자료가 강력해도 그 자료가 말하는 범위까지만 FACT다. “이 기록이 존재하고 이렇게 말한다”와 “기록 내용이 사실이다”는 다르다.

FACT

Blockchain evidence

txidoutpointscriptwitnesstimelocktransaction graph

FACT 범위: tx가 존재하고, 이 출력이 저 입력에서 소비되었다.

아님: 소유자 · 목적 · 동일 주체.

EXTERNAL

Service / operator evidence

order IDdeposit addresspayout txidaccount IDservice ledger

FACT 범위: 기록이 존재하고 이렇게 말한다. 명시된 txid·address는 chain에서 재검증한 뒤 anchor.

아님: 계정 = 자연인. 기록 내용의 정확성은 provenance에 의존.

EXTERNAL

Endpoint evidence

wallet filesswap historyapplication logslocal DBdevice artifacts

FACT 범위: 압수 기기에 이 데이터가 있었다. 포함된 txid는 chain에서 재검증.

아님: 기기 사용자 = 특정 자연인 (별도 입증).

EXTERNAL

Communication evidence

chatemailorder messages

FACT 범위: 이 메시지가 오갔다. 의도·합의의 증거가 될 수 있다.

아님: 언급된 금액·주소 = 실제 이동. chain 검증 전에는 anchor 아님.

EXTERNAL

Financial evidence

bank transferCEX withdrawalpayment processor records

FACT 범위: fiat 이동이 기록되어 있다. cashout 확인은 여기서만.

아님: 계좌 명의자 = 실제 수익자. 자동 mule 라벨 금지.

Part V · 개발
22

What TRACE should build first

이 순서는 “범죄자가 쓰기 좋은 순위”가 아니다. TRACE 개발가치 × 실제 typology 반복성 × 현재 탐지 공백에 따른 우선순위다.

P1
NOW

Bitcoin foundation

  • full index
  • spend index
  • clustering
  • peel-chain
  • coverage correctness

모든 boundary · opaque · cashout 판단이 이 graph 위에 선다.

P2
NEXT

Post-mix analysis

  • CoinJoin detection completeness — WabiSabi → JoinMarket → ZeroLink(필수 지원)
  • postmix candidates
  • ambiguity representation
  • clustering collapse guards

잘못 처리하면 cluster 붕괴로 대량 오귀속 — 정확성 위험이 가장 크다.

P3

Attribution + custodial boundary

  • real attribution corpus
  • custody claims
  • validity periods
  • provenance
  • record-holder

대부분의 경로가 결국 서비스 경계에 닿는다. attribution 품질 = 결과 품질.

P4

DEX / bridge / protocol boundaries

  • THORChain R9
  • cross-chain external evidence
  • no automatic attribution

BTC 측 fact는 확보 가능. 반대편은 source-graded external.

P5

Privacy asset / opaque segment

  • R12
  • no synthetic link
  • explicit anchors

기능보다 금지 규칙이 핵심인 안전장치.

P6

P2P / OTC external evidence

  • R13
  • broker / order evidence
  • bank / payment evidence
  • endpoint evidence

XMR 이후 재진입은 외부 기록에서 시작한다.

P7

Atomic Swap structural recognition

  • Corpus A Eigenwallet → B·C BasicSwap → D Farcaster reference
  • Corpus E ordinary decoys (필수)
  • transaction fingerprint research
  • false-positive measurement

공개 prevalence 자료 부족 + FP 위험 → 측정이 먼저.

P8

Native multi-chain indexing

  • only after R8 decision

결정 전에는 B(external import)로 대응한다.

23

Research Roadmap

진행 상태(완료/진행 중)는 이 문서에서 검증하지 않았다. 번호는 기존 연구 트랙 기준이며, 새 후보는 번호를 강제로 정하지 않는다.

  1. R9THORChain memo / protocolannotation only · vault pack · OUT memo 측정→ 카드
  2. R10Hashlock / preimagefacts + annotations · witness on request→ 카드
  3. R11Custodial instant exchangerevidence-backed custody claim · 시간·금액 자동 상관 금지→ 카드
  4. R12Opaque segmentsidecar · no synthetic edge→ 카드
  5. R13External evidence + anchor linker명시된 anchor만 · 빈 쪽은 비움→ 카드
  6. R14Exchanger infrastructure corpusdeposit · hot wallet attribution + provenance · validity→ 카드
  7. R15Cashout / custodial boundarydeposit ≠ cashout · 기록 단계별 claim→ 카드
  8. R16External-chain factssource-graded import · Bitcoin FACT와 분리→ 카드
  9. ProposedAtomic Swap Structural Recognition CorpusCorpus A–E · 번호 미정 · decoy 대비 FP 측정 후 구현체·pair별 승격 결정→ 카드
  10. R8Decision gate: native multi-chainP8의 전제 조건→ 카드
24

These must remain ZERO

release 전 검사 항목. 하나라도 0이 아니면 결과를 내보내지 않는다.

  • 0unsupported ownership assertions
  • 0unsupported cross-opaque links
  • 0automatically promoted re-entry candidates
  • 0time+amount-only links
  • 0automatic mule / person labels
  • 0service-support-list → transaction asset inference
  • 0CEX deposit → fiat cashout inference
  • 0CoinJoin output → owner assertion
  • 0P2P transfer → relationship assertion
  • 0probability scores presented as ownership probability
25

TRACE 개발 전에 다시 확인할 10가지

체크 상태는 저장되지 않는다. 기능 하나를 시작할 때마다 처음부터 다시 본다. 0 / 10