KR102303427B1 - 블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템 - Google Patents

블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템 Download PDF

Info

Publication number
KR102303427B1
KR102303427B1 KR1020170109258A KR20170109258A KR102303427B1 KR 102303427 B1 KR102303427 B1 KR 102303427B1 KR 1020170109258 A KR1020170109258 A KR 1020170109258A KR 20170109258 A KR20170109258 A KR 20170109258A KR 102303427 B1 KR102303427 B1 KR 102303427B1
Authority
KR
South Korea
Prior art keywords
block
transaction confirmation
confirmation reliability
transaction
data
Prior art date
Application number
KR1020170109258A
Other languages
English (en)
Other versions
KR20180113139A (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 삼성에스디에스 주식회사
Priority to US15/933,592 priority Critical patent/US10922692B2/en
Priority to SG10201802605SA priority patent/SG10201802605SA/en
Priority to CN201810289278.3A priority patent/CN108694587A/zh
Publication of KR20180113139A publication Critical patent/KR20180113139A/ko
Application granted granted Critical
Publication of KR102303427B1 publication Critical patent/KR102303427B1/ko

Links

Images

Classifications

    • H04L67/2809
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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
    • 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
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

대상 블록에 기록된 거래 데이터에 대한 확정 신뢰도를 산출하는 방법이 제공된다. 거래 확정 신뢰도 산출 장치에 의해서 수행되는 블록체인 기반 거래에 대한 거래 확정 신뢰도 산출 방법은, 블록체인 데이터 상에 형성된 분기(branch)에 관한 정보를 획득하는 단계, 상기 분기에 관한 정보를 기초로, 상기 블록체인 데이터의 현재 블록 높이에 해당하는 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계 및 상기 블록 높이 차이를 기초로, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 단계를 포함할 수 있다. 이때, 상기 거래 확정 신뢰도는, 상기 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 거래 데이터가 기록된 블록의 위치가 변경되지 않을 확률을 의미한다.

Description

블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템{Method for calculating confirmation reliability for blockchain based transaction and Blockchain network monitoring system for performing the method}
본 발명은 블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템에 관한 것이다. 보다 자세하게는, 블록체인 데이터 상에서 특정 거래 데이터가 기록된 블록의 위치가 변경되지 않을 확률을 가리키는 거래 확정 신뢰도를 산출하는 방법과 그 방법을 수행하기 위해 블록체인 네트워크를 구성하는 복수의 블록체인 노드를 모니터링하는 블록체인 네트워크 모니터링 시스템에 관한 것이다.
블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드들이 상기 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 상기 체인 형태의 자료 구조로 구성된 데이터 그 자체를 의미한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는, 도 1 및 도 2에 비교 도시한 바와 같이, 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.
블록체인 기술은, 분산 데이터 관리 또는 데이터 위변조 방지를 위해 다양한 분야에 응용될 수 있다. 예를 들어, 블록체인 기술이 금융 분야에 응용되는 경우, 신뢰를 보증하는 중앙 금융기관이 없어도, 분산된 각각의 블록체인 노드가 관리하는 분산 원장을 통해 거래 당사자가 안전하게 거래를 수행할 수 있다.
분산 원장을 통해서 안전한 거래가 수행될 수 있는 이유 중 하나는 해시 연산 기반으로 구성되는 체인 형태의 자료 구조에서 찾을 수 있다. 구체적으로, 블록체인 네트워크를 구성하는 각각의 블록체인 노드는 도 3에 도시된 자료 구조로 블록들을 관리하는데, 각 블록에는 이전 블록에 대한 해시 값이 기록되며, 상기 해시 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 거래 데이터의 위변조는 어려워지고, 각 블록에 기록된 거래 데이터의 신뢰도가 향상될 수 있는 것이다.
하지만, 현재까지 고안된 블록체인 기술은 다음과 같은 문제점으로 인해 엄격한 통제가 요구되는 금융 분야 또는 기업 환경에 곧바로 적용되기는 어렵다.
먼저, 블록체인 기술은 탈중앙화에 기반한 기술이기 때문에, 전체 시스템이 잘못된 방향으로 움직일 경우 이에 대한 관측 및 대응이 쉽지 않다는 문제가 있다. 특히, 51% 공격과 같이, 전체 네트워크 성능 대비 특정 비율 이상의 컴퓨팅 능력을 확보한 노드들에 의해 데이터의 위변조가 가능하기 때문에, 높은 수준의 보안성이 요구되는 금융 분야 또는 기업 환경에 상기 블록체인 기술이 그대로 적용되기에는 무리가 있다.
또한, 블록체인 데이터 상에 때때로 분기(branch)가 발생하게 되고, 이에 따라 해당 블록에 기록된 거래 정보를 확인할 수 없는 경우가 발생될 수 있으나, 현재 블록체인 기술은 이에 대한 예측 및 대응이 쉽지 않다는 문제가 있다. 예를 들어, 도 4에 도시된 바와 같이, 블록체인 데이터 상에서 제1 체인(20)을 가장 긴 메인 체인으로 판단하고 블록을 생성하던 제1 노드는 블록체인 동기화 과정에서 뒤늦게 제1 체인(20)보다 길이가 더 긴 제2 체인(10)을 발견하는 경우가 발생될 수 있다. 이와 같은 경우, 상기 제1 노드는 최신 블록인 "블록 #5"로 블록체인 데이터를 갱신하게 되는데, 상기 갱신 과정에서 제1 체인의 블록 #3'(21)에 기록된 거래 데이터(e.g. 트랜잭션 #1)의 블록 위치가 다른 블록(11)으로 변경될 수 있다.
즉, 분기가 발생됨에 따라, 해당 거래 데이터를 확인하기 위해 참조되는 블록 정보가 변경되어, 소정의 시간 동안 해당 거래 데이터를 확인할 수 없는 문제가 발생될 수 있으나, 현재까지 고안된 블록체인 기술은 분기 발생에 따른 블록 위치 변경 여부를 체계적으로 예측할 수 없기 때문에, 이에 대한 대응이 어렵다는 문제가 있다.
따라서, 금융 분야 또는 기업 환경에 블록체인 기술을 적용하기 위해서는, 분산된 각 블록체인 노드에 대한 모니터링 방법이 요구되고, 블록체인 데이터 상에 형성되는 분기에 따라 특정 거래 데이터의 블록 위치 변경 여부를 예측할 수 있는 방법이 요구된다.
한국공개특허 제2016-0150278호 (2016.12.29 공개)
본 발명이 해결하고자 하는 기술적 과제는, 특정 거래 데이터가 기록된 블록의 위치가 변경되지 않을 확률을 가리키는 거래 확정 신뢰도를 산출하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 상기 거래 확정 신뢰도를 산출하기 위하여, 블록체인 데이터 상에 형성되는 분기 상태를 모니터링할 수 있는 방법 및 그 방법을 수행하는 장치 및 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 거래 확정 신뢰도 산출 방법은, 거래 확정 신뢰도 산출 장치에 의해서 수행되는 블록체인 기반 거래에 대한 거래 확정 신뢰도 산출 방법에 있어서, 블록체인 데이터 상에 형성된 분기(branch)에 관한 정보를 획득하는 단계, 상기 분기에 관한 정보를 기초로, 상기 블록체인 데이터의 현재 블록 높이에 해당하는 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계 및 상기 블록 높이 차이를 기초로, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 단계를 포함하되, 상기 거래 확정 신뢰도는, 상기 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 거래 데이터가 기록된 블록의 위치가 변경되지 않을 확률을 가리킬 수 있다.
일 실시예에서, 상기 대상 블록과 분기 상태에 놓여있지 않은 이전 블록과의 블록 높이 차이를 결정하는 단계는, 상기 대상 블록의 이전 블록 방향으로, 동일 블록 높이를 갖는 블록 중에서 상이한 해시 값을 갖는 블록의 개수가 연속적으로 1이 되는 블록 구간을 탐색하는 단계, 상기 블록 구간에 포함된 블록 중에서, 최초로 탐색된 노드를 상기 비분기 상태 블록으로 결정하는 단계 및 상기 대상 블록과 상기 결정된 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계를 포함할 수 있다.
일 실시예에서, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 단계는, 상기 블록 높이 차이를 기초로, 포아송 분포(poission distribution)를 이용하여, 상기 거래 확정 신뢰도를 예측하는 단계를 포함할 수 있다.
일 실시예에서, 상기 블록체인 데이터는 제1 블록체인 데이터이고, 제2 블록체인 데이터 상에 형성된 분기에 관한 정보를 획득하되, 상기 제2 블록체인 데이터는 상기 제1 블록체인 데이터에 상기 k개의 블록이 더 연결된 블록체인 데이터인 것인, 단계 및 상기 제2 블록체인 데이터 상에 형성된 분기에 관한 정보를 기초로, 상기 산출된 거래 확정 신뢰도를 확정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 거래 확정 신뢰도를 산출하는 단계는, k의 값을 변경해가며, k개의 블록이 연결되는 경우 각각에 대한 거래 확정 신뢰도를 산출하는 단계를 포함하고, 상기 거래 확정 신뢰도가 지정된 값 이상이 되는 k 값을 결정하는 단계를 더 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 거래 확정 신뢰도 산출 장치는, 하나 이상의 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 블록체인 데이터 상에 형성된 분기(branch)에 관한 정보를 획득하는 오퍼레이션, 상기 분기에 관한 정보를 기초로, 상기 블록체인 데이터의 현재 블록 높이에 해당하는 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 오퍼레이션 및 상기 블록 높이 차이를 기초로, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 오퍼레이션을 포함하되, 상기 거래 확정 신뢰도는, 상기 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 거래 데이터가 기록된 블록 위치가 변경되지 않을 확률을 가리키는 것일 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 블록체인 데이터 상에 형성된 분기(branch)에 관한 정보를 획득하는 단계, 상기 분기에 관한 정보를 기초로, 상기 블록체인 데이터의 현재 블록 높이에 해당하는 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계 및 상기 블록 높이 차이를 기초로, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하되, 상기 거래 확정 신뢰도는 상기 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 거래 데이터가 기록된 블록 위치가 변경되지 않을 확률을 가리키는 것인, 단계를 실행시키기 위하여 기록 매체에 저장될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 블록체인 네트워크 모니터링 시스템은 블록체인 네트워크를 구성하고, 블록체인 데이터를 분산 관리하며, 신규 블록을 생성하고, 상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 복수의 블록체인 노드, 상기 블록체인 네트워크를 구성하고, 상기 블록체인 네트워크 상에서 전파되는 신규 블록을 실시간으로 모니터링하는 모니터링 노드 및 상기 모니터링 노드로부터, 실시간으로 신규 블록에 대한 정보를 수신하고, 상기 신규 블록에 대한 정보를 기초로 상기 블록체인 데이터 상의 분기 발생 상태를 모니터링하는 블록체인 네트워크 모니터링 장치를 포함할 수 있다.
상술한 본 발명에 따르면, 포아송 분포에 기초하여 특정 거래 데이터가 기록된 블록 위치가 변경되지 않을 확률을 가리키는 거래 확정 신뢰도가 산출될 수 있다. 이에 따라, 특정 거래 데이터의 기록 위치 변경 여부에 대한 체계적인 예측 및 대응이 가능할 수 있다.
또한, 모니터링 기능만을 수행하는 특수 노드를 이용하여, 블록체인 네트워크를 구성하는 각각의 블록체인 노드에 대한 모니터링이 기능이 제공될 수 있다. 이에 따라, 블록체인 기반 시스템이 잘못된 방향으로 나아가는지에 대한 관측이 가능하며, 금융 분야 또는 기업 분야에서 요구되는 상세 모니터링 기능 또한 제공될 수 있다.
또한, 서로 다른 네트워크 간의 데이터 교환 기능을 제공하는 특수 노드인 브로커 노드를 통해, 이질적인 네트워크 상에 위치한 노드 간에 하나의 블록체인 네트워크가 구성될 수 있다. 이에 따라, 다수의 기업 환경에서 동일한 블록체인 기반 시스템이 구축될 수 있는 바, 더욱 다양한 분야에 블록체인 기술이 활용될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래 중앙 원장을 나타내는 개념도이다.
도 2는 블록체인 기반의 분산 원장을 나타내는 개념도이다.
도 3은 블록체인 네트워크를 구성하는 각 블록체인 노드에 의해 유지되는 블록체인 데이터의 구조를 설명하기 위한 도면이다.
도 4는 블록체인 데이터에 분기가 형성됨에 따라 거래 데이터가 기록된 블록 위치가 변경되는 문제를 설명하기 위한 도면이다.
도 5는 본 발명의 제1 실시예에 따른 블록체인 네트워크 모니터링 시스템의 구성도이다.
도 6은 본 발명의 제2 실시예에 따른 블록체인 네트워크 모니터링 시스템의 구성도이다.
도 7은 본 발명의 다른 실시예에 따른 거래 확정 신뢰도 산출 장치를 나타내는 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 거래 확정 신뢰도 산출 장치의 하드웨어 구성도이다.
도 9는 본 발명의 또 다른 실시예에 따른 거래 확정 신뢰도 산출 방법의 흐름도이다.
도 10은 본 발명의 몇몇 실시예에서 참조될 수 있는 블록 높이와 블록 깊이의 개념을 비교 설명하기 위한 도면이다.
도 11 및 도 12는 도 9에 도시된 거래 확정 신뢰도 예측 단계(S300)를 설명하기 위한 도면이다.
도 13은 도 9에 도시된 거래 확정 신뢰도 확정 단계(S500)의 상세 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
본 명세서에서, 블록체인 데이터란 블록체인 네트워크를 구성하는 각각의 블록체인 노드가 유지하는 데이터로, 적어도 하나의 블록이 체인 형태의 자료 구조를 이루는 데이터를 의미한다. 각 블록에 기록된 데이터가 트랜잭션 데이터인 경우, 상기 블록체인 데이터는 분산 원장으로 이용될 수 있다. 다만, 각 블록에 기록되는 데이터는 어떠한 종류이더라도 무방하다. 상기 블록체인 데이터의 구조는 도 3을 참조하도록 한다.
본 명세서에서, 블록체인 네트워크란, 블록체인 알고리즘에 따라 동작되는 복수의 블록체인 노드에 의해 구성된 P2P 구조의 네트워크를 의미한다.
본 명세서에서, 블록체인 노드란, 블록체인 네트워크를 구성하고 블록체인 알고리즘에 기초하여 블록체인 데이터를 유지하고 관리하는 주체를 의미한다. 상기 블록체인 노드는 단일 컴퓨팅 장치로 구현될 수 있으나, 가상 머신(virtual machine) 등으로 구현될 수도 있다. 가상 머신으로 구현되는 경우, 단일 컴퓨팅 장치에 복수의 블록체인 노드가 존재할 수 있다.
본 명세서에서, 블록 생성 노드란, 블록체인 네트워크를 구성하는 블록체인 노드 중 채굴(mining)을 통해 신규 블록을 생성하는 노드를 의미한다.
본 명세서에서, 거래 확정 신뢰도란, 현재 블록 높이에 해당하는 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 대상 블록에 기록된 거래 데이터의 블록 위치가 변경되지 않을 확률을 의미한다. 즉, 상기 거래 확정 신뢰도는 상기 대상 블록에 신규 블록이 더 추가되더라도 분기가 형성되지 않고 메인 체인으로 유지될 확률을 가리키는 것으로 이해될 수 있다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
먼저, 도 5 및 도 6을 참조하여, 본 발명의 몇몇 실시예에 따른 블록체인 네트워크 모니터링 시스템에 대하여 설명하도록 한다.
도 5는 본 발명의 제1 실시예에 따른 블록체인 네트워크 모니터링 시스템의 구성도이다.
도 5를 참조하면, 상기 제1 실시예에 따른 블록체인 네트워크 모니터링 시스템은 블록체인 네트워크 모니터링 장치(100) 및 블록체인 네트워크(200)를 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 5에 도시된 블록체인 네트워크 모니터링 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
상기 제1 실시예에서, 블록체인 네트워크 모니터링 장치(100)는 블록체인 네트워크를 구성하는 복수의 블록체인 노드의 상태 및 동작, 블록체인 데이터 등의 각종 정보를 모니터링하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.
블록체인 네트워크 모니터링 장치(100)는 예를 들어 각 블록체인 노드에 탑재된 모니터링 에이전트로부터 각 블록체인 노드의 상태 및 동작, 각 블록체인 노드에 보관된 블록체인 데이터에 대한 정보를 수신할 수 있다. 상기 모니터링 에이전트는 데몬(daemon) 형태로 각 블록체인 노드를 모니터링하는 소프트웨어 모듈로 이해될 수 있다.
또한, 블록체인 네트워크 모니터링 장치(100)는 블록체인 네트워크(200)를 구성하는 노드 중 하나인 모니터링 노드(210)로부터 네트워크 상에 전파되는 거래 데이터 및 신규 블록을 실시간으로 수신할 수 있다. 여기서, 모니터링 노드(210)는 특수한 유형의 블록체인 노드로, 블록체인 네트워크(200) 상에서 전파되는 각종 데이터를 인터셉트(intercept)하여 실시간으로 전달하는 노드로 이해될 수 있다.
블록체인 네트워크 모니터링 장치(100)는 상기와 같이 수집된 각종 정보를 다양한 사용자 인터페이스를 통해 시각화된 형태로 제공할 수 있다.
본 발명의 실시예에 따르면, 블록체인 네트워크 모니터링 장치(100)는 모니터링 에이전트로부터 각각의 블록체인 노드가 관리하는 블록체인 데이터의 체인 구조 정보를 실시간으로 수신하고, 각각의 블록체인 노드 별 블록체인 데이터의 체인 구조 정보를 비교하여, 실시간으로 블록체인 데이터 상의 분기 발생 상태를 모니터링할 수 있다.
또는, 블록체인 네트워크 모니터링 장치(100)는 모니터링 노드(210)로부터 블록체인 네트워크 상에 전파되는 신규 블록을 수신하고, 상기 신규 블록의 번호 및 해시 값의 일치 여부를 비교하여, 실시간으로 블록체인 데이터 상의 분기 발생 상태를 모니터링할 수 있다.
본 발명의 실시예에 따르면, 블록체인 네트워크 모니터링 장치(100)는 상기 블록체인 데이터 상에 형성된 분기 상태에 기초하여, 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출할 수 있다. 이와 같은 실시예에 한하여, 블록체인 네트워크 모니터링 장치(100)는 거래 확정 신뢰도 산출 장치(100)로 명명될 수 있다. 여기서, 상기 대상 블록은 현재 블록 높이에 해당하는 최신 블록을 의미한다. 이하에서도, 다른 언급이 없는 한 상기 대상 블록은 최신 블록을 가리키는 의미로 사용되고, 상기 블록 높이의 개념은 도 10을 참조하도록 한다. 본 실시예에 따르면, 본래 대상 블록에 기록된 특정 거래 데이터의 블록 위치 변경 여부에 대한 체계적인 예측 및 대응이 가능할 수 있다. 거래 확정 신뢰도 산출 장치(100)가 거래 확정 신뢰도를 산출하는 방법에 대한 자세한 설명은 도 9 내지 도 13을 참조하여 후술하도록 한다.
상기 제1 실시예에서, 블록체인 네트워크(200)는 복수의 블록체인 노드로 구성된 P2P 구조의 네트워크이다. 블록체인 네트워크(200)를 구성하는 블록체인 노드는 블록체인 알고리즘에 기초하여 블록 생성, 전파, 검증, 기록 등의 동작을 수행한다. 또한, 각각의 블록체인 노드는 동일한 블록체인 데이터를 유지한다.
본 발명의 실시예에 따르면, 블록체인 네트워크(200)는 모니터링 노드(210)를 포함하도록 구성될 수 있다. 모니터링 노드(210)는 전술한 바와 같이 특수한 유형의 노드이며, 블록체인 네트워크 상에 전파되는 거래 데이터 및 신규 블록을 실시간으로 수집하여 블록체인 네트워크 모니터링 장치(100)로 전달할 수 있다.
본 발명의 몇몇 실시예에 따른 블록체인 네트워크 모니터링 시스템에서, 각각의 구성 요소는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
지금까지, 본 발명의 제1 실시예에 따른 블록체인 네트워크 모니터링 시스템에 대하여 설명하였다. 다음으로, 도 6을 참조하여, 본 발명의 제2 실시예에 따른 블록체인 네트워크 모니터링 시스템에 대하여 설명하도록 한다.
도 6은 본 발명의 제2 실시예에 따른 블록체인 네트워크 모니터링 시스템의 구성도이다.
도 6을 참조하면, 상기 제2 실시예에서, 블록체인 네트워크(200)는 서로 다른 네트워크 환경에 기반하여 구축될 수 있다. 구체적으로, 복수의 블록체인 노드가 복수의 제1 블록체인 노드 및 복수의 제2 블록체인 노드를 포함할 때, 상기 복수의 제1 블록체인 노드는 제1 네트워크 상에 위치하고, 상기 복수의 제2 블록체인 노드는 상기 제2 네트워크에 위치하며, 상기 제1 네트워크와 상기 제2 네트워크는 이질적인 네트워크 환경으로 구성될 수 있다.
구체적으로, 상기 제1 네트워크 및 상기 제2 네트워크는 물리적으로 구분되는 네트워크 또는 논리적으로 구분되는 네트워크일 수 있다. 예를 들어, 상기 제1 네트워크 및 상기 제2 네트워크는 서로 다른 통신 프로토콜을 이용하여 통신이 수행되는 네트워크, 서로 다른 VPN(virtual private network)으로 구축된 네트워크 등이 될 수 있다. 도 6에는 상기 제1 네트워크 및 상기 제2 네트워크가 각각 서로 다른 VPN(200a, 200b)으로 구축된 것이 예로써 도시되었다.
특히 보안이 중요한 금융 분야 또는 기업 환경에서, 제1 기업의 인트라넷 상에 위치한 제1 블록체인 노드와 제2 기업의 인트라넷 상에 위치한 제2 블록체인 노드는 동일한 블록체인 네트워크를 구성하더라도 통신이 불가능할 수 있다. 이와 같은 문제를 해결하기 위해, 상기 제2 실시예에 따른 블록체인 네트워크 모니터링 시스템은 브로커 노드(220)를 더 포함하도록 구성될 수 있다.
브로커 노드(220)는 서로 다른 네트워크(200a, 200b) 상에 위치한 블록체인 노드 간의 데이터 교환을 수행할 수 있다. 예를 들어, 브로커 노드(220)는 각각의 통신 프로토콜에 적합하게 데이터 포맷을 변환할 수 있다. 또는, 브로커 노드(200)는 단순히 데이터를 중계하는 역할만 수행할 수도 있다. 또는, 브로커 노드(200)는 소정의 보안 정책에 따라 데이터 검사, 접근 제어 등을 수행할 수도 있다.
지금까지, 도 6을 참조하여 본 발명의 제2 실시예에 따른 블록체인 네트워크 모니터링 시스템에 대하여 설명하였다. 다음으로, 도 7 및 도 8을 참조하여, 본 발명의 다른 실시예에 따른 거래 확정 신뢰도 산출 장치(100)의 구성 및 동작에 대하여 설명하도록 한다.
도 7은 본 발명의 실시예에 따른 거래 확정 신뢰도 산출 장치(100)를 나타내는 블록도이다.
도 7을 참조하면, 거래 확정 신뢰도 산출 장치(100)는 모니터링부(110), 거래 확정 신뢰도 예측부(130) 및 거래 확정 신뢰도 확정부(150)를 포함하도록 구성될 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 7에 도시된 거래 확정 신뢰도 산출 장치의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
각 구성 요소를 살펴보면, 모니터링부(110)는 블록체인 네트워크를 구성하는 각각의 블록체인 노드의 블록체인 데이터에 대한 모니터링 정보를 실시간으로 획득한다. 이때, 상기 모니터링 정보는 블록체인 데이터 상에 형성된 분기에 관한 정보를 포함할 수 있다.
거래 확정 신뢰도 예측부(130)는 모니터링부(110)가 제공하는 제1 시점의 분기에 관한 정보를 토대로 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 예측한다. 거래 확정 신뢰도 예측부(130)의 동작에 대한 자세한 설명은 도 9, 도 11 및 도 12를 참조하여 후술하도록 한다.
거래 확정 신뢰도 확정부(150)는 모니터링부(110)가 제공하는 제2 시점의 분기에 관한 정보를 토대로 거래 확정 신뢰도 예측부(130)에 의해 예측된 거래 확정 신뢰도를 조정하거나 확정한다. 즉, 거래 확정 신뢰도 확정부(150)는 상기 제1 시점의 분기에 관한 정보를 토대로 분기 발생 여부를 예측한 값과 상기 제2 시점의 실제 관측 정보와 비교하여 상기 예측된 거래 확정 신뢰도를 조정하거나 확정한다. 거래 확정 신뢰도 확정부(150)의 동작에 대한 자세한 설명은 도 13을 참조하여 후술하도록 한다.
도 7에 도시된 거래 확정 신뢰도 산출 장치(100)의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 8은 본 발명의 실시예에 따른 거래 확정 신뢰도 산출 장치(100)의 하드웨어 구성도이다.
도 8을 참조하면, 거래 확정 신뢰도 산출 장치(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 거래 확정 신뢰도 산출 소프트웨어(109a)를 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 8에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 8에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 거래 확정 신뢰도 산출 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 거래 확정 신뢰도 산출 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 거래 확정 신뢰도 산출 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 8에서 메모리(103)의 예시로 RAM이 도시되었다.
버스(105)는 거래 확정 신뢰도 산출 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(107)는 거래 확정 신뢰도 산출 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(109)는 상기 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 8에서 상기 하나 이상의 프로그램(109a)의 예시로 거래 확정 신뢰도 산출 소프트웨어(109a)가 도시되었다.
스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
거래 확정 신뢰도 산출 소프트웨어(109a)는 후술할 거래 확정 신뢰도 산출 방법을 실행할 수 있다. 구체적으로, 거래 확정 신뢰도 산출 소프트웨어(109a)는 메모리(103)에 로드되어, 하나 이상의 프로세서(101)에 의해, 블록체인 데이터 상에 형성된 분기(branch)에 관한 정보를 획득하는 오퍼레이션, 상기 분기에 관한 정보를 기초로, 상기 블록체인 데이터의 현재 블록 높이에 해당하는 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 오퍼레이션 및 상기 블록 높이 차이를 기초로, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 오퍼레이션을 실행할 수 있다.
지금까지, 도 7 및 도 8을 참조하여 본 발명의 실시예에 따른 거래 확정 신뢰도 산출 장치(100)의 구성 및 동작에 대하여 설명하였다. 다음으로, 도 9 내지 도 13을 참조하여 본 발명의 또 다른 실시예에 따른 거래 확정 신뢰도 산출 방법에 대하여 상세하게 설명한다.
후술할 본 발명의 실시예에 따른 거래 확정 신뢰도 산출 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 거래 확정 신뢰도 산출 장치(100)일 수 있다. 다만, 설명의 편의를 위해, 상기 거래 확정 신뢰도 산출 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 거래 확정 신뢰도 산출 방법의 각 단계는 거래 확정 신뢰도 산출 소프트웨어(109a)가 프로세서(101)에 의해 실행됨으로써, 거래 확정 신뢰도 산출 장치(100)에서 수행되는 오퍼레이션일 수 있다.
도 9는 거래 확정 신뢰도 산출 방법의 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
먼저, 거래 확정 신뢰도 산출 장치(100)는 블록체인 데이터에 대한 제1 모니터링 정보 획득한다(S100). 여기서, 상기 제1 모니터링 정보는 블록체인 데이터 상에 형성된 분기에 관한 정보를 포함한다. 상기 분기에 관한 정보를 획득하는 방법은 어떠한 방식이 되더라도 무방하다. 예를 들어, 거래 확정 신뢰도 산출 장치(100)는 블록체인 네트워크 상에서 각각의 블록체인 노드에 탑재된 모니터링 에이전트로부터 블록체인 데이터의 체인 구조 정보를 수신하고, 상기 블록체인 데이터의 체인 구조 정보의 일치 여부를 검사하여, 상기 분기에 관한 정보를 획득할 수 있다. 또는, 모니터링 노드로부터 블록체인 네트워크 상에 전파되는 신규 블록을 실시간으로 수집하고, 상기 신규 블록의 번호 및 해시 값을 비교하여 상기 분기에 관한 정보를 획득할 수도 있다.
다음으로, 거래 확정 신뢰도 산출 장치(100)는 상기 분기에 관한 정보에 기초하여 대상 블록과 비분기 상태 블록과의 블록 높이 차이를 산출한다(S200). 여기서, 상기 블록 높이 차이는 대상 블록부터 더 이상 분기가 발생하지 않는 지점에 위치한 이전 블록(즉, 비분기 상태 블록)까지의 거리를 의미하는 것으로 이해될 수 있다. 블록 높이의 개념은 도 10을 참조하도록 하며, 이는 당해 기술 분야의 통상의 기술자에게 자명한 개념인 바, 이에 대한 설명은 생략하도록 한다.
상기 비분기 상태 블록은 분기 상태에 있지 않은 블록을 의미하며, 분기 상태에 있는 블록은 도 11에 도시된 바와 같이 동일한 블록 높이 또는 번호를 갖는 블록이 복수일 때, 상기 복수의 블록 각각은 분기 상태에 있는 블록으로 이해될 수 있다. 도 11에서, 각 점선이 관통하는 블록이 동일한 블록 높이 또는 번호를 갖는 블록을 의미한다.
도 11을 참조하여, 단계(S200)에 대하여 부연 설명하도록 한다.
대상 블록과 비분기 상태 블록과의 블록 높이 차이를 산출하기 위해, 먼저 상기 비분기 상태 블록의 위치가 결정되어야 한다. 이를 위해, 거래 확정 신뢰도 산출 장치(100)는 대상 블록(321)을 기준으로 이전 블록 방향으로 탐색을 수행하며, 각 블록이 분기 상태에 있는지 또는 비분기 상태에 있는지를 판정한다. 상기 판정은, 동일 블록 높이 또는 번호를 갖는 블록의 해시 값을 비교하는 방식으로 수행될 수 있다. 구체적으로, 상이한 해시 값을 갖는 블록의 개수가 1을 초과하는 경우, 해당 블록 높이에 해당하는 블록은 분기 상태에 있는 것으로 판정될 수 있다. 구체적인 예를 들어, 대상 블록(321)의 바로 이전 블록은 상이한 해시 값을 갖는 블록의 수가 "2"이므로 분기 상태에 있는 것으로 판정될 수 있고, 블록(311)은 상이한 해시 값을 갖는 블록의 수가 "1"이므로 비분기 상태 있는 것으로 판정될 수 있다. 여기서, 상기 해시 값은, 예를 들어, 각 블록에 포함된 이전 블록의 해시 값 또는 머클 루트 필드에 기록된 해시 값 등 어떠한 해시 값이 이용되더라도 무방하다.
거래 확정 신뢰도 산출 장치(100)는 동일 높이의 블록 중에서 상이한 해시 값을 갖는 블록의 개수가 기 설정된 횟수 이상 연속적으로 "1"이 되는 블록 구간(310)이 발견될 때까지 탐색을 수행한다. 또한, 거래 확정 신뢰도 산출 장치(100)는 블록 구간(310)에 포함된 블록 중에서, 최초로 탐색된 비분기 상태 블록(311)과 대상 블록과의 블록 높이 차이를 산출한다.
다시 도 9를 참조하면, 거래 확정 신뢰도 산출 장치(100)는 단계(S200)에서 산출된 블록 높이 차이를 기초로 거래 확정 신뢰도를 예측한다(S300).
본 발명의 실시예에 따르면, 상기 거래 확정 신뢰도는 포아송 분포(poisson distribution)에 기초하여 예측될 수 있다. 블록체인 네트워크에서 각 블록 생성 노드에 의해 수행되는 신규 블록 생성은 상호 독립적인 사건으로 포아송 분포를 따르게 된다. 동일한 이유로, 대상 블록을 기준으로 더 이상 분기가 발생하지 않는 비분기 상태 블록까지의 블록 높이 차이 또한 포아송 분포를 따르게 된다.
따라서, 거래 확정 신뢰도 산출 장치(100)는 포아송 분포를 가리키는 하기의 수학식 1과 누적 포아송 분포를 가리키는 수학식 2를 이용하여, 대상 블록 이후로 신규 블록이 추가됨에 따른 거래 확정 신뢰도를 예측할 수 있다. 자세하게는, k개의 신규 블록이 더 추가되는 경우, 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도는 1개의 신규 블록 추가에 따른 제1 거래 확정 확률 내지 k개의 신규 블록 추가에 따른 제k 거래 확정 확률의 누적 값이 될 것이므로, 하기 수학식 2에 따른 누적 포아송 분포에 기초하여 거래 확정 신뢰도가 산출된다. 또한, 각각의 거래 확정 확률은 하기의 수학식 1에 따라 산출된다.
하기의 수학식 1 및 2에서, λ는 포아송 분포의 모수를 가리키고, n은 상기 대상 블록 이후로 추가되는 블록의 개수를 가리킨다.
Figure 112017083519143-pat00001
Figure 112017083519143-pat00002
상기 수학식 1 및 상기 수학식 2를 이용하여, 거래 확정 신뢰도를 예측하기 위해서는, 포아송 분포의 모수가 선행적으로 결정되어야 한다.
일 실시예에서, 거래 확정 신뢰도 산출 장치(100)는 단계(S200)에서 산출된 블록 높이 차이를 모수로 하여 거래 확정 신뢰도를 산출할 수 있다.
다른 실시예에서, 거래 확정 신뢰도 산출 장치(100)는 도 12에 도시된 바와 같이 블록 시퀀스 번호의 평균을 모수로 하여 거래 확정 신뢰도를 예측할 수 있다. 여기서, 상기 블록 시퀀스 번호는 대상 블록을 기준으로 이전 블록 방향으로 부여되는 블록 번호를 의미한다.
도 12를 참조하여 구체적으로 살펴보면, 거래 확정 신뢰도 산출 장치(100)는 단계(S200)에서 산출된 블록 높이 차이를 기초로, 대상 블록(321)부터 비분기 상태(311)까지의 블록 구간에 포함된 블록 각각에 블록 시퀀스 번호를 부여할 수 있다. 상기 블록 시퀀스 번호는 도 12의 상단에 표시되어 있다. 다음으로, 거래 확정 신뢰도 산출 장치(100)는 상기 블록 각각에 부여된 블록 시퀀스 번호의 평균을 산출하고, 산출된 평균 값을 포아송 분포의 모수로 이용할 수 있다. 도 12의 경우, 블록 시퀀스 번호의 평균(AVG)이 "3"으로 산출되는 것을 확인할 수 있다.
다시 도 9를 참조하면, 거래 확정 신뢰도 산출 장치(100)는 블록체인 데이터에 대한 제2 모니터링 정보를 획득하고, 상기 제2 모니터링 정보를 기초로 거래 확정 신뢰도를 조정하거나 확정한다(S400, S500). 이때, 상기 제2 모니터링 정보는 제1 모니터링 정보가 획득된 시점 이후로 블록체인 데이터 상에 형성된 분기에 관한 정보를 포함한다.
즉, 거래 확정 신뢰도 산출 장치(100)는 단계(S500)에서 상기 제2 모니터링 정보에 포함된 실제 관측 정보를 토대로 단계(S300)에서 예측된 거래 확정 신뢰도 값을 조정하거나 확정한다. 이하, 단계(S500)에 대해서 도 13을 참조하여 부연 설명하도록 한다.
도 13은 거래 확정 신뢰도 조정 단계(S500)의 상세 흐름도이다.
도 13을 참조하면, 거래 확정 신뢰의 예측 값이 "100%"가 아닌 경우, 거래 확정 신뢰도 산출 장치(100)는 분기 발생 여부에 관계 없이 예측 값 그대로 거래 확정 신뢰도를 확정한다(S510, S570).
이와 반대로, 거래 확정 신뢰도의 예측 값이 "100%"인 경우, 거래 확정 신뢰도 산출 장치(100)는 상기 제2 모니터링 정보로부터 블록체인 데이터 상에 분기가 발생했는지 확인하고, 분기기 발생한 경우 거래 확정 신뢰도를 본래 예측 값보다 낮은 값으로 조정하여 확정한다(S530, S550). 보다 자세하게는, k개의 신규 블록이 추가되었을 때, 거래 확정 신뢰도의 예측 값이 "100%"였다면, 제2 모니터링 정보로부터 k개의 신규 블록이 추가되는 동안 분기가 발생한 경우, 거래 확정 신뢰도의 예측 값을 더 낮은 값으로 조정하게 된다. 즉, 단계(S530, S550)의 동작은 확률적으로 분기가 발생하지 않을 것으로 예측된 상황(즉, 거래 확정 신뢰도가 "100%")에서, 실제 관측 결과 분기가 발생한 경우 적절하게 거래 확정 신뢰도를 조정하는 동작으로 이해될 수 있다.
거래 확정 신뢰의 예측 값이 "100%"이고, 예측대로 분기가 발생하지 않은 경우는, 예측 값이 정확한 것이므로, 거래 확정 신뢰 산출 장치(100)는 예측 값 그대로 거래 확정 신뢰도를 확정한다(S530, S570).
한편, 본 발명의 실시예에 따르면, 거래 확정 신뢰도 산출 장치(100)는 대상 블록에 기록된 거래 데이터에 대하여, 역으로 거래 확정 신뢰도가 기준 값 이상이 되기 위해서는 몇 개의 신규 블록이 추가되어야 하는 지에 대한 정보를 제공할 수 있다. 예를 들어, 거래 확정 신뢰도 산출 장치(100)는 신규 블록의 개수 k의 값을 변경해가며, k개의 블록이 연결되는 경우 각각에 대한 거래 확정 신뢰도를 예측하고, 예측된 거래 확정 신뢰도가 상기 기준 값 이상이 되는 k 값을 결정함으로써, 추가되어야 하는 신규 블록의 개수인 k 값을 제공할 수 있다.
지금까지, 도 9 내지 도 13을 참조하여 본 발명의 또 다른 실시예에 따른 거래 확정 신뢰도 산출 방법에 대하여 설명하였다. 상술한 방법에 따르면, 포아송 분포에 기초하여 특정 거래 데이터가 기록된 블록 위치가 변경되지 않을 확률을 가리키는 거래 확정 신뢰도가 산출될 수 있다. 이에 따라, 특정 거래 데이터의 기록 위치 변경 여부에 대한 체계적인 예측 및 대응이 가능할 수 있다. 예를 들어, 거래 확정 신뢰도가 임계 값 이하인 경우, 상기 거래 확정 신뢰도가 상기 임계 값 이상이 될 때까지 해당 거래 데이터를 별도의 저장소에 보관하고, 상기 별도의 저장소에서 해당 거래 데이터를 조회함으로써, 블록 위치 변경에 따라 거래 정보 확인이 불가한 상황을 미연에 방지할 수 있다.
지금까지 도 5 내지 도 13을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. 거래 확정 신뢰도 산출 장치에 의해서 수행되는 블록체인 기반 거래에 대한 거래 확정 신뢰도 산출 방법에 있어서,
    블록체인 데이터 상에 형성된 분기(branch)에 관한 정보를 획득하는 단계;
    상기 분기에 관한 정보를 기초로, 상기 블록체인 데이터의 현재 블록 높이에 해당하는 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계; 및
    상기 블록 높이 차이를 기초로, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 단계를 포함하되,
    상기 거래 확정 신뢰도는,
    상기 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 거래 데이터가 기록된 블록의 위치가 변경되지 않을 확률을 가리키고,
    상기 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계는,
    상기 대상 블록의 이전 블록 방향으로, 동일 블록 높이를 갖는 블록 중에서 상이한 해시 값을 갖는 블록의 개수가 연속적으로 1이 되는 블록 구간을 탐색하는 단계;
    상기 블록 구간에 포함된 블록 중에서, 최초로 탐색된 노드를 상기 비분기 상태 블록으로 결정하는 단계; 및
    상기 대상 블록과 상기 결정된 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계를 포함하는,
    거래 확정 신뢰도 산출 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 단계는,
    상기 블록 높이 차이를 기초로, 포아송 분포(poission distribution)를 이용하여, 상기 거래 확정 신뢰도를 예측하는 단계를 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  4. 제3 항에 있어서,
    상기 포아송 분포를 이용하여, 상기 거래 확정 신뢰도를 예측하는 단계는,
    상기 블록 높이 차이를 기초로, 상기 대상 블록부터 상기 비분기 상태 블록까지의 블록 구간에 포함된 블록 각각에 블록 시퀀스 번호를 부여하는 단계;
    상기 블록 각각에 부여된 블록 시퀀스 번호의 평균을 산출하는 단계; 및
    상기 블록 시퀀스 번호의 평균이 모수(λ)로 설정된 포아송 분포를 이용하여, 상기 거래 확정 신뢰도를 예측하는 단계를 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  5. 제3 항에 있어서,
    상기 포아송 분포를 이용하여, 상기 거래 확정 신뢰도를 예측하는 단계는,
    상기 포아송 분포를 기초로, 상기 k개의 블록이 연결되는 경우에 대한 누적 확률을 산출하고, 상기 산출된 누적 확률을 상기 거래 확정 신뢰도로 예측하는 단계를 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  6. 제1 항에 있어서,
    상기 블록체인 데이터는 제1 블록체인 데이터이고,
    제2 블록체인 데이터 상에 형성된 분기에 관한 정보를 획득하되, 상기 제2 블록체인 데이터는 상기 제1 블록체인 데이터에 상기 k개의 블록이 더 연결된 블록체인 데이터인 것인, 단계; 및
    상기 제2 블록체인 데이터 상에 형성된 분기에 관한 정보를 기초로, 상기 산출된 거래 확정 신뢰도를 확정하는 단계를 더 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  7. 제6 항에 있어서,
    상기 산출된 거래 확정 신뢰도를 확정하는 단계는,
    상기 산출된 거래 확정 신뢰도가 100%이고, 상기 제2 블록체인 상에서, 상기 대상 블록 이후 분기가 형성된 경우, 상기 산출된 거래 확정 신뢰도를 현재 값보다 낮은 값으로 확정하는 단계를 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  8. 제6 항에 있어서,
    상기 산출된 거래 확정 신뢰도를 확정하는 단계는,
    상기 산출된 거래 확정 신뢰도가 100%이고, 상기 제2 블록체인 상에서, 상기 대상 블록 이후 분기가 형성되지 않은 경우, 상기 산출된 거래 확정 신뢰도를 현재 값으로 확정하는 단계를 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  9. 제6 항에 있어서,
    상기 산출된 거래 확정 신뢰도를 확정하는 단계는,
    상기 산출된 거래 확정 신뢰도가 100% 미만이면, 상기 산출된 거래 확정 신뢰도를 현재 값으로 확정하는 단계를 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  10. 제1 항에 있어서,
    상기 거래 확정 신뢰도를 산출하는 단계는,
    k의 값을 변경해가며, k개의 블록이 연결되는 경우 각각에 대한 거래 확정 신뢰도를 산출하는 단계를 포함하고,
    상기 거래 확정 신뢰도가 지정된 값 이상이 되는 k 값을 결정하는 단계를 더 포함하는 것을 특징으로 하는,
    거래 확정 신뢰도 산출 방법.
  11. 거래 확정 신뢰도 산출 장치에 의해서 수행되는 블록체인 기반 거래에 대한 거래 확정 신뢰도 산출 방법에 있어서,
    블록체인 데이터 상에 형성된 분기(branch)에 관한 정보를 획득하는 단계;
    상기 분기에 관한 정보를 기초로, 상기 블록체인 데이터의 현재 블록 높이에 해당하는 대상 블록과 분기 상태에 있지 않은 비분기 상태 블록과의 블록 높이 차이를 산출하는 단계; 및
    상기 블록 높이 차이를 기초로, 상기 대상 블록에 기록된 거래 데이터에 대한 거래 확정 신뢰도를 산출하는 단계를 포함하되,
    상기 거래 확정 신뢰도는,
    상기 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 거래 데이터가 기록된 블록의 위치가 변경되지 않을 확률을 가리키고,
    상기 분기에 관한 정보를 획득하는 단계는,
    대상 블록체인 네트워크 상에 전파되는 신규 블록을 실시간으로 수신하는 단계; 및
    상기 실시간으로 수신된 신규 블록의 번호 및 상기 신규 블록의 해시 값의 일치 여부를 비교하여, 상기 분기에 관한 정보를 생성하는 단계를 포함하는,
    거래 확정 신뢰도 산출 방법.
  12. 블록체인 네트워크를 구성하고, 블록체인 데이터를 분산 관리하며, 신규 블록을 생성하고, 상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 복수의 블록체인 노드;
    상기 블록체인 네트워크를 구성하고, 상기 블록체인 네트워크 상에서 전파되는 신규 블록을 실시간으로 모니터링하는 모니터링 노드; 및
    상기 모니터링 노드로부터, 실시간으로 신규 블록에 대한 정보를 수신하고, 상기 신규 블록에 대한 정보를 기초로 상기 블록체인 데이터 상의 분기 발생 상태를 모니터링하는 블록체인 네트워크 모니터링 장치를 포함하는 것을 특징으로 하는,
    블록체인 네트워크 모니터링 시스템.
  13. 제12 항에 있어서,
    상기 복수의 블록체인 노드는 복수의 제1 블록체인 노드 및 복수의 제2 블록체인 노드를 포함하고,
    상기 복수의 제1 블록체인 노드는 제1 네트워크 상에 위치하고, 상기 복수의 제2 블록체인 노드는 제2 네트워크 상에 위치하며,
    상기 제1 네트워크와 상기 제2 네트워크는 서로 다른 네트워크 환경으로 구성되되,
    상기 제1 네트워크 및 상기 제2 네트워크 간에 데이터 교환을 수행하는 브로커 노드를 더 포함하는 것을 특징으로 하는,
    블록체인 네트워크 모니터링 시스템.
  14. 제12 항에 있어서,
    상기 블록체인 네트워크 모니터링 장치는,
    상기 모니터링된 분기 발생 상태를 기초로, 현재 블록 높이에 해당하는 대상 블록에 기재된 거래 데이터에 대한 거래 확정 신뢰도를 산출하되,
    상기 거래 확정 신뢰도는,
    상기 대상 블록 이후로 k개(단, k는 1 이상의 자연수)의 블록이 더 연결됨에 따라, 상기 거래 데이터가 기록된 블록 위치가 변경되지 않을 확률을 가리키는 것을 특징으로 하는,
    블록체인 네트워크 모니터링 시스템.
KR1020170109258A 2017-04-05 2017-08-29 블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템 KR102303427B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/933,592 US10922692B2 (en) 2017-04-05 2018-03-23 Method for calculating confirmation reliability for blockchain based transaction and blockchain network monitoring system for performing the method
SG10201802605SA SG10201802605SA (en) 2017-04-05 2018-03-28 Method for calculating confirmation reliability for blockchain based transaction and Blockchain network monitoring system for performing the method
CN201810289278.3A CN108694587A (zh) 2017-04-05 2018-04-03 交易确定可信度计算方法及区块链网络监控系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170044313 2017-04-05
KR1020170044313 2017-04-05

Publications (2)

Publication Number Publication Date
KR20180113139A KR20180113139A (ko) 2018-10-15
KR102303427B1 true KR102303427B1 (ko) 2021-09-23

Family

ID=63865929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170109258A KR102303427B1 (ko) 2017-04-05 2017-08-29 블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템

Country Status (2)

Country Link
KR (1) KR102303427B1 (ko)
SG (1) SG10201802605SA (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102124440B1 (ko) * 2018-11-19 2020-06-18 (주)기술과가치 인공지능형 rm 블록체인모듈·스마트 tcv형 연구비관리중개모듈·클라우드 컴퓨팅 모듈·빅데이터 플랫폼제어모듈로 이루어진 abcd형 국가연구개발사업 일원화 연구비관리장치 및 방법
KR102214849B1 (ko) * 2018-12-28 2021-02-10 연세대학교 산학협력단 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
CN110046166B (zh) * 2019-04-22 2021-06-18 网易(杭州)网络有限公司 基于区块链的定时任务调度方法及装置
TWI706662B (zh) * 2019-04-24 2020-10-01 國際信任機器股份有限公司 用於鏈接資料的方法與裝置
CN110727712B (zh) * 2019-10-15 2021-06-04 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626276B1 (ko) * 2014-06-17 2016-06-01 어준선 디지털 화폐와 연동되어 디지털 컨텐츠를 생성, 제공, 재생하기 위한 방법, 이를 이용한 단말 및 컴퓨터 판독 가능한 기록 매체
KR101660627B1 (ko) * 2015-02-03 2016-09-28 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
KR101673073B1 (ko) * 2015-02-25 2016-11-04 이진희 블록체인 구조를 사용하는 암호화화폐 거래방법
KR101784219B1 (ko) 2016-06-15 2017-10-12 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nakamoto, Satoshi, "Bitcoin:A Peer-to-Peer Electronic Cash System"[Online] Bitcoin.org(URL: https://arxiv.org/pdf/1505.05343.pdf(Year:2015)*

Also Published As

Publication number Publication date
KR20180113139A (ko) 2018-10-15
SG10201802605SA (en) 2018-11-29

Similar Documents

Publication Publication Date Title
US10922692B2 (en) Method for calculating confirmation reliability for blockchain based transaction and blockchain network monitoring system for performing the method
KR102303427B1 (ko) 블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템
KR102153926B1 (ko) 네트워크 보안 강화 장치 및 그 방법
KR102384340B1 (ko) 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
EP3152867B1 (en) Proactive handling of network faults
CN107040439B (zh) 通信系统以及控制装置
US20190238582A1 (en) Computer network security assessment engine
WO2021057259A1 (zh) 平行链共识方法、设备及存储介质
KR102584292B1 (ko) 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성
Acheson et al. Modeling resilience in system of systems architecture
Thiruvady et al. Constraint programming and ant colony system for the component deployment problem
Liao et al. Last-hdfs: Location-aware storage technique for hadoop distributed file system
US20160366182A1 (en) Evaluation system
US20170034029A1 (en) Detecting proxy-based communications
KR102548200B1 (ko) 마이크로그리드 운영 장치
CN104363209A (zh) 一种密钥管理方法及装置
US20180365407A1 (en) Method for authenticating software
US20220270191A1 (en) System for automatically splitting smart contract
US20150134806A1 (en) Start-up control program, device, and method
KR20190113047A (ko) 블록체인 기반 시스템에서의 비결정적 데이터 생성 방법
KR102248991B1 (ko) 블록체인 네트워크의 이웃 노드 연결 제어 장치, 방법 및 프로그램
CN110378692A (zh) 基于区块链的数据安全处理方法及装置
Mikic-Rakic et al. Software architectural support for disconnected operation in highly distributed environments
US20240036855A1 (en) METHOD AND SYSTEM FOR UPDATING IoT FIRMWARE USING CONSENSUS ALGORITHM OF BLOCKCHAIN
KR102013027B1 (ko) 피어 신뢰도 계산 방법 및 피어 평가 데이터의 업데이트 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant