KR20220101952A - 비트코인 불법거래 탐지 장치 및 방법 - Google Patents

비트코인 불법거래 탐지 장치 및 방법 Download PDF

Info

Publication number
KR20220101952A
KR20220101952A KR1020210004069A KR20210004069A KR20220101952A KR 20220101952 A KR20220101952 A KR 20220101952A KR 1020210004069 A KR1020210004069 A KR 1020210004069A KR 20210004069 A KR20210004069 A KR 20210004069A KR 20220101952 A KR20220101952 A KR 20220101952A
Authority
KR
South Korea
Prior art keywords
bitcoin
illegal
transaction
address
bitcoin address
Prior art date
Application number
KR1020210004069A
Other languages
English (en)
Inventor
홍원기
이채현
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020210004069A priority Critical patent/KR20220101952A/ko
Publication of KR20220101952A publication Critical patent/KR20220101952A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

비트코인 불법거래 탐지 장치 및 방법이 개시된다. 상기 비트코인 불법거래 탐지 장치 및 방법은 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받는 단계, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하는 단계, 기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하는 단계 및 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하는 단계를 포함하여, 트랜잭션의 불법거래 여부를 블록체인 네트워크에 등록 이전에 사전 판단함으로써, 불법 거래 및 불법 사기 행위를 사전 방지하는, 고효율, 고신뢰성 및 고안전성의 비트코인 불법거래 탐지 장치 및 방법을 제공할 수 있다.

Description

비트코인 불법거래 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING ILLEGAL TRANSACTIONS OF BITCOIN}
본 발명은 비트코인 불법거래 탐지 장치 및 방법에 관한 것으로서, 보다 상세하게는, 기계학습을 이용하여 비트코인의 불법거래를 탐지하는 장치 및 방법에 관한 것이다.
비트코인은 암호학과 블록체인 기술을 원천 기술로 한 탈 중앙화 시스템으로, 퍼블릭 블록 체인으로 제공되어 누구든지 비트코인 네트워크에 참여하거나 탈퇴할 수 있다.
또한, 비트코인 네트워크 참여자에게는 비트코인의 거래 내역이 투명하게 공개되므로, 누구든지 비트코인과 관련한 데이터에 접근이 가능하여, 네트워크 참여자가 동일한 데이터를 모두 저장하거나 또는 유지하며 네트워크를 운영할 수 있다.
따라서, 데이터의 기록과 관리를 위한 중앙 기관이 불필요하며, 네트워크 상에 기록된 데이터는 제 3자에 의해 수정 및 삭제가 불가능하므로, 데이터의 신뢰성이 확보되는 장점이 있다.
비트코인 트랜잭션은 적어도 하나 이상의 전송 비트코인 주소와 하나 이상의 수신 비트코인 주소로 이루어져 있다. 예를 들어, 여러 주소로부터 비트코인을 모아 하나의 주소로 보내거나, 하나의 주소로부터 여러 비트코인 주소로 비트코인을 나누어 보내는 등 여러 형태의 트랜잭션을 생성할 수 있으며, 트랜잭션을 생성할 때는 비트코인 전송량, 전송되는 비트코인 주소를 수신할 수신 주소들을 명시해 주어야 한다.
이때, 비트코인 주소는 가명성/익명성을 띠고 있다. 따라서, 비트코인 주소를 이용해 비트코인의 실 소유주의 현실 정보를 추론하는 것이 어렵다. 이러한 특성을 악용하여, 여러 다크 넷 사이트에서 불법 무기, 불법 마약, 아동 포르노, 악성코드 등을 거래할 때 비트코인을 이용하는 사례가 급증하고 있다.
이러한, 비트코인의 익명성은 비트코인의 흐름을 분석 및 추적하는 방식을 통해 비트코인 주소의 소유주를 알아낼 수가 있는데, 이러한 추적을 피하기 위해 다양한 믹싱 서비스들이 운영되고 있다.
그러나, 믹싱 서비스는 거래 금액을 여러 개로 쪼개어 여러 주소로 보냄으로써 거래 연결성을 끊기 위해 제안된 서비스로, 범죄 자금을 세탁하는 데 악용될 수 있다는 문제가 있다. 따라서, 해당 거래가 비트코인 네트워크에 확정되기 전에 이를 탐지할 수 있는 시스템이 필요한 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 고효율, 고신뢰성 및 고안전성의 비트코인 불법거래 탐지 장치를 제공하는 데 있다.
또한, 상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 고효율, 고신뢰성 및 고안전성의 비트코인 불법거래 탐지 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 비트코인 불법거래 탐지 장치는, 메모리(memory) 및 상기 메모리에 저장된 적어도 하나의 명령을 실행하는 프로세서(processor)를 포함하고, 상기 적어도 하나의 명령은, 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받도록 하는 명령, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하도록 하는 명령, 기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하도록 하는 명령, 및 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하도록 하는 명령을 포함한다.
여기서, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하도록 하는 명령은, 비트코인 풀 노드로부터 상기 트랜잭션 ID에 대응하는 특정 트랜잭션의 정보를 획득하도록 하는 명령, 및 상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하도록 하는 명령을 포함할 수 있다.
이때, 상기 적어도 하나의 정보는, 상기 특정 트랜잭션의 입력(input) 필드 정보, 상기 특정 트랜잭션의 출력(output) 필드 정보, 상기 특정 트랜잭션 이전의 트랜잭션의 출력(output) 필드 정보, 사이즈(size) 정보 및 상기 특정 트랜잭션을 포함하는 블록의 높이 정보 중 적어도 하나를 포함할 수 있다.
한편, 상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하도록 하는 명령은, 상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 출력(output) 필드 정보를 참조하여 상기 특정 트랜잭션의 수신 비트코인 주소를 추출하도록 하는 명령, 및 상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 이전의 트랜잭션에 대한 출력(output) 필드 정보 및 인덱스(index) 정보를 참조하여 상기 특정 트랜잭션의 송신 비트코인 주소를 추출하도록 하는 명령을 포함할 수 있다.
여기서, 상기 기계학습 모델은 상기 메모리에 저장된 적어도 하나의 명령에 따른 상기 프로세서의 실행에 의해 사전 학습되되, 상기 기계학습 모델은 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하도록 하는 명령, 상기 합법 비트코인 주소 및 불법 비트코인 주소들로부터특징을 개별 추출하도록 하는 명령, 상기 합법 비트코인 주소 및 불법 비트코인 주소들의 레이블(label)을 각각 설정하도록 하는 명령, 및 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하도록 하는 명령에 의해 생성될 수 있다.
또한, 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하도록 하는 명령에서의 상기 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들은, 비트코인 히스토리컬 데이터(bitcoin historical data)를 공개하는 포럼 사이트 및 다크 넷 사이트 및 스캠 사이트 중 적어도 하나를 포함하는 불법 사이트로부터 획득할 수 있다.
이때, 상기 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하도록 하는 명령에서는, 유사도 분석 알고리즘에 의해, 상기 불법 사이트에서 획득한 적어도 하나의 비트코인 주소들 및 공개된 포럼 사이트로부터 수집한 불법 비트코인 주소들의 유사도를 분석하여, 상기 불법 사이트로부터 획득한 적어도 하나의 비트코인 주소 중 상기 불법 비트코인 주소를 추출할 수 있다.
또한, 상기 기계학습 모델은, GBM(Gradient Boosting Machine), DRF(Distributed Random Forest), XGBoost(Extreme Gradient Boosting) 및 Deep learning 모델 중 어느 하나의 지도 학습 기반 모델에 의해 학습될 수 있다.
한편, 상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하도록 하는 명령은, 상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 학습하여 적어도 하나의 기계학습 모델을 생성하도록 하는 명령, 상기 적어도 하나의 기계학습 모델들 중 예측 정확도가 가장 높은 모델을 상기 기계학습 모델로 지정하도록 하는 명령을 포함할 수 있다.
이때, 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하도록 하는 명령은, 상기 판단 결과에 따른 합법 비트코인 주소 및 불법 비트코인 주소의 개수를 비교하도록 하는 명령, 상기 합법 비트코인 주소의 개수가 상기 불법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 상기 특정 비트코인 트랜잭션을 합법 트랜잭션으로 판단하도록 하는 명령, 및 상기 불법 비트코인 주소의 개수가 상기 합법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 특정 비트코인 트랜잭션을 불법 트랜잭션으로 판단하도록 하는 명령을 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 비트코인 불법거래 탐지 방법은, 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받는 단계, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하는 단계, 기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하는 단계 및 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하는 단계를 포함한다.
여기서, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하는 단계는, 비트코인 풀 노드로부터 상기 트랜잭션 ID에 대응하는 특정 트랜잭션의 적어도 하나의 정보를 획득하는 단계 및 상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하는 단계를 포함할 수 있다.
이때, 상기 적어도 하나의 정보는, 상기 특정 트랜잭션의 입력(input) 필드 정보, 상기 특정 트랜잭션의 출력(output) 필드 정보, 상기 특정 트랜잭션 이전의 트랜잭션의 출력(output) 필드 정보, 사이즈(size) 정보 및 상기 특정 트랜잭션을 포함하는 블록의 높이 정보 중 적어도 하나를 포함할 수 있다.
한편, 상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하는 단계는, 상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 출력 필드 정보를 참조하여 상기 특정 트랜잭션의 수신 비트코인 주소를 추출하는 단계 및 상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 이전의 트랜잭션에 대한 출력(output) 필드 정보 및 인덱스(index) 정보를 참조하여 상기 특정 트랜잭션의 송신 비트코인 주소를 추출할 수 있다.
여기서, 상기 기계학습 모델은, 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하는 단계, 상기 합법 비트코인 주소 및 불법 비트코인 주소들로부터 특징을 개별 추출하는 단계, 상기 합법 비트코인 주소 및 불법 비트코인 주소들의 레이블(label)을 각각 설정하도록 하는 단계 및 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하는 단계에 의해 사전 학습될 수 있다.
또한, 상기 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하는 단계에서의 상기 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들은, 비트코인 히스토리컬 데이터(bitcoin historical data)를 공개하는 포럼 사이트 및 다크 넷 사이트 및 스캠 사이트 중 적어도 하나를 포함하는 불법 사이트로부터 획득할 수 있다.
이때, 상기 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하는 단계에서는, 유사도 분석 알고리즘에 의해, 상기 불법 사이트에서 획득한 적어도 하나의 비트코인 주소들 및 공개된 포럼 사이트로부터 수집한 불법 비트코인 주소들의 유사도를 분석하여, 상기 불법 사이트로부터 획득한 적어도 하나의 비트코인 주소 중 상기 불법 비트코인 주소를 추출할 수 있다.
또한, 상기 기계학습 모델은, GBM(Gradient Boosting Machine), DRF(Distributed Random Forest), XGBoost(Extreme Gradient Boosting) 및 Deep learning 모델 중 어느 하나의 지도 학습 기반 모델에 의해 학습될 수 있다.
한편, 상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하는 단계는, 상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 학습하여 적어도 하나의 기계학습 모델을 생성하는 단계 및 상기 적어도 하나의 기계학습 모델들 중 예측 정확도가 가장 높은 모델을 상기 기계학습 모델로 지정하는 단계를 포함할 수 있다.
이때, 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하는 단계는, 상기 판단 결과에 따른 합법 비트코인 주소 및 불법 비트코인 주소의 개수를 비교하는 단계, 상기 합법 비트코인 주소의 개수가 상기 불법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 상기 특정 비트코인 트랜잭션을 합법 트랜잭션으로 판단하는 단계 및 상기 불법 비트코인 주소의 개수가 상기 합법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 특정 비트코인 트랜잭션을 불법 트랜잭션으로 판단하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치 및 방법은 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받는 단계, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하는 단계, 기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하는 단계 및 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하는 단계를 포함하여, 불법과 관련된 트랜잭션을 블록체인 네트워크에 등록 이전에 사전 판단함으로써, 불법 거래 및 불법 사기 행위를 사전 방지하는, 고효율, 고신뢰성 및 고안전성의 비트코인 불법거래 탐지 장치 및 방법을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치의 하드웨어 구성들을 설명하기 위한 블록 구성도이다.
도 2는 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치 내 소프트웨어 구성들의 동작 흐름도이다.
도 3은 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치의 불법 주소 예측부를 설명하기 위한 구조도이다.
도 4는 본 발명의 실시예에 따른 비트코인 불법거래 탐지 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 실시예에 따른 비트코인 불법 거래 탐지 방법 내 기계학습 모델을 생성하는 방법을 설명하기 위한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하여 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치의 하드웨어 구성들을 설명하기 위한 블록 구성도이다.
도 1을 참조하면, 비트코인 불법거래 탐지 장치(1000)는 비트코인을 거래하고자 하는 사용자가 특정 비트코인 주소로 비트코인을 전송하는 트랜잭션을 신규 생성할 때, 기계학습 모델을 이용하여 상기 특정 비트코인 주소의 불법 여부를 예측함으로써, 상기 신규 트랜잭션의 불법 여부를 판별할 수 있다.
비트코인 불법거래 탐지 장치(1000)를 하드웨어 구성별로 보다 자세히 설명하면, 상기 비트코인 불법거래 탐지 장치(1000)는 적어도 하나의 명령을 저장하는 메모리(100) 및 상기 메모리(100)의 적어도 하나의 명령을 실행하는 프로세서(200)를 포함할 수 있다.
또한, 비트코인 불법거래 탐지 장치(1000)는 상기 프로세서(200)를 통해 실행되는 네트워크와 연결되어 통신을 수행하는 송수신 장치(300), 입력 인터페이스 장치(400), 출력 인터페이스 장치(500) 및 저장 장치(600) 등을 더 포함할 수 있다.
비트코인 불법거래 탐지 장치(1000)에 포함된 각각의 구성 요소들은 버스(bus, 700)에 의해 연결되어 서로 통신을 수행할 수 있다.
비트코인 불법거래 탐지 장치(1000) 내 메모리(100) 및 저장 장치(600)는 각각 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(100)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
메모리(100)는 불법거래 탐지를 위해 후술될 프로세서(200)에 의해 실행될 적어도 하나의 명령을 포함할 수 있다.
실시예에 따르면, 적어도 하나의 명령은, 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받도록 하는 명령, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하도록 하는 명령, 기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하도록 하는 명령 및 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하도록 하는 명령을 포함할 수 있다.
또한, 상기 메모리(100)는 불법거래 탐지를 위한 기계학습 모델의 사전 학습을 위해, 후술될 프로세서(200)에 의해 실행될 적어도 하나의 명령을 포함할 수 있다.
실시예에 따르면, 상기 적어도 하나의 명령은, 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하도록 하는 명령, 상기 합법 비트코인 주소 및 불법 비트코인 주소들로부터 특징을 개별 추출하도록 하는 명령, 상기 합법 비트코인 주소 및 불법 비트코인 주소들의 레이블(label)을 각각 설정하도록 하는 명령 및 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하도록 하는 명령을 포함할 수 있다.
프로세서(200)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.
프로세서(200)는 앞서 설명한 바와 같이, 메모리(100)에 저장된 적어도 하나의 프로그램 명령(program command)을 실행할 수 있다. 실시예에 따르면, 프로세서(200)는 메모리(100)에 저장된 적어도 하나의 명령에 따라 비트코인 불법거래 탐지 장치(1000)의 적어도 하나의 후술될 소프트웨어 구성들을 실행할 수 있다. 비트코인 불법거래 탐지 장치(1000)의 소프트웨어 구성들에 대해서는 하기 도 2를 참조하여 보다 구체적으로 설명하겠다.
도 2는 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치 내 소프트웨어 구성들의 동작 흐름도이다.
도 2를 참조하면, 비트코인 불법거래 탐지 장치(1000)는 주소 추출부(1100), 불법 주소 예측부(1300) 및 불법 거래 판별부(1500)를 포함할 수 있다.
주소 추출부(1100)는 외부의 사용자로부터 송신된 특정 비트코인 트랜잭션 ID를 이용하여, 상기 트랜잭션 ID에 대응하는 트랜잭션으로부터 송신 비트코인 주소 및 수신 비트코인 주소를 추출할 수 있다.
여기서, 송신 비트코인 주소 및 수신 비트코인 주소는 비트코인을 거래하기 위해 공개키를 기반으로 생성된 주소로, 비트코인 트랜잭션을 이루는 적어도 하나의 정보일 수 있다. 여러 주소로부터 비트코인을 모아 하나의 주소로 보내거나, 하나의 주소로부터 여러 비트코인 주소로 비트코인을 나누어 보내는 등 여러 형태의 트랜잭션을 생성할 수 있으며, 트랜잭션을 생성할 때는 비트코인 전송량, 전송되는 비트코인 주소를 수신할 수신 주소들을 명시해 주어야 한다.
비트코인 주소는 가명성/익명성을 띠고 있다. 따라서 비트코인 주소를 이용해 비트코인의 실 소유주의 현실 정보를 추론하는 것이 어렵다.
보다 구체적으로 설명하면, 주소 추출부(1100)는 사용자로부터 송신된 특정 비트코인 트랜잭션 ID에 대응하는 특정 트랜잭션의 적어도 하나의 세부 정보를 획득할 수 있다.
실시예에 따르면, 주소 추출부(1100)는 사용자로부터 트랜잭션 ID를 수신할 경우, 상기 트랜잭션 ID를 인자로하여 비트코인 풀 노드(full node)에 원격 프로시저 호출을 송신할 수 있다.
여기서, 비트코인 풀 노드는 비트코인에 실제로 보안을 지원하고 제공하는 검증 노드로, 비트코인 네트워크에서 발생하는 모든 거래 내역을 저장함으로써, 합의 규칙에 관한 트랜잭션과 블록을 확인 및 관리할 수 있다. 예를 들어, 비트코인 풀 노드는 비트코인 코어(core) 또는 비트코인 클라이언트 프로그램과 동일한 의미로 사용될 수 있다,
또한, 원격 프로시저 호출로는 JSON으로 인코딩된 JSON-RPC를 사용할 수 있다.
이에 따라, 주소 추출부(1100)는 비트코인 풀 노드로부터 원격 프로시저 호출에 의해, 트랜잭션 ID에 대응하는 특정 트랜잭션의 적어도 하나의 세부 정보를 획득할 수 있다.
실시예에 따르면, 특정 트랜잭션의 세부 정보는 특정 트랜잭션의 입력(input) 필드 정보, 특정 트랜잭션의 출력(output) 필드 정보, 특정 트랜잭션 이전의 트랜잭션의 출력(output) 필드 정보, 특정 트랜잭션의 사이즈(size) 정보 및 특정 트랜잭션을 포함하는 블록의 높이 정보, 인덱스 정보(Index) 등을 포함할 수 있다.
이후, 주소 추출부(1100)는 특정 트랜잭션의 세부 정보로부터 특정 트랜잭션과 연관된 송신 비트코인 주소 및 수신 비트코인 주소를 추출할 수 있다.
실시예에 따라 보다 구체적으로 설명하면, 주소 추출부(1100)는 트랜잭션 입력(input) 필드를 참조하여 특정 트랜잭션의 송신 비트코인 주소를 추출할 수 있다.
또한, 주소 추출부(1100)는 트랜잭션 출력(output) 필드를 참조하여 특정 트랜잭션의 수신 비트코인 주소를 추출할 수 있다.
여기서, 트랜잭션 입력(input) 필드는 특정 트랜잭션의 송신 비트코인 주소를 노출하지 않으므로, 이전 트랜잭션의 출력(output) 필드와 인덱스(index)를 참고하여, 특정 트랜잭션의 송신 비트코인 주소를 추출할 수 있다.
이후, 주소 추출부(1100)는 추출된 송신 비트코인 주소 및 수신 비트코인 주소를 후술될 불법 주소 예측부(1300)로 송신할 수 있다.
불법 주소 예측부(1300)는 주소 추출부(1100)로부터 추출된 송신 비트코인 주소 및 수신 비트코인 주소를 사전 학습된 기계학습 모델에 입력하여, 상기 주소들의 불법 여부를 예측할 수 있다. 기계학습 모델을 사전 학습하는 과정에 대해서는 하기 도 3을 참조하여 보다 자세히 설명하겠다.
도 3은 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치의 불법 주소 예측부를 설명하기 위한 구조도이다.
도 3을 참조하면, 불법 주소 예측부(1300)는 주소 수집부(1310), 주소 판별부(1330), 특징 추출부(1350) 및 분류 모델 학습부(1370)를 포함할 수 있다.
이에 따라, 불법 주소 예측부(1300)는 상기 구성들(1310, 1330, 1350, 1370)에 의해 주소 추출부(1100)로부터 획득한 송신 비트코인 주소 및 수신 비트코인 주소의 불법 여부를 판단하기 위한 기계학습 모델을 생성할 수 있다.
이때, 상기 구성들(1310, 1330, 1350, 1370)은 독립적으로 존재하여 개별적으로 운영될 수 있다.
주소 수집부(1310)는 주소 추출부(1100)로부터 송신된 상기 비트코인 주소들의 불법 여부를 예측하기 위한 기계학습 모델을 생성하기 위해 적어도 하나의 데이터 정보를 수집할 수 있다.
일 실시예에 따르면, 주소 수집부(1310)는 비트코인 히스토리컬 데이터(bitcoin historical data)를 공개하는 포럼 사이트를 웹 크롤링(web crawling)하여, 기계학습 모델의 생성을 위한 적어도 하나의 합법 주소 및 불법 주소를 수집할 수 있다.
다른 실시예에 따르면, 주소 수집부(1310)는 다크 넷(Dark Net) 사이트를 웹 크롤링(web crawling)하여 불법인 가능성이 있는 적어도 하나의 주소 데이터를 수집할 수 있다.
이때, 다크 넷(Dark Net) 사이트에서의 웹 크롤링은 토르 네트워크(tor network) 상에서 실행되는 토르 브라우저(tor browser)의 웹 소스코드(web source code)를 수집하는 웹 크롤러(web crawler)에 의해 수행될 수 있다.
보다 구체적으로 설명하면, 히든 서비스를 제공하는 다크 넷(Dark Net) 사이트는 IP 주소가 아닌 특별한 형식의 onion 주소를 사용하기 때문에 종래의 서피스웹(surface web)으로는 접근이 불가능하다.
일반적으로 대부분의 다크 넷 사이트는, 불법 마약, 도난 물품, 복제 카드 등의 불법 판매를 위해 비트코인을 악용하므로, 비트코인의 지갑 주소를 명시하고, 해당 주소를 통해 대금 거래를 요구하는 방식을 사용한다. 또한, 일정 금액을 보증금으로 예치하면 보증금에 몇 배를 되돌려준다는 스캠 사이트 등에서도 사용자를 현혹시키기 위해 비트코인 거래 내역을 공개해 놓기도 한다.
따라서, 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치 내 주소 수집부(1310)는 다크 넷 사이트 및 스캠 사이트 등 불법 사이트에서 공개하고 있는 비트코인 관련 정보들을 웹 크롤러를 이용하여 모두 수집하고, 정규식 표현을 사용하여 수집된 웹 소스코드로부터 비트코인 주소만을 추출할 수 있다.
일 실시예에 따르면, 주소 수집부(1310)는 1과 3으로 시작하는 26~35자의 알파벳의 조합으로 표현되는 비트코인 주소를 추출할 수 있다.
다른 실시예에 따르면, 주소 수집부(1310)는 "bc1"로 시작하는 알파벳으로 표현되는 세그윗(segwit) 주소 형태로 제공되는 비트코인 주소를 추출할 수 있다.
주소 판별부(1330)는 주소 수집부(1310)에 의해 불법 사이트로부터 수집한 적어도 하나의 비트코인 주소에 대해 불법 여부를 판별할 수 있다.
실시예에 따르면, 다크 넷에서 제공하는 비트코인 주소는 불법일 수도 있지만, 서비스 제공자가 사용자를 현혹할 목적으로 임의의 비트코인 주소를 명시해놓는 경우도 있기 때문에 불법이 아닐 가능성도 존재한다. 따라서, 불법 주소 판별부(1330)는 다크 넷 사이트 및 스캠 사이트 등 불법 사이트에서 수집한 적어도 하나의 비트코인 주소가 불법 주소에 해당하는지를 판별할 수 있다.
보다 구체적으로 설명하면, 주소 판별부(1330)는 유사도 분석 알고리즘에 의해 불법 사이트로부터 추출한 적어도 하나의 비트코인 주소의 불법 여부를 판별할 수 있다.
다시 말해, 주소 판별부(1330)는 유사도 분석 알고리즘을 이용하여 불법 사이트에서 수집한 적어도 하나의 비트코인 주소와 공개된 포럼 사이트로부터 수집한 불법 비트코인 주소의 유사도를 분석함으로써, 불법 사이트로부터 수집한 적어도 하나의 비트코인 주소 중 실제 불법에 해당하는 적어도 하나의 비트코인 주소를 추출할 수 있다.
특징 추출부(1350)는 공개된 포럼 사이트로부터 수집한 합법 비트코인 주소와 공개된 포럼 사이트 및 불법 사이트로부터 추출된 불법 비트코인 주소들로부터 주소와 연관된 특징을 추출할 수 있다.
특징 추출부(1350)는 합법 비트코인 주소 및 불법 비트코인 주소로부터 각각 적어도 하나의 특징을 추출할 수 있다. 예를 들어, 특징 추출부(1350)는 비트코인의 탐색기 사이트인 Blockchain.com의 API를 활용하여, 합법 비트코인 주소 및 불법 비트코인 주소로부터 적어도 하나의 특징을 개별 추출할 수 있다.
또한, 특징 추출부(1350)는 비트코인 주소들을 용이하게 분류하기 위해, 레이블(label) 필드를 추가하여 합법 비트코인 주소 및 불법 비트코인 주소를 구분할 수 있다.
일 실시예에 따르면, 특징 추출부(1350)는 합법 비트코인 주소의 레이블(label)을 1로 설정할 수 있다.
다른 실시예에 따르면, 특징 추출부(1350)는 불법 비트코인 주소의 레이블(label)을 0로 설정할 수 있다.
이후, 특징 추출부(1350)는 추출된 합법 및 불법의 비트코인 주소들 및 상기 비트코인 주소들의 개별 특징들을 저장 장치(600)에 .csv 형태로 저장할 수 있다. 이때, 비트코인 주소들의 특징의 종류 및 명세는 비트코인 불법거래 탐지 장치의 실행 시 추가되거나 변경될 수 있다.
분류 모델 학습부(1370)는 특징 추출부(1350)로부터 획득한 합법 및 불법 비트코인 주소의 적어도 하나의 특징으로부터 기계학습 모델을 생성하여 학습할 수 있다.
실시예에 따르면, 분류 모델 학습부(1370)는 합법 및 불법 비트코인 주소의 특징으로부터 지도 학습 기반의 기계학습 모델을 생성 및 학습할 수 있다.
예를 들어, 분류 모델 학습부(1370)는 GBM(Gradient Boosting Machine), DRF(Distributed Random Forest), XGBoost(Extreme Gradient Boosting) 및 Deep learning 모델 등을 활용하여, 지도 학습 기반의 기계학습 모델을 학습할 수 있다.
이후, 분류 모델 학습부(1370)는 학습된 모델 중 예측 정확도가 가장 높은 모델을 저장 장치(600)에 저장하여, 기계학습 모델로 사용할 수 있다.
다시 도 2를 참조하면, 불법 거래 판별부(1500)는 불법 주소 예측부(1300)의 사전 학습된 기계학습 모델에 의해 판단된 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소를 바탕으로, 사용자로부터 입력된 특정 비트코인 트랜잭션의 불법 여부를 판단할 수 있다.
보다 구체적으로 설명하면, 불법 거래 판별부(1500)는 불법 주소 예측부(1300)로부터 추출된 합법 비트코인 주소 및 불법 비트코인 주소의 개수를 비교하여, 과반수가 넘는 분류의 불법 여부를 상기 특정 비트코인 트랜잭션의 분류로 판단할 수 있다.
일 실시예에 따르면, 합법 비트코인 주소의 개수가 불법 비트코인 주소의 개수 보다 많을 경우, 불법 거래 판별부(1500)는 사용자로부터 입력된 특정 비트코인 트랜잭션을 합법 트랜잭션으로 판단할 수 있다.
다른 실시예에 따르면, 불법 비트코인 주소의 개수가 합법 비트코인 주소의 개수보다 많을 경우, 불법 거래 판별부(1500)는 사용자로부터 입력된 특정 비트코인 트랜잭션을 불법 트랜잭션으로 판단할 수 있다.
이상, 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치에 대해 설명하겠다. 이하에서는, 상기 비트코인 불법거래 탐지 장치의 프로세서에 의해 구현되는 비트코인 불법거래 탐지 방법에 대해 설명하겠다.
도 4는 본 발명의 실시예에 따른 비트코인 불법거래 탐지 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 비트코인 불법거래 탐지 장치(1000) 내 프로세서(200)는 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받을 수 있다(S1000).
이후, 프로세서(200)는 주소 추출부(1100)를 실행하여, 특정 비트코인 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득할 수 있다(S2000).
프로세서(200)는 불법 주소 예측부(1300)에 의해 저장 장치(600)에 사전 학습되어 저장된 기계학습 모델을 실행하여, 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소의 불법 여부를 판단할 수 있다(S3000). 다시 말해, 프로세서(200)는 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 사전 학습된 기계학습 모델에 입력하여, 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소를 획득할 수 있다. 상기 기계학습 모델을 사전 학습하는 방법은 하기 도 5를 참조하여 보다 자세히 설명하겠다.
도 5는 본 발명의 실시예에 따른 비트코인 불법 거래 탐지 방법 내 기계학습 모델을 생성하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 프로세서(200)는 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득할 수 있다(S100).
이후, 프로세서(200)는 상기 합법 비트코인 주소 및 불법 비트코인 주소들로부터 특징을 개별 추출할 수 있다(S200).
프로세서(200)는 상기 합법 비트코인 주소 및 불법 비트코인 주소들의 레이블(label)을 각각 설정할 수 있다(S300).
프로세서(200)는 상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 학습하여 적어도 하나의 기계학습 모델을 생성할 수 있다(S400).
다시 말하면, 프로세서(200)는 합법 비트코인 주소의 레이블(label)을 1로 설정하고, 불법 비트코인 주소의 레이블(label)을 0로 설정할 수 있다. 이에 따라, 프로세서(200)는 비트코인 주소들을 용이하게 분류할 수 있다.
이후, 프로세서(200)는 상기 적어도 하나의 기계학습 모델들 중 예측 정확도가 가장 높은 모델을 상기 기계학습 모델로 지정하여 저장 장치(600)에 저장할 수 있다(S500).
다시 도 4를 참조하면, 프로세서(200)는 획득된 합법 비트코인 주소 및 불법 비트코인 주소의 비율을 분석하여, 트랜잭션의 불법 여부를 판단할 수 있다.
보다 구체적으로 설명하면, 프로세서(200)는 합법 비트코인 주소 및 불법 비트코인 주소의 비율을 분석하여, 과반수를 획득한 비트코인 주소의 분류에 대응하도록 트랜잭션의 불법 여부를 판단할 수 있다(S4000).
일 실시예에 따르면, 불법 비트코인 주소 대비 합법 비트코인 주소의 비율이 높을 경우, 다시 말해, 합법 비트코인 주소의 개수가 불법 비트코인 주소의 개수 보다 많을 경우, 프로세서(200)는 사용자로부터 입력된 특정 비트코인 트랜잭션을 합법 트랜잭션으로 판단할 수 있다.
다른 실시예에 따르면, 합법 비트코인 주소 대비 불법 비트코인 주소의 비율이 높을 경우, 다시 말해, 불법 비트코인 주소의 개수가 합법 비트코인 주소의 개수보다 많을 경우, 프로세서(200)는 사용자로부터 입력된 특정 비트코인 트랜잭션을 불법 트랜잭션으로 판단할 수 있다.
이상, 본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치 및 방법을 설명하였다.
본 발명의 실시예에 따른 비트코인 불법거래 탐지 장치 및 방법은 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받는 단계, 상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하는 단계, 기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하는 단계 및 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하는 단계를 포함하여, 트랜잭션의 불법거래 여부를 블록체인 네트워크에 등록 이전에 사전 판단함으로써, 불법 거래 및 불법 사기 행위를 사전 방지하는, 고효율, 고신뢰성 및 고안전성의 비트코인 불법거래 탐지 장치 및 방법을 제공할 수 있다.
본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
1000: 비트코인 불법거래 탐지 장치 1100: 주소 추출부
1300: 불법 주소 예측부 1310: 주소 수집부
1330: 주소 판별부 1350: 특징 추출부
1370: 분류 모델 학습부 1500: 불법 거래 판별부
100: 메모리 200: 프로세서
300: 송수신 장치 400: 입력 인터페이스 장치
500: 출력 인터페이스 장치 600: 저장 장치
700: 버스(bus)

Claims (20)

  1. 메모리(memory); 및
    상기 메모리에 저장된 적어도 하나의 명령을 실행하는 프로세서(processor)를 포함하되,
    상기 적어도 하나의 명령은,
    사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받도록 하는 명령,
    상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하도록 하는 명령,
    기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하도록 하는 명령, 및
    상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하도록 하는 명령을 포함하는, 비트코인 불법거래 탐지 장치.
  2. 청구항 1에 있어서,
    상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하도록 하는 명령은,
    비트코인 풀 노드로부터 상기 트랜잭션 ID에 대응하는 특정 트랜잭션의 적어도 하나의 정보를 획득하도록 하는 명령, 및
    상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하도록 하는 명령을 포함하는, 비트코인 불법거래 탐지 장치.
  3. 청구항 2에 있어서,
    상기 적어도 하나의 정보는,
    상기 특정 트랜잭션의 입력(input) 필드 정보, 상기 특정 트랜잭션의 출력(output) 필드 정보, 상기 특정 트랜잭션 이전의 트랜잭션의 출력(output) 필드 정보, 사이즈(size) 정보 및 상기 특정 트랜잭션을 포함하는 블록의 높이 정보 중 적어도 하나를 포함하는, 비트코인 불법거래 탐지 장치.
  4. 청구항 2에 있어서,
    상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하도록 하는 명령은,
    상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 출력 필드 정보를 참조하여 상기 특정 트랜잭션의 수신 비트코인 주소를 추출하도록 하는 명령, 및
    상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 이전의 트랜잭션에 대한 출력(output) 필드 정보 및 인덱스(index) 정보를 참조하여 상기 특정 트랜잭션의 송신 비트코인 주소를 추출하도록 하는 명령을 포함하는, 비트코인 불법거래 탐지 장치.
  5. 청구항 1에 있어서,
    상기 기계학습 모델은 상기 메모리에 저장된 적어도 하나의 명령에 따른 상기 프로세서의 실행에 의해 사전 학습되되,
    상기 적어도 하나의 명령은,
    외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하도록 하는 명령,
    상기 합법 비트코인 주소 및 불법 비트코인 주소들로부터 특징을 개별 추출하도록 하는 명령,
    상기 합법 비트코인 주소 및 불법 비트코인 주소들의 레이블(label)을 각각 설정하도록 하는 명령, 및
    적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하도록 하는 명령을 포함하는, 비트코인 불법거래 탐지 장치.
  6. 청구항 5에 있어서,
    상기 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하도록 하는 명령에서의 상기 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들은,
    비트코인 히스토리컬 데이터(bitcoin historical data)를 공개하는 포럼 사이트 및 다크 넷 사이트 및 스캠 사이트 중 적어도 하나를 포함하는 불법 사이트로부터 획득하는, 비트코인 불법거래 탐지 장치.
  7. 청구항 6에 있어서,
    상기 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하도록 하는 명령에서는,
    유사도 분석 알고리즘에 의해, 상기 불법 사이트에서 획득한 적어도 하나의 비트코인 주소들 및 공개된 포럼 사이트로부터 수집한 불법 비트코인 주소들의 유사도를 분석하여, 상기 불법 사이트로부터 획득한 적어도 하나의 비트코인 주소 중 상기 불법 비트코인 주소를 추출하는, 비트코인 불법거래 탐지 장치.
  8. 청구항 5에 있어서,
    상기 기계학습 모델은, GBM(Gradient Boosting Machine), DRF(Distributed Random Forest), XGBoost(Extreme Gradient Boosting) 및 Deep learning 모델 중 어느 하나의 지도 학습 기반 모델에 의해 학습된, 비트코인 불법거래 탐지 장치.
  9. 청구항 5에 있어서,
    상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하도록 하는 명령은,
    상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 학습하여 적어도 하나의 기계학습 모델을 생성하도록 하는 명령, 및
    상기 적어도 하나의 기계학습 모델들 중 예측 정확도가 가장 높은 모델을 상기 기계학습 모델로 지정하도록 하는 명령을 포함하는, 비트코인 불법거래 탐지 장치.
  10. 청구항 1에 있어서,
    상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하도록 하는 명령은,
    상기 판단 결과에 따른 합법 비트코인 주소 및 불법 비트코인 주소의 개수를 비교하도록 하는 명령,
    상기 합법 비트코인 주소의 개수가 상기 불법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 상기 특정 비트코인 트랜잭션을 합법 트랜잭션으로 판단하도록 하는 명령, 및
    상기 불법 비트코인 주소의 개수가 상기 합법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 특정 비트코인 트랜잭션을 불법 트랜잭션으로 판단하도록 하는 명령을 포함하는, 비트코인 불법거래 탐지 장치.
  11. 사용자로부터 특정 비트코인 트랜잭션 ID를 입력 받는 단계;
    상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하는 단계;
    기계학습 모델을 이용하여 상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부를 판단하는 단계; 및
    상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하는 단계를 포함하는, 비트코인 불법거래 탐지 방법.
  12. 청구항 11에 있어서,
    상기 트랜잭션 ID에 대응하는 특정 트랜잭션으로부터 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 추출하는 단계는,
    비트코인 풀 노드로부터 상기 트랜잭션 ID에 대응하는 특정 트랜잭션의 적어도 하나의 정보를 획득하는 단계; 및,
    상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하는 단계를 포함하는, 비트코인 불법거래 탐지 방법.
  13. 청구항 12에 있어서,
    상기 적어도 하나의 정보는,
    상기 특정 트랜잭션의 입력(input) 필드 정보, 상기 특정 트랜잭션의 출력(output) 필드 정보, 상기 특정 트랜잭션 이전의 트랜잭션의 출력(output) 필드 정보, 사이즈(size) 정보 및 상기 특정 트랜잭션을 포함하는 블록의 높이 정보 중 적어도 하나를 포함하는, 비트코인 불법거래 탐지 방법.
  14. 청구항 12에 있어서,
    상기 적어도 하나의 정보로부터 상기 특정 트랜잭션과 연관된 적어도 하나의 송신 비트코인 주소 및 수신 비트코인 주소를 획득하는 단계는,
    상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 출력 필드 정보를 참조하여 상기 특정 트랜잭션의 수신 비트코인 주소를 추출하는 단계; 및
    상기 비트코인 풀 노드로부터 획득한 상기 특정 트랜잭션 이전의 트랜잭션에 대한 출력(output) 필드 정보 및 인덱스(index) 정보를 참조하여 상기 특정 트랜잭션의 송신 비트코인 주소를 추출하는 단계를 포함하는, 비트코인 불법거래 탐지 방법.
  15. 청구항 11에 있어서,
    상기 기계학습 모델은,
    외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하는 단계;
    상기 합법 비트코인 주소 및 불법 비트코인 주소들로부터 특징을 개별 추출하는 단계;
    상기 합법 비트코인 주소 및 불법 비트코인 주소들의 레이블(label)을 각각 설정하도록 하는 단계; 및
    적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하는 단계에 의해 사전 학습되는, 비트코인 불법거래 탐지 방법.
  16. 청구항 15에 있어서,
    외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하는 단계에서의 상기 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들은,
    비트코인 히스토리컬 데이터(bitcoin historical data)를 공개하는 포럼 사이트 및 다크 넷 사이트 및 스캠 사이트 중 적어도 하나를 포함하는 불법 사이트로부터 획득하는, 비트코인 불법거래 탐지 방법.
  17. 청구항 16에 있어서,
    상기 외부 사이트로부터 적어도 하나의 합법 비트코인 주소 및 불법 비트코인 주소들을 획득하는 단계에서는,
    유사도 분석 알고리즘에 의해, 상기 불법 사이트에서 획득한 적어도 하나의 비트코인 주소들 및 공개된 포럼 사이트로부터 수집한 불법 비트코인 주소들의 유사도를 분석하여, 상기 불법 사이트로부터 획득한 적어도 하나의 비트코인 주소 중 상기 불법 비트코인 주소를 추출하는, 비트코인 불법거래 탐지 방법.
  18. 청구항 15에 있어서,
    상기 기계학습 모델은, GBM(Gradient Boosting Machine), DRF(Distributed Random Forest), XGBoost(Extreme Gradient Boosting) 및 Deep learning 모델 중 어느 하나의 지도 학습 기반 모델에 의해 학습되는, 비트코인 불법거래 탐지 방법.
  19. 청구항 15에 있어서,
    상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 사전 학습하여 상기 기계학습 모델을 생성하는 단계는,
    상기 적어도 하나의 지도 학습 기반 모델에 의해 상기 특징에 대응하는 개별 레이블을 학습하여 적어도 하나의 기계학습 모델을 생성하는 단계; 및
    상기 적어도 하나의 기계학습 모델들 중 예측 정확도가 가장 높은 모델을 상기 기계학습 모델로 지정하는 단계를 포함하는, 비트코인 불법거래 탐지 방법.
  20. 청구항 11에 있어서,
    상기 송신 비트코인 주소 및 상기 수신 비트코인 주소의 불법 여부 판단 결과를 분석하여 상기 특정 비트코인 트랜잭션의 불법 여부를 판단하는 단계는,
    상기 판단 결과에 따른 합법 비트코인 주소 및 불법 비트코인 주소의 개수를 비교하는 단계;
    상기 합법 비트코인 주소의 개수가 상기 불법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 상기 특정 비트코인 트랜잭션을 합법 트랜잭션으로 판단하는 단계; 및
    상기 불법 비트코인 주소의 개수가 상기 합법 비트코인 주소의 개수보다 많을 경우, 사용자로부터 입력된 특정 비트코인 트랜잭션을 불법 트랜잭션으로 판단하는 단계를 포함하는, 비트코인 불법거래 탐지 방법.
KR1020210004069A 2021-01-12 2021-01-12 비트코인 불법거래 탐지 장치 및 방법 KR20220101952A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210004069A KR20220101952A (ko) 2021-01-12 2021-01-12 비트코인 불법거래 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210004069A KR20220101952A (ko) 2021-01-12 2021-01-12 비트코인 불법거래 탐지 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20220101952A true KR20220101952A (ko) 2022-07-19

Family

ID=82607105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210004069A KR20220101952A (ko) 2021-01-12 2021-01-12 비트코인 불법거래 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20220101952A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102616570B1 (ko) * 2023-05-24 2023-12-21 주식회사 보난자팩토리 고위험 가상자산 지갑주소 관리장치 및 이를 이용한 고위험 지갑주소 조회 서비스 제공방법
KR102663767B1 (ko) * 2023-07-04 2024-05-07 주식회사 보난자팩토리 Ai기반 가상자산 고위험 지갑주소 db 자동 업데이트 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102616570B1 (ko) * 2023-05-24 2023-12-21 주식회사 보난자팩토리 고위험 가상자산 지갑주소 관리장치 및 이를 이용한 고위험 지갑주소 조회 서비스 제공방법
KR102663767B1 (ko) * 2023-07-04 2024-05-07 주식회사 보난자팩토리 Ai기반 가상자산 고위험 지갑주소 db 자동 업데이트 방법

