Back to Blog

암호화폐의 오염 분석: 포이즌, 헤어컷, FIFO 방식 설명

Trace AI
July 22, 2026
6 min read
Key Insights
  • 오염 분석은 자금을 "오염된" 것과 "깨끗한" 것으로 분류한 뒤, 오염된 부분이 이후 거래에서 어떻게 흘러가는지 추적한다.

  • 이 분야에서는 Poison, Haircut, FIFO 세 가지 방법이 주를 이루며, 오염도를 얼마나 정밀하게 할당하느냐에 따라 차이가 있다.

  • FIFO가 가장 정밀하고, Poison은 가장 단순한데, 접촉하는 모든 것을 오염된 것으로 간주하기 때문이다.

  • 현대의 추적 도구들은 "출금된 자금 중 여전히 오염된 것이 얼마나 되는가"라는 동일한 핵심 질문을 풀어, 지갑 주소를 자금 흐름 보고서로 변환한다.

크립토에서 오염 분석이란 무엇인가? 오염 분석(taint analysis)은 절도 수익, 제재 노출, 또는 사기 자금 흐름과 같은 "불결함"을 온체인 잔액의 특정 단위에 귀속시키고, 해당 단위가 트랜잭션과 스왑을 통해 이동함에 따라 추적하는 기법입니다. 조사관들은 지갑이 깨끗한 자금과 더러운 자금을 혼합하여 보유할 때 각 출금 이체 이후 어떤 단위가 오염된 것으로 간주되는지를 결정하기 위해 세 가지 표준 규칙(Poison, Haircut, FIFO) 중 하나를 사용합니다. 어떤 규칙을 선택하느냐에 따라 추적의 결론이 달라집니다.

크립토 사기에서 자금이 탈취되면, 그 돈은 거의 가만히 있지 않습니다. 수분 내에 중간 지갑을 통해 이동하고, 여러 주소로 분산되어 거래소에 도달합니다. 이를 추적하려는 조사관들은 매 홉(hop)마다 하나의 핵심 질문에 직면합니다: 탈취된 자금이 동일한 지갑 내의 합법적인 자금과 혼합될 때, 빠져나오는 자금 중 얼마나 많은 부분이 여전히 "더러운" 것인가?

오염 분석은 바로 이 질문에 대한 답입니다. 이는 블록체인 자금 추적의 근본적인 기법 중 하나이며, 이를 이해하면 현대 조사 도구가 무엇을 할 수 있는지, 그리고 어디서 한계에 부딪히는지를 파악할 수 있습니다.

이 가이드는 오염 분석이 무엇인지, 조사관들이 사용하는 세 가지 방법, 그리고 각 방법이 어떻게 작동하는지 정확히 확인할 수 있도록 이더리움에서의 실제 예시 하나를 설명합니다.

오염 분석이란 무엇인가?

오염 분석은 지갑 잔액 중 알려진 불법 출처에서 비롯된 비율을 추정하고, 자금이 이동함에 따라 해당 비율을 추적합니다.

이 개념은 단순한 레이블에 기반합니다. 절도, 사기, 또는 제재된 주소와 연결된 코인은 **오염됨(tainted)**으로, 그러한 연결이 없는 코인은 **깨끗함(clean)**으로 분류됩니다. 단일 지갑은 거의 항상 두 가지를 혼합하여 보유하므로, 이 기법은 출금 이체를 오염된 부분과 깨끗한 부분으로 나누는 규칙이 필요합니다.

오염된 자금 vs 깨끗한 자금

어느 주소가 사기 피해자로부터 탈취된 3,000 USDT와 별도로 일반 거래에서 발생한 7,000 USDT를 수신했다고 가정해 보겠습니다. 이 지갑은 현재 10,000 USDT를 보유하고 있으며, 그 중 3,000이 오염되어 있습니다. 해당 주소가 나중에 9,000 USDT를 거래소로 전송할 때, 조사관은 나가는 9,000 중 얼마가 오염된 것으로 간주되는지 결정해야 합니다. 규칙에 따라 답이 달라지며, 바로 이 선택이 아래의 세 가지 방법을 구분합니다.

왜 중요한가

조사관들은 이를 우선순위 설정에 사용합니다. 전체 트랜잭션 체인을 동결할 수는 없으므로, 다운스트림 주소 중 어느 것이 탈취된 가치를 보유하고 있는지, 그리고 얼마나 많은지에 대한 방어 가능한 추정이 필요합니다. 이 추정치는 거래소의 컴플라이언스 팀과 공유되거나 법 집행 기관에 제출하는 보고서에 포함됩니다.

오염 분석이 존재하는 이유

어려움은 블록체인이 자금을 결합하는 방식에서 비롯됩니다. 이더리움과 같은 계정 기반 체인에서 지갑의 잔액은 하나의 풀링된 숫자이므로, 오염된 자금과 깨끗한 자금이 동일한 주소에 도달하면 재무적으로 구분할 수 없습니다. 원시 트랜잭션 기록에는 "이 9,000 USDT 이체는 더러운 돈을 사용했고, 깨끗한 돈은 아니다"라고 명시된 내용이 없습니다.

오염 분석은 명시적인 회계 규칙으로 이 간극을 메웁니다. 연구자들은 Poison, Haircut, FIFO라고 불리는 세 가지 표준 오염 방법을 정리했습니다. 이 규칙들은 트랜잭션을 공개적으로 기록하는 모든 퍼블릭 블록체인에 적용되며, 대부분의 토큰 절도가 발생하는 이더리움 및 기타 EVM 네트워크와 같은 계정 기반 체인도 포함됩니다.

세 가지 방법과 하나의 실제 예시

세 가지 방법은 Poison, Haircut, FIFO입니다. Poison은 오염된 트랜잭션의 모든 출력을 완전히 더럽다고 표시하고, Haircut은 출력 전반에 걸쳐 오염을 비례적으로 분산시키며, FIFO는 입금 순서에 따라 오염을 할당합니다.

앞서 언급한 지갑을 예로 들어보겠습니다: 이더리움에서 10,000 USDT를 보유하고 있으며, 그 중 3,000은 오염되어 있고(피해자로부터) 7,000은 깨끗합니다. 이 지갑은 9,000 USDT를 거래소 입금 주소로 전송합니다. 각 방법이 나가는 9,000을 어떻게 분류하는지 살펴보겠습니다.

Poison: 접촉하는 모든 것을 오염시킴

Poison 방법은 오염된 입력이 조금이라도 포함된 트랜잭션의 모든 출력을 완전히 오염된 것으로 처리합니다. 더러운 부분이 얼마나 작은지는 중요하지 않습니다.

이 예시에서, 9,000 USDT 이체 전체가 오염된 것으로 표시되고, 거래소 입금 주소는 탈취된 자금을 수신한 것으로 플래그됩니다. 문제는 명확합니다: 깨끗한 자금이 더럽다고 재분류되고, "오염된" 코인의 풀은 새로운 지갑에 접촉할 때마다 커집니다. Poison은 가장 정밀도가 낮은 방법이며, 조사관들은 주로 실무적인 추정보다는 거친 기준선으로 사용합니다.

Haircut: 비례적으로 오염시킴

Haircut 방법도 모든 출력이 오염을 포함하는 것으로 처리하지만, 전체 금액 대신 각 출력에 비례적인 몫을 할당합니다. 지갑의 오염된 부분은 10,000 중 3,000, 즉 30%이므로, 나가는 이체의 30%가 오염된 것으로 계산됩니다.

즉, 9,000 중 2,700 USDT가 오염된 것으로 표시되고 6,300은 깨끗합니다. Haircut은 더러운 돈의 총액을 부풀리는 대신 보존하기 때문에 Poison보다 더 현실적입니다. 단점은 매우 많은 수의 주소에 걸쳐 오염을 약간씩 퍼뜨려 장기 추적이 노이즈가 많아진다는 것입니다.

FIFO: 순서대로 오염시킴

FIFO(선입선출) 방법은 비율을 무시하고 대신 순서를 봅니다. 자금은 도착한 순서와 동일한 순서로 지갑에서 나갑니다: 먼저 입금된 것이 먼저 출금됩니다.

이 예시에서, 깨끗한 7,000 USDT가 오염된 3,000보다 먼저 도착했습니다. FIFO 방법에 따르면, 나가는 이체의 처음 7,000 USDT는 깨끗하고, 그 다음 2,000만 오염되어 있습니다. 나머지 오염된 자금 1,000은 지갑에 남습니다. FIFO는 가장 정밀하고 노이즈가 가장 적은 추적을 생성하므로, 방어 가능한 블랙리스트나 증거 수준의 보고서를 목표로 할 때 가장 자주 사용되는 방법입니다.

방법 규칙 나가는 9,000 USDT 정밀도
Poison 오염이 조금이라도 있으면 전체 출력이 오염됨 9,000 오염 가장 낮음 — 더러운 풀을 부풀림
Haircut 오염의 비례적 몫 2,700 오염 중간 — 장기 추적에서 노이즈 많음
FIFO 순서에 따른 선입선출 2,000 오염 가장 높음 — 가장 깔끔한 추적
Poison, Haircut, FIFO 오염 방법이 7,000 깨끗한 USDT와 3,000 오염된 USDT를 보유한 지갑에서 나가는 9,000 USDT 이체를 어떻게 분류하는지 비교.
Poison, Haircut, FIFO 오염 방법이 7,000 깨끗한 USDT와 3,000 오염된 USDT를 보유한 지갑에서 나가는 9,000 USDT 이체를 어떻게 분류하는지 비교.

동일한 9,000 USDT 나가는 이체를 분류하는 세 가지 오염 분석 방법. FIFO(강조 표시)가 가장 노이즈가 적은 추적을 생성합니다.

오염 분석이 할 수 있는 것과 할 수 없는 것

오염 분석은 강력하지만, 확실성이 아닌 추정치이며, 정직한 보고는 그 한계를 아는 것에 달려 있습니다.

일반적인 이체와 스왑을 통해 자금이 이동할 때는 잘 작동합니다. 세 가지 상황에서 어려움을 겪습니다. 믹서는 의도적으로 입금과 출금 사이의 연결을 끊으므로, 직접 추적 대신 통계적 방법으로 오염을 재확인해야 합니다. 높은 트랜잭션 볼륨은 오염을 너무 많은 주소에 퍼뜨려 Haircut 방식의 추정이 의미를 잃게 만듭니다. 그리고 크로스체인 브리지는 가치를 원장 간에 이동시키므로, 다른 쪽에서 추적을 다시 연결해야 합니다.

오염 분석이 어떻게 작동하는지 비교하는 세 가지 시나리오: 일반 이체는 직접 추적되고, 믹서는 연결을 끊어 통계적 재연결이 필요하며, 크로스체인 브리지는 다른 체인에서 추적을 계속해야 합니다.
오염 분석이 어떻게 작동하는지 비교하는 세 가지 시나리오: 일반 이체는 직접 추적되고, 믹서는 연결을 끊어 통계적 재연결이 필요하며, 크로스체인 브리지는 다른 체인에서 추적을 계속해야 합니다.

세 가지 일반적인 시나리오에서 오염 분석이 어떻게 작동하는지. 일반 이체는 깔끔하게 추적되고, 믹서와 브리지는 각각 오염 분석 위에 추가 기법이 필요합니다.

이 중 어느 것도 추적을 완전히 무력화하지는 않지만, 각각은 도구가 사용하는 방법과 그것이 얼마나 신중하게 적용되는지가 결과를 바꾸는 지점입니다.

오염 분석 vs 전체 자금 추적

오염 분석과 전체 자금 추적은 관련이 있지만 동일하지는 않습니다. 오염 분석은 회계 규칙이고, 전체 자금 추적은 처음부터 끝까지의 조사입니다.

오염 분석은 매 홉마다 좁은 질문에 답합니다: 오염된 자금을 수신한 지갑에서, 나가는 이체 중 얼마가 더러운가? 이는 반복적으로 적용되는 하나의 규칙입니다.

전체 자금 추적은 전체 조사입니다: 절도 트랜잭션을 식별하고, 각 홉에서 배분 규칙을 적용하며(교과서적인 Poison / Haircut / FIFO 규칙일 수도 있고 아닐 수도 있음), 그래프를 탐색하고, 주소를 실제 엔티티(거래소, 믹서, 브리지)에 귀속시키고, 누군가가 조치를 취할 수 있는 보고서를 작성합니다. 오염 분석은 주소 레이블링, 클러스터 분석, 크로스체인 매칭과 함께 그 작업 내의 하나의 개념적 관점입니다.

분석가가 오염 방법을 명시적으로 적용할 때, FIFO는 증거 수준의 보고서에, Haircut은 많은 주소에 걸친 탐색적 분석에, Poison은 거의 사용되지 않습니다.

현대 도구에서 이 사고방식이 나타나는 방식

수천 건의 트랜잭션과 여러 체인에 걸쳐 홉별 회계 규칙을 수동으로 적용하는 것은 현실적이지 않으므로, 조사관들은 자금 추적 도구에 의존합니다.

