DOI QR코드

DOI QR Code

A Study of Bitcoin Transaction Tracking Method through Illegal Community

불법 커뮤니티를 통한 비트코인 거래 추적 방법에 관한 연구

  • Received : 2018.03.20
  • Accepted : 2018.04.24
  • Published : 2018.06.30

Abstract

When illegal transactions are made with bitcoin, it's not easy to track all the bitcoins used in the transaction and seize them. Especially, if criminals distribute illegal transactions by spreading them to several bitcoin addresses, it's difficult to track hidden bitcoins other than confiscated bitcoins even if some bitcoins are confiscated. This paper proposes a method for tracking and monitoring all bitcoin transactions suspected of illegal transactions. This method estimates bitcoin addresses that are highly relevant to crime among all bitcoin addresses that dealing with the address based on the bitcoin address list of the alleged crime, and keeps track of addresses that are relevant to crime and help to investigate illegal bitcoin transaction.

비트코인으로 불법거래를 할 경우 해당 거래에 사용된 모든 비트코인을 추적하여 압수하기는 쉽지 않다. 특히, 범죄자가 여러 비트코인 주소에 분산하여 불법거래를 한다면, 일부 비트코인을 압수하더라도 압수한 비트코인 이외에 추적되지 않고 감춰진 비트코인을 파악하기가 어렵다. 본 논문은 불법거래로 의심되는 비트코인 거래를 추적하고 모니터링하는 방법을 제안한다. 이 방법을 통해 범죄혐의가 있는 비트코인 주소 리스트를 기반으로 해당 주소와 거래한 모든 비트코인 주소 중에서 범죄와 관련성이 높은 비트코인 주소를 추정하고, 이 주소와 관련된 거래를 지속적으로 추적하여 불법 비트코인 거래 수사에 도움을 준다.

Keywords

I. 서론

최근 정부의 암호화폐에 대한 규제 이후 암호화폐에 대한 투자 광풍은 다소 진정되고 있으나, 그렇다고 하여 대중들의 비트코인에 대한 관심이 식은 것은 아니다. 특히 초기 비트코인 투자자들이 큰 돈을 벌었다는 언론의 보도 이후에 투자대상으로서의 비트코인에 대한 사람들의 관심은 아직 유효하다. 한편, 비트코인을 이용한 범죄도 꾸준히 증가하였는데, 이는 비트코인이 여타의 결제수단과 달리 추적이 어렵다는 익명성을 가지고 있기 때문이다. 즉, 비트코인은 중앙통제기관의 개입 없이 개인간 거래가 가능하고 비트코인 거래에 사용되는 주소가 개인정보와 어떠한 연관관계도 없기 때문에 익명성을 가진다. 이러한 익명성을 악용하여 범죄자들은 불법적인 목적의 거래에서 비트코인을 사용하고 있다. 특히 범죄자가 IP 주소를 추적하기 어려운 익명 웹인 Tor(The Onion Router) 기반의 다크웹(Dark Web)에서 비트코인을 사용하여 불법거래를 하면 비트코인의 추적 가능성은 더욱 더 줄어든다.

우리는 이 논문에서 불법거래로 의심되는 비트코인 거래를 추적하고 모니터링하는 도구(TxMon)를 제안하였다. TxMon은 불법거래로 의심되는 비트코인 주소리스트를 기반으로 이들 주소의 거래 내역을 분석한다. 분석을 통해 불법거래와 연관성이 높은 비트코인 주소를 예측하여 추가적으로 확보하고, 이를 불법거래로 의심되는 비트코인 주소와 함께 Unnamed List1)로 관리한다. 또한 TxMon은 Unnamed List를 실시간 모니터링하여 Unnamed List의 신원 추적 및 식별이 가능한 시점에는 TxMon 운영자가 해당 정보를 확인하고, 범죄 수사를 진행할 수 있도록 알람 기능을 제공한다. TxMon의 유효성을 검증하기 위해서 우리는 DPR2)의 거래내역을 기반으로 평가를 진행한 결과, 불법거래로 추정되는 비트코인 주소 가운데 40%가 실제 DPR이었고, 재현율은 67%임을 확인할 수 있었다. 이와 같이 TxMon은 범죄혐의가 있는 비트코인 주소 리스트를 기반으로 해당 주소와 거래한 모든 비트코인 주소 중에서 범죄와 관련성이 높은 비트코인 주소를 추정하고, 이 주소와 관련된 거래를 지속적으로 추적하여 비트코인 범죄수사에 도움을 줄 수 있다.

Ⅱ. 배경지식 및 관련 연구

2.1 비트코인

비트코인은 2008년 사토시 나카모토에 의해 소개된 암호화폐로 Fig. 1은 비트코인의 각 블록을 나타낸 것이다[1]. 비트코인은 P2P 기반으로 거래정보를 블록체인에 저장하고, 네트워크 참여자들이 PoW(Proof of Work, 작업증명) 합의 알고리즘에 따라 거래 내역이 포함된 블록의 유효성을 검증한다. 비트코인의 각 노드는 네트워크 운영의 동등한 참가가로서 클라이언트와 서버의 역할을 동시에 수행한다. 비트코인의 개별 거래정보는 블록 단위로 결합하여 앞의 블록정보를 포함해 해시를 만들어 불가역적인 데이터 블록을 만들고 체인으로 연결하였으며, 네트워크에서 공유한다. 따라서 기존의 중앙 서버 구조에서 제3의 신뢰 기관이 수행하는 보증을 네트워크를 구성하는 모든 노드에서 담당하여 과거의 모든 이력을 검증함으로써 이중 사용 문제를 해결하였다. 비트코인은 공개키(Public Key Infrastructure) 암호화 방식을 기반으로 거래가 이루어지는데, 비트코인 소유자는 주소 역할을 하는 공개키와 거래 승인 시 디지털 서명에 이용하는 개인키로 구성된 한 쌍의 키 값을 갖고 있다[2]. 특히, 비트코인 시스템에서 비트코인 주소는 은행에서의 계좌와 같은 역할을 수행한다.

Fig. 1. Blockchain of Bitcoin

2.2 다크웹 & Silk Road

다크웹은 우리가 통상 이용하는 웹과 다르게, Tor(The Onion Router)와 같이 추적이 어려운 네트워크를 통해서 액세스할 수 있다. 일반적으로 다크웹은 Tor 브라우저를 통해 “.onion” 도메인으로 접속한다. Tor는 데이터 패킷을 양파껍질처럼 겹겹이 암호화 해서 보냄으로 모든 노드를 장악하지 않는 한 데이터 패킷의 출발지와 최종 목적지를 알아낼 수 없는 구조이다. 따라서 Tor 기반의 브라우저를 통해 접속한 다크웹 사용자는 신원과 위치가 익명으로 유지되며, 추적이 불가능하게 된다[3].

Silk Road는 판매자와 구매자가 인터넷을 통해 거래할 수 있도록 인프라를 제공하는 온라인 마켓 시장으로 DPR에 의해 2011년 2월부터 운영되었다. 판매되는 대다수의 상품들이 불법적인 것이었기에 Silk Road는 판매자와 구매자의 익명성을 보장하기 위해 실제 IP 주소 추적이 제한되는 Tor를 통해서만 접속이 가능하게 하였으며, 해당 사이트에서는 비트코인으로만 결제하게 하였다. 거래가 발생하면, Silk Road가 운영하는 에스크로 계좌로 비트코인을 먼저 송금하고 거래가 마무리되면 판매자의 계좌로 송금하였다. DPR은 각각의 거래에 대하여 수수료를 받았는데, 거래되는 비트코인 크기에 따라 최대 10%에서 1,000$를 넘어서는 것은 1.5%까지 수수료를 다양하게 책정하였다. 2013년 10월 1일 미 범죄수사기관 FBI는 DPR로 추정되는 Ross William Ulbricht를 체포하였으며, Silk Road 웹사이트를 폐쇄하였다. 조사결과 Silk Road의 총 매출은 950만 BTC 이상이며, 수수료 수입으로 60만 BTC를 벌어들였는데, 이는 당시 비트코인 가치로 총 매출액 12억$, 수수료 수입 8,000만$와 같았다[4]. 한편 DPR이 운영한 Silk Road는 폐쇄되었으나 지금 현재도 Tor에서는 Silk Road 3.1이 Fig. 2에서 보는 것과 같이 운영 중이다.

Fig. 2. Silk Road 3.1 found in Tor3)

2.3 관련연구

비트코인 탈익명화(deanonymization)에 대한 연구는 공개된 블록체인에서 비트코인 거래에 사용된 주소를 획득하고, 이를 개인 신원과 연계시키는 ATC(Analysis of Transaction Chain, ATC) 분석에 중점을 두고 있다 [5, 6, 7, 8]. ATC를 통해 비트코인 주소를 실제 사용자 신원 정보와 연결하는 단서를 찾을 수 있다[9]. 그러나 코인 믹싱(Coin Mixing)을 하게 되면, 비트코인 거래의 입력과 출력간의 상관관계를 분리하고 거래량을 숨겨 ATC를 무의미하게 만들 수 있다[10 11,12]. 코인 믹싱은 공유 지갑이라는 개념을 사용하여 사용자가 코인 믹서의 주소로 비트코인을 보내고, 비트코인은 코인 믹서가 개설한 다른 주소로 보내어 해당 주소는 더 이상 사용자와 연결되지 않게 된다[9]. 코인 믹싱을 이용하면, ATC 분석이 무의미해질 수 있으므로 우리의 연구에서 코인 믹싱이 의심되는 거래는 거래 분석에서 제외하였다. 그러나 코인 믹싱이 의심되는 거래를 제외하였음에도 불구하고 실제로 제외되는 거래는 많지 않았으며, 이는 추가적인 비용을 지불하고 코인 믹싱을 이용하는 거래가 많지 않음을 의미한다고 볼 수 있다.

Dorit Ron 등[4]은 2014년 그들의 논문에서 DPR이 얼마나 많은 비트코인을 Silk Road에서 벌어들였으며, 그가 보유한 비트코인 주소로 송금하였는지 추적하였다. 해당 연구는 DPR이 운용한 비트코인에 초점을 맞춘 반면에 우리의 연구는 범죄혐의가 있는 비트코인 주소가 식별될 경우에 그 주소와 거래한 모든 비트코인 주소 중에서 범죄와 관련성이 높은 비트코인 주소를 추정하고, 이를 Unnamed List에 추가하여 추적하기 위한 사례로 DPR을 활용하였다는 점에서 차이가 있다.

비트코인 범죄 관련 국내 연구로는 송영대[13]가 2017년 비트코인 관련 범죄 유형별 사례분석 및 세계 각국의 규제 현황, 비트코인 관련 범죄의 대응방안을 제시하였으며, 정재원[2]은 2016년 비트코인 범죄 수사에 있어 기술적인 문제점에 대한 해결방안의 핵심은 비트코인의 익명성에 대한 ‘모든 가능성을 동원한 탈익명화의 시도’ 라고 말하면서 해결방안으로 비트코인 블록체인을 통한 거래정보 등 획득 가능성, 비트코인 거래소를 통한 거래 및 가입정보 등 획득 가능성 등의 방법을 제안하였다. 그러나 비트코인 범죄 관련 국내 연구는 주로 정책적인 측면에 주안점을 두었을 뿐, 탈익명화를 위한 구체적인 방안을 제시하지는 못하였다.

비트코인 범죄수사와 관련하여 국내외 수사기관에서는 chainalysis에서 제공하는 블록체인 분석 툴을 이용하여 범죄에 사용되는 비트코인 거래내역을 모니터링하고, 관련 데이터를 제공받고 있으나 구체적인 방법은 공개하지 않고 있다[14].

지금까지 관련 연구를 살펴보면 비트코인의 익명성 및 탈익명화에 대한 연구는 많으나 불법거래로 의심되는 비트코인 주소 식별시 이를 실제로 추적하는 방법을 구체적으로 개발하여 공개적으로 제시한 연구는 없었다.

Ⅲ. 설계 및 구현

3.1 문제점

비트코인으로 불법거래를 할 경우에 해당 거래에 사용된 모든 비트코인을 추적하여 압수하기는 쉽지 않다. 비트코인은 P2P 분산시스템으로 특정 운영 주체가 있는 것이 아니고, 비트코인 주소를 개인정보와 연관시킬 정보도 없거나 부족하기 때문이다. 따라서 Silk Road와 같이 불법거래를 수행하는 시스템을 찾아내고, 해당 시스템에 대한 디지털 포렌식을 수행하여 비트코인 정보를 추적하여야 한다. 하지만 불법 거래를 의도적으로 하는 경우에는 범죄자의 모든 비트코인을 압수하기가 어렵다. 범죄자가 여러 비트코인 주소에 분산하여 불법거래를 한다면, 일부 비트코인을 압수하더라도 압수한 비트코인 이외에 추적되지 않고 감춰진 비트코인을 파악하기는 어렵다

3.2 접근방안

우리는 이러한 문제점을 해결하기 위해 다음과 같은 추론을 기반으로 불법거래와 연관성이 높은 비트코인 주소를 추적하였다. 첫째, 이미 불법거래로 식별된 비트코인 주소들은 소유자가 확인되어 탈익명화 되었으므로 다시 사용되지 않을 가능성이 높다는 점이다. 따라서 이들 비트코인 주소로부터 범죄 관련성이 높은 주소들을 추가적으로 식별해 추적할 수 있다면 범죄자를 검거하거나 추가 범죄를 예방할 수 있다. 둘째, 마약과 같은 불법거래는 사용자들의 중독성으로 인해 주기적으로 비트코인 거래가 발생한다는 점이다. 불법거래를 하는 사용자들이 주기적으로 비슷한 거래를 한다면, 이로부터 아직 식별되지 않은 불법거래를 추정할 수 있다.

이를 기반으로 불법거래를 한 비트코인 주소로부터 불법거래와 연관성이 높은 비트코인 주소를 추출하는 방법은 다음과 같다. 먼저 불법거래를 한 비트코인 주소는 이미 확보되어 있으므로 해당 주소의 거래 내역에서 해당 주소를 수신자로 하는 모든 거래 내역을 블록체인에서 조회한다. 거래 내역에는 해당 주소가 송신자(sender)나 수신자(receiver)로 나타나는데, 조회된 거래 내역에서 수신자가 불법거래를 제공하는 비트코인 주소라면 송신자는 불법거래를 의뢰한 범죄자의 주소로 볼 수 있다. 비트코인 거래 내역 추적을 피하기 위해 코인 믹싱(Coin Mixing)을 수행한 경우에는 한개의 비트코인 주소에서 비정상적으로 많은 거래가 발생하거나 한개의 거래 내에 송신자와 수신자가 지나치게 많이 있는데, 이러한 거래들은 추적을 어렵게 하고 결과에 대한 정확성을 떨어뜨리기 때문에 분석에서 제외하였다. 불법거래를 의뢰한 범죄자들의 비트코인 주소를 추출한 이후에는 해당 비트코인 주소에서 수행한 모든 거래 내역을 조회한다. 그리고 모든 거래 내역을 월별 기준으로 수신 주소 중 가장 많은 빈도수가 있는 비트코인 주소들을 선정한다. 그렇게 되면 불법거래를 의뢰하는 범죄자들이 공통적으로 거래를 많이 한 비트코인 주소들을 알 수 있다. 이들 주소들은 불법거래를 제공하는 범죄자들의 비트코인 주소일 확률이 높다. 마지막으로 불법거래를 수행한 비트코인 주소 리스트와 함께 불법거래의 가능성이 높은 비트코인 주소를 Unnamed List로 모티터링하여 범죄자를 검거할 수 있는 단서를 제공한다. 범죄자를 검거하기 위해서는 Unnamed List를 관리하는 것 뿐만 아니라 탈익명화된 비트코인 주소들을 Named List4)에 추가한 후에 Unnamed List의 거래정보를 모니터링하다가 Named List와 거래를 수행할 때, 이를 포착한다면 Unnamed List의 해당 범죄자를 검거할 수 있다. 이를 그림으로 나타내면 Fig. 3과 같다.

Fig. 3. TxMon System Overview

3.3 DPR 적용

앞 장에서 설명된 내용을 DPR에 적용하고자 할 때, 각각의 단계는 다음과 같다.

① 불법거래를 수행한 비트코인 주소 리스트는 FBI에 적발된 DPR(Silk Road 운영자)의 비트코인 주소이다.

② DPR 주소로 비트코인을 송금한 비트코인 주소들은 DPR User(Silk Road 가입자)의 비트코인 주소로 DPR은 불법행위의 제공자, DPR User는 불법행위의 의뢰자가 된다. 실제로 DPR은 거래의 중개자로 불법행위의 제공자가 아니라고 볼 수도 있으나, 본 논문에서는 DPR을 불법행위를 돕는 서비스의 제공자, DPR User는 해당 서비스 이용자로 분류하였다.

③ DPR User의 모든 거래 내역을 추출한다. 이 거래 내역에는 비트코인을 DPR로 송금한 거래뿐만 아니라 DPR이 아닌 비트코인 주소로 송금한 거래 내역도 포함한다.

④ ③에서 추출한 모든 거래 내역을 월별로 분석하면, DPR User들의 공통적인 특징은 DPR의 비트코인 주소와 거래 빈도가 높을 것이다. 거래 빈도가 높은 비트코인 주소 중에서 DPR의 비트코인 주소가 아닌 것들을 DPR 후보군(Candidate)으로 설정하며, 이 후보군은 불법거래와 관련성이 높은 비트코인 주소로 추정할 수 있다.

⑤ DPR과 DPR 후보군에 해당하는 비트코인 주소들을 모니터링한다.

⑥ 해당 비트코인 주소들이 Named List와 거래를 할 때, 수사기관은 Named List의 비트코인 주소의 소유자로부터 단서를 얻어 범죄자를 검거할 수 있다.

3.4 TxMon 구성

TxMon은 비트코인 불법거래 추출기와 Address DB, 블록체인 모니터링으로 구성된다. Fig. 4는 TxMon을 조금 더 상세하게 나타내고 있다.

3.4.1 Address DB

TxMon의 분석 및 모니터링을 위한 입력값은 비트코인 주소로 Unnamed List와 Named List로 나뉜다. 먼저 Unnamed List를 위해 본 논문에서는 DPR이 소유한 비트코인 주소 리스트를 기반으로 진행되었다. DPR의 경우 FBI가 압수한 비트코인 주소에서 “DPR Seized Coins”으로 태그되어 있는 거래의 송신 주소들이다. DPR이 소유한 비트코인 주소 리스트를 기반으로 Silk Road 사용자의 비트코인 주소와 추가적으로 불법거래에 사용된 후보군의 비트코인 주소를 추출하였다. Address DB에 Named List로 저장되는 비트코인 주소는 익명성이 제거되어 신원을 확인할 수 있는 주소들을 나타낸다. 예를 들면, 정부의 승인을 받은 암호화폐 거래소의 주소들이나 비트코인 결재가 가능한 온라인 쇼핑몰 및 오프라인 상점들로 개인정보 확인이 가능한 주소들이 Named List에 해당된다. 본 논문에서는 TxMon의 유효성을 검증하기 위한 실험용 주소를 저장하였다.

Fig. 4. TxMon Implementation

3.4.2 비트코인 불법거래 추출기

비트코인 불법거래 추출기는 Address DB에서 입력된 불법 비트코인 주소를 기반으로 불법거래와 관련성이 높은 비트코인 주소 후보군을 추출하여 Unnamed List에 추가한다. 블록체인에서 거래정보를 직접 얻기 위하여 비트코인 코어를 자체적으로 구성하는 것도 가능하다. 비트코인 코어는 오픈소스로 구현된 비트코인의 참조 클라이언트이다. 하지만 이렇게 개발할 경우 데이터 처리를 위해 추가적인 개발이 많이 필요하다. 그래서 우리는 비트코인 정보를 제공하는 blockchain.info에서 Open API Service를 이용하여 개발하였다. Open API 조회로 인해서 개발한 코드의 양이 많이 줄어들었지만 해당 서비스로 질의를 요청하는 횟수가 제한되기 때문에 정보 조회를 위한 시간이 많이 소요되었고, 쿼리 요청에 대한 오류가 있는 경우 이를 우회하기 위한 예외처리를 구현해야 했다.

추출 과정은 3.3에서 설명한 과정과 같이

① DPR 비트코인 주소가 포함되어 있는 모든 거래 내역을 블록체인에서 조회

② DPR User 추출

③ DPR User의 모든 거래를 분석하여 DPR 후보군 추정

④ DPR과 DPR 후보군은 Address DB에 Unnamed List로 저장

DPR User와 DPR 후보군을 추출하는 과정에서 코인 믹싱과 관련된 거래를 제외하였으며, DPR 후보군 예측에 정확성을 높여 유의미한 threshold를 구하기 위해 전체 거래내역에서 필터링 하였으며, 실험 결과는 다음 장에서 상세히 설명하겠다.

3.4.3 블록체인 모니터링

블록체인 모니터링은 Address DB에 저장된 모든 비트코인 주소를 추적하고, 거래내역이 Named List와 Unnamed List 간의 거래인지 확인하기 위하여 블록체인의 모든 거래내역을 모니터링한다. Address DB에는 모니터링하고자 하는 Unnamed List와 Named List의 비트코인 주소가 있는데, Named List와 Unnamed List 사이에 거래가 발견되면, TxMon은 해당 거래를 수사기관에 보고한다. 예를 들면 Unnamed List에 있는 비트코인 주소의 소유자인 범죄자가 Named List에 있는 비트코인 주소에 해당하는 오프라인 거래소를 통해 비트코인을 현금으로 교환하려고 시도하면, 이는 Named List와 Unnamed List 사이에 거래가 발생하는 것이므로 수사기관은 TxMon에서 전달받은 위험 거래 내역을 공지받고, 범죄자를 체포할 수 있다.

TxMon은 불법거래를 보다 신속하게 탐지하기 위해서 마이닝 풀(Mining Pool)의 정보를 이용한다. 거래가 발생하면 거래내역은 일단 마이닝 풀에 들어 갔다가 마이너(Miner)에 의해서 블록으로 채굴된 후에 블록체인에 연결된다. 따라서 마이닝 풀을 모니터링하면, 불법거래를 블록이 생성되기 이전에도 확인할 수 있다. 그러나 blockchain.info에서 실행되지 않은 거래내역에 대한 쿼리 결과는 가장 최근에 발생한 10개의 항목만 조회한다. 따라서 요청을 지속적으로 전송하고 요청을 보내는 간격에 따라 누락되는 거래내역이 없는지 확인하는 것은 매우 복잡한 로직을 필요로 한다. 그래서 우리는 blockchain.info에서 실시간으로 제공하는 마이닝 풀의 거래내역을 보여주는 사이트를 후킹하였다. 이를 위해 Chrome 확장 프로그램으로 CSP(콘텐츠 보안 정책)를 사용 중지하고, 자바 스크립트 콜백 함수를 overwrite하였다. 보다 구체적으로, 우리는 미확인 거래내역(Unconfirmed Transaction)을 보여주는 사이트의 자바 스크립트를 분석하여 신규 거래내역이 추가될 때 수행되는 콜백 함수을 발견하였다. 콜백 함수는 미확인 거래내역을 화면에 보여주기 위한 함수인데, 해당 콜백 함수에 우리가 원하는 모니터링을 수행하도록 코드를 추가함으로써, TxMon의 블록체인 모니터링 기능을 수행한다. CSP 정책 때문에 해당 blockchain.info 도메인에서 TxMon 도메인으로 요청을 보낼 수 없었는데, Chrome 확장 프로그램으로 CSP를 사용 중지하여 요청을 전송하는데 성공하였다. 이 부분의 데모는 YouTube[15]에서 볼 수 있다.

Ⅳ. 평가

4.1 거래내역 추적

우리는 DPR 사례를 통해 불법거래를 한 비트코인 주소를 식별하였을 때, 해당 비트코인 주소를 기반으로 불법거래로 의심되는 비트코인 주소를 추적하는 것이 가능한지 확인하였다.

① 우리는 blockchain.info에서 FBI가 DPR로부터 압수한 비트코인을 “DPR Seized Coins”으로 기록하여 송금한 주소인 “1FfmbHfnpaZjKFvyi1okTjJJusN455paPH”에서 DPR 리스트를 Fig. 5와 같이 추출하였으며, DPR 주소는 총 3,558개였다.

② DPR이 보유한 비트코인 주소인 총 3,558개와의 거래내역에서 송신자인 DPR User는 총 15,198개 주소였다.

③ DPR User가 송신자인 모든 거래내역을 Fig. 6와 같이 추출하였다. 이 거래 내역에는 DPR로 비트코인을 송금한 거래와 DPR이 아닌 비트코인 주소로 송금한 거래 내역도 포함된다. DPR User의 모든 거래내역은 총 3,308,194건이었다. 한편 이 과정에서 코인 믹싱으로 의심되는 거래는 제외하였는데, 한 건의 거래내역에서 100개 이상의 송신자 또는 100개 이상의 수신자가 있는 거래내역은 전형적인 코인 믹싱의 사례로 볼 수 있기 때문이다. 코인 믹싱으로 의심되는 DPR은 20개 주소였으며, 제외된 송신자는 96개 주소였다.

Fig. 5. DPR and DPR User extract from blockchain.info

Fig. 6. Extract all transactions with DPR User as sender

④ DPR User와 월별 10건 이상의 거래가 발생한 DPR 주소를 Public DPR로 정의하였다. DPR User가 동일한 DPR에게 월별 10건 이상의 거래를 하였다는 것은 Public DPR이 1회의 거래에만 사용되고 끝난 것이 아니기 때문에 Silk Road 내에서 공개된 비트코인 주소로 판단할 수 있고 그만큼 추적이 용이하기 때문이다. 3,538개의 DPR 주소 중에서 월별 10건 이상의 거래가 발생한 Public DPR은 총 65개였다. Fig. 7과 같이 Public DPR과 거래한 DPR User는 7,389개 주소였으며, 해당 DPR User를 Real DPR User로 정의하였다.

Fig. 7. Real DPR User and Public DPR

Fig. 8. Real DPR User and Real DPR

⑤ Fig. 8에서 보는 바와 같이 Real DPR User와 거래한 수신자 주소 중에서 DPR은 116개였으며, 거래내역은 2,880,421개였다. Table. 1은 원본 데이터인 DPR User와 우리가 분석할 대상인 Real DPR User의 거래내역을 보여준다.

⑥ Real DPR User의 거래내역을 바탕으로 불법거래의 가능성이 높은 비트코인 주소, 즉 후보군을 예측하고자 Real DPR User의 거래내역의 타게팅 조건을 다르게 실험하였다. 즉, 예측의 정확도를 높이기 위해 추적대상을 줄이는 작업을 실시하였다. Real DPR User의 월별 거래횟수가 일정기준 이상인 경우 코인 믹싱이나 시스템에서 자동적으로 생성되는 거래로 판단하여 분석 대상에서 제외하였다. 결과는 Table 2에서 보는 바와 같이 DPR은 산술적으로 줄어드는 것을 볼 수 있다. 이는 월별로 많은 거래를 하는 Real DPR User들을 제외시키는 과정을 통해 DPR의 비율이 상대적으로 높아지는 것을 알 수 있고, 결과적으로 유의미한 DPR User로 줄여나갔음을 뜻한다.

Table 1. DPR User and Real DPR User Transactions

Table 2. Except Real DPR users who have done many transactions per month

4.2 정확도(Precision)

Fig. 9는 Table 2의 거래내역을 토대로 2013년 월별 송신자의 거래횟수가 많은 상위 10건의 거래내역 중에서 DPR이 얼마나 존재하는지 분석한 결과이다. 추적대상을 타게팅하지 않은 Real DPR User의 거래내역에서는 월별 평균적으로 상위 10건의 거래내역에서 1.3건으로 13%의 낮은 확률로 DPR이 포함되었으나, Table. 2에서 설명한 빈도수의 조건을 부여하였을 경우에는 DPR이 포함되는 확률이 점차 개선되는 것을 볼 수 있다. 분석결과 월별 DPR User의 거래횟수가 10보다 큰 것을 제외하였을 때, 40%의 확률로 가장 많은 DPR을 포함하는 것을 알 수 있었다.