Similar Documents

Publication Publication Date Title
RU2635275C1 (ru) Система и способ выявления подозрительной активности пользователя при взаимодействии пользователя с различными банковскими сервисами
CN105516113B (zh) 用于自动网络钓鱼检测规则演进的系统和方法
US10063579B1 (en) Embedding the capability to track user interactions with an application and analyzing user behavior to detect and prevent fraud
Ceschin et al. The need for speed: An analysis of brazilian malware classifiers
Qiu et al. Cyber code intelligence for android malware detection
Zhu et al. Android malware detection based on multi-head squeeze-and-excitation residual network
CN105590055A (zh) 用于在网络交互系统中识别用户可信行为的方法及装置
KR20220101952A (ko) 비트코인 불법거래 탐지 장치 및 방법
CN107918911A (zh) 用于执行安全网上银行交易的系统和方法
WO2019143360A1 (en) Data security using graph communities
WO2023129886A1 (en) Fraud detection using aggregate fraud score for confidence of liveness/similarity decisions of live and identity document photos
CN106790025B (zh) 一种对链接进行恶意性检测的方法及装置
Assefa et al. Intelligent phishing website detection using deep learning
CN107018152A (zh) 消息拦截方法、装置和电子设备
Pramila et al. A survey on adaptive authentication using machine learning techniques
US11886597B2 (en) Detection of common patterns in user generated content with applications in fraud detection
KR102199587B1 (ko) 암호화폐 거래 분석 방법 및 장치
CN117521065A (zh) 一种区块链去中心化金融的安全检测方法和装置
Mandloi et al. A machine learning-based dynamic method for detecting vulnerabilities in smart contracts
Dissanayake et al. “Trust Pass”-Blockchain-Based Trusted Digital Identity Platform Towards Digital Transformation
Njoku et al. URL Based Phishing Website Detection Using Machine Learning.
Prasad et al. Detection of Ethereum Smart Contracts Vulnerabilities Over Blockchain
Jafari et al. Detection of phishing addresses and pages with a data set balancing approach by generative adversarial network (GAN) and convolutional neural network (CNN) optimized with swarm intelligence
KR102616570B1 (ko) 고위험 가상자산 지갑주소 관리장치 및 이를 이용한 고위험 지갑주소 조회 서비스 제공방법
Awodiji et al. Malicious malware detection using machine learning perspectives

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application