필 체인(Peel Chain)이란?
필 체인은 자금 세탁을 목표로 장기간에 걸쳐 여러 번의 소액 거래를 진행해 대량의 암호화폐를 세탁하는 기술이다. 주로 소액을 암호화폐 거래소로 송금하고, 남은 큰 금액은 새로운 주소로 전달되는 과정을 반복한다. 필 체인의 출력으로 거래소로 들어오는 암호화폐의 양이 적기 때문에 거래소에서는 AML(Anti Money Laundering) 정책의 위험 신호를 탐지하지 못하고 당국에 보고할 가능성이 줄어들게 된다. 따라서, 필 체인은 암호화폐 거래 흔적을 복잡하게 만들어 자금과 주소 추적을 회피하기 위해 사용된다.
공격자는 필 체인 방법을 사용해 거래소에서 위험 신호가 발생하지 않도록 소량의 금액을 여러 번에 걸쳐 세탁해 트랜잭션 추적을 어렵게 만든다.
필 체인 동작 과정
보통 단일 금액을 입금받은 지갑에서 2개의 주소로 출력이 생성된다. 적은 금액의 출력은 자금을 보내는 주소이고, 큰 금액의 출력은 잔금 주소로 볼 수 있다. 적은 금액의 암호화폐는 자금을 보내는 주소로 도착하게 되고, 여기에서 다른 자산으로 교환할 수 있는 거래소나 다크넷 등으로 전송된다. 남은 암호화폐는 다시 2개의 주소로 나뉘어 전송된다. 이런 전송 과정을 여러 번 거치면서 트랜잭션을 복잡하게 만들고 의심받지 않을 만큼의 소량의 암호화폐를 중간에 수시로 출금한다.
필 체인 특징
- 보통 자금을 훔친 단일 주소로 시작
- 일반적으로 지속해서 두 개의 새 주소(큰 액수-잔금, 작은 액수-자금 전송)로 분할
- 최종 목적지는 일반적으로 콜드 스토리지, 거래소, 다크넷 시장 또는 프라이버시 지갑 주소
필 체인 예시
2016년 8월에 발생했던 Bitfinex 거래소 해킹 사건을 QLUE의 iGraph로 추적해보며 필 체인의 동작 과정을 간략하게 살펴보겠다.
도난 자금은 2017년 1월까지 유지되다 필 체인 방식으로 천천히 이체 되기 시작했다. 공격 시작으로 보이는 [주소 19Xs96FQJ5mMbb7Xf7NXMDeHbsHqY1HBDM]를 추적해보았다.
[그림 2]는 필 체인의 이해를 돕기 위해 암호화폐 이동 경로를 단순하게 표시하기 위해 잔금으로 예상되는 큰 금액만 따라가면서 표시했다. 실제 공격자는 소량의 금액이 전송된 주소에서도 필 체인, 코인조인 등의 자금 세탁 기술을 사용하면서 추적을 어렵게 만든 후 자금을 출금했다.
[그림 3]에서 보면, 공격자는 먼저 약 30BTC를 [주소 19Xs96FQJ5mMbb7Xf7NXMDeHbsHqY1HBDM]에서 시작해 트랜잭션을 두 번 거쳐 [주소 3CA1UDYQy47Z46HKCVqRV8b1XVduocWAcW]로 옮겼다.
[그림 4]를 보면 [주소 3CA1UDYQy47Z46HKCVqRV8b1XVduocWAcW] 이후에 이어지는 트랜잭션에서 2개의 출력이 생긴 것을 볼 수 있다. [주소 36nFBCT3rLDxmPeAx58ZCkAba7vGdSHYnV]로 2.276 BTC가 전송되었고, [주소 3P396hrvryZ5HHrRKiugkKNkFWxVEJ1dwL]로 나머지 28.4 BTC가 전송되었다. 이후로도 한 주소로 소액의 암호화폐를 전송하고, 다른 주소로 고액(나머지 금액)의 암호화폐를 반복해서 전송하며 트랜잭션을 복잡하게 만드는 것을 확인할 수 있다.
[그림 5]에서는 [그림 4]에서 2.276 BTC가 전송된 [주소 36nFBCT3rLDxmPeAx58ZCkAba7vGdSHYnV]를 살펴보았다. 공격자가 [주소 36nFBCT3rLDxmPeAx58ZCkAba7vGdSHYnV]에서 여러 방법으로 최종 목적지인 거래소나 다크넷 등으로 전송한 것을 확인할 수 있다. 나머지 28.4 BTC가 전송된 [주소 3P396hrvryZ5HHrRKiugkKNkFWxVEJ1dwL]는 다시 트랜잭션의 시작점이 되면서 추적이 어려워지도록 만든 것으로 추측된다.
QLUE의 Auto Peeling
위 예시처럼 필 체인을 사용하면 여러 트랜잭션을 거치기 때문에 한 개씩 따라가기에 불편함이 있다. 이때, QLUE eGraph의 Auto Peeling 기능을 사용하면 추적이 수월해진다.
Auto Peeling은 추적이 끝날 때까지 자동으로 트랜잭션을 로드해 주는 기능으로, 주소의 출력이 적을 때 자동으로 가장 높은 출력을 따라 지정한 홉의 수에 맞춰 트랜잭션을 로드해 준다. 따라서, 유사한 트랜잭션을 로드하는 속도를 줄이려고 할 때 유용하게 사용된다.
[그림 6]처럼 이어 보고자 하는 링크를 마우스 오른쪽 버튼을 클릭하고 옵션을 선택해 사용할 수 있다. 기본 설정은 5홉으로 되어있으나 최대 50홉까지 조절해 사용할 수 있다.
[그림 7]은 5홉 Auto Peeling을 진행한 결과이다. Auto Peeling은 홉 한도에 도달하거나 엔티티를 포함하는 주소를 만나거나 트랜잭션 자체에 2개 이상의 출력과 1개의 입력이 있는 경우 주소 로드를 중지한다. 필 체인 경우 대부분 트랜잭션에 2개 이상의 출력과 1개의 입력이 들어오는 모양으로, Auto peeling을 사용하면 필체인 모양을 간단하게 파악하는 데 도움이 된다.