KR20190058255A - 블록체인 이중지불 탐지 시스템 및 방법 - Google Patents

블록체인 이중지불 탐지 시스템 및 방법 Download PDF

Info

Publication number
KR20190058255A
KR20190058255A KR1020180064368A KR20180064368A KR20190058255A KR 20190058255 A KR20190058255 A KR 20190058255A KR 1020180064368 A KR1020180064368 A KR 1020180064368A KR 20180064368 A KR20180064368 A KR 20180064368A KR 20190058255 A KR20190058255 A KR 20190058255A
Authority
KR
South Korea
Prior art keywords
block
transaction information
payment
block chain
double payment
Prior art date
Application number
KR1020180064368A
Other languages
English (en)
Other versions
KR102118646B1 (ko
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 충남대학교산학협력단
Publication of KR20190058255A publication Critical patent/KR20190058255A/ko
Application granted granted Critical
Publication of KR102118646B1 publication Critical patent/KR102118646B1/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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • 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/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

블록체인에 발생한 이중지불을 탐지하는 시스템으로서, 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 상기 블록체인 내에 발생한 분기점을 검색하는 분기점 검색부, 분기점이 검색된 경우, 상기 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 블록 결정부, 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지 결정하는 이중지불 발생 결정부 그리고 상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 경고메시지 전송부를 포함한다.

Description

블록체인 이중지불 탐지 시스템 및 방법{SYSTEM AND METHOD FOR DETECTING DOUBLE-SPENDING IN BLOCK CHAIN}
본 발명은 블록체인에서 이중지불을 탐지하기 위한 시스템 및 방법에 관한 것이다.
블록체인은 비트코인 전자화폐시스템의 기반이 되는 기술로서, 전자화폐를 통해 거래가 수행된 경우 거래정보가 포함된 블록을 P2P(Peer-to-Peer) 통신 방식을 통해 네트워크에 연결된 모든 노드들에 전파하고, 각 노드들은 수신한 블록을 중복 저장한다. 블록체인을 이용한 전자화폐시스템은 거래내역을 여러 노드들에 분산시켜 저장하기 때문에, 중앙서버에 거래정보가 일괄적으로 저장되는 기존의 전자화폐 방식에 비해 보안을 획기적으로 강화할 수 있다는 장점이 있다.
한편, 이러한 장점은 하나의 전자화폐로 반드시 한 번의 거래가 발생해야함을 전제로 한다. 그러나, 비트코인 전자화폐시스템 내에서 조작을 통해 하나의 전자화폐로 두 번 이상의 거래를 발생시킬 수가 있는데, 이를 이중지불이라 하며 불법거래에 해당한다. 시스템에서 이중지불이 발생하는 경우, 정상 거래에 대한 거래정보를 기록한 블록체인과 중복된 지불에 대한 거래정보를 기록한 블록체인이 공존하게 되며, 일정시간 경과 후 중복 지불 여부와 무관하게 길이가 더 긴 블록체인이 채택되고 짧은 것은 무시되어 폐기된다. 그러나, 단순히 길이가 더 긴 블록체인을 선택하는 경우, 중복된 지불에 대한 거래정보를 포함한 체인이 길어질 수 있는 확률이 존재하기 때문에 이중지불을 완벽하게 방지할 수 없다는 문제가 존재할 수 밖에 없다.
이와 같은 문제를 해결하기 위해, 전자화폐를 통한 거래 이전에 해당 거래가 합당한지 제3 엔티티를 통해 확인하는 방식이 있었으나, 이러한 방식은 블록체인이 P2P 통신 방식을 사용하는 것과 맞지 않는 접근 방식이라는 문제가 있었다.
본 발명이 해결하고자 하는 과제는 블록에 포함된 거래정보를 통해 블록체인 내에서 발생한 이중지불을 탐색하는 기술을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 이중지불이 탐색된 경우, 이중지불이 탐색된 노드와 네트워크를 통해 연결된 타 노드들에게 이중지불 발생을 알리는 기술을 제공하는 것이다.
본 발명의 일 실시예에 따른 블록체인에 발생한 이중지불을 탐지하는 시스템은 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 상기 블록체인 내에 발생한 분기점을 검색하는 분기점 검색부, 분기점이 검색된 경우, 상기 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 블록 결정부, 그리고 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지 결정하는 이중지불 발생 결정부를 포함한다.
상기 이중지불 발생 결정부는 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 존재하는지 결정하고, 상기 제1 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다.
상기 이중지불 발생 결정부는 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 제외하고, 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교한다.
상기 이중지불 발생 결정부는 상기 제1 이중지불 거래정보들이 존재하는 경우, 상기 블록체인 내에서 이중지불이 발생하였다고 결정하고, 상기 제1 이중지불 거래정보들이 존재하지 않는 경우, 상기 제1 블록의 자식 블록인 제3 블록에 포함된 거래정보들과 상기 제2 블록의 자식 블록인 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다.
상기 이중지불 탐지 시스템은 상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 경고메시지 전송부를 더 포함한다.
본 발명의 일 실시예에 따른 복수의 블록들로 구성된 블록체인에 발생한 이중지불을 탐지하는 방법은 블록체인 내에 분기점이 발생된 경우, 상기 발생된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 단계, 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 추출하는 단계, 그리고 상기 추출한 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지를 결정하는 단계를 포함한다.
상기 이중지불이 발생하였는지를 결정하는 단계는 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 존재하는지 결정하는 단계, 그리고 상기 제1 이중지불 거래정보들이 존재하는지에 따라, 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 단계를 포함한다.
상기 제1 이중지불 거래정보들이 존재하는지에 따라, 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 단계는 상기 제1 이중지불 거래정보들이 존재하는 경우, 상기 블록체인 내에서 이중지불이 발생하였다고 결정하고, 상기 제1 이중지불 거래정보들이 존재하지 않는 경우, 상기 제1 블록의 자식 블록인 제3 블록과 상기 제2 블록의 자식 블록인 제4 블록을 결정하고, 상기 제3 블록 및 상기 제4 블록에 포함된 거래정보들을 추출하고, 상기 제3 블록에 포함된 거래정보들과 상기 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다.
상기 이중지불이 발생하였는지를 결정하는 단계는 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 결정하는 단계를 더 포함하고, 상기 제1 이중지불 거래정보들이 존재하는지 결정하는 단계는 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들 중 상기 최초 거래정보를 제외한 거래정보들을 상호 비교한다.
상기 이중지불 탐지 방법은 상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 단계를 더 포함한다.
본 발명에 따르면, 정상거래에 의한 거래정보가 블록에 포함된 후에 이중지불이 발생하는 경우 또는 정상거래에 의해 발생한 거래정보와 이중지불에 의해 발생한 거래정보가 서로 다른 블록에 포함되는 경우라도 블록체인 내 발생한 이중지불을 탐지할 수 있다.
또한, 본 발명에 따르면, 이중지불이 발생한 경우 블록체인 시스템 내 모든 노드들에 해당 내용이 전파되는바, 블록체인 시스템에서 빠르게 조치하여 이중지불로 인한 피해를 감소시킬 수 있다.
도 1 및 도 2는 본 발명의 실시예에 따른 블록체인 이중지불 탐지 시스템이 구현되는 환경을 도시한 도면이다.
도 3은 이중지불 탐지 시스템의 구조를 설명하는 도면이다.
도 4는 블록에 포함된 거래정보들을 이용하여 이중지불 발생여부를 결정하는 방법을 설명하는 도면이다.
도 5는 이중지불 탐지 시스템이 블록체인에 발생한 이중지불을 탐지하는 방법을 설명하는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1 및 도 2는 본 발명의 실시예에 따른 블록체인 이중지불 탐지 시스템이 구현되는 환경을 도시한 도면이다.
도 1을 참고하면, 블록체인 이중지불 탐지 시스템이 구현되는 환경(1000)은 블록체인 시스템을 구성하는 노드들(100) 및 이중지불 탐지 시스템(200)을 포함한다.
노드들(100)은 P2P(Peer-to-Peer) 네트워크를 통해 상호 연결되고, 각 노드들(110 및 120)은 전자화폐를 통해 거래가 수행된 경우 거래정보가 포함된 블록을 각각 저장한다.
구체적으로, 전자화폐를 통해 거래가 수행된 경우, 제1 노드(110)는 해당 거래와 관련된 거래정보를 수신하고, 해당 거래의 유효성을 검증한 후 유효한 경우 해당 거래정보를 포함하는 A 블록을 생성한다. 이후, 제1 노드(110)는 P2P 네트워크로 연결된 제2 노드(120)로 생성한 A 블록을 전송하며, 제2 노드(120)는 자신의 블록체인에 수신한 A 블록을 저장한다. 이를 통해, 노드들(100)은 동일한 거래정보를 포함하는 블록을 각각 자신의 블록체인에 저장하게 된다.
한편, 제2 노드(120)가 이중지불 공격자인 경우, 특정 거래정보를 포함하는 블록이 제1 노드(110) 및 제2 노드(120)에서 동시에 생성될 수 있다. 예를 들면, 제1 노드(110)가 A 블록에 포함된 현재 거래정보를 이전 거래정보로 포함하는 B-1 블록을 생성하였으나, 이중지불 공격자인 제2 노드(120)가 A 블록에 포함된 현재 거래정보를 이전 거래정보로 포함하되, B-1 블록과 다른 현재 거래정보를 가진 B-2 블록을 동시에 생성할 수 있다.
이 경우, 제1 노드(110)가 생성한 B-1 블록은 제2 노드(120)로 전송되고, 제2 노드(120)가 생성한 B-2 블록은 제1 노드(110)로 전송되며, 각 노드들(110 및 120)은 수신한 블록을 일단 자신의 블록체인 내 A 블록의 자식 블록으로 연결하는바, 각 노드들(110 및 120)의 블록체인 내에서 이중지불에 따른 분기점이 발생한다.
이와 같이, 이중지불이 발생하는 경우 블록체인 내에서 분기점이 발생하므로, 이중지불 탐지 시스템(200)은 블록체인 시스템의 블록체인 내에서 분기점이 발생한 경우, 해당 분기점을 형성하는 블록들을 결정하고, 결정한 블록들에 포함된 거래정보들을 상호 비교하여 블록체인에 이중지불이 발생하였는지를 결정할 수 있다.
한편, 도 1에서는 이중지불 탐지 시스템(200)이 블록체인 시스템 내 노드들(100)의 외부에 구현된 독립적인 엔티티로 도시되었으나, 블록체인 시스템 내 각각의 노드 내에 구현될 수도 있다.
구체적으로, 도 2를 참고하면, 블록체인 이중지불 탐지 시스템이 구현되는 다른 환경(2000)에서, 제1 이중지불 탐지 시스템(300)은 제1 노드(110) 내에 구현되고 제2 이중지불 탐지 시스템(400)은 제2 노드(120) 내에 구현될 수 있다. 이 경우 제1 노드(110) 및 제2 노드(120)는 각각에 구비된 이중지불 탐지 시스템을 통해 하기 기능을 수행할 수 있다.
이하, 이중지불 탐지 시스템(200)이 블록체인에 발생한 이중지불을 탐지하는 기술에 대해 자세히 설명한다.
도 3은 이중지불 탐지 시스템의 구조를 설명하는 도면이고, 도 4는 블록에 포함된 거래정보들을 이용하여 이중지불 발생여부를 결정하는 방법을 설명하는 도면이다.
도 3을 참고하면, 이중지불 탐지 시스템(200)은 분기점 검색부(210), 블록 결정부(220), 이중지불 발생 결정부(230) 및 경고메시지 전송부(240)를 포함한다.
분기점 검색부(210)는 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 블록체인 내에 발생한 분기점을 검색한다.
구체적으로, 분기점 검색부(210)는 블록체인 시스템 내 노드들(100)에 저장된 블록데이터에 접근하여 노드들(100)의 블록체인 구조를 확인하고, 블록체인 구조 내에 동일한 부모 블록에 서로 다른 자식 블록이 연결된 구조가 존재하는지 검색한다.
블록 결정부(220)는 분기점이 검색된 경우, 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정한다.
예를 들면, 도 1에서, 분기점 검색부(210)에 의해 블록체인 내 B-1 블록 및 B-2 블록에 의한 분기점이 검색된 경우, 블록 결정부(220)는 검색된 분기점에 직접 연결된 2 이상의 자식 블록들 즉, B-1 블록 및 B-2 블록을 검색된 분기점을 형성하는 제1 블록 및 제2 블록으로 각각 결정할 수 있다. 한편, 비록 도 1에서는 하나의 부모 블록에 2개의 서로 다른 자식 블록이 연결된 것으로 도시되었으나, 하나의 부모 블록에 3 이상의 서로 다른 자식 블록이 연결될 수도 있다.
이중지불 발생 결정부(230)는 제1 블록 및 제2 블록에 포함된 거래정보들을 상호 비교하여, 블록체인에 이중지불이 발생하였는지 결정한다.
도 4를 참고하면, 제1 블록 및 제2 블록은 각각 복수의 거래정보들을 포함한다. 상기 설명한 바와 같이, 각각의 거래정보는 전자화폐를 통해 거래가 수행된 경우 발생하고, 블록의 첫번째 거래정보가 아닌 한, 각 거래정보는 현재 수행된 거래에 의해 발생한 현재 거래정보뿐만 아니라, 현재 거래 이전에 발생한 거래에 의해 생성된 이전 거래정보를 포함한다.
예를 들면, 제1 블록이 전자화폐를 통한 사용자 A와 사용자 B 사이의 제1 거래 및 제1 거래 이후 발생한 전자화폐를 통한 사용자 B와 사용자 C 사이의 제2 거래에 대한 정보를 포함한다고 가정하면, 제1 블록은 제1 거래에 의해 발생한 제1 거래정보 및 제2 거래에 의해 발생한 제2 거래정보를 포함한다.
이 경우, 제1 거래는 제1 블록의 첫번째 거래로서 코인베이스 트랜잭션으로 정의될 수 있으며, 제1 거래정보는 제1 거래에 의해 발생한 거래정보를 현재 거래정보로 포함하되, 첫번째 거래이므로 이전 거래정보를 포함하지 않는다. 반면, 제2 거래정보는 제1 거래에 의해 발생한 거래정보를 이전 거래정보로 포함하고, 제2 거래에 의해 생성된 거래정보를 현재 거래정보로 포함한다.
한편, 제1 블록 및 제2 블록에 포함된 거래 정보는 서로 다른 블록에 포함된 거래정보를 이전 거래정보로 포함할 수도 있다.
예를 들면, 제1 블록에 포함된 제1 거래정보가 코인베이스 트랜잭션에 의해 발생한 거래정보이고 제2 거래정보가 사용자 A와 사용자 B 사이의 거래에 의해 발생한 거래정보이며, 제2 블록에 포함된 제1 거래정보가 코인베이스 트랜잭션에 의해 발생한 거래정보이고 제2 거래정보가 사용자 B와 사용자 C 사이의 거래에 의해 발생한 거래정보라 할 때, 사용자 B와 사용자 C 사이의 거래 이전에 사용자 A와 사용자 B 사이의 거래가 발생한 경우이므로, 제2 블록의 제2 거래정보는 제1 블록의 제2 거래정보를 이전 거래정보로 포함한다.
여기서, 거래정보는 트랜잭션 ID(Transaction Identifier, TXID)를 지칭할 수 있다.
우선, 이중지불 발생 결정부(230)는 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들을 상호 비교하여 이전 거래정보가 동일하나 현재 거래정보가 상이한 이중지불 거래정보들이 존재하는지 결정한다.
이 경우, 이중지불 발생 결정부(230)는 제1 블록 및 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 제외하고, 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들을 상호 비교할 수 있다. 예를 들면, 도 4에서, 이중지불 발생 결정부(230)는 제1 블록에 포함된 제1 거래정보 및 제2 블록에 포함된 제1 거래정보는 이전 거래정보를 포함하지 않는바, 이를 제외한 나머지 거래정보들을 상호 비교할 수 있다.
이후, 이중지불 발생 결정부(230)는 이중지불 거래정보들이 존재하는지에 따라 블록체인 내에서 이중지불이 발생하였는지 결정한다.
예를 들면, 도 4를 참고하면, 이중지불 발생 결정부(230)는 제1 블록에 포함된 제2 거래정보와 제2 블록에 포함된 제2 거래정보의 이전 거래정보가 "16eab763"으로 동일하고, 현재 거래정보가 각각 "496bac12c" 및 "59b9ea8"로 상이한 경우, 하나의 전자화폐로 2 이상의 거래를 수행 즉, 이중지불이 수행되어 이중지불 거래정보들이 존재하는 경우이므로, 블록체인 내에서 이중지불이 발생한 것으로 결정한다.
한편, 도 4와 달리 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들을 상호 비교하였으나 이중지불 거래정보들이 존재하지 않는 경우, 이중지불 발생 결정부(230)는 제1 블록의 자식 블록인 제3 블록에 포함된 거래정보와 제2 블록의 자식 블록인 제4 블록에 포함된 거래정보에서 이중지불 거래정보들이 존재할 수 있음을 알리는 플래그를 설정할 수 있다.
이후, 이중지불 발생 결정부(230)는 제3 블록에 포함된 거래정보들과 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지 결정한다.
경고메시지 전송부(240)는 블록체인에 이중지불이 발생한 경우, 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송한다.
구체적으로, 경고메시지 전송부(240)는 블록체인에 이중지불이 발생한 경우 블록체인 시스템 내 노드들(100)에게 경고메시지를 전송할 수 있으며, 만일 이중지불 탐지 시스템(200)이 블록체인 시스템 내 노드 중 하나인 경우 이중지불 탐지 시스템(200)과 P2P 네트워크를 통해 상호 연결된 다른 노드들에게 경고메시지를 전송할 수 있다.
도 5는 이중지불 탐지 시스템이 블록체인에 발생한 이중지불을 탐지하는 방법을 설명하는 도면이다.
도 5를 참고하면, 이중지불 탐지 시스템(200)은 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 블록체인 내에 발생한 분기점을 검색한다(S100).
예를 들면, 도 1에서, 이중지불 탐지 시스템(200)은 블록체인 시스템을 구성하는 노드들(100)에 접속하여 해당 노드들의 블록체인의 구조를 분석하고, 블록체인 내에 발생한 분기점을 검색할 수 있다.
다른 실시예에서, 도 2와 같이 만일 이중지불 탐지 시스템(300 및 400)이 블록체인 시스템 의 노드 내에 구현된 경우, 이중지불 탐지 시스템이 구현된 노드에 저장된 블록체인의 구조를 분석하여, 분기점을 검색할 수 있다.
이중지불 탐지 시스템(200)은 블록체인 내에 분기점이 발생된 경우, 발생된 분기점을 형성하는 제1 블록 및 제2 블록을 결정한다(S110).
이중지불 탐지 시스템(200)은 제1 블록 및 제2 블록에 포함된 거래정보들을 각각 추출한다(S120).
구체적으로, 상기 설명한 바와 같이, 제1 블록 및 제2 블록은 전자화폐를 통해 거래가 수행된 경우 생성된 거래정보를 하나 이상 포함하는바, 이중지불 탐지 시스템(200)은 분기점을 형성하는 복수의 블록들에 포함된 거래정보를 추출한다.
이중지불 탐지 시스템(200)은 추출한 거래정보들을 상호 비교하여, 블록체인에 이중지불이 발생하였는지를 결정한다.
구체적으로, 이중지불 탐지 시스템(200)은 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 추출된 거래정보들에 존재하는지 결정한다(S130).
이 경우, 이중지불 탐지 시스템(200)은 제1 블록 및 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 결정하고, 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들 중 최초 거래정보를 제외한 거래정보들만을 상호 비교할 수 있다.
만일 제1 이중지불 거래정보들이 존재하는 경우 이중지불이 수행된 경우이므로, 이중지불 탐지 시스템(200)은 블록체인 내에서 이중지불이 발생하였다고 결정하고, 블록체인을 구성하는 복수의 블록들을 공유하는 노드들(100)에 경고메시지를 전송한다(S131). 만일 이중지불 탐지 시스템(200)이 블록체인 시스템 내 노드 중 하나인 경우 이중지불 탐지 시스템(200)과 P2P 네트워크를 통해 상호 연결된 다른 노드들에게 경고메시지를 전송할 수 있다.
만일 제1 이중지불 거래정보들이 존재하지 않는 경우, 이중지불 탐지 시스템(200)은 제1 블록의 자식 블록인 제3 블록과 제2 블록의 자식 블록인 제4 블록을 결정한다(S140).
이중지불 탐지 시스템(200)은 제3 블록 및 제4 블록에 포함된 거래정보들을 각각 추출한다(S150).
이중지불 탐지 시스템(200)은 제3 블록에 포함된 거래정보들과 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다(S160).
본 발명에 따르면, 정상거래에 의한 거래정보가 블록에 포함된 후에 이중지불이 발생하는 경우 또는 정상거래에 의해 발생한 거래정보와 이중지불에 의해 발생한 거래정보가 서로 다른 블록에 포함되는 경우라도 블록체인 내 발생한 이중지불을 탐지할 수 있다.
또한, 본 발명에 따르면, 이중지불이 발생한 경우 블록체인 시스템 내 모든 노드들에 해당 내용이 전파되는바, 블록체인 시스템에서 빠르게 조치하여 이중지불로 인한 피해를 감소시킬 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (10)

  1. 블록체인에 발생한 이중지불을 탐지하는 시스템으로서,
    블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 상기 블록체인 내에 발생한 분기점을 검색하는 분기점 검색부,
    분기점이 검색된 경우, 상기 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 블록 결정부, 그리고
    상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지 결정하는 이중지불 발생 결정부
    를 포함하는 이중지불 탐지 시스템.
  2. 제1항에서,
    상기 이중지불 발생 결정부는
    상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 존재하는지 결정하고, 상기 제1 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 이중지불 탐지 시스템.
  3. 제2항에서,
    상기 이중지불 발생 결정부는
    상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 제외하고, 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하는 이중지불 탐지 시스템.
  4. 제2항에서,
    상기 이중지불 발생 결정부는
    상기 제1 이중지불 거래정보들이 존재하는 경우, 상기 블록체인 내에서 이중지불이 발생하였다고 결정하고,
    상기 제1 이중지불 거래정보들이 존재하지 않는 경우, 상기 제1 블록의 자식 블록인 제3 블록에 포함된 거래정보들과 상기 제2 블록의 자식 블록인 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 이중지불 탐지 시스템.
  5. 제1항에서,
    상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 경고메시지 전송부
    를 더 포함하는 이중지불 탐지 시스템.
  6. 복수의 블록들로 구성된 블록체인에 발생한 이중지불을 탐지하는 방법으로서,
    블록체인 내에 분기점이 발생된 경우, 상기 발생된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 단계,
    상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 추출하는 단계, 그리고
    상기 추출한 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지를 결정하는 단계
    를 포함하는 이중지불 탐지 방법.
  7. 제6항에서,
    상기 이중지불이 발생하였는지를 결정하는 단계는
    상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 존재하는지 결정하는 단계, 그리고
    상기 제1 이중지불 거래정보들이 존재하는지에 따라, 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 단계
    를 포함하는 이중지불 탐지 방법.
  8. 제7항에서,
    상기 제1 이중지불 거래정보들이 존재하는지에 따라, 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 단계는
    상기 제1 이중지불 거래정보들이 존재하는 경우, 상기 블록체인 내에서 이중지불이 발생하였다고 결정하고,
    상기 제1 이중지불 거래정보들이 존재하지 않는 경우, 상기 제1 블록의 자식 블록인 제3 블록과 상기 제2 블록의 자식 블록인 제4 블록을 결정하고, 상기 제3 블록 및 상기 제4 블록에 포함된 거래정보들을 추출하고, 상기 제3 블록에 포함된 거래정보들과 상기 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 이중지불 탐지 방법.
  9. 제7항에서,
    상기 이중지불이 발생하였는지를 결정하는 단계는
    상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 결정하는 단계를 더 포함하고,
    상기 제1 이중지불 거래정보들이 존재하는지 결정하는 단계는
    상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들 중 상기 최초 거래정보를 제외한 거래정보들을 상호 비교하는 이중지불 탐지 방법.
  10. 제6항에서,
    상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 단계
    를 더 포함하는 이중지불 탐지 방법.
KR1020180064368A 2017-11-20 2018-06-04 블록체인 이중지불 탐지 시스템 및 방법 KR102118646B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170154923 2017-11-20
KR1020170154923 2017-11-20

Publications (2)

Publication Number Publication Date
KR20190058255A true KR20190058255A (ko) 2019-05-29
KR102118646B1 KR102118646B1 (ko) 2020-06-03

Family

ID=66673082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180064368A KR102118646B1 (ko) 2017-11-20 2018-06-04 블록체인 이중지불 탐지 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102118646B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254538A (zh) * 2021-06-17 2021-08-13 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法和区块链节点
KR20210156775A (ko) * 2020-06-18 2021-12-27 주식회사 디에스알브이랩스 블록체인 네트워크에서 이상거래를 탐지하는 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095720A (ko) * 2015-02-03 2016-08-12 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
KR20170123766A (ko) * 2016-04-29 2017-11-09 삼성에스디에스 주식회사 중복 거래 방지 단말 및 시스템, 이를 이용한 중복 거래 방지 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095720A (ko) * 2015-02-03 2016-08-12 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
KR20170123766A (ko) * 2016-04-29 2017-11-09 삼성에스디에스 주식회사 중복 거래 방지 단말 및 시스템, 이를 이용한 중복 거래 방지 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
‘비트코인 개인간 전자화폐시스템 요약 설명’, SlideShare(2015.05.21. 게재)* *
‘비트코인이 거래되는 원리를 쉽게 설명 한 글입니다 (김은찬님의 블로그)’, G글로벌경제신문(2014.08.11. 게재)* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210156775A (ko) * 2020-06-18 2021-12-27 주식회사 디에스알브이랩스 블록체인 네트워크에서 이상거래를 탐지하는 시스템 및 방법
CN113254538A (zh) * 2021-06-17 2021-08-13 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法和区块链节点
CN113254538B (zh) * 2021-06-17 2021-11-16 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法和区块链节点

Also Published As

Publication number Publication date
KR102118646B1 (ko) 2020-06-03

Similar Documents

Publication Publication Date Title
KR102454779B1 (ko) 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치
CN107330681B (zh) 一种用于确定区块链链外交易的交易时间的方法及设备
US8122505B2 (en) Method and apparatus for detection of malicious behavior in mobile ad-hoc networks
KR101484333B1 (ko) 충돌 지식의 전파
JP2020505839A (ja) ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法
KR101831604B1 (ko) 데이터 전송 방법, 인증 방법 및 이를 수행하기 위한 서버
US7035223B1 (en) Method and apparatus for detecting unreliable or compromised router/switches in link state routing
Zheng et al. Dynamic network security mechanism based on trust management in wireless sensor networks
CN115039379A (zh) 使用分类器层级确定设备属性的系统和方法
CN104796291A (zh) 核心路由区域内路由器转发行为规范的检测方法及系统
CN111355655B (zh) 一种量子密码网络量子路由检测方法和服务器
CN107851159A (zh) 控制配置数据储存器
KR20190058255A (ko) 블록체인 이중지불 탐지 시스템 및 방법
US20140359364A1 (en) System and method for failure detection in rings
CN109104287A (zh) 在区块链中进行通信的方法和装置
CN111967061A (zh) 基于区块链的可信账户转账交易方法及装置
KR102152537B1 (ko) 사물 인터넷 장치를 위한 블록체인 네트워크
CN108322454B (zh) 一种网络安全检测方法及装置
Ding et al. Detection of packet dropping attack based on evidence fusion in IoT networks
Amiri et al. Black hole attacks detection by invalid IP addresses in mobile ad hoc networks
CN108965006A (zh) 一种通信可靠性提高方法及装置
Karthik et al. Data trustworthiness in wireless sensor networks
CN107241222B (zh) 一种网络拓扑校准方法
Choi et al. OPERA: Reasoning about continuous common knowledge in asynchronous distributed systems
US20230370279A1 (en) Terminal device, data management device, management system, processing method, and non-transitory computer-readable medium storing a program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant