KR102199587B1 - 암호화폐 거래 분석 방법 및 장치 - Google Patents

암호화폐 거래 분석 방법 및 장치 Download PDF

Info

Publication number
KR102199587B1
KR102199587B1 KR1020190110210A KR20190110210A KR102199587B1 KR 102199587 B1 KR102199587 B1 KR 102199587B1 KR 1020190110210 A KR1020190110210 A KR 1020190110210A KR 20190110210 A KR20190110210 A KR 20190110210A KR 102199587 B1 KR102199587 B1 KR 102199587B1
Authority
KR
South Korea
Prior art keywords
address
information
cryptocurrency
fraudulent
machine learning
Prior art date
Application number
KR1020190110210A
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 KR1020190110210A priority Critical patent/KR102199587B1/ko
Application granted granted Critical
Publication of KR102199587B1 publication Critical patent/KR102199587B1/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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법 및 장치에 관한 것으로써, 암호화폐의 사기주소 리포트 데이터베이스, 암호화폐 관련 웹페이지 또는 암호화폐 주소 태그 데이터베이스 중 적어도 하나로부터 암호화폐의 제 1 주소 정보 및 암호화폐의 주소 정보와 함께 저장되어 있는 제 1 추가 정보를 획득하는 단계, 제 1 주소 정보가 사기에 연루되었는지 여부를 나타내는 레이블 정보를 획득하는 단계, 제 1 주소 정보 및 제 1 추가 정보에 기초하여 레이블 정보를 획득하기 위한 기계학습을 수행하여 제 1 기계학습모델을 생성하는 단계, 제 2 주소 정보 및 제 2 주소 정보에 대응되는 제 2 추가 정보를 수신하는 단계, 제 2 주소 정보 및 제 2 추가 정보를 제 1 기계학습모델에 적용하여 제 1 예측 레이블 정보를 획득하는 단계를 포함하는 것을 특징으로 한다.

Description

암호화폐 거래 분석 방법 및 장치{METHOD AND APPARATUS FOR ANALYZING TRANSACTION OF CRYPTOCURRENCY}
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법 및 장치에 관한 것이다.
암호화폐(cryptocurrency)는 교환 수단으로 기능하도록 고안된 디지털 자산으로, 블록체인(blockchain) 기술로 암호화되어 분산발행되고 일정한 네트워크에서 화폐로 사용할 수 있는 전자정보를 말한다. 암호화폐는 중앙은행이 발행하지 않고 블록체인 기술에 기초하여 금전적 가치가 디지털방식으로 표시된 전자정보로서 인터넷상 P2P 방식으로 분산 저장되어 운영·관리된다. 암호화폐를 발행하고 관리하는 핵심 기법은 블록체인(blockchain) 기술이다. 블록체인은 지속적으로 늘어나는 기록(블록)의 일람표로서 블록은 암호화방법을 사용하여 연결되어 보안이 확보된다. 각 블록은 전형적으로는 이전 블록의 암호해쉬, 타임스탬프와 거래 데이터를 포함한다. 블록체인은 처음부터 데이터의 수정에 대해 저항력을 가지고 있으며, 양 당사자 간의 거래를 유효하게 영구적으로 증명할 수 있는 공개된 분산 장부이다. 따라서 암호화폐는 조작 방지를 기반으로 투명한 운영을 가능하게 한다.
그 밖에, 암호화폐는 기존 화폐와는 달리 익명성을 갖고 있어, 준 사람과 받은 사람 이외의 제3자는 거래 내역을 일체 알 수 없다는 특징이 있다. 계좌의 익명성 때문에 거래의 흐름을 추적하기 어려우며(Non-trackable), 송금기록, 수금기록 등 일체의 기록은 모두 공개되어 있으나 거래 주체는 알 수 없다.
암호화폐는 전술한 바와 같은 자유성과 투명성으로 인해 기존의 기축통화를 대체할 수 있는 대안으로 여겨지고 있으며, 기존 통화 대비 저렴한 수수료와 간단한 송금 절차로 국제 간 거래 등에 효과적으로 사용될 수 있을 것으로 보인다. 다만 그 익명성으로 인해 암호화폐는 사기 거래에 사용되는 등 범죄 수단으로 악용되기도 한다.
현재는 사기 거래에 사용되는 암호 화폐 주소를 찾아내기 위하여 사용자들의 제보에 의존하고 있다. 왜냐하면 암호화폐 거래의 데이터는 방대하여 사기 거래의 특징을 수동으로 판별하여 사기 주체를 결정하기 어려운 문제점이 있기 때문이다. 이와 관련하여 최근 방대한 데이터를 자동으로 기계학습하여 모델을 생성하는 기계학습 분야가 활발하게 연구되고 있다. 기계학습을 이용하면 방대한 데이터들의 관계를 자동으로 학습할 수 있다.
따라서 기계학습을 이용하여 암호화폐를 범죄 수단으로 사용하는 거래 주체를 파악할 수 있는 방법이 요구된다.
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법은 암호화폐의 사기주소 리포트 데이터베이스, 암호화폐 관련 웹페이지 또는 암호화폐 주소 태그 데이터베이스 중 적어도 하나로부터 암호화폐의 제 1 주소 정보 및 암호화폐의 주소 정보와 함께 저장되어 있는 제 1 추가 정보를 획득하는 단계, 제 1 주소 정보가 사기에 연루되었는지 여부를 나타내는 레이블 정보를 획득하는 단계, 제 1 주소 정보 및 제 1 추가 정보에 기초하여 레이블 정보를 획득하기 위한 기계학습을 수행하여 제 1 기계학습모델을 생성하는 단계, 제 2 주소 정보 및 제 2 주소 정보에 대응되는 제 2 추가 정보를 수신하는 단계 및 제 2 주소 정보 및 제 2 추가 정보를 제 1 기계학습모델에 적용하여 제 1 예측 레이블 정보를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법은 제 1 주소 정보의 거래 이력 정보를 획득하는 단계, 제 2 주소 정보의 거래 이력 정보를 획득하는 단계, 제 1 주소, 제 2 주소, 레이블 정보, 제 1 예측 레이블 정보, 제 1 주소의 거래 이력 정보 및 제 2 주소의 거래 이력 정보 중 적어도 하나에 기초하여 둘 이상의 정점(vertex)과 하나 이상의 엣지(edge)를 포함하는 그래프를 생성하는 단계 및 그래프에 기초하여, 제 1 주소 또는 제 2 주소 중 적어도 하나를 포함하는 복수의 그룹을 생성하는 단계를 포함하는 것을 특징으로 한다.
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법의 복수의 그룹을 생성하는 단계는, 그래프에 기초하여 사기 주소들을 포함하는 제 1 그룹을 생성하는 단계 및 양호 주소들(benign addresses)을 포함하는 제 2 그룹을 생성하는 단계를 포함하는 것을 특징으로 한다.
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법은 제 1 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 1 이력 정보를 획득하는 단계, 제 2 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 2 이력 정보를 획득하는 단계, 제 1 이력 정보에 기초하여 제 1 그룹의 통계적 특징을 나타내는 제 1 특징 정보를 획득하는 단계 및 제 2 이력 정보에 기초하여 제 2 그룹의 통계적 특징을 나타내는 제 2 특징 정보를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법의 제 1 그룹에 포함된 사기 주소들, 제 2 그룹에 포함된 양호 주소들, 제 1 특징 정보 및 제 2 특징 정보에 기초하여 기계학습을 수행하여, 암호화폐 주소의 사기 여부를 추출하는 제 2 기계학습모델을 생성하는 단계를 더 포함하는 것을 특징으로 한다.
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 방법은 제 3 주소 정보 및 제 3 주소 정보의 암호화폐 송수신 이력을 나타내는 제 3 이력 정보를 획득하는 단계, 제 3 이력 정보에 기초하여 제 3 특징 정보를 획득하는 단계 및 제 3 주소 정보 및 제 3 특징 정보를 제 2 기계학습모델에 적용하여 제 2 예측 레이블 정보를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 개시는 기계학습모델을 이용하여 암호화폐의 사기 주소를 검출하기 위한 장치는 프로세서 및 메모리를 포함하고, 프로세서는 메모리에 저장된 명령어에 기초하여, 암호화폐의 사기주소 리포트 데이터베이스, 암호화폐 관련 웹페이지 또는 암호화폐 주소 태그 데이터베이스 중 적어도 하나로부터 암호화폐의 제 1 주소 정보 및 암호화폐의 주소 정보와 함께 저장되어 있는 제 1 추가 정보를 획득하는 단계, 제 1 주소 정보가 사기에 연루되었는지 여부를 나타내는 레이블 정보를 획득하는 단계, 제 1 주소 정보 및 제 1 추가 정보에 기초하여 레이블 정보를 획득하기 위한 기계학습을 수행하여 제 1 기계학습모델을 생성하는 단계, 제 2 주소 정보 및 제 2 주소 정보에 대응되는 제 2 추가 정보를 수신하는 단계 및 제 2 주소 정보 및 제 2 추가 정보를 제 1 기계학습모델에 적용하여 제 1 예측 레이블 정보를 획득하는 단계를 수행하는 것을 특징으로 한다.
기계학습을 이용하여 암호화폐 사기 주소를 검출하기 위한 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 1 주소 정보의 거래 이력 정보를 획득하는 단계, 제 2 주소 정보의 거래 이력 정보를 획득하는 단계, 제 1 주소, 제 2 주소, 레이블 정보, 제 1 예측 레이블 정보, 제 1 주소의 거래 이력 정보 및 제 2 주소의 거래 이력 정보 중 적어도 하나에 기초하여 둘 이상의 정점(vertex)과 하나 이상의 엣지(edge)를 포함하는 그래프를 생성하는 단계 및 그래프에 기초하여, 제 1 주소 또는 제 2 주소 중 적어도 하나를 포함하는 복수의 그룹을 생성하는 단계를 수행하는 것을 특징으로 한다.
기계학습을 이용하여 암호화폐 사기 주소를 검출하기 위한 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 그래프에 기초하여 사기 주소들을 포함하는 제 1 그룹을 생성하는 단계 및 양호 주소들(benign addresses)을 포함하는 제 2 그룹을 생성하는 단계를 수행하는 것을 특징으로 한다.
기계학습을 이용하여 암호화폐 사기 주소를 검출하기 위한 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 1 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 1 이력 정보를 획득하는 단계, 제 2 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 2 이력 정보를 획득하는 단계, 제 1 이력 정보에 기초하여 제 1 그룹의 통계적 특징을 나타내는 제 1 특징 정보를 획득하는 단계 및 제 2 이력 정보에 기초하여 제 2 그룹의 통계적 특징을 나타내는 제 2 특징 정보를 획득하는 단계를 수행하는 것을 특징으로 한다.
기계학습을 이용하여 암호화폐 사기 주소를 검출하기 위한 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 1 그룹에 포함된 사기 주소들, 제 2 그룹에 포함된 양호 주소들, 제 1 특징 정보 및 제 2 특징 정보에 기초하여 기계학습을 수행하여, 암호화폐 주소의 사기 여부를 추출하는 제 2 기계학습모델을 생성하는 단계를 더 수행하는 것을 특징으로 한다.
기계학습을 이용하여 암호화폐 사기 주소를 검출하기 위한 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 3 주소 정보 및 제 3 주소 정보의 암호화폐 송수신 이력을 나타내는 제 3 이력 정보를 획득하는 단계, 제 3 이력 정보에 기초하여 제 3 특징 정보를 획득하는 단계 및 제 3 주소 정보 및 제 3 특징 정보를 제 2 기계학습모델에 적용하여 제 2 예측 레이블 정보를 획득하는 단계를 수행하는 것을 특징으로 한다.
또한, 상술한 바와 같은 사기 주소를 검출하기 위한 방법을 구현하기 위한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
도 1은 본 개시의 일 실시예에 따른 사기주소검출장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 사기주소검출장치를 나타낸 도면이다.
도 3은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타내는 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 설명하기 위한 블록도이다.
도 5는 본 개시의 일 실시예에 따른 사기주소검출장치의 제 1 기계학습모델을 나타내는 도면이다.
도 6은 본 개시의 일 실시예에 따라 제 1 기계학습모델을 생성하기 위해 필요한 반복학습을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타낸 흐름도이다.
도 8은 본 개시의 일 실시예에 따라 사기 주소 및 양호 주소의 거래 이력의 차이점을 설명하기 위해 누적확률분포를 나타낸 도면이다.
도 9는 본 개시의 일 실시예에 따른 그래프를 도시한다.
도 10은 본 개시의 일 실시예에 따라 복수의 그룹을 생성하는 과정을 나타낸 그래프이다.
도 11은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타낸 흐름도이다.
도 12는 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 표이다.
도 13은 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 14은 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 15는 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 16는 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 17은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타낸 흐름도이다.
도 18 은 본 개시의 일 실시예에 따른 사기주소검출장치의 제 2 기계학습모델을 나타내는 도면이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 개시의 일 실시예에 따른 사기주소검출장치(100)의 블록도이다.
도 1을 참조하면, 일 실시예에 따른 사기주소검출장치(100)는 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나를 포함할 수 있다. 상술한 바와 같은 사기주소검출장치(100)는 프로세서 및 메모리를 포함할 수 있다.
데이터 학습부(110)는 데이터 세트를 이용하여 타겟 태스크(target task)를 수행하기 위한 기계학습모델을 학습할 수 있다. 데이터 학습부(110)는 데이터 세트 및 타겟 태스크와 관련된 레이블 정보를 수신할 수 있다. 데이터 학습부(110)는 데이터 세트와 레이블 정보의 관계에 대해 기계학습을 수행하여 기계학습모델을 획득할 수 있다. 데이터 학습부(110)가 획득한 기계학습모델은 데이터 세트를 이용하여 레이블 정보를 생성하기 위한 모델일 수 있다.
데이터 인식부(120)는 데이터 학습부(110)의 기계학습모델을 수신하여 저장하고 있을 수 있다. 데이터 인식부(120)는 입력 데이터에 기계학습모델을 적용하여 레이블 정보를 출력할 수 있다. 또한, 데이터 인식부(120)는 입력 데이터, 레이블 정보 및 기계학습모델에 의해 출력된 결과를 기계학습모델을 갱신하는데 이용할 수 있다.
데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 이미 설명한 각종 전자 장치에 탑재될 수도 있다.
또한 데이터 학습부(110) 및 데이터 인식부(120)는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(110) 및 데이터 인식부(120)는 유선 또는 무선으로 통하여, 데이터 학습부(110)가 구축한 기계학습모델 정보를 데이터 인식부(120)로 제공할 수도 있고, 데이터 인식부(120)로 입력된 데이터가 추가 학습 데이터로써 데이터 학습부(110)로 제공될 수도 있다.
한편, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 메모리 또는 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 학습부(110)는 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)를 포함할 수 있다.
데이터 획득부(111)는 기계학습에 필요한 데이터를 획득할 수 있다. 학습을 위해서는 많은 데이터가 필요하므로, 데이터 획득부(111)는 복수의 데이터를 포함하는 데이터 세트를 수신할 수 있다.
복수의 데이터 각각에 대하여 레이블 정보가 할당될 수 있다. 레이블 정보는 복수의 데이터의 각각을 설명하는 정보일 수 있다. 레이블 정보는 타겟 태스크(target task)가 도출하고자 하는 정보일 수 있다. 레이블 정보는 사용자 입력으로부터 획득되거나, 메모리로부터 획득되거나, 기계학습모델의 결과로부터 획득될 수 있다. 예를 들어 타겟 태스크가 암호화폐 주소의 거래이력과 관련된 정보로부터 암호화폐 주소가 사기꾼이 소유한 주소인지 여부를 결정하기 위한 것이라면, 기계학습에 사용되는 복수의 데이터는 암호화폐 주소의 거래이력과 관련된 데이터가 될 것이며 레이블 정보는 암호화폐 주소가 사기꾼이 소유한 주소인지 여부가 될 것이다.
전처리부(112)는 수신된 데이터가 기계학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(112)는 후술할 모델 학습부(114)가 이용할 수 있도록, 획득된 데이터 세트를 미리 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(113)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(114)에 제공될 수 있다. 학습 데이터 선택부(113)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(113)는 후술할 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(114)는 데이터 세트에 기초하여 어떤 레이블 정보를 출력할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(114)는 데이터 세트 및 데이터 세트 대한 레이블 정보를 학습 데이터로써 이용하여 기계학습을 수행할 수 있다. 또한 모델 학습부(114)는 기존에 획득된 기계학습모델을 추가적으로 이용하여 기계학습을 수행할 수 있다. 이 경우, 기존에 획득된 기계학습모델은 미리 구축된 모델일 수 있다. 예를 들어, 기계학습모델은 기본 학습 데이터를 입력 받아 미리 구축된 모델일 수 있다.
기계학습모델은, 학습모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 기계학습모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), Convolutional Neural Networks (CNN)과 같은 모델이 기계학습모델로써 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(114)는 미리 구축된 기계학습모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 기계학습모델을 학습할 기계학습모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 기계학습모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 장소, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 기계학습모델을 학습시킬 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 기계학습모델을 학습할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 별다른 지도없이 타겟 태스크(target task)을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 타겟 태스크를 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 기계학습모델을 획득할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 학습에 따른 타겟 태스크의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 기계학습모델을 학습할 수 있다.
또한, 기계학습모델이 학습되면, 모델 학습부(114)는 학습된 기계학습모델을 저장할 수 있다. 이 경우, 모델 학습부(114)는 학습된 기계학습모델을 데이터 인식부(120)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(114)는 학습된 기계학습모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 기계학습모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(115)는 기계학습모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(114)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 기계학습모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(115)는 평가 데이터에 대한 학습된 기계학습모델의 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 기계학습모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(115)는 학습된 기계학습모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 기계학습모델이 복수 개가 존재하는 경우, 모델 평가부(115)는 각각의 학습된 기계학습모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 기계학습모델로써 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(115)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 기계학습모델로써 결정할 수 있다.
한편, 데이터 학습부(110) 내의 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 인식부(120)는 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)를 포함할 수 있다.
데이터 획득부(121)는 입력 데이터를 수신할 수 있다. 전처리부(122)는 획득된 입력 데이터가 인식 데이터 선택부(123) 또는 인식 결과 제공부(124)에서 이용될 수 있도록, 획득된 입력 데이터를 전처리할 수 있다.
인식 데이터 선택부(123)는 전처리된 데이터 중에서 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(124)에게 제공될 수 있다. 인식 데이터 선택부(123)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(123)는 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(124)는 선택된 데이터를 기계학습모델에 적용하여 결과 데이터를 획득할 수 있다. 기계학습모델은 모델 학습부(114)에 의하여 생성된 기계학습모델일 수 있다. 인식 결과 제공부(124)는 결과 데이터를 출력할 수 있다.
모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 기계학습모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과를 모델 학습부(114)에게 제공함으로써, 모델 학습부(114)가 기계학습모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(120) 내의 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
아래에서는 데이터 학습부(110)의 데이터 획득부(111), 전처리부(112) 및 학습 데이터 선택부(113)가 학습 데이터를 수신하여 처리하는 방법 및 장치에 대하여 보다 자세히 설명한다.
도 2는 본 개시의 일 실시예에 따른 사기주소검출장치를 나타낸 도면이다.
사기주소검출장치(100)는 프로세서(210) 및 메모리(220)를 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 명령어들을 수행할 수 있다.
상술한 바와 같이 사기주소검출장치(100)는 데이터 학습부(110) 또는 데이터 인식부(120)를 포함할 수 있다. 데이터 학습부(110) 또는 데이터 인식부(120)는 프로세서(210) 및 메모리(220)에 의하여 구현될 수 있다.
도 3은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타내는 흐름도이다. 도 4는 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 설명하기 위한 블록도이다.
사기주소검출장치(100)의 프로세서(210)는 메모리(220)에 저장된 명령어에 기초하여 기계학습을 이용하여 암호화폐 사기 주소를 검출화기 위하여 아래와 같은 단계를 수행할 수 있다.
사기주소검출장치(100)는 암호화폐의 사기주소 리포트 데이터베이스(411), 암호화폐 관련 웹페이지(412) 또는 암호화폐 주소 태그 데이터베이스(413) 중 적어도 하나로부터 암호화폐의 제 1 주소 정보 및 상기 암호화폐의 주소 정보와 함께 저장되어 있는 제 1 추가 정보를 획득하는 단계(310)를 수행할 수 있다. 사기주소검출장치(100)는 제 1 주소 정보 및 제 1 추가 정보를 사기주소검출장치(100)에 포함된 데이터베이스(410)에 저장할 수 있다.
사기주소 리포트 데이터베이스(411)는 암호 화폐의 사기 주소와 관련된 리포트를 제공하는 서비스에 내장되어 있는 데이터베이스일 수 있다. 또한 사기주소 리포트 데이터베이스(411)는 암호화폐 사기 블랙리스트 서비스(Bitcoin scam blacklist services)에 내장되어 있는 데이터베이스일 수 있다. 예를 들어 사기 주소와 관련된 리포트를 제공하는 서비스는 BitcoinWhosWho.com 또는 BitcoinAbuse.com과 같은 서비스가 있을 수 있다. 사기주소 리포트 데이터베이스(411)에는 암호화폐 주소별로 리포트가 저장되어 있다. 사기주소검출장치(100)는 사기주소 리포트 데이터베이스(411)로부터 사기에 연루된 암호화폐 주소인 제 1 주소 정보를 획득할 수 있다.
사기주소검출장치(100)는 사기주소 리포트 데이터베이스(411)로부터 리포트를 수신할 수 있다. 리포트는 암호화폐 주소가 사기 주소인지 여부를 직접 나타내는 정보를 포함할 수 있다. 사기주소검출장치(100)는 리포트에 포함되어 있는 정보에 기초하여 암호화폐 주소가 사기 주소인지 여부를 나타내는 제 1 추가 정보를 결정할 수 있다. 즉, 사기주소검출장치(100)는 사기주소 리포트 데이터베이스로부터 제 1 주소 정보 및 제 1 추가 정보를 획득할 수 있다. 사기주소검출장치(100)는 사기주소 리포트 데이터베이스(411)에 포함된 제 1 주소 정보 외의 주소들을 양호 주소 또는 의심 주소로 결정할 수 있다.
암호화폐 관련 웹페이지(412) 공개적으로 접근 가능한 웹페이지를 의미할 수 있다. 암호화폐 관련 웹페이지는 개인적으로 사용되거나 기술적으로 사용되는 블로그를 포함할 수 있다. 또한 사이버 보안 회사의 사기 분석 리포트를 표시하는 웹페이지일 수 있다. 암호화폐 관련 웹페이지에는 암호화폐의 주소와 관련된 다양한 정보가 기재되어 있을 수 있다. 예를 들어 암호화폐 관련 웹페이지(412)는 특정 암호화폐의 주소가 사기에 사용되었다는 내용, 특정 암호화폐의 주소와의 거래가 만족스러웠다는 내용 또는 특정 암호화폐의 주소와 단순히 거래했다는 내용 등이 기재되어 있을 수 있다. 사기주소검출장치(100)는 이러한 다양한 정보를 제 1 추가 정보로써 획득할 수 있다.
암호화폐 관련 웹페이지(412)는 사기주소 리포트 데이터베이스와 다르게 일정한 형식을 가지고 있지 않을 수 있다. 또한 암호화폐 관련 웹페이지(412)는 사기 주소와 관련된 정보 외의 다양한 정보를 포함할 수 있다.
사기주소검출장치(100)는 미리 정해진 웹페이지를 크롤링(crawling)할 수 있다. 하지만 이에 한정되는 것은 아니며, 사기주소검출장치(100)는 임의의 웹페이지를 크롤링하여 필요한 데이터를 자동으로 추출할 수 있다.
암호화폐 관련 웹페이지(412)의 소스코드는 HTML 문서로 구성될 수 있다. HTML 문서는 웹페이지에 표시될 내용뿐만 아니라 내용을 표시하기 위한 형식과 관련된 코드를 포함할 수 있다. 사기주소검출장치(100)는 암호화폐 관련 웹페이지로부터 HTML body를 텍스트 정보로써 추출할 수 있다.
사기주소검출장치(100)는 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출할 수 있다. 사기주소검출장치(100)는 암호화폐 관련 웹페이지로부터 수신한 텍스트 정보를 분석할 수 있다. 사기주소검출장치(100)는 메인 텍스트 정보를 추출할 수 있다.
사기주소검출장치(100)는 웹페이지의 텍스트 정보 중 암호화폐의 주소가 포함되어 있는 페이지만을 이용할 수 있다. 암호화폐의 주소는 특정한 형식을 가지고 있을 수 있다. 따라서 사기주소검출장치(100)는 웹페이지의 내용에 암호화폐의 주소가 포함되어 있는지 여부를 판단할 수 있다. 또한 사기주소검출장치(100)는 웹페이지의 내용으로부터 제 1 주소 정보를 획득할 수 있다.
사기주소검출장치(100)는 암호화폐의 주소가 포함되어 있는 웹페이지의 텍스트 정보로부터 불필요한 정보를 제거하여 제 1 추가 정보를 획득할 수 있다. 예를 들어 사기주소검출장치(100)는 배너와 HTML 태그를 삭제하여 제 1 추가 정보를 획득할 수 있다. 또한, 사기주소검출장치(100)는 자연어 처리를 이용하여 메인 텍스트 정보로부터 특수문자, URL 및 불용어(stopword)와 같은 분석에 불필요한 문자들을 삭제하여 제 1 추가 정보를 획득할 수 있다.
웹페이지에 포함된 텍스트 정보가 최소한의 개수 이상이어야 사기주소검출장치(100)는 의미 있는 암호화폐 관련 웹페이지(412)를 분석결과를 획득할 수 있다. 따라서 사기주소검출장치(100)는 아래와 같은 단계를 수행할 수 있다. 제 1 단계에서 사기주소검출장치(100)는 암호화폐 관련 웹페이지(412)에서 복수의 암호화폐 주소들의 개수가 임계값 이상 기재된 경우, 해당 페이지를 분석대상에서 제외하는 단계를 수행할 수 있다. 임계값은 사기주소검출장치(100)의 메모리에 미리 저장되어 있을 수 있다. 예를 들어 웹페이지는 암호화폐를 보유한 양의 계정순위를 표시할 수 있으며, 이러한 페이지들은 사기 주소를 분석하는데 필요 없을 수 있다. 사기주소검출장치(100)는 웹페이지에 복수의 암호화폐 주소들의 개수가 임계값 이상 기재된 경우, 해당 웹페이지를 분석대상에서 제외할 수 있다.
또한, 제 2 단계에서 사기주소검출장치(100)는 의미 있는 분석결과를 획득하기 위하여 암호화폐 관련 웹페이지(412)에서 URL(Uniform Resource Locator)을 제거할 수 있다. URL은 특정한 형식을 가지고 있다. 사기주소검출장치(100)는 특정한 형식을 가지고 있는 URL을 웹페이지에서 제거하여 웹페이지에서 분석할 대상을 줄일 수 있다.
또한, 제 3 단계에서 사기주소검출장치(100)는 의미 있는 분석결과를 획득하기 위하여 웹페이지에서 암호화폐 주소를 제거할 수 있다. 사기주소검출장치(100)는 암호화폐 주소와 함께 기재된 메인 텍스트를 분석하고자 하는 것이므로 암호화폐 주소를 제거해둘 수 있다. 또한 불용어(stopword), 특수문자와 같은 분석에 불필요한 문자들을 삭제할 수 있다. 그리고 남은 텍스트가 15 단어 미만인 경우 해당 웹페이지를 분석 대상에서 제외할 수 있다. 사기주소검출장치(100)는 제 1 단계 내지 제 3 단계에서 웹페이지를 제외하고 남은 웹페이지에 대하여 분석을 수행할 수 있다.
사기주소검출장치(100)는 암호화폐 주소 태그 데이터베이스(413)로부터 제 1 주소 정보 및 제 1 추가 정보를 획득할 수 있다. 암호화폐 주소 태그는 암호화폐 주소에 부속하는 메타 정보(meta information)일 수 있다. 암호화폐 주소 태그 데이터베이스(413)는 "blockchain.info", "BitcoinTalk community" 또는 "bitcoin-otc.com" 와 같은 데이터베이스가 있을 수 있다.
암호화폐 주소 태그 데이터베이스(413)는 암호화폐 주소에 대해 평판 점수를 제공한다. 사기주소검출장치(100)는 암호화폐 주소 태그 데이터베이스(413)로부터 암호화폐 주소인 제 1 주소 정보를 획득할 수 있다. 암호화폐 주소 태그 데이터베이스(413)에서 제공하는 점수는 대상 암호화폐 주소와 암호화폐 거래를 수행한 거래 상대방이 부여할 수 있다. 또한, 암호화폐 주소 태그 데이터베이스(413)는 상대방이 암호화폐 주소에 점수를 할당한 이유에 대하여 간단한 설명을 제공한다. 암호화폐 주소에 대한 점수 및 점수를 부여한 이유는 제 1 추가 정보가 될 수 있다. 사기주소검출장치(100)는 암호화폐 주소 태그 데이터베이스(413)를 이용하여 제 1 주소 정보 및 제 1 추가 정보를 획득할 수 있다.
사기주소검출장치(100) 획득된 제 1 주소 정보 및 제 1 추가 정보를 사기주소검출장치(100)의 데이터베이스(410)에 저장할 수 있다.
사기주소검출장치(100)는 제 1 주소 정보가 사기에 연루되었는지 여부를 나타내는 레이블 정보를 획득하는 단계(320)를 수행할 수 있다. 또한, 본 개시의 일 실시예에 따르면, 사기주소검출장치(100)는 자동으로 레이블 정보를 생성할 수 있다. 사기주소검출장치(100)는 사기주소 리포트 데이터베이스, 암호화폐 관련 웹페이지 또는 암호화폐 주소 태그 데이터베이스 중 적어도 하나로부터 획득된 제 1 추가 정보에 기초하여 레이블 정보를 획득할 수 있다. 사기주소 리포트 데이터베이스, 암호화폐 관련 웹페이지 또는 암호화폐 주소 태그 데이터베이스로부터 획득된 제 1 추가 정보는 암호화폐 주소가 사기에 연루되었는지 여부를 직접적으로 나타내는 정보를 포함할 수 있다. 또한, 본 개시의 다른 실시예에 따르면, 사용자는 제 1 추가 정보에 기초하여 레이블 정보를 결정할 수 있다. 사기주소검출장치(100)는 사용자로부터 레이블 정보를 수신할 수 있다.
사기주소검출장치(100)는 제 1 주소 정보 및 제 1 추가 정보에 기초하여 레이블 정보를 획득하기 위한 기계학습을 수행하여 제 1 기계학습모델(420)을 생성하는 단계(330)를 수행할 수 있다. 제 1 기계학습모델에 대해서는 도 5와 함께 자세히 설명한다.
도 5는 본 개시의 일 실시예에 따른 사기주소검출장치(100)의 제 1 기계학습모델을 나타내는 도면이다.
사기주소검출장치(100)는 제 1 주소 정보(511), 제 1 추가 정보(512) 및 레이블 정보(513)를 수신할 수 있다. 레이블 정보(513)는 실제(ground truth) 레이블 정보일 수 있다. 사기주소검출장치(100)는 제 1 주소 정보(511) 및 제 1 추가 정보(512)에 기초하여 레이블 정보(513)를 생성하기 위하여 기계학습을 수행할 수 있다. 예를 들어, 제 1 주소 정보(511) 및 제 1 추가 정보(512)를 이용하여 순전파로 예측 레이블 정보를 생성하고, 예측 레이블 정보 및 실제 레이블 정보의 오차를 역전파하여 제 1 기계학습모델(420)을 학습할 수 있다. 생성된 제 1 기계학습모델은 데이터베이스(410)에 저장될 수 있다. 또한 다른 사기주소검출장치(100)에 송신될 수 있다.
도 6은 본 개시의 일 실시예에 따라 제 1 기계학습모델을 생성하기 위해 필요한 반복학습을 설명하기 위한 도면이다.
제 1 기계학습모델(420)은 3개의 레이어를 포함할 수 있다. 또한 하나의 레이어에는 500개의 노드를 포함할 수 있다. 또한 사기주소검출장치(100)는 제 1 기계학습모델(420)을 획득하기 위하여 제 1 주소 정보, 제 1 추가 정보를 74번 반복하여 학습을 수행할 수 있다. 74번을 반복하여 학습을 수행하는 이유는 74번을 학습하여야 유의미한 제 1 기계학습모델(420)을 획득할 수 있기 때문이다. 도 6의 가로축은 하나의 데이터를 반복하여 학습을 수행한 횟수(epoch)를 의미한다. 세로축은 정확도를 의미할 수 있다. 도 6을 참조하면, 사기주소검출장치(100)가 74번 이상 학습을 하여도, 제 1 기계학습모델(420)의 정확도(610)에는 큰 변화가 없을 수 있다. 또한 사기주소검출장치(100)가 74 이상 학습을 하는 경우 오히려 정확도(610)가 떨어지는 경우도 있음을 확인할 수 있다.
사기주소검출장치(100)는 제 2 주소 정보(531) 및 제 2 주소 정보(531)에 대응되는 제 2 추가 정보(532)를 수신하는 단계(340)를 수행할 수 있다. 제 2 주소는 사기에 연루되었는지 여부를 알 수 없는 암호화폐 주소일 수 있다. 제 2 추가 정보(532)는 제 2 주소 정보(531)에 대응되는 정보이고, 제 1 추가 정보와 유사하므로 중복되는 설명은 생략한다.
제 2 주소 정보(531) 및 제 2 추가 정보(532)는 제 1 주소 정보(511) 및 제 1 추가 정보(512)와 독립적일 수 있다. 즉, 제 2 주소 정보(531) 및 제 2 추가 정보(532)는 제 1 주소 정보(511) 및 제 1 추가 정보(512)와 다를 수도 있고 같을 수도 있다. 제 1 주소 정보(511) 및 제 1 추가 정보(512)는 제 1 기계학습모델(420)을 학습시키기 위한 정보일 수 있다. 또한 사용자는 제 2 주소 정보(531) 및 제 2 추가 정보(532)가 사기에 연루되었는지 알기 위하여 제 1 주소 정보(511) 및 제 1 추가 정보(512)에 의해 학습된 제 1 기계학습모델(420)을 이용할 수 있다.
사기주소검출장치(100)는 제 2 주소 정보(531) 및 제 2 추가 정보(532)를 제 1 기계학습모델(420)에 적용하여 제 1 예측 레이블 정보(550)를 획득하는 단계(350)를 수행할 수 있다. 제 1 예측 레이블 정보(550)는 제 2 주소 정보(531)가 사기에 연루되었는지 여부를 나타낼 수 있다. 사기주소검출장치(100)는 제 1 예측 레이블 정보(550)를 제 2 주소 정보(531)와 함께 사기주소검출장치(100)의 데이터베이스(410)에 저장할 수 있다.
도 7은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타낸 흐름도이다.
도 4를 참조하면 사기주소검출장치(100)는 그룹생성부(430)를 포함할 수 있다. 그룹생성부(430)는 제 1 기계학습모델(420)에 의하여 획득된 정보 및 데이터베이스(410)에 저장되어 있는 정보를 수신할 수 있다. 그룹생성부(430)는 도 7에 기재되어 있는 동작을 수행할 수 있다.
도 7을 참조하면, 사기주소검출장치(100)는 제 1 주소 정보의 거래 이력 정보를 획득하는 단계(710)를 수행할 수 있다. 사기주소검출장치(100)는 제 1 주소 정보의 거래 이력 정보를 제 1 추가 정보로부터 획득할 수 있다. 또한, 사기주소검출장치(100)는 외부의 데이터 베이스로부터 제 1 주소 정보의 거래 이력 정보를 획득할 수 있다. 거래 이력 정보는 거래 일시, 거래한 상대방의 주소 또는 거래 금액의 크기를 포함할 수 있다.
사기주소검출장치(100)는 제 2 주소 정보의 거래 이력 정보를 획득하는 단계(720)를 수행할 수 있다. 사기주소검출장치(100)는 제 2 주소 정보의 거래 이력 정보를 제 2 추가 정보로부터 획득할 수 있다. 또한, 사기주소검출장치(100)는 외부의 데이터 베이스로부터 제 2 주소 정보의 거래 이력 정보를 획득할 수 있다.
사기주소검출장치(100)는 제 1 주소 정보의 거래 이력 정보 및 제 2 주소 정보의 거래 이력 정보에 기초하여 제 1 주소 정보 및 제 2 주소 정보 이외의 사기 주소를 검출할 수 있다. 또한 사기주소검출장치(100)는 동일 소유자에 속한 사기 주소들의 그룹을 결정할 수 있다. 거래 이력에 기초하여 사기 주소 그룹을 획득할 수 있는 이유에 대하여 도 8과 함께 설명한다.
도 8은 본 개시의 일 실시예에 따라 사기 주소 및 양호 주소의 거래 이력의 차이점을 설명하기 위해 누적확률분포를 나타낸 도면이다.
도 8의 가로축은 암호화폐주소의 전체 암호화폐 전송 횟수 중 특정 목적지로 전송하는 횟수의 퍼센트를 나타낼 수 있다. 도 8에서 특정 목적지는 색깔로 구별될 수 있다.
라인(811)은 양호 주소가 암호화폐 거래 서비스로 암호화폐를 송신하는 누적확률분포를 나타낸다. 여기서 암호화폐 거래 서비스는 암호화폐를 온라인으로 거래하기 위한 거래소를 의미할 수 있다. 또한 라인(812)은 사기 주소가 암호화폐 거래 서비스로 암호화폐를 송신하는 누적확률분포를 나타낸다.
누적확률분포의 미분 값은 확률 밀도 함수이므로 라인(811) 및 라인(812)을 비교하면, 사기 주소는 양호 주소보다 암호화폐 거래 서비스에서 거래하는 횟수가 비교적 낮음을 알 수 있다. 반대로 양호 주소는 암호화폐 거래 서비스에서 거래하는 횟수가 많음을 알 수 있다.
또한, 라인(821)은 양호 주소가 사기 주소로 암호화폐를 송신하는 누적확률분포를 나타낸다. 또한 라인(822)은 사기 주소가 다른 사기 주소로 암호화폐를 송신하는 누적확률분포를 나타낸다.
라인(821) 및 라인(822)을 비교하면, 사기 주소가 다른 사기 주소로 암호화폐를 전송하는 횟수가 압도적으로 많음을 알 수 있다. 또한 양호 주소가 사기 주소로 전송하는 횟수는 비교적 낮음을 알 수 있다.
위와 같이 사기주소검출장치(100)는 암호화폐 주소의 거래 이력 정보를 추적하여 암호화폐 주소가 사기에 연루되었는지 여부를 결정할 수 있다.
다시 도 7을 참조하면 사기주소검출장치(100)는 제 1 주소, 제 2 주소, 레이블 정보, 제 1 예측 레이블 정보, 제 1 주소의 거래 이력 정보 및 제 2 주소의 거래 이력 정보 중 적어도 하나에 기초하여 둘 이상의 정점(vertex)과 하나 이상의 엣지(edge)를 포함하는 그래프를 생성하는 단계(730)를 수행할 수 있다. 이에 대하여 도 9와 함께 설명한다.
도 9는 본 개시의 일 실시예에 따른 그래프를 도시한다.
사기주소검출장치(100)는 도 9와 같이 그래프(900)를 생성할 수 있다. 그래프(900)의 정점(vertex)은 암호화폐의 주소 정보를 나타낼 수 있다. 또한 그래프(900)의 엣지(edge)는 하나의 암호화폐 주소가 다른 암호화폐 주소로 암호화폐를 송신함을 나타낼 수 있다. 예를 들어 도 9를 참조하면, 사기 주소(A)는 다른 사기 주소(B)로 암호화폐를 전송하였음을 알 수 있다.
사기주소검출장치(100)는 도 3 내지 도 5에서 설명된 제 1 주소, 제 2 주소, 레이블 정보, 제 1 예측 레이블 정보, 제 1 주소의 거래 이력 정보 및 제 2 주소의 거래 이력 정보 중 적어도 하나에 기초하여 도 9의 그래프를 생성할 수 있다. 사기주소검출장치(100)는 제 1 주소, 제 2 주소, 레이블 정보, 제 1 예측 레이블 정보, 제 1 주소의 거래 이력 정보 및 제 2 주소의 거래 이력 정보 중 적어도 하나를 데이터베이스(410)로부터 획득할 수 있다.
도 9를 참조하면, 사기 주소는 자금세탁을 하는 것을 알 수 있다. 또한 사기 주소는 자금세탁을 위하여 배치, 반복 및 통합의 단계를 거치는 것을 알 수 있다. 예를 들어 양호 주소(910)가 사기 주소(A)로 암호화폐를 송신한 경우, 사기 주소(A)는 수신한 암호화폐를 복수의 암호화폐 주소로 배치하는 단계를 수행할 수 있다. 여기서, 복수의 암호화폐 주소는 사기 주소, 양호 주소 또는 거래소 주소를 포함할 수 있다. 사기 주소(A)로부터 암호화폐를 수신한 사기 주소(C)는 다시 복수의 주소로 암호화폐를 송신할 수 있다. 이러한 과정을 반복단계라고 할 수 있다. 반복과정의 결과 암호화폐는 다시 소수의 암호화폐 주소들(E, F, M)으로 모일 수 있다. 또한 소수의 암호화폐 주소들(E, F, M)이 사기 주소(Z)로 암호화폐를 모을 수 있다. 이를 통합단계라고 할 수 있다.
다시 도 7을 참조하면, 설명한 바와 같이 그래프는 암호화폐 주소의 거래이력의 특성을 나타낼 수 있다. 사기주소검출장치(100)는 그래프(900)에 기초하여, 제 1 주소 또는 제 2 주소 중 적어도 하나를 포함하는 복수의 그룹을 생성하는 단계(740)를 수행할 수 있다. 이에 대해서는 도 10과 함께 설명한다.
도 10은 본 개시의 일 실시예에 따라 복수의 그룹을 생성하는 과정을 나타낸 그래프이다.
도 3 내지 도 4에서 설명한 바와 같이 사기주소검출장치(100)는 제 1 주소, 제 2 주소, 레이블 정보, 제 1 예측 레이블 정보, 제 1 주소의 거래 이력 정보 및 제 2 주소의 거래 이력 정보 중 적어도 하나를 획득할 수 있다. 사기주소검출장치(100)는 도 9 또는 도 10의 그래프에 기초하여 알려진 제 1 사기 주소 및 알려진 제 2 사기 주소 사이의 암호화폐 주소를 사기 주소로 결정할 수 있다. 알려진 제 1 사기 주소 및 알려진 제 2 사기 주소는 제 1 주소, 제 2 주소, 레이블 정보, 제 1 예측 레이블 정보, 제 1 주소의 거래 이력 정보 및 제 2 주소의 거래 이력 정보 중 적어도 하나에 기초하여 획득될 수 있다. 이에 대해서는 도 3 내지 도 5에서 설명한 바 있으므로 중복되는 설명은 생략한다.
예를 들어, 사기주소검출장치(100)는 거래이력정보에 기초하여 제 1 사기 주소(1010)가 암호화폐 주소(1020)로 암호화폐를 송신하였음을 결정할 수 있다. 사기주소검출장치(100)는 거래이력정보에 기초하여 암호화폐 주소(1020)가 암호화폐 주소들(1031, 1032, 1033, 1034)로 암호화폐를 송신하였음을 결정할 수 있다. 사기주소검출장치(100)는 암호화폐 주소들(1031, 1032, 1033, 1034) 중 이미 알려진 양호 주소(1033, 1034)에 대해서는 더 이상 분석하지 않을 수 있다. 이미 알려진 양호 주소 역시 도 3 내지 도 5에서 설명한 사기 주소를 획득하는 방법과 유사하게 획득될 수 있으므로 중복되는 설명은 생략한다.
사기주소검출장치(100)는 거래이력 정보에 기초하여 이미 알려진 제 2 사기 주소(1050)에 암호화폐가 도달했음을 결정할 수 있다. 사기주소검출장치(100)는 제 1 사기 주소(1010) 및 제 2 사기 주소(1050) 사이에 존재하는 암호화폐 주소들(1020, 1031, 1032, 1040)이 사기에 연루된 암호화폐 주소인 것으로 추정할 수 있다. 또한 사기주소검출장치(100)는 제 1 사기 주소(1010), 제 2 사기 주소(1050) 및 암호화폐 주소들(1020, 1031, 1032, 1040)을 하나의 그룹으로 결정할 수 있다.
사기주소검출장치(100)는 상술한 바와 같은 방식으로, 사기 주소들을 포함하는 제 1 그룹을 생성하는 단계를 수행할 수 있다. 또한 사기주소검출장치(100)는 양호 주소들(benign addresses)을 포함하는 제 2 그룹을 생성하는 단계를 수행할 수 있다. 하나의 그룹은 하나의 사람이 소유한 암호화폐 주소일 수 있다. 이러한 하나의 그룹을 지갑(wallet)이라고 부를 수 있다. 사기주소검출장치(100)는 복수의 사기꾼에 대응되는 복수의 사기 주소 그룹들을 생성할 수 있다. 또한 위와 동일한 방식으로 사기주소검출장치(100)는 복수의 양호 주소 그룹을 생성할 수 있다.
도 11은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타낸 흐름도이다.
도 4를 참조하면 사기주소검출장치(100)는 특징 추출부(440)를 포함할 수 있다. 도 11의 각 단계는 사기주소검출장치(100)의 특징 추출부(440)에 의하여 수행될 수 있다.
사기주소검출장치(100)는 제 1 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 1 이력 정보를 획득하는 단계(1110)를 수행할 수 있다. 또한 사기주소검출장치(100)는 제 2 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 2 이력 정보를 획득하는 단계(1120)를 수행할 수 있다. 이러한 과정은 도 7의 단계(710) 및 단계(720)와 동일한 방식으로 수행할 수 있으므로 중복되는 설명은 생략한다. 제 1 이력 정보 또는 제 2 이력 정보는 거래 일시, 거래한 상대방의 주소 또는 거래 금액의 크기를 포함할 수 있다.
사기주소검출장치(100)는 제 1 이력 정보에 기초하여 제 1 그룹의 통계적 특징을 나타내는 제 1 특징 정보를 획득하는 단계(1130)를 수행할 수 있다. 또한, 사기주소검출장치(100)는 제 2 이력 정보에 기초하여 제 2 그룹의 통계적 특징을 나타내는 제 2 특징 정보를 획득하는 단계(1140)를 수행할 수 있다. 특징 정보에 대해서는 도 12와 함께 설명한다.
도 12는 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 표이다.
특징 정보는 제 1 특징 정보 또는 제 2 특징 정보를 포함할 수 있다. 설명의 편의를 위하여 제 1 특징 정보 및 제 2 특징 정보 대신 특징 정보라 칭한다. 또한 그룹은 제 1 그룹 또는 제 2 그룹을 포함할 수 있다. 설명의 편의를 위하여 제 1 그룹 또는 제 2 그룹 대신 그룹이라 칭한다.
특징정보는 "Account lifetime(1201)", "Time interval(1202)", "Number of unique input/output addresses in each outcoming tx(1203)", "Number of input UTXOs(Unspent Transaction Outputs) in each incoming/outcoming tx(1204)", "Number of unique output addresses in each incoming tx(1205)", "Incoming currency source(1206)", "Withdrawal currency destination(1207)" 및 "Flow of withdrawal currency(1208)"중 적어도 하나를 포함할 수 있다.
"Account lifetime(1201)"는 그룹에 포함된 대상 암호화폐 주소의 최종활동시각에서 최초활동시각을 뺀 시간을 나타낼 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Account lifetime(1201)"을 획득할 수 있다.
"Time interval(1202)"은 그룹에 포함된 대상 암호화폐 주소가 입금을 받은 시각부터 암호화폐를 출금하는 시각까지의 시간을 나타낼 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Time interval(1202)"을 획득할 수 있다.
"Number of unique input/output addresses in each outcoming tx(1203)"는 그룹에 포함된 대상 암호화폐 주소가 목적지로 암호화폐를 송신할 때 관여하는 암호화폐 주소의 수의 평균을 나타낸다. 예를 들어 대상 암호화폐 주소가 암호화폐를 송신할 때, 다른 암호화폐 주소 역시 암호화폐의 송신에 관여할 수 있다. 또한 복수의 목적지 암호화폐 주소가 관여할 수 있다. 즉, 적어도 하나의 소스(source) 암호화폐 주소 및 적어도 하나의 목적지 암호화폐 주소가 하나의 암호화폐 거래(transaction)에 관여할 수 있다. 대상 암호화폐 주소는 복수의 거래에 관여할 수 있다. "Number of unique input/output addresses in each outcoming tx(1203)"는 각각의 거래에 관여한 암호화폐 주소들의 수의 평균을 의미할 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Number of unique input/output addresses in each outcoming tx(1203)"을 획득할 수 있다.
"Number of input UTXOs(Unspent Transaction Outputs) in each incoming/outcoming tx(1204)"는 그룹에 포함된 대상 암호화폐 주소가 송금 거래 및/또는 수금 거래를 할 때, 입력되는 UTXO의 개수의 평균을 의미할 수 있다. 여기서 UTXO는 거래에서 아직 쓰이지 않은 잔액이라는 의미이다. 암호화폐 주소는 복수의 UTXOs를 가질 수 있다. 각각의 UTXO는 암호화폐의 액수가 대응될 수 있다. 암호화폐 주소가 송금 또는 수금을 하고자 하는 경우 복수의 UTXOs 중에서 하나의 UTXO에 대응된 암호화폐 액수에 기초하여 송금을 할 수 있다. 또한 암호화폐 주소는 복수의 거래를 수행할 수 있다. 사기주소검출장치(100)는 대상 암호화폐 주소의 송금 및 수금 거래에 입력되는 UTXO의 수의 평균을 "Number of input UTXOs(Unspent Transaction Outputs) in each incoming/outcoming tx(1204)"로 결정할 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Number of input UTXOs(Unspent Transaction Outputs) in each incoming/outcoming tx(1204)"을 획득할 수 있다.
"Number of unique output addresses in each incoming tx(1205)"는 그룹에 포함된 대상 암호화폐 주소의 수금 거래에서 목적지 주소들의 수의 평균을 의미할 수 있다. 대상 암호화폐는 하나의 거래에 의하여 암호화폐를 수금할 수 있다. 이미 설명한 바와 같이 하나의 거래에는 적어도 하나의 목적지 암호화폐 주소가 있을 수 있다. 또한 대상 암호화폐는 복수의 거래를 수행할 수 있다. 사기주소검출장치(100)는 대상 암호화폐 주소의 복수의 수금 거래에서 목적지 주소들의 수의 평균을 "Number of unique output addresses in each incoming tx(1205)"로 결정할 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Number of unique output addresses in each incoming tx(1205)"을 획득할 수 있다.
"Incoming currency source(1206)"는 그룹에 포함된 대상 암호화폐 주소의 수금 거래에서 소스(source)별 비율을 나타낸다. 대상 암호화폐 주소는 self-wallet, service, scam, suspect로부터 암호화폐를 수금할 수 있다. self-wallet는 대상 암호화폐 주소와 동일한 소유자가 소유하는 암호화폐 주소를 나타낸다. Service는 암호화폐 거래소의 주소를 나타낸다. Scam는 사기 주소를 나타낸다. Suspect는 아직 분류되지 않은 암호화폐 주소이다. 사기주소검출장치(100)는 self-wallet, service, scam, suspect로부터 수금한 암호화폐의 양의 비율을 획득할 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Incoming currency source(1206)"을 획득할 수 있다.
"Withdrawal currency destination(1207)"는 그룹에 포함된 대상 암호화폐 주소의 송금 거래에서 목적지 별 비율을 나타낸다. 대상 암호화폐 주소는 self-wallet, service, scam, suspect로 암호화폐를 송금할 수 있다. 사기주소검출장치(100)는 self-wallet, service, scam, suspect로 송금한 암호화폐의 양의 비율을 획득할 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Withdrawal currency destination(1207)"을 획득할 수 있다.
"Flow of withdrawal currency(1208)"는 그룹에 포함된 대상 암호화폐 주소의 송금 거래에서 목적지 별 비율을 나타낸다. 대상 암호화폐 주소는 self-wallet, service, scam, suspect로 암호화폐를 송금할 수 있다. 또한 대상 암호화폐 주소는 송금 후 남은 암호화폐를 unspent로써 보유하고 있을 수 있다. 사기주소검출장치(100)는 self-wallet, service, scam, suspect로 송금한 암호화폐의 양의 비율 및 unspent 암호화폐의 양의 비율을 획득할 수 있다. 사기주소검출장치(100)는 그룹에 포함된 주소들 각각에 대하여 "Flow of withdrawal currency(1208)"을 획득할 수 있다.
위와 같은 특징 정보에 기초하여 사기주소검출장치(100)는 사기 주소 및 양호주소를 구별할 수 있다. 이에 대하여 도 13 내지 도 16과 함께 설명한다.
도 13은 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 13의 가로축은 암호화폐주소의 전체 암호화폐 송금량 중 특정 목적지로 전송한 양의 퍼센트를 나타낼 수 있다. 도 13에서 특정 목적지는 색깔로 구별될 수 있다. 도 13은 대상 암호화폐 주소의 특징 정보인 Flow of withdrawal currency(1208)를 비교하기 위한 그래프를 나타낼 수 있다.
라인(1311)은 제 2 그룹에 포함된 양호 주소가 암호화폐 거래 서비스로 암호화폐를 송신한 양의 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 2 특징 정보에 기초하여 누적확률분포를 획득할 수 있다. 여기서 암호화폐 거래 서비스는 암호화폐를 온라인으로 거래하기 위한 거래소를 의미할 수 있다. 또한 라인(1312)은 제 1 그룹에 포함된 사기 주소가 암호화폐 거래 서비스로 암호화폐를 송신한 양의 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 1 특징 정보에 기초하여 누적확률분포를 획득할 수 있다.
누적확률분포의 미분 값은 확률 밀도 함수이므로 라인(1311) 및 라인(1312)을 비교하면, 사기 주소는 양호 주소보다 암호화폐 거래 서비스에서 송금하는 양이 비교적 낮음을 알 수 있다. 반대로 양호 주소는 암호화폐 거래 서비스에서 송금하는 양이 많음을 알 수 있다.
또한, 라인(1321)은 양호 주소가 사기 주소로 암호화폐를 송신하는 누적확률분포를 나타낸다. 또한 라인(1322)은 사기 주소가 다른 사기 주소로 암호화폐를 송신하는 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 1 특징 정보 또는 제 2 특징 정보에 기초하여 누적확률분포를 획득할 수 있다.
라인(1321) 및 라인(1322)을 비교하면, 사기 주소가 다른 사기 주소로 암호화폐를 전송하는 양이 압도적으로 많음을 알 수 있다. 또한 양호 주소가 사기 주소로 전송하는 양은 비교적 낮음을 알 수 있다.
위와 같이 사기주소검출장치(100)는 특징 정보에 기초하여 암호화폐 주소가 사기에 연루되었는지 여부를 결정할 수 있다.
도 14은 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 14의 가로축은 암호화폐주소의 전체 암호화폐 수신량 중 특정 소스로부터 수신한 양의 퍼센트를 나타낼 수 있다. 도 14에서 특정 소스는 색깔로 구별될 수 있다. 도 14은 대상 암호화폐 주소의 특징 정보인 Incoming currency source(1206)를 비교하기 위한 그래프를 나타낼 수 있다.
라인(1411)은 제 2 그룹에 포함된 양호 주소가 암호화폐 거래 서비스로부터 암호화폐를 수신하는 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 2 특징 정보에 기초하여 누적확률분포를 획득할 수 있다. 여기서 암호화폐 거래 서비스는 암호화폐를 온라인으로 거래하기 위한 거래소를 의미할 수 있다. 또한 라인(1412)은 제 1 그룹에 포함된 사기 주소가 암호화폐 거래 서비스로 암호화폐를 송신하는 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 1 특징 정보에 기초하여 누적확률분포를 획득할 수 있다.
누적확률분포의 미분 값은 확률 밀도 함수이므로 라인(1411) 및 라인(1412)을 비교하면, 사기 주소는 암호화폐 거래 서비스로부터 수금하는 양이 비교적 낮음을 알 수 있다. 반대로 양호 주소는 암호화폐 거래 서비스에서 수금하는 양이 많음을 알 수 있다.
위와 같이 사기주소검출장치(100)는 특징 정보에 기초하여 암호화폐 주소가 사기에 연루되었는지 여부를 결정할 수 있다.
도 15는 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 15의 가로축은 대상 암호화폐 주소가 목적지로 암호화폐를 송신할 때 관여하는 암호화폐 주소의 수의 평균을 나타낼 수 있다. 도 15에서 특정 소스는 색깔로 구별될 수 있다. 녹색은 대상 암호화폐 주소가 양호 주소일 때를 나타낸다. 붉은 색은 대상 암호화폐 주소가 사기 주소일 때를 나타낸다. 도 15은 대상 암호화폐 주소의 특징 정보인 Number of unique input/output addresses in each outcoming tx(1203)를 비교하기 위한 그래프를 나타낼 수 있다.
그래프(1510)는 대상 암호화폐 주소가 목적지로 암호화폐를 송신할 때 관여하는 목적지 암호화폐 주소의 수의 평균에 대한 그래프일 수 있다. 그래프(1520)는 대상 암호화폐 주소가 목적지로 암호화폐를 송신할 때 관여하는 소스 암호화폐 주소의 수의 평균에 대한 그래프일 수 있다.
라인(1511)은 제 2 그룹에 포함된 양호 주소가 목적지로 암호화폐를 송신할 때 관여하는 목적지 암호화폐 주소의 수의 평균의 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 2 특징 정보에 기초하여 누적확률분포를 획득할 수 있다. 또한 라인(1512)은 제 1 그룹에 포함된 사기 주소가 목적지로 암호화폐를 송신할 때 관여하는 목적지 암호화폐 주소의 수의 평균의 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 1 특징 정보에 기초하여 누적확률분포를 획득할 수 있다.
누적확률분포의 미분 값은 확률 밀도 함수이므로 라인(1511) 및 라인(1512)을 비교하면, 사기 주소는 목적지로 암호화폐를 송신할 때 관여하는 목적지 암호화폐 주소의 수의 평균이 상대적으로 적음을 알 수 있다. 또한 반대로 양호 주소는 목적지로 암호화폐를 송신할 때 관여하는 목적지 암호화폐 주소의 수의 평균이 상대적으로 많음을 알 수 있다.
그래프(1520)를 참조하면, 사기 주소는 목적지로 암호화폐를 송신할 때 관여하는 소스 암호화폐 주소의 수의 평균이 상대적으로 많음을 알 수 있다. 또한 반대로 양호 주소는 목적지로 암호화폐를 송신할 때 관여하는 소스 암호화폐 주소의 수의 평균이 상대적으로 적음을 알 수 있다.
위와 같이 사기주소검출장치(100)는 특징 정보에 기초하여 암호화폐 주소가 사기에 연루되었는지 여부를 결정할 수 있다.
도 16는 본 개시의 일 실시예에 따른 특징 정보를 설명하기 위한 그래프를 나타낸다.
도 16의 가로축은 대상 암호화폐 주소가 암호화폐를 수신할 때 관여하는 암호화폐 주소의 수의 평균을 나타낼 수 있다. 도 16에서 특정 소스는 색깔로 구별될 수 있다. 녹색은 대상 암호화폐 주소가 양호 주소일 때를 나타낸다. 붉은 색은 대상 암호화폐 주소가 사기 주소일 때를 나타낸다. 도 1은 대상 암호화폐 주소의 특징 정보인 Number of unique output/input addresses in each incoming tx(1205)를 비교하기 위한 그래프를 나타낼 수 있다.
그래프(1610)는 대상 암호화폐를 수신할 때 관여하는 목적지 암호화폐 주소의 수의 평균을 나타낼 수 있다. 그래프(1620)는 암호화폐를 수신할 때 관여하는 소스 암호화폐 주소의 수의 평균을 나타낼 수 있다.
라인(1611)은 제 2 그룹에 포함된 양호 주소가 암호화폐를 수신할 때 관여하는 소스 암호화폐 주소의 수의 평균의 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 2 특징 정보에 기초하여 누적확률분포를 획득할 수 있다. 또한 라인(1612)은 제 1 그룹에 포함된 사기 주소가 암호화폐를 수신할 때 관여하는 소스 암호화폐 주소의 수의 평균의 누적확률분포를 나타낸다. 사기주소검출장치(100)는 제 1 특징 정보에 기초하여 누적확률분포를 획득할 수 있다.
라인(1611) 및 라인(1612)을 비교하면, 사기 주소는 암호화폐를 수신할 때 관여하는 소스 암호화폐 주소의 수의 평균이 상대적으로 많음을 알 수 있다. 또한 반대로 양호 주소는 목적지로 암호화폐를 송신할 때 관여하는 목적지 암호화폐 주소의 수의 평균이 상대적으로 적음을 알 수 있다.
위와 같이 사기주소검출장치(100)는 특징 정보에 기초하여 암호화폐 주소가 사기에 연루되었는지 여부를 결정할 수 있다.
도 17은 본 개시의 일 실시예에 따른 사기주소검출장치의 동작을 나타낸 흐름도이다. 또한 도 18 은 본 개시의 일 실시예에 따른 사기주소검출장치(100)의 제 2 기계학습모델을 나타내는 도면이다.
도 4를 참조하면, 사기주소검출장치(100)는 제 2 기계학습모델(450)을 포함할 수 있다.
사기주소검출장치(100)는 제 1 그룹에 포함된 사기 주소들, 제 2 그룹에 포함된 양호 주소들, 제 1 특징 정보 및 제 2 특징 정보에 기초하여 기계학습을 수행하여, 암호화폐 주소의 사기 여부를 추출하는 제 2 기계학습모델(450)을 생성하는 단계(1710)를 수행할 수 있다.
사기주소검출장치(100)는 데이터베이스(410)에 저장되어 있는 제 1 그룹에 포함된 사기 주소들, 제 2 그룹에 포함된 양호 주소들, 제 1 특징 정보 및 제 2 특징 정보를 획득할 수 있다.
도 12 내지 도 16에서 살펴본 바와 같이 제 1 특징 정보 및 제 2 특징 정보는 사기 주소와 양호 주소를 구별할 수 있는 하나의 요소이다. 따라서 사기주소검출장치(100)는 제 1 특징 정보 및 제 2 특징 정보를 기계학습하여 사기 주소와 양호 주소를 구별할 수 있는 제 2 기계학습모델(450)을 생성할 수 있다.
사기주소검출장치(100)는 주소 정보(1811), 특징정보(1812) 및 레이블 정보(1813)를 획득할 수 있다. 주소 정보(1811)는 제 1 그룹에 포함된 사기 주소들, 제 2 그룹에 포함된 양호 주소들에 기초하여 획득될 수 있다. 특징정보(1812)는 제 1 특징 정보 및 제 2 특징에 기초하여 획득될 수 있다.
또한 이미 설명한 바와 같이 제 1 그룹은 사기 주소의 그룹이고, 제 2 그룹은 양호 주소의 그룹이다. 사기주소검출장치(100)는 제 1 그룹 또는 제 2 그룹에 기초하여 레이블 정보(1813)를 획득할 수 있다.
사기주소검출장치(100)는 주소 정보(1811), 특징정보(1812) 및 레이블 정보(1813)를 기계학습하여 제 2 기계학습모델(450)을 생성할 수 있다. 제 2 기계학습모델(450)을 생성하는 과정은 제 1 기계학습모델(420)을 생성하는 과정과 동일하므로 중복되는 설명은 생략한다.
사기주소검출장치(100)는 제 3 주소 정보(1831) 및 제 3 주소 정보의 암호화폐 송수신 이력을 나타내는 제 3 이력 정보를 획득하는 단계(1720)를 수행할 수 있다. 이력 정보는 거래 일시, 거래한 상대방의 주소 또는 거래 금액의 크기를 포함할 수 있다. 제 3 이력 정보는 외부의 장치 또는 사기주소검출장치(100)에 포함된 데이터베이스(410)로부터 획득될 수 있다.
또한 사기주소검출장치(100)는 제 3 주소 정보(1831)의 암호화폐 송수신 이력에 기초하여 제 3 특징 정보(1832)를 획득하는 단계(1730)를 수행할 수 있다.
제 3 주소 정보(1831) 및 제 3 특징 정보(1832)는 도 11의 제 1 주소 정보, 제 2 주소 정보, 제 1 특징 정보 및 제 2 특징 정보와 독립적일 수 있다. 즉, 제 3 주소 정보(1831) 및 제 3 특징 정보(1832)는 제 1 주소 정보, 제 2 주소 정보, 제 1 특징 정보 및 제 2 특징 정보와 다를 수도 있고 같을 수도 있다. 제 1 주소 정보, 제 2 주소 정보, 제 1 특징 정보 및 제 2 특징 정보는 제 2 기계학습모델(450)을 학습시키기 위한 정보일 수 있다. 또한 사용자는 제 3 주소 정보(1831) 및 제 3 특징 정보(1832)가 사기에 연루되었는지 알기 위하여, 제 1 주소 정보, 제 2 주소 정보, 제 1 특징 정보 및 제 2 특징 정보에 의해 학습된 제 2 기계학습모델(450)을 이용할 수 있다.
사기주소검출장치(100)는 제 3 주소 정보(1831) 및 제 3 특징 정보(1832)를 제 2 기계학습모델(450)에 적용하여 제 2 예측 레이블 정보(1850)를 획득하는 단계(1740)를 수행할 수 있다. 제 2 예측 레이블 정보(1850)는 제 3 주소 정보(1831)가 사기에 연루되었는지 여부를 나타낼 수 있다. 사기주소검출장치(100)는 제 2 예측 레이블 정보(1850)를 제 3 주소 정보(1831)와 함께 사기주소검출장치(100)의 데이터베이스(410)에 저장할 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.

Claims (12)

  1. 프로세서 및 메모리를 포함하는 사기주소검출장치가 기계학습을 이용하여 암호화폐 사기 주소를 검출하기 위한 방법에 있어서,
    상기 사기주소검출장치가 암호화폐의 사기주소 리포트 데이터베이스, 암호화폐 관련 웹페이지 또는 암호화폐 주소 태그 데이터베이스 중 적어도 하나로부터 암호화폐의 제 1 주소 정보 및 상기 암호화폐의 주소 정보와 함께 저장되어 있는 제 1 추가 정보를 획득하는 단계;
    상기 제 1 주소 정보가 사기에 연루되었는지 여부를 나타내는 레이블 정보를 획득하는 단계;
    상기 제 1 주소 정보 및 상기 제 1 추가 정보에 기초하여 상기 레이블 정보를 획득하기 위한 기계학습을 수행하여 제 1 기계학습모델을 생성하는 단계;
    제 2 주소 정보 및 상기 제 2 주소 정보에 대응되는 제 2 추가 정보를 수신하는 단계;
    상기 제 2 주소 정보 및 상기 제 2 추가 정보를 상기 제 1 기계학습모델에 적용하여 제 1 예측 레이블 정보를 획득하는 단계;
    상기 제 1 주소 정보의 거래 이력 정보를 획득하는 단계;
    상기 제 2 주소 정보의 거래 이력 정보를 획득하는 단계;
    상기 제 1 주소, 상기 제 2 주소, 상기 레이블 정보, 상기 제 1 예측 레이블 정보, 상기 제 1 주소의 거래 이력 정보 및 상기 제 2 주소의 거래 이력 정보 중 적어도 하나에 기초하여 둘 이상의 정점(vertex)과 하나 이상의 엣지(edge)를 포함하는 그래프를 생성하는 단계; 및
    상기 그래프에 기초하여, 상기 제 1 주소 또는 상기 제 2 주소 중 적어도 하나를 포함하는 복수의 그룹을 생성하는 단계를 포함하는 것을 특징으로 하는 사기 주소 검출 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 복수의 그룹을 생성하는 단계는,
    상기 그래프에 기초하여 사기 주소들을 포함하는 제 1 그룹을 생성하는 단계; 및
    상기 그래프에 기초하여 양호 주소들(benign addresses)을 포함하는 제 2 그룹을 생성하는 단계를 포함하는 것을 특징으로 하는 사기 주소 검출 방법.
  4. 제 3 항에 있어서,
    상기 제 1 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 1 이력 정보를 획득하는 단계;
    상기 제 2 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 2 이력 정보를 획득하는 단계;
    상기 제 1 이력 정보에 기초하여 상기 제 1 그룹의 통계적 특징을 나타내는 제 1 특징 정보를 획득하는 단계; 및
    상기 제 2 이력 정보에 기초하여 상기 제 2 그룹의 통계적 특징을 나타내는 제 2 특징 정보를 획득하는 단계를 포함하는 것을 특징으로 하는 사기 주소 검출 방법.
  5. 제 4 항에 있어서,
    상기 제 1 그룹에 포함된 사기 주소들, 상기 제 2 그룹에 포함된 양호 주소들, 상기 제 1 특징 정보 및 상기 제 2 특징 정보에 기초하여 기계학습을 수행하여, 암호화폐 주소의 사기 여부를 추출하는 제 2 기계학습모델을 생성하는 단계를 더 포함하는 것을 특징으로 하는 사기 주소 검출 방법.
  6. 제 5 항에 있어서,
    제 3 주소 정보 및 상기 제 3 주소 정보의 암호화폐 송수신 이력을 나타내는 제 3 이력 정보를 획득하는 단계;
    상기 제 3 이력 정보에 기초하여 제 3 특징 정보를 획득하는 단계; 및
    상기 제 3 주소 정보 및 상기 제 3 특징 정보를 상기 제 2 기계학습모델에 적용하여 제 2 예측 레이블 정보를 획득하는 단계를 포함하는 것을 특징으로 하는 사기 주소 검출 방법.
  7. 기계학습을 이용하여 암호화폐 사기 주소를 검출하기 위한 사기주소검출장치는 프로세서 및 메모리를 포함하고,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    암호화폐의 사기주소 리포트 데이터베이스, 암호화폐 관련 웹페이지 또는 암호화폐 주소 태그 데이터베이스 중 적어도 하나로부터 암호화폐의 제 1 주소 정보 및 상기 암호화폐의 주소 정보와 함께 저장되어 있는 제 1 추가 정보를 획득하고,
    상기 제 1 주소 정보가 사기에 연루되었는지 여부를 나타내는 레이블 정보를 획득하고,
    상기 제 1 주소 정보 및 상기 제 1 추가 정보에 기초하여 상기 레이블 정보를 획득하기 위한 기계학습을 수행하여 제 1 기계학습모델을 생성하고,
    제 2 주소 정보 및 상기 제 2 주소 정보에 대응되는 제 2 추가 정보를 수신하고,
    상기 제 2 주소 정보 및 상기 제 2 추가 정보를 상기 제 1 기계학습모델에 적용하여 제 1 예측 레이블 정보를 획득하고,
    상기 제 1 주소 정보의 거래 이력 정보를 획득하고,
    상기 제 2 주소 정보의 거래 이력 정보를 획득하고,
    상기 제 1 주소, 상기 제 2 주소, 상기 레이블 정보, 상기 제 1 예측 레이블 정보, 상기 제 1 주소의 거래 이력 정보 및 상기 제 2 주소의 거래 이력 정보 중 적어도 하나에 기초하여 둘 이상의 정점(vertex)과 하나 이상의 엣지(edge)를 포함하는 그래프를 생성하고,
    상기 그래프에 기초하여, 상기 제 1 주소 또는 상기 제 2 주소 중 적어도 하나를 포함하는 복수의 그룹을 생성하는 것을 특징으로 하는 사기 주소 검출 장치.
  8. 삭제
  9. 제 7 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    상기 그래프에 기초하여 사기 주소들을 포함하는 제 1 그룹을 생성하고,
    상기 그래프에 기초하여 양호 주소들(benign addresses)을 포함하는 제 2 그룹을 생성하는 것을 특징으로 하는 사기 주소 검출 장치.
  10. 제 9 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    상기 제 1 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 1 이력 정보를 획득하고,
    상기 제 2 그룹에 포함된 주소들의 암호화폐 송수신 이력을 나타내는 제 2 이력 정보를 획득하고,
    상기 제 1 이력 정보에 기초하여 상기 제 1 그룹의 통계적 특징을 나타내는 제 1 특징 정보를 획득하고,
    상기 제 2 이력 정보에 기초하여 상기 제 2 그룹의 통계적 특징을 나타내는 제 2 특징 정보를 획득하는 것을 특징으로 하는 사기 주소 검출 장치.
  11. 제 10 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    상기 제 1 그룹에 포함된 사기 주소들, 상기 제 2 그룹에 포함된 양호 주소들, 상기 제 1 특징 정보 및 상기 제 2 특징 정보에 기초하여 기계학습을 수행하여, 암호화폐 주소의 사기 여부를 추출하는 제 2 기계학습모델을 생성하는 것을 특징으로 하는 사기 주소 검출 장치.
  12. 제 11 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    제 3 주소 정보 및 상기 제 3 주소 정보의 암호화폐 송수신 이력을 나타내는 제 3 이력 정보를 획득하고,
    상기 제 3 이력 정보에 기초하여 제 3 특징 정보를 획득하고,
    상기 제 3 주소 정보 및 상기 제 3 특징 정보를 상기 제 2 기계학습모델에 적용하여 제 2 예측 레이블 정보를 획득하는 것을 특징으로 하는 사기 주소 검출 장치.
KR1020190110210A 2019-09-05 2019-09-05 암호화폐 거래 분석 방법 및 장치 KR102199587B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190110210A KR102199587B1 (ko) 2019-09-05 2019-09-05 암호화폐 거래 분석 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190110210A KR102199587B1 (ko) 2019-09-05 2019-09-05 암호화폐 거래 분석 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102199587B1 true KR102199587B1 (ko) 2021-01-07

Family

ID=74126568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190110210A KR102199587B1 (ko) 2019-09-05 2019-09-05 암호화폐 거래 분석 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102199587B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113449150A (zh) * 2021-04-19 2021-09-28 深圳前海移联科技有限公司 一种数字货币的特征资金流向分析方法、系统及电子设备
KR20220116915A (ko) * 2021-02-16 2022-08-23 주식회사 에스투더블유 가상화폐 트래킹 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9515984B1 (en) * 2013-11-19 2016-12-06 El Toro.Com, Llc Determining and utilizing one or more attributes of IP addresses
KR20180055170A (ko) * 2016-11-16 2018-05-25 (주)아이와즈 기계학습을 활용한 osp 사이트 생애주기 감지 인공지능 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9515984B1 (en) * 2013-11-19 2016-12-06 El Toro.Com, Llc Determining and utilizing one or more attributes of IP addresses
KR20180055170A (ko) * 2016-11-16 2018-05-25 (주)아이와즈 기계학습을 활용한 osp 사이트 생애주기 감지 인공지능 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220116915A (ko) * 2021-02-16 2022-08-23 주식회사 에스투더블유 가상화폐 트래킹 방법 및 그 장치
KR102641486B1 (ko) * 2021-02-16 2024-02-27 주식회사 에스투더블유 가상화폐 트래킹 방법 및 그 장치
CN113449150A (zh) * 2021-04-19 2021-09-28 深圳前海移联科技有限公司 一种数字货币的特征资金流向分析方法、系统及电子设备
CN113449150B (zh) * 2021-04-19 2024-03-12 深圳前海移联科技有限公司 一种基于区块链的数字货币特征资金流向分析方法及系统