Fig. 9. Precision of real DPR User(2013)

4.3 재현율(Recall)

앞 절에서 설명한 정확성과 더불어 재현율을 측정하였다. 앞에서 가장 높은 정확성을 보인 10건 이하의 거래를 발생하는 Real DPR User를 기준으로 수신자의 월별 빈도수를 증가(count(receiver)>1, 5, 10)시키면서 재현율을 측정할 때, Fig. 10에서와 같이 수신자의 월별 빈도수가 10 이상인 경우에 재현율이 66.53%로 가장 높은 것을 알 수 있었다.

Fig. 10. Recall of real DPR User(2013)​​​​​​​

4.4 연도별 추이분석

우리는 DPR이 2013년 10월 체포된 이후에도 FBI 주소에서 “DPR Seized Coins”이 지속적으로 압수되는 것을 확인할 수 있었으며, 해당하는 비트코인 주소를 추출하였다. DPR이 검거된 이후에도 어떻게 지속적으로 DPR 거래가 추가될 수 있었는지 정확히 확인할 수는 없었으나, Silk Road가 폐쇄된 이후에도 현재 Silk Road 3.1이 Tor에서 운영되는 것을 볼 때, FBI가 그와 관련된 비트코인을 압수하는 것으로 추정된다. 우리는 2013년에 측정한 방식을 이후 DPR의 거래내역에도 동일하게 적용할 경우 Fig. 11에서 보는 바와 같이 정확성은 떨어졌지만 재현율은 더 높아진 것을 알 수 있었다. 우리가 DPR이 검거된 이후의 정보에 대해서 정확히 알 수 없다고 하더라도 TxMon은 DPR User의 거래내역으로부터 불법거래를 예측하고, 후보군을 모니터링할 수 있었으며, 연도별 추이에서 Fig. 11이 보여주는 것처럼 지속적으로 DPR을 포함하고 있는 것을 알 수 있었다. 추출된 DPR의 정확도는 2013년 40%보다 더 떨어졌지만, 재현율이 더 올라간 것은 2013년 DPR 체포 이후로 DPR의 비트코인 주소가 줄어들었기 때문이다.

Fig. 11. Precision&Recall, F-1 score5)(2013~ 2017)

4.5 블록체인 모니터링

우리는 TxMon이 마이닝 풀과 최신 블록에서 Unnamed List가 Named List와 거래할 때, 이를 제대로 모니터링하는지 여부를 테스트하였다. 먼저 우리는 bithumb.com 암호화폐 거래소에서 비트코인을 구매한 다음 이 주소를 Unnamed List로 간주하여 Unnamed List에 추가하였다. 또한 우리가 비트코인을 보내는 주소를 Named List로 간주하여 Named List에 추가하였다. 이후 Unnamed List에서 Named List로 비트코인을 입금하였으며, 이 불법거래 내역이 발생하고 20초 뒤에 TxMon은 알람을 발생시켜 실시간 추적을 성공적으로 할 수 있음을 Fig. 12에서와 같이 확인하였다.

Fig. 12. Monitoring mining pool and latest block

Ⅴ. 결론

우리가 제안하는 TxMon은 불법거래와 연관성이 높은 비트코인 주소를 예측하여 추가적으로 확보하고, 이를 불법거래로 의심되는 비트코인 주소와 함께 Unnamed List로 관리한다. 또한 TxMon은 Unnamed List를 실시간 모니터링하여 Unnamed List의 신원 추적 및 식별이 가능한 시점에는 TxMon 운영자가 해당 정보를 확인하고, 알람 기능을 제공한다. 우리는 TxMon의 유효성을 검증하기 위해서 DPR 사례의 거래내역을 기반으로 평가를 진행하였으며, 불법거래로 추정되는 비트코인 주소 가운데 40%가 실제 DPR이었고, 재현율은 67%임을 확인할 수 있었다. 또한 실제로 비트코인을 송금하였을 때, TxMon은 마이닝 풀에서 해당 거래내역을 탐지하여 실시간 알람을 발생시켰다.

이 논문은 TxMon을 대표적인 불법 커뮤니티 사례인 DPR과 관련된 비트코인 거래내역에 적용하였지만, Silk Road 이외의 다른 불법 커뮤니티에서도 적용 가능하다. 만약 다른 불법 커뮤니티의 비트코인 거래 내역이 Silk Road의 비트코인 거래 내역과 차이가 있다면, 정확성과 재현율을 높이기 위한 데이터 필터링 조건의 수정이 필요하다. 하지만 본 논문이 제안하는 프로세스를 따라서 Real User를 추출하고 불법거래의 가능성이 높은 후보군을 찾아서 모니터링하는 접근방식은 여전히 유효할 것이다. 만약 다른 불법 커뮤니티 사례를 추가로 확보한다면, 이 논문에서 고려하지 못한 데이터의 특성이나 패턴을 찾을 수 있고, 이를 TxMon에 반영하여 프로세스를 개선할 수 있다.

본 논문의 설계 및 구현에 있어 Unnamed List를 확보하는 방법과 달리 Named List를 충분히 확보하는 것은 크게 고려하지 않았다. 불법거래를 한 비트코인 주소는 웹 크롤링으로 얻는 것이 제한되며, 대부분의 경우는 범죄신고나 다른 범죄를 수사하다가 추가적인 범죄단서를 통해서 확보될 것이다. 이렇게 확보된 비트코인 주소들은 Address DB에 Unnamed List로 들어가게 되며, 이 주소를 기반으로 불법거래와 관련성이 높은 비트코인 주소 후보군도 역시 Unnamed List로 저장된다. 반면에 Named List는 확보하는데 있어서 기술적으로 어려움이 없다. 그래서 우리는 Named List를 많이 확보하기보다는 TxMon이 실현 가능하다는 것을 입증하는데 초점을 두었다. 실질적으로 TxMon을 운영하기 위해서는 충분한 Named List를 확보하고 불법 거래의 가능성이 높은 비트코인을 Unnamed List로 지속적으로 추가할 때, 불법거래 추적의 가능성을 높일 것이다.

* 본 연구는 2018년도 과학기술정보통신부의 재원으로 한국연구재단의 지원(NRF-2017R1A2B3006360, 신뢰실행환경 기술의 보안성/범용성 향상 및 응용을 위한 연구)을 받아 수행된 연구임

References

  1. N. Satoshi. Bitcoin: A peer-to-peer electronic cash system, 2008.
  2. Jae-Won Jeong, "A Study on the Systems, Technical Problems, and Solutions for Investigation of Crimes Abusing Bitcoin," Master's Thesis, Seoul National University, Feb. 2016.
  3. Jin-eung Choi, "Status of Cyber Crime Information Distribution and Response Plan in the Dark Web," National Assembly Research Service, Issue and Point no. 1386, Nov. 2017.
  4. Dorit Ron and Adi Shamir, "How did dread pirate roberts acquire and protect his bitcoin wealth?," Financial Cryptography and Data Security, Springer, vol. 8438, pp. 3-15, Oct. 2014.
  5. M. Malte, B. Rainer, and B. Dominic, "An inquiry into money laundering tools in the bitcoin ecosystem," In eCrime Researchers Summit(eCRS), 2013, IEEE, pp. 1-14, Sep. 2013.
  6. Micha Ober, Stefan Katzenbeisser, and Kay Hamacher, "Structure and anonymity of the bitcoin transaction graph," Future internet, vol. 5, no. 2, pp. 237-250, May. 2013. https://doi.org/10.3390/fi5020237
  7. Fergal Reid and Martin Harrigan, "An analysis of anonymity in the bitcoin system," Security and privacy in social networks, Springer, pp. 197-223, Jul. 2012.
  8. Dorit Ron and Adi Shamir, "Quantitative analysis of the full bitcoin transaction graph," Financial Cryptography and Data Security, Springer, vol. 7859, pp. 6-24, Apr. 2013.
  9. S. QingChun and Y. JianPing, "Research on anonymization and deanonymization in the bitcoin system," arXiv preprint arXiv: 1510.07782, Oct. 2015.
  10. Joseph Bonneau, Arvind Narayanan, Andrew Miller, Jeremy Clark, Joshua A Kroll, and Edward W Felten, "Mixcoin: Anonymity for bitcoin with accountable mixes," Financial Cryptography and Data Security, Springer, vol. 8437, pp. 486-504, Mar. 2014.
  11. QingChun ShenTu and JianPing Yu, "A blind-mixing scheme for bitcoin based on an elliptic curve cryptography blind digital signature algorithm," arXiv preprint arXiv:1510.05833, Oct. 2015.
  12. Luke Valenta and Brendan Rowan. "Blinded, accountable mixes for bitcoin," Financial Cryptography and Data Security. Springer, vol. 8976, pp. 112-126, Sep. 2015.
  13. Yeong-Dae Song, "A Study on the Case Analysis of the Bitcoin-related Crime by Type and it's Countermeasures," Journal of Korean Public Police and Security Studies, 14(3), pp. 141-166, Nov. 2017.
  14. https://www.chainalysis.com
  15. TxMon's demo for Monitoring Block chain Mining Pool. https://youtu.be/0Cn4IVaQ6S8.