BlockSecMetaSleuth는 이 작업을 위한 분석가 전용 도구입니다: 조사관이 홉별로 그래프를 탐색하고, 주소를 클러스터링하고, 실제 엔티티에 귀속시킬 수 있도록 자금 흐름을 재구성합니다 — LI.FI 공격 사례 연구에서 볼 수 있듯이. Trace AI는 AI 에이전트를 통해 동일한 조사 작업을 자동화합니다: 사용자가 절도를 설명하고 지갑 주소 또는 트랜잭션 해시를 제공하면, 에이전트가 지원하는 체인 전반에 걸쳐 자금을 추적하고 돈이 도달한 엔티티와 함께 자금 흐름 보고서를 생성합니다.

이것들은 자금 추적 도구이지, 오염 분석 구현체가 아닙니다. 위에서 설명한 오염 규칙들은 동일한 기본 질문 — 나온 것 중 얼마가 여전히 더러운가? — 을 공유하지만, 실제 추적 도구들은 일반적으로 교과서적인 Poison / Haircut / FIFO 규칙 대신 자체적인 그래프, 클러스터링, 귀속 방법을 사용합니다. 오염 분석을 이해하는 것은 여전히 유용한데, 모든 추적 도구가 각 홉에서 내려야 하는 결정의 종류를 명확히 해주기 때문입니다.

자주 묻는 질문

오염 분석은 정확한가요? 오염 분석은 확실성이 아닌 방어 가능한 추정치를 제공합니다. 정확도는 사용된 방법과 추적의 복잡성에 따라 달라집니다. FIFO는 일반 이체에 가장 깔끔한 결과를 제공하는 반면, 믹서와 매우 높은 트랜잭션 볼륨은 신뢰도를 낮추고 추가 기법을 요구합니다.

Poison과 Haircut 방법의 차이점은 무엇인가요? 두 방법 모두 오염된 트랜잭션의 모든 출력이 오염을 포함하는 것으로 처리하지만, Poison은 각 출력을 완전히 오염된 것으로 표시하는 반면, Haircut은 각 출력에 비례적인 몫을 할당합니다. Poison은 더러운 자금의 총 풀을 부풀리고, Haircut은 이를 보존하므로 Haircut이 더 실용적입니다.

오염 분석으로 믹서를 통한 자금을 추적할 수 있나요? 직접적으로는 불가능합니다. 믹서는 입금과 출금 사이의 연결을 끊도록 설계되어 있으므로, 단순한 오염 규칙으로는 자금을 바로 따라갈 수 없습니다. 조사관들은 통계적 및 행동 분석을 사용하여 연결을 재확인하는데, 이는 일반 이체를 추적하는 것보다 더 어렵고 불확실합니다.

오염된 크립토를 보유하는 것이 불법인가요? 도구가 오염된 것으로 표시한 자금을 보유하는 것이 자동으로 불법은 아니며, 오염 레이블은 법적 판단이 아닌 추정치입니다. 그러나 거래소는 절도와 연결된 입금을 동결할 수 있으며, 탈취된 자금을 의도적으로 다루는 것은 법적 위험을 수반합니다. 오염 분석은 조사해야 할 곳을 표시하는 것이지, 유죄를 결정하는 것이 아닙니다.

오염 분석은 어떤 블록체인에서 작동하나요? 이 원칙들은 트랜잭션을 공개적으로 기록하는 모든 퍼블릭 블록체인에 적용되며, 대부분의 토큰 절도가 발생하는 이더리움 및 기타 EVM 네트워크와 같은 계정 기반 체인도 포함됩니다. 정확한 메커니즘은 트랜잭션 모델마다 다르지만, 오염됨 대 깨끗함의 논리는 동일합니다.

관련 읽을거리


AI 기반 조사가 체인 전반에 걸쳐 어떻게 적용되는지 확인하세요. Trace AI 작동 방식 보기 →


저자 소개. Andy는 BlockSec의 보안 연구원으로, 온체인 자금 추적과 MetaSleuth 뒤에 있는 메커니즘에 집중하고 있습니다. 이 글은 그의 팀이 EVM 체인 전반에 걸친 실제 절도 사례에 적용하는 조사 패턴을 바탕으로 합니다.

참고 문헌

  • Tironsakkul, Maarek, Eross, Just — Probing the Mystery of Cryptocurrency Theft: An Investigation into Methods for Taint Analysis, arXiv:1906.05754 (2019). https://arxiv.org/abs/1906.05754
암호화폐의 오염 분석: 포이즌, 헤어컷, FIFO 방식 설명