Similar Documents

Publication Publication Date Title
US20190259033A1 (en) System and method for using a data genome to identify suspicious financial transactions
US20220245626A1 (en) Computer-implemented system and method for generating and extracting user related data stored on a blockchain
US20190311367A1 (en) System and method for using a data genome to identify suspicious financial transactions
JP2022518370A (ja) 暗号通貨取引の分析方法及びシステム
KR102058683B1 (ko) 암호화폐 거래 분석 방법 및 장치
KR102051350B1 (ko) 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치
KR102142524B1 (ko) 인공지능을 이용한 암호화폐 가격 변동성 예측 방법, 장치 및 컴퓨터프로그램
KR102259838B1 (ko) 암호화폐 블랙리스트 구축 장치 및 방법
CN112581259A (zh) 账户风险识别方法及装置、存储介质、电子设备
KR102199587B1 (ko) 암호화폐 거래 분석 방법 및 장치
KR102110266B1 (ko) 인공지능을 이용한 암호화폐 탈세 여부 판단 방법, 장치 및 컴퓨터프로그램
CN115378629A (zh) 基于图神经网络的以太坊网络异常检测方法、系统和存储介质
Henderson Using graph databases to detect financial fraud
Huang et al. A Deep Dive into NFT Rug Pulls
Fu et al. CT-GCN: A phishing identification model for blockchain cryptocurrency transactions
Alsaif Machine learning-based ransomware classification of Bitcoin transactions
Zinovyeva et al. Understanding smart contracts: Hype or hope?
KR20220101952A (ko) 비트코인 불법거래 탐지 장치 및 방법
O’Kane Detecting patterns in the Ethereum transactional data using unsupervised learning
Adedoyin Predicting fraud in mobile money transfer
Onu et al. Detection of Ponzi scheme on Ethereum using machine learning algorithms
Xiao et al. Explainable fraud detection for few labeled time series data
Zhao et al. Detecting fake reviews via dynamic multimode network
KR20210110442A (ko) 인공지능을 이용한 암호화폐 계좌의 클러스터링 방법, 장치 및 컴퓨터프로그램
KR20210106592A (ko) 인공지능을 이용한 암호화폐 계좌 분류 방법, 장치 및 컴퓨터프로그램

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant