KR20190124107A - 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법 - Google Patents

서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법 Download PDF

Info

Publication number
KR20190124107A
KR20190124107A KR1020180048201A KR20180048201A KR20190124107A KR 20190124107 A KR20190124107 A KR 20190124107A KR 1020180048201 A KR1020180048201 A KR 1020180048201A KR 20180048201 A KR20180048201 A KR 20180048201A KR 20190124107 A KR20190124107 A KR 20190124107A
Authority
KR
South Korea
Prior art keywords
subunit
network
master
nodes
blockchain
Prior art date
Application number
KR1020180048201A
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 KR1020180048201A priority Critical patent/KR20190124107A/ko
Publication of KR20190124107A publication Critical patent/KR20190124107A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 일반적으로 블록체인 시스템에서 다수의 참여자들 간에 블록체인 합의 처리를 수행하는 기술에 관한 것이다. 더욱 상세하게는, 본 발명은 홈네트워크와 같이 다수의 서브유닛 네트워크가 연결되어 형성되는 복합 네트워크 환경에서 효과적으로 블록체인 합의를 달성하기 위하여 개별 서브유닛 네트워크에 대해 마스터 노드를 선정하고 그 마스터 노드에 해당 서브유닛 네트워크의 크기에 대응하는 가중치를 할당한 후에 이들이 해당 서브유닛 네트워크에 대한 대표 노드로서 가중치 기반의 블록체인 합의 처리를 수행하는 기술에 관한 것이다. 본 발명에 따르면 블록체인에 참여하는 개별 노드의 컴퓨팅 부담(workload)을 감소시킬 수 있으며 블록체인 시스템의 성능을 높일 수 있다. 컴퓨팅 부담이 감소됨에 따라 기존에 설치되는 일반적인 저사양의 홈네트워크 장치들을 활용해서도 블록체인 시스템을 구축할 수 있는 장점이 있다.

Description

서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법 {method of processing weight-based blockchain consensus by master nodes of subunit networks}
본 발명은 일반적으로 블록체인 시스템에서 다수의 참여자들 간에 블록체인 합의 처리를 수행하는 기술에 관한 것이다.
더욱 상세하게는, 본 발명은 홈네트워크와 같이 다수의 서브유닛 네트워크가 연결되어 형성되는 복합 네트워크 환경에서 효과적으로 블록체인 합의를 달성하기 위하여 개별 서브유닛 네트워크에 대해 마스터 노드를 선정하고 그 마스터 노드에 해당 서브유닛 네트워크의 크기에 대응하는 가중치를 할당한 후에 이들이 해당 서브유닛 네트워크에 대한 대표 노드로서 가중치 기반의 블록체인 합의 처리를 수행하는 기술에 관한 것이다.
최근들어 비트코인이나 이더리움 등과 같은 암호화폐를 중심으로 블록체인 기술에 대한 관심이 커지고 있다. 블록체인(blockchain)은 일반적으로 퍼블릭 혹은 프라이빗 P2P 네트워크에서 개별적으로 발생되는 거래정보가 암호화되어 네트워크 참여자들 간에 해당 노드 수만큼 복제되어 분산 저장하는 공개 디지털 거래 장부(원장, ledger)라고 정의된다. 즉, 모든 참여자 노드(피어)에 거래 내역이 복제되어 분산 저장되는 장부(원장)가 블록체인의 요체이다.
블록체인 시스템에서는 네트워크 내의 모든 참여자가 공동으로 거래정보를 검증하고 기록, 보관하며 이러한 과정을 외부의 공인된 제3자(Trusted Third Party; TTP) 없이도 거래 기록의 무결성 및 신뢰성을 기술적으로 확보할 수 있다는 점이 특징이다. 이를 위해, 블록체인 기술은 해시, 전자서명, 데이터 암호화, 합의 등과 같은 여러가지 요소 기술들이 활용된다. 이들 기술을 통해 분산형 네트워크 인프라를 기반으로 다양한 응용서비스를 구현할 수 있는 잠재력이 있어 블록체인에 대한 관심은 최근 매우 커져가고 있다.
이중에서 블록체인 합의(blockchain consensus)는 탈중앙화 방식으로 동작하는 블록체인 시스템에서 신뢰도를 보장해주는 기술이다. 블록체인 시스템에서는 개별적으로 발생되는 거래정보가 미리 설정된 스케쥴에 따라 전체 노드(피어)에 전파되고 암호화되어 새롭게 블록을 생성하고, 그 새로운 블록이 블록체인에 결합되어 원장에 반영되는 작업이 끊임없이 진행된다. 이러한 과정에서 일정한 주기(예: 1분, 3분, 10분 등) 동안 새롭게 이루어진 여러 거래정보를 함께 묶어서 새로운 블록을 생성하고, 그 블록에 대해 신뢰도를 입증한 후에 기존의 블록체인에 연결하는 과정이 블록체인 합의라고 부른다.
블록체인에서는 신뢰 관계가 보장되지 않은 여러 노드들(nodes 또는 peers)이 모여 P2P 네트워크를 구성한다. 그런데, 이들의 신뢰도를 보장해주는 외부의 공인된 제3자(TPP)가 없기 때문에 블록체인 시스템에는 악의적인 노드가 섞여있을 수가 있다. 이처럼 악의적인 노드가 존재할 수 있음에도 불구하고 P2P 네트워크에서 전파되는 거래정보, 즉 블록(block) 내의 정보에 대한 신뢰도를 기술적으로 어떻게 보장할 것인지가 중요하다. 블록체인 분야에서는 이 과제를 '비잔틴 장군 문제(Byzantine General Problem)'라고 부른다.
이 과제를 해결하는 블록체인 합의 알고리즘이 몇가지 제시되었는데, 현재 제시된 블록체인 합의 알고리즘으로는 작업 증명(Proof of Work; PoW), 지분 증명(Proof of Stake; PoS), 중요도 증명(Proof of Importance; PoI), 프랙티컬 비잔틴 장애 허용(Practical Byzantine Fault Tolerance; PBFT), 비잔틴 장애 허용(BFT), 경과시간 증명(Proof of Elapsed Time; PoET), Bitcoin-NG, 샤딩(Sharding), 동의에 의한 합의(Consensus-by-bet) 등이 있다. 블록체인 합의를 설계하는 접근법에서 보면 누군가 어떤 작업을 완료하였을 때에 합의에 도달하는 방식도 있고 투표 기반으로 합의에 도달하는 방식도 있다.
비트코인을 중심으로 초기에는 작업 증명(PoW) 알고리즘이 활발히 실험되었는데 이 PoW 알고리즘은 컴퓨팅 자원 낭비가 심하고 상당히 비효율적이어서 실제 서비스에 적용하기에는 어려움이 있다. 그에 따라, 작업 증명의 문제점을 해결하고 실제 서비스에 활용할 수 있는 정도의 성능을 내는 여러가지 블록체인 합의 알고리즘이 제시되었으며 여러 분야에서 다양하게 테스트되고 있다. 이들은 아직 완성된 것은 아니며 블록체인을 적용하려고 하는 분야마다 각자의 네트워크 환경에 맞게 최적 설계를 위한 노력이 이루어지고 있다.
한편, 고속 IP 네트워크가 널리 보급됨에 따라 홈네트워크에 대한 관심이 커져가고 있다. 일반 주택이나 아파트를 기준으로 홈네트워크는 IP 셋톱박스나 홈게이트웨이, 홈 브리지, AV 라우터 등으로 이루어지는데, 이러한 홈네트워크 환경에서 블록체인 시스템을 구축하기 위한 기술이 기존에 제시된 바가 없다. 이때, 블록체인 합의 알고리즘을 어떻게 구성하는가가 전체 블록체인 시스템의 성능에 크게 영향을 미치기 때문에 홈네트워크 환경에 효과적으로 활용할 수 있는 블록체인 합의 알고리즘에 대한 기술개발이 요구된다.
본 발명의 목적은 일반적으로 블록체인 시스템에서 다수의 참여자들 간에 블록체인 합의 처리를 수행하는 기술을 제공하는 것이다.
특히, 본 발명의 목적은 홈네트워크와 같이 다수의 서브유닛 네트워크가 연결되어 형성되는 복합 네트워크 환경에서 효과적으로 블록체인 합의를 달성하기 위하여 개별 서브유닛 네트워크에 대해 마스터 노드를 선정하고 그 마스터 노드에 해당 서브유닛 네트워크의 크기에 대응하는 가중치를 할당한 후에 이들이 해당 서브유닛 네트워크에 대한 대표 노드로서 가중치 기반의 블록체인 합의 처리를 수행하는 기술을 제공하는 것이다.
상기의 목적을 달성하기 위한 본 발명에 따른 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법은, 다수의 노드들 간의 네트워크 코스트를 기준으로 복수의 서브유닛 네트워크(110 ~ 150)를 구성하는 제 0 단계; 각각의 서브유닛 네트워크(110 ~ 150)에서 가용 자원에 기초하여 마스터 노드를 선정하는 제 1 단계; 각각의 제너릭 노드(162, 172)가 자신의 거래정보에 관한 블록체인 합의 요청을 자신이 속하는 서브유닛 네트워크(160, 170)의 마스터 노드(161, 171)로 전달하는 제 2 단계; 복수의 마스터 노드들이 각자 자신이 속하는 서브유닛 네트워크에서 전달된 블록체인 합의 요청을 상호 전파하여 해당 블록체인 주기에서 신규 발생된 거래정보 집합을 생성하는 제 3 단계; 복수의 마스터 노드가 각자 자신이 속하는 서브유닛 네트워크의 크기에 대응하는 가중치 값을 획득하는 제 4 단계; 복수의 마스터 노드가 각자 자신의 가중치를 반영하여 거래정보 집합에 대한 승인 처리를 수행하고 해당 블록체인 주기에 대한 블록을 구성하여 마스터 노드들 간에 전파하는 제 5 단계; 복수의 마스터 노드가 그 구성된 블록을 각자 원장에 저장하는 제 6 단계;를 포함하여 구성된다.
이때, 제 1 단계는, 각각의 서브유닛 네트워크(110 ~ 150)에서 네트워크 장치들이 자신의 가용 자원을 산출하는 단계; 각각의 서브유닛 네트워크에서 마스터 노드 선출 과정을 개시하는 단계; 각각의 서브유닛 네트워크에서 마스터 후보노드가 마스터 선언 패킷을 브로드캐스트하는 단계; 해당 서브유닛 네트워크 내에서 미리 설정된 시간동안 마스터 선언 패킷이 추가로 브로드캐스트되지 않으면 마스터 후보노드를 서브유닛 네트워크에 대한 마스터 노드로 선정하는 단계; 해당 서브유닛 네트워크 내에서 미리 설정된 시간 내에 다른 마스터 후보노드로부터 마스터 선언 패킷이 추가로 브로드캐스트되면 가용 자원에 기초하여 마스터 후보노드들 중에서 해당 서브유닛 네트워크에 대한 마스터 노드를 선정하는 단계;를 포함하여 구성될 수 있다.
또한, 제 3 단계는, 복수의 마스터 노드(161, 171) 중 하나이상이 각자 자신이 속하는 서브유닛 네트워크(160, 170)에 속하는 제너릭 노드(162, 172)로부터 블록체인 합의 요청을 전달받아 수락하는 단계; 복수의 마스터 노드 중 하나이상이 각자 자신이 속하는 서브유닛 네트워크(160, 170)에서 전달받아 수락한 블록체인 합의 요청을 다른 마스터 노드들로 배달하는 단계; 복수의 마스터 노드가 다른 마스터 노드로부터 배달된 블록체인 합의 요청을 수락 및 응답함으로써 복수의 서브유닛 네트워크(160, 170)의 제너릭 노드에서 개별적으로 생성된 하나이상의 블록체인 합의 요청을 복수의 마스터 노드로 분산시키는 단계; 복수의 마스터 노드가 위 분산된 하나이상의 블록체인 합의 요청을 분석하여 복수의 서브유닛 네트워크(160, 170)에서 해당 블록체인 주기에 신규 발생된 거래정보 집합을 생성하는 단계;를 포함하여 구성될 수 있다.
또한, 제 4 단계는, 복수의 마스터 노드(161, 171)가 신규 발생된 거래정보 집합을 각자 자신이 속하는 서브유닛 네트워크(160, 170)의 제너릭 노드(162, 172)로 제공하는 단계; 제너릭 노드(162, 172)가 미리 설정된 체인연산을 거래정보 집합에 적용하고 그 체인연산 결과를 자신이 속하는 서브유닛 네트워크의 마스터 노드(161, 171)로 제공하는 단계; 복수의 마스터 노드(161, 171)가 자신이 속하는 서브유닛 네트워크의 제너릭 노드(162, 172)로부터 체인연산 결과를 수집하는 단계; 복수의 마스터 노드(161, 171)가 위 수집된 하나이상의 체인연산 결과로부터 자신의 가중치 값을 획득하는 단계;를 포함하여 구성될 수 있다.
또한, 제 5 단계는, 복수의 마스터 노드가 거래정보 집합에 대한 해시 연산을 수행하는 단계; 복수의 마스터 노드가 각자 자신의 가중치를 반영하여 중요도 증명 또는 투표 방식 합의를 수행하는 단계; 합의를 달성한 마스터 노드가 해시 연산 값과 합의 수행 결과에 기초하여 해당 블록체인 주기에 대한 블록을 구성하는 단계; 합의를 달성한 마스터 노드가 그구성된 블록을 다른 마스터 노드들에게 전달하는 단계;를 포함될 수 있다.
한편, 본 발명에 따른 컴퓨터프로그램은 하드웨어와 결합되어 이상과 같은 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법을 실행시키기 위하여 매체에 저장된 것이다.
본 발명에 따르면 블록체인에 참여하는 개별 노드의 컴퓨팅 부담(workload)을 감소시킬 수 있으며 블록체인 시스템의 성능을 높일 수 있다. 컴퓨팅 부담이 감소됨에 따라 기존에 설치되는 일반적인 저사양의 홈네트워크 장치들을 활용해서도 블록체인 시스템을 구축할 수 있는 장점이 있다.
[도 1]은 일반적인 복합 네트워크 환경을 개념적으로 나타내는 도면.
[도 2]는 본 발명에서 서브유닛 네트워크에 대해 마스터 노드를 선정하는 개념을 나타내는 도면.
[도 3]은 본 발명에서 마스터 노드에 의한 블록체인 합의 처리 방식을 개념적으로 나타내는 도면.
[도 4]는 본 발명에서 마스터 노드가 가중치 기반의 블록체인 합의 처리를 수행하는 구체적인 과정을 개념적으로 나타내는 블록도.
[도 5]는 본 발명에 따른 가중치 기반의 블록체인 합의 처리 방법의 전체 프로세스를 나타내는 순서도.
[도 6]은 본 발명에서 서브유닛 네트워크에 대한 마스터 노드 선정 과정의 일 예를 나타내는 순서도.
[도 7]은 본 발명에서 마스터 노드에 의한 가중치 기반의 블록체인 합의 과정의 일 예를 나타내는 순서도.
[도 8]은 본 발명에서 제너릭 노드가 수행하는 체인연산의 예를 나타내는 도면.
이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다.
[도 1]은 본 발명이 주목하는 복합 네트워크 환경을 개념적으로 나타내는 도면이고, [도 2]는 본 발명에서 서브유닛 네트워크에 대해 마스터 노드를 선정하는 개념을 나타내는 도면이다.
먼저 [도 1]을 참조하면 일반적인 복합 네트워크 환경이 개념적으로 제시되어 있다. 일반적으로 인터넷이라고 불리는 광대역 네트워크는 여러가지 네트워크 기술이 복합적으로 적용되어 있다. 랜(LAN), 와이파이(WiFi), 블루투스, 지그비 등을 이용하여 대략 수 km 이내를 커버하는 개별 단위 네트워크를 구성한다. 예를 들어, 아파트 단지 하나, 오피스 건물 하나, 상가건물 하나, 단독주택 단지를 커버하기 위한 네트워크 구성에 해당한다. 그리고, 이들 개별 단위 네트워크를 원거리 통신망(WAN)이나 중거리 통신망(MAN)을 이용하여 연결한다.
[도 1]은 이처럼 복잡한 네트워크 구성을 개념적으로 정리한 것이다. 앞서의 개별 단위 네트워크를 '서브유닛 네트워크(110 ~ 150)'라고 부르고 이들로 이루어진 전체 네트워크를 '복합 네트워크(100)'라고 부른다. 실제 운용되고 있는 네트워크 환경에 대해 네트워크 장치들 간의 물리적 연결을 구체적으로 살피면 굉장히 복잡하지만 개념적으로는 [도 1]과 같이 복합 네트워크(100)와 서브유닛 네트워크(110 ~ 150)로 모델링할 수 있다.
홈네트워크 시스템은 전형적으로 복합 네트워크(100)에 해당한다. 이때, 서브유닛 네트워크(110 ~ 150)는 설계자의 의도에 따라 유연하게 정의할 수 있다. 개별 댁 내의 네트워크 환경을 서브유닛 네트워크라고 모델링할 수도 있고, 아파트 한 층이나 한 동의 네트워크 환경, 또는 아예 아파트 단지 하나의 네트워크 환경을 서브유닛 네트워크라고 모델링할 수도 있다.
본 발명은 이와 같은 복합 네트워크 환경에서 블록체인 시스템을 효과적으로 동작시킬 수 있는 기술에 관한 것다. 특히, 블록체인 시스템이 동작함에 있어서 가장 높은 프로세싱 부담을 주는 블록체인 합의(blockchain consensus) 과정을 효과적으로 처리하는 기술에 관한 것이다.
이를 위해 본 발명에서는 [도 2]와 같이 서브유닛 네트워크(110 ~ 150)에 대해 마스터 노드(111 ~ 114, 121 ~ 171)를 선정하여 활용한다. 홈네트워크 등에서는 노드의 갯수가 엄청나게 많을 뿐만 아니라 그 중에는 성능이 낮은 노드들이 섞여 있기 마련이다. 모든 노드를 피어(peer)로서 블록체인 합의 과정에 참여시키면 블록체인 시스템 성능을 높이기가 곤란하다.
이에, 전체 네트워크를 복수의 서브유닛 네트워크(110 ~ 150)로 분할하고 이들 서브유닛 네트워크에 대해 마스터 노드(master node)(111 ~ 114, 121 ~ 171)를 선정하며 마스터 노드가 블록체인 합의 과정에서 해당 서브유닛 네트워크에 대해 더많은 역할을 수행하도록 구성한다. 본 명세서에서는 마스터 노드로 선정되지 못한 노드들을 제너릭 노드(generic node)라고 부른다. 일반적으로는 서브유닛 네트워크 별로 하나의 마스터 노드가 선정되는데, 소정의 임계기준을 넘어서는 복수의 노드를 마스터 노드로 선정하는 구현도 가능하다.
개념적으로 마스터 노드는 거래 원장을 저장하고 새로운 체인을 연결하는 저장공간을 확보하는 기능 및 각자의 서브유닛 네트워크에서 거래 내역을 수집하고 이들이 전체적으로 취합되어 이루어진 신규의 거래승인 내역과 기존의 체인을 연결하여 새로운 체인(거래 원장)을 생성하는 기능을 수행한다. 본 발명에서 마스터 노드(111 ~ 114, 121 ~ 171)의 의미 및 기능은 본 명세서의 관련 기재를 종합적으로 참고하여 파악되어야 한다.
이때, 복합 네트워크(100)에서 서브유닛 네트워크(110 ~ 150)를 구성하는 것은 미리 관리자에 의해 설정될 수도 있지만 네트워크를 구성하는 노드들이 자율적으로 수행하는 것이 더 바람직하다.
물리적으로 가까운 곳에 위치하고 양호한 네트워크 인프라를 통해 효과적으로 통신을 수행하는 노드들끼리 서로 식별하여 자율적으로 묶여서 서브유닛 네트워크를 구성하는 것이다. 이를 위해, 복합 네트워크(100)를 구성하는 다수의 노드들이 상호 간의 네트워크 코스트(network cost)를 기준으로 그룹화(grouping)을 수행하여 복수의 서브유닛 네트워크(110 ~ 150)를 구성한다. 이러한 과정을 노드들이 미리 설정된 일정, 예컨대 매일 정오에 수행하도록 미리 프로그래밍될 수 있다. 네트워크 코스트(네트워크 비용)는 노드들 간에 통신이 얼마나 효율적으로 수행될 수 있는지를 나타내는 수치인데, 예컨대 라운드트립 시간(roundtrip time), 핑 시간(ping time), 전송 경로 등이 될 수 있다.
또한, 마스터 노드는 관리자에 의해 설정되는 것이 아니라 각각의 서브유닛 네트워크(110 ~ 150) 내에 속하는 노드들 중에서 자율적으로 선정된다. 본 발명에서는 서브유닛 네트워크 단위로 네트워크 장치들이 가용 자원(유휴 연산능력, 전송자원)에 따라 하나이상의 마스터 노드를 선정하여 블록체인 합의 절차에서 우선권한을 부여한다. 마스터 노드는 해당 서브유닛 네트워크를 대표하여 다른 서브유닛 네트워크와 통신하고 데이터에 대한 송수신을 수행한다. 마스터 노드는 해당 서브유닛 네트워크에서 유휴 연산능력이나 네트워크 성능이 상대적으로 우수한 장치이므로 효율적인 네트워크 운영이 가능해진다. 반면, 제너릭 노드는 해당 서브유닛 네트워크 내에서 정보 공유 및 배포를 담당한다. 이처럼 본 발명은 노드들 간의 역할을 동적으로 정의하고 이에 따라 네트워크 운영을 효율화한다.
한편, 블록체인 기술에서는 합의 절차가 달성되었을 때에 각자의 역할 또는 노력에 대해 보상을 지급하는 것이 일반적이다. 일 실시예로, 마스터 노드에 대해서는 다른 서브유닛 네트워크와 통신 수행한 정도를 기준으로 보상하도록 구성하고 제너릭 노드에 대해서는 서브유닛 네트워크 내에서 정보 배포를 수행한 정도를 기준으로 보상하도록 구성될 수 있다.
[도 3]은 본 발명에서 마스터 노드(161, 171)에 의해 블록체인 합의 처리가 수행되는 방식을 개념적으로 나타내는 도면이고, [도 4]는 본 발명에서 마스터 노드(161, 171)가 가중치 기반의 블록체인 합의 처리를 수행하는 구체적인 과정을 개념적으로 나타내는 블록도이다.
먼저 [도 3]에는 설명의 편의를 위하여 2개의 서브유닛 네트워크(160, 170)만 도시하였다. 역시 설명의 편의를 위하여 하나의 서브유닛 네트워크에는 5개씩의 네트워크 장치들(노드)이 존재하는데 이들 중에서 노드 하나가 마스터 노드로 선정되고 나머지 4개의 노드는 제너릭 노드로 남게 된다. [도 3]에서는 서브유닛 네트워크(160, 170)에서 마스터 노드는 식별번호 (161, 171)로 나타내었고 제너릭 노드는 식별번호 (162, 172)로 나타내었다.
본 발명에서는 후술하는 바와 같이 블록체인 합의 과정에 제너릭 노드(162, 172)는 참여하지 않고 마스터 노드(161, 171)만 참여한다. 거래 이벤트가 마스터 노드(161, 162)에서 생성되는 경우에는 마스터 노드 자신이 해당 거래정보를 블록체인 합의 과정에 포함시키면 되므로 별달리 새로울 것이 없다. 반면, 거래 이벤트가 제너릭 노드(162, 172)에서 생성되는 경우에는 제너릭 노드 자신이 해당 거래정보를 다루지 못하고 마스터 노드(161, 171)가 대신 처리해줘야 하므로 일반적인 블록체인 합의 과정과는 상이하다. 이에, 본 명세서에서는 제너릭 노드에서 거래가 발생한 상황을 어떻게 처리할지에 대해 주로 살핀다.
[도 3], [도 4]를 참조하면, 제너릭 노드(162, 172) 측의 클라이언트 어플리케이션에서 거래 이벤트(예: 금융거래, 상품구매 등)가 이루어지면 제너릭 노드(162, 172)의 블록체인 소프트웨어가 자신의 클라이언트 어플리케이션으로부터 블록체인 합의 요청(리퀘스트)을 접수한다. 제너릭 노드(162, 172)는 자신이 블록체인 합의 처리를 수행하지 못하므로 자신이 속하는 서브유닛 네트워크(160, 170)의 마스터 노드(161, 171)로 블록체인 합의 요청을 전달한다.
이와 같은 일들은 여러 서브유닛 네트워크(160, 170)에서 개별적으로 시시각각 벌어진다. 그에 따라, 마스터 노드(161, 171)는 각자 자신이 속하는 서브유닛 네트워크(160, 170)에 함께 속하는 제너릭 노드(162, 172)로부터 블록체인 합의 요청을 전달받으며 이를 수락한다. 이때, '수락(accept)'의 의미는 마스터 노드(161, 171)가 블록체인 합의 과정을 대신 처리해주겠다는 표시이다. 이러한 과정은 서브유닛 네트워크 단위로 이루어지며, 결과적으로 마스터 노드(161, 171)에는 자신이 속하는 서브유닛 네트워크(160, 170)에서 발생된 거래 이벤트에 대한 블록체인 합의 요청이 모여들게 된다.
이어서, 복수의 마스터 노드(161, 171)는 각자에게 모여든 블록체인 합의 요청을 서로에게 전파하며 이를 통해 마스터 노드들이 복합 네트워크(100)에서 발생된 전체 블록체인 합의 요청들을 공유하게 된다. 블록체인 합의 과정은 일반적으로 미리 설정된 스케쥴(예: 15초)에 따라 주기적으로 수행되므로 이상의 과정을 통해 마스터 노드들을 해당 블록체인 주기에 복합 네트워크(100)에서 생성된 전체 블록체인 합의 요청들을 각자 보유하는 것이다. [도 3]에는 2개의 서브유닛 네트워크(160, 170) 간에 이루어지는 것처럼 도시되었으나 실제로는 복합 네트워크(100)를 구성하는 전체 서브유닛 네트워크에서 이루어진다.
이를 위해, 먼저 복수의 마스터 노드(161, 171)는 각자 자신이 속하는 서브유닛 네트워크(160, 170)에서 전달받아 수락한 블록체인 합의 요청을 다른 마스터 노드들로 배달(deliver)한다. 마스터 노드(161, 171)는 다른 마스터 노드가 배달한 블록체인 합의 요청을 특별한 이상이 없다면 수락(accept)하고 통신 확실성을 위해 잘 받았다고 응답(response)한다.
이처럼 마스터 노드들(161, 171)은 자신이 속하는 서브유닛 네트워크(160, 170)의 제너릭 노드(162, 172)에서 생성된 블록체인 합의 요청을 자신만 보유하는 것이 아니라 서로에게 분산시킨다. 이러한 과정을 반복 수행함으로써 마스터 노드들(161, 171)은 복합 네트워크(100)에서 생성된 블록체인 합의 요청들을 보유하게 되는 것이다.
마스터 노드들(161, 171)은 위 배달 및 분산 과정을 통해 각자 자신에게 도달한 하나이상의 블록체인 합의 요청을 분석한다. 블록체인 합의 요청에는 해당 블록체인 플랫폼 상에서 동작하는 클라이언트 어플리케이션의 거래 이벤트(예: 금융거래, 상품구매 등)가 반영되어 있으므로 마스터 노드들(161, 171)은 복수의 서브유닛 네트워크(160, 170)에서 해당 블록체인 주기에 신규 발생된 거래정보 집합을 생성할 수 있다.
블록체인 기술에 따르면 해당 블록체인 주기에 생성된 거래정보 집합을 P2P 네트워크의 피어들(peers)이 블록체인에 반영해야 한다. 본 발명에서는 복수의 마스터 노드들(161, 171)이 거래정보 집합에 대해 가중치 기반의 블록체인 합의를 통해 블록을 구성하고 블록체인에 반영하는 과정을 수행한다.
이를 위해, 먼저 마스터 노드들(161, 171)이 각자 자신이 속하는 서브유닛 네트워크(160, 170)의 크기에 대응하는 가중치 값을 획득한다. 이때, 서브유닛 네트워크의 크기를 나타내는 수치로는 해당 서브유닛 네트워크 내에 존재하는 제너릭 노드의 갯수가 양호하게 채택될 수 있다. 또한, 서브유닛 네트워크의 크기에 대응한다는 의미는 정확히 그 값이라는 뜻으로 한정되는 것은 아니고 서브유닛 네트워크의 크기에 따라 결과적으로 영향을 받는다는 개념이다.
일 실시예로서 다음의 과정을 통해 마스터 노드들(161, 171)이 각자 자신에 대한 가중치를 획득할 수 있다. 먼저, 마스터 노드들(161, 171)이 해당 블록체인 주기에 신규 생성된 거래정보 집합을 각자 자신이 속하는 서브유닛 네트워크(160, 170)의 제너릭 노드(162, 172)로 제공한다. 각각의 제너릭 노드(162, 172)는 미리 설정된 체인연산을 거래정보 집합에 적용하고 그 체인연산 결과를 자신이 속하는 서브유닛 네트워크의 마스터 노드(161, 171)로 제공한다. 이때, 제너릭 노드(162, 172)가 수행하는 체인연산은 [도 8]과 같은 미리 설정된 간단한 프로세스로 구현될 수 있는데, 본 명세서에서는 이를 한정하지 않는다. 마스터 노드들(161, 171)은 자신이 속하는 서브유닛 네트워크의 제너릭 노드(162, 172)로부터 체인연산 결과를 수집한 결과, 예컨대 합산치로부터 자신의 가중치 값을 획득할 수 있다. 제너릭 노드가 많은 서브유닛 네트워크일수록 마스터 노드가 더 많은 체인연산 결과를 수집할 수 있어 더 큰 가중치를 보유하게 된다.
이상의 과정을 통해 각각의 마스터 노드(161, 171)가 각자 자신이 속하는 서브유닛 네트워크(160, 170)의 크기에 대응하는 가중치 값을 획득하였다. 다음으로, 미리 설정된 스케쥴(예: 15초 마다)에 따른 블록체인 업데이트 시점이 되면 복수의 마스터 노드들(161, 171)이 각자 자신의 가중치를 반영하여 거래정보 집합에 대한 승인(confirmation) 처리를 수행한다.
일 실시예로서 다음의 과정을 통해 마스터 노드들(161, 171)이 거래정보 집합에 대한 승인 처리를 수행할 수 있다. 먼저, 마스터 노드들(161, 171)이 거래정보 집합에 대한 해시 연산을 수행한다. 일반적으로 블록체인 기술에서는 거래정보 기록에 대한 무결성을 보장하기 위해 해시 연산을 수행한다. 그리고 나서, 마스터 노드들(161, 171)이 각자 자신의 가중치를 반영하여 중요도 증명 또는 투표 방식 합의를 수행한다. 예를 들어, 중요도 증명에서는 중요도 스코어(Importance score)를 계산함에 있어서 위 획득된 가중치 값을 해당 마스터 노드가 보유하는 XEM 코인 값 설정에 반영할 수 있다. 또한, 투표 방식 합의에서는 마스터 노드들(161, 171)이 투표를 참여할 때에 가중치 값만큼 득표에 반영할 수 있다. 한편, 본 발명은 구체적인 합의 수학식 자체에 관한 것은 아니다.
이상의 과정을 통해 거래정보 집합에 대한 승인이 이루어지면 블록체인 합의에 도달한 것이다. 해당 합의를 달성한 마스터 노드(예: 121)는 해시 연산 값과 합의 수행 결과에 기초하여 해당 블록체인 주기에 대한 블록을 구성한다. 그 블록은 일반적으로는 거래정보 집합을 반영한 데이터를 포함한다. 그리고 나서, 해당 합의를 달성한 마스터 노드(예: 121)는 그 구성된 블록을 다른 마스터 노드들(111 ~ 114, 131 ~ 171)에게 전달하여 전파시킨다.
마지막으로, 마스터 노드들이 그 구성된 블록을 각자 원장에 저장하면 블록체인 합의 절차는 완료된다. 본 발명에서는 마스터 노드(161, 171)만 참여하고 제너릭 노드(162, 172)는 참여하지 않으므로 원장도 마스터 노드(161, 171)가 저장하고 제너릭 노드(162, 172)는 저장하지 않도록 구성할 수 있다. 이때, 제너릭 노드(162, 172)는 자신이 속한 서브유닛 네트워크(160, 170)의 마스터 노드(161, 171)에 요청하여 원장을 액세스할 수 있다. 이때, 제너릭 노드(162, 172)가 저장공간을 갖추고 있어 원장을 전달받아 저장하도록 구성될 수도 있다.
[도 5]는 본 발명에 따른 가중치 기반의 블록체인 합의 처리 방법의 전체 프로세스를 나타내는 순서도이다. 본 발명에 따른 블록체인 합의 과정에 대해서는 [도 2] 내지 [도 4]를 참조하여 상세하게 전술하였으므로, [도 5]에서는 프로세스의 측면에서 간략하게 정리한다.
단계 (S100) : 먼저, 복합 네트워크(100)를 구성하는 다수의 노드들이 상호 간의 네트워크 코스트(예: 라운드트립 시간, 핑 시간, 전송 경로 등)를 기준으로 복수의 서브유닛 네트워크(110 ~ 150)를 구성한다. 본 발명에서 서브유닛 네트워크(110 ~ 150)는 네트워크 상황을 반영하여 동적으로 구성되는 것이 바람직하지만 관리자에 의해 설정되는 구현도 가능하다.
단계 (S110) : 각각의 서브유닛 네트워크(110 ~ 150)에서 노드들이 가용 자원(예: 유휴 연산능력, 전송자원)에 기초하여 마스터 노드(111 ~ 114, 121 ~ 151)를 초기 선정한다. 각 서브유닛 네트워크를 대표하여 블록체인 합의 과정에서 많은 역할을 담당할 마스터 노드를 가급적 고성능 장치로 선정하는 것이다. 또한, 가용 자원이 많은 네트워크 장치를 해당 서브유닛 네트워크에서 중요도가 높은 노드라고 취급하는 것인데, 홈네트워크 등에서 네트워크 트래픽을 많이 처리해야 하는 장치에 대해 고성능 프로세서를 설치하기 때문에 경험적으로 타당하다. 마스터 노드는 해당 서브유닛 네트워크를 대표하여 다른 서브유닛 네트워크와 통신하고 블록체인 관련 데이터에 대한 송수신을 수행한다. 반면, 제너릭 노드는 해당 서브유닛 네트워크 내에서 정보 공유 및 배포를 담당한다.
한편, 단계 (S110)에서 '초기 선정'한다는 용어의 의미는 마스터 노드가 서브유닛 네트워크 내에서 상황에 따라 재선정되는 구성도 가능하다는 취지를 나타내기 위해 사용되었다.
단계 (S120) : 제너릭 노드 측의 클라이언트 어플리케이션에서 거래 이벤트(예: 금융거래, 상품구매 등)가 이루어지면 해당 제너릭 노드(162, 172)가 자신의 거래정보에 관한 블록체인 합의 요청(리퀘스트)을 자신이 속하는 서브유닛 네트워크(160, 170)의 마스터 노드(161, 171)로 전달한다.
단계 (S130) : 마스터 노드들(111 ~ 114, 121 ~ 171)이 각자 자신이 속하는 서브유닛 네트워크에서 전달된 블록체인 합의 요청을 상호 전파하며 이를 통해 해당 블록체인 주기에서 신규 발생된 거래정보 집합을 생성한다.
단계 (S140) : 마스터 노드들(111 ~ 114, 121 ~ 171)은 각자 자신이 속하는 서브유닛 네트워크의 크기에 대응하는 가중치 값을 획득한다. 이때, 서브유닛 네트워크의 크기를 나타내는 수치로는 해당 서브유닛 네트워크 내에 존재하는 제너릭 노드의 갯수가 양호하게 채택될 수 있다.
단계 (S150, S160) : 마스터 노드들(111 ~ 114, 121 ~ 171)이 각자 자신의 가중치 값을 반영하여 중요도 증명 또는 투표 방식 합의를 통해 거래정보 집합에 대한 승인 처리를 수행하고 해당 블록체인 주기에 대한 블록을 구성하여 마스터 노드들(111 ~ 114, 121 ~ 171) 간에 전파한다. 마지막으로, 마스터 노드들(111 ~ 114, 121 ~ 171)이 그 구성된 블록을 각자 원장에 저장한다.
[도 6]은 본 발명에서 서브유닛 네트워크에서 네트워크 장치들이 자율적으로 마스터 노드를 선정하는 일 예를 나타내는 순서도이다. 이때, [도 6]의 과정은 [도 5]의 전체 프로세스에서 단계 (S110)에 대응한다.
단계 (S200) : 먼저, 각각의 서브유닛 네트워크(110 ~ 150)에서 네트워크 장치들이 미리 설정된 기준에 따라 자신의 가용 자원을 산출한다. 이러한 가용 자원의 기준으로서 바람직하게는 유휴 연산능력이나 전송자원(네트워크 성능)이 채택될 수 있다. 블록체인에서 복잡한 연산이나 데이터 송수신을 가용 자원이 많은 노드가 수행하도록 함으로써 효율적인 운영을 도모한다.
단계 (S210) : 각각의 서브유닛 네트워크(110 ~ 150)에서 마스터 노드 선출 과정을 개시한다. 마스터 노드 선출 과정은 미리 설정된 일정에 따라 수행하도록 구성할 수도 있고 개별 서브유닛 네트워크 내에서 노드가 추가 또는 삭제될 때마다 수행하도록 구성될 수도 있다.
이하의 과정은 서브유닛 네트워크 단위에서 가용 자원이 충분히 많은 노드, 바람직하게는 가용 자원이 가장 많은 노드를 마스터 노드로 선정하는 과정의 일 예를 나타낸다. 이러한 목적만 달성될 수 있다면 아래의 단계 (S220) 내지 (S250) 외에도 다양한 구현예가 가능하다.
단계 (S220) : 각각의 서브유닛 네트워크(110 ~ 150)에서 마스터 후보노드가 마스터 선언 패킷을 브로드캐스트한다. 미리 설정된 임계치 이상의 가용 자원을 갖는 노드가 자신이 해당 서브유닛 네트워크의 마스터 노드가 되겠다고 선언하는 것이며, 이 노드를 마스터 후보노드라 부른다.
단계 (S230, S240) : 해당 서브유닛 네트워크 내에서 미리 설정된 시간동안 마스터 선언 패킷이 추가로 브로드캐스트되지 않으면 임계치 이상의 가용 자원을 갖는 노드가 하나밖에 없는 것이므로 위 마스터 후보노드를 서브유닛 네트워크에 대한 마스터 노드로 선정한다.
단계 (S250) : 반면, 해당 서브유닛 네트워크 내에서 미리 설정된 시간 내에 다른 마스터 후보노드로부터도 마스터 선언 패킷이 추가로 브로드캐스트되는 경우에는 여러 노드가 경합하는 것이므로 가용 자원에 기초하여 마스터 후보노드들 중에서 마스터 노드를 선정한다. 바람직하게는 각자의 가용 자원을 제시하고 마스터 후보노드들 중에서 가용 자원이 가장 큰 노드를 해당 서브유닛 네트워크에 대한 마스터 노드로 선정할 수 있다.
[도 7]은 본 발명에서 마스터 노드에 의한 가중치 기반의 블록체인 합의 과정의 일 예를 나타내는 순서도이다. 이때, [도 7]의 과정은 [도 5]의 전체 프로세스에서 단계 (S130) 내지 (S150)에 대응한다.
단계 (S300) : 먼저, 마스터 노드들(111 ~ 114, 121 ~ 171)이 해당 블록체인 주기에서 신규 생성된 거래정보 집합에 대해 해시 연산을 수행한다. 일반적으로 블록체인 기술에서는 거래정보 기록에 대한 무결성을 보장하기 위해 해시 연산을 수행하는데, 본 발명에서도 이 과정을 수행하는 것이다.
단계 (S310) : 마스터 노드들(111 ~ 114, 121 ~ 171)이 각자 자신의 가중치를 반영하여 중요도 증명 또는 투표 방식 합의를 수행한다. 예를 들어, 중요도 증명에서는 중요도 스코어(Importance score)를 계산함에 있어서 위 획득된 가중치 값을 해당 마스터 노드가 보유하는 XEM 코인 값 설정에 반영할 수 있다. 또한, 투표 방식 합의에서는 마스터 노드들(161, 171)이 투표를 참여할 때에 가중치 값만큼 득표에 반영할 수 있다.
단계 (S320, S330) : 이상의 과정을 통해 거래정보 집합에 대한 승인이 이루어지면 블록체인 합의에 도달한 것이다. 해당 합의를 달성한 마스터 노드(예: 121)가 해시 연산 값과 합의 수행 결과에 기초하여 해당 블록체인 주기에 대한 블록을 구성한다. 블록체인 기술에서 블록(block)의 내부 필드 구성(field configuration)은 각자 구현목적에 따라 다양하게 정의될 수 있는데, 본 발명은 블록의 필드 생성에 관한 발명은 아니므로 이에 대한 설명은 생략한다. 이어서, 해당 합의를 달성한 마스터 노드(예: 121)는 그 구성된 블록을 다른 마스터 노드들(111 ~ 114, 131 ~ 171)에게 전달하여 전파시킨다.
참고로, 단계 (S160)을 참조하여 전술한 바와 같이, 단계 (S330)을 수행한 이후에 그 구성된 블록을 수신한 다른 마스터 노드들(111 ~ 114, 131 ~ 171)이 그 구성된 블록을 각자 원장에 저장한다.
한편, 본 발명은 컴퓨터가 읽을 수 있는 비휘발성 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현되는 것이 가능하다. 이러한 비휘발성 기록매체로는 다양한 형태의 스토리지 장치가 존재하는데 예컨대 하드디스크, SSD, CD-ROM, NAS, 자기테이프, 웹디스크, 클라우드 디스크 등이 있고 네트워크로 연결된 다수의 스토리지 장치에 코드가 분산 저장되고 실행되는 형태도 구현될 수 있다. 또한, 본 발명은 하드웨어와 결합되어 특정의 절차를 실행시키기 위하여 매체에 저장된 컴퓨터프로그램의 형태로 구현될 수도 있다.
100 : 복합 네트워크
110 ~ 170 : 서브유닛 네트워크
111 ~ 114, 121, 131, 141, 151, 161, 171 : 마스터 노드
162, 172 : 제너릭 노드

Claims (7)

  1. 복수의 서브유닛 네트워크(110 ~ 150)로 이루어진 복합 네트워크 환경에서 블록체인 합의 처리를 수행하기 위한 방법으로서,
    각각의 서브유닛 네트워크(110 ~ 150)에서 가용 자원에 기초하여 마스터 노드를 선정하는 제 1 단계;
    각각의 제너릭 노드(162, 172)가 자신의 거래정보에 관한 블록체인 합의 요청을 자신이 속하는 서브유닛 네트워크(160, 170)의 마스터 노드(161, 171)로 전달하는 제 2 단계;
    복수의 마스터 노드들이 각자 자신이 속하는 서브유닛 네트워크에서 전달된 블록체인 합의 요청을 상호 전파하여 해당 블록체인 주기에서 신규 발생된 거래정보 집합을 생성하는 제 3 단계;
    상기 복수의 마스터 노드가 각자 자신이 속하는 서브유닛 네트워크의 크기에 대응하는 가중치 값을 획득하는 제 4 단계;
    상기 복수의 마스터 노드가 각자 자신의 가중치를 반영하여 상기 거래정보 집합에 대한 승인 처리를 수행하고 해당 블록체인 주기에 대한 블록을 구성하여 상기 마스터 노드들 간에 전파하는 제 5 단계;
    상기 복수의 마스터 노드가 상기 구성된 블록을 각자 원장에 저장하는 제 6 단계;
    를 포함하여 구성되는 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법.
  2. 청구항 1에 있어서,
    상기 제 1 단계 이전에 수행되는,
    다수의 노드들 간의 네트워크 코스트를 기준으로 복수의 서브유닛 네트워크(110 ~ 150)를 구성하는 단계;
    를 더 포함하여 구성되는 것을 특징으로 하는 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법.
  3. 청구항 1에 있어서,
    상기 제 1 단계는,
    각각의 서브유닛 네트워크(110 ~ 150)에서 네트워크 장치들이 자신의 가용 자원을 산출하는 단계;
    각각의 서브유닛 네트워크에서 마스터 노드 선출 과정을 개시하는 단계;
    각각의 서브유닛 네트워크에서 마스터 후보노드가 마스터 선언 패킷을 브로드캐스트하는 단계;
    해당 서브유닛 네트워크 내에서 미리 설정된 시간동안 마스터 선언 패킷이 추가로 브로드캐스트되지 않으면 상기 마스터 후보노드를 상기 서브유닛 네트워크에 대한 마스터 노드로 선정하는 단계;
    해당 서브유닛 네트워크 내에서 미리 설정된 시간 내에 다른 마스터 후보노드로부터 마스터 선언 패킷이 추가로 브로드캐스트되면 가용 자원에 기초하여 상기 마스터 후보노드들 중에서 해당 서브유닛 네트워크에 대한 마스터 노드를 선정하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법.
  4. 청구항 1에 있어서,
    상기 제 3 단계는,
    복수의 마스터 노드(161, 171) 중 하나이상이 각자 자신이 속하는 서브유닛 네트워크(160, 170)에 속하는 제너릭 노드(162, 172)로부터 블록체인 합의 요청을 전달받아 수락하는 단계;
    상기 복수의 마스터 노드 중 하나이상이 각자 자신이 속하는 서브유닛 네트워크(160, 170)에서 전달받아 수락한 상기 블록체인 합의 요청을 다른 마스터 노드들로 배달하는 단계;
    상기 복수의 마스터 노드가 다른 마스터 노드로부터 배달된 블록체인 합의 요청을 수락 및 응답함으로써 상기 복수의 서브유닛 네트워크(160, 170)의 제너릭 노드에서 개별적으로 생성된 하나이상의 블록체인 합의 요청을 상기 복수의 마스터 노드로 분산시키는 단계;
    상기 복수의 마스터 노드가 상기 분산된 하나이상의 블록체인 합의 요청을 분석하여 상기 복수의 서브유닛 네트워크(160, 170)에서 해당 블록체인 주기에 신규 발생된 거래정보 집합을 생성하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법.
  5. 청구항 4에 있어서,
    상기 제 4 단계는,
    상기 복수의 마스터 노드(161, 171)가 상기 신규 발생된 거래정보 집합을 각자 자신이 속하는 서브유닛 네트워크(160, 170)의 제너릭 노드(162, 172)로 제공하는 단계;
    상기 제너릭 노드(162, 172)가 미리 설정된 체인연산을 상기 거래정보 집합에 적용하고 그 체인연산 결과를 자신이 속하는 서브유닛 네트워크의 마스터 노드(161, 171)로 제공하는 단계;
    상기 복수의 마스터 노드(161, 171)가 자신이 속하는 서브유닛 네트워크의 제너릭 노드(162, 172)로부터 상기 체인연산 결과를 수집하는 단계;
    상기 복수의 마스터 노드(161, 171)가 상기 수집된 하나이상의 체인연산 결과로부터 자신의 가중치 값을 획득하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법.
  6. 청구항 5에 있어서,
    상기 제 5 단계는,
    상기 복수의 마스터 노드가 상기 거래정보 집합에 대한 해시 연산을 수행하는 단계;
    상기 복수의 마스터 노드가 각자 자신의 가중치를 반영하여 중요도 증명 또는 투표 방식 합의를 수행하는 단계;
    상기 합의를 달성한 마스터 노드가 상기 해시 연산 값과 상기 합의 수행 결과에 기초하여 해당 블록체인 주기에 대한 블록을 구성하는 단계;
    상기 합의를 달성한 마스터 노드가 상기 구성된 블록을 다른 마스터 노드들에게 전달하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법.
  7. 하드웨어와 결합되어 청구항 1 내지 6 중 어느 하나의 항에 따른 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램.
KR1020180048201A 2018-04-25 2018-04-25 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법 KR20190124107A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180048201A KR20190124107A (ko) 2018-04-25 2018-04-25 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180048201A KR20190124107A (ko) 2018-04-25 2018-04-25 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법

Publications (1)

Publication Number Publication Date
KR20190124107A true KR20190124107A (ko) 2019-11-04

Family

ID=68578389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180048201A KR20190124107A (ko) 2018-04-25 2018-04-25 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법

Country Status (1)

Country Link
KR (1) KR20190124107A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114625802A (zh) * 2022-03-15 2022-06-14 北京广元科技有限公司 基于能源区块链的高并发交易优化方法和***
CN117499017A (zh) * 2023-12-31 2024-02-02 湖南天河国云科技有限公司 区块链网络传输方法、***及存储介质和终端设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114625802A (zh) * 2022-03-15 2022-06-14 北京广元科技有限公司 基于能源区块链的高并发交易优化方法和***
CN117499017A (zh) * 2023-12-31 2024-02-02 湖南天河国云科技有限公司 区块链网络传输方法、***及存储介质和终端设备
CN117499017B (zh) * 2023-12-31 2024-03-22 湖南天河国云科技有限公司 区块链网络传输方法、***及存储介质和终端设备

Similar Documents

Publication Publication Date Title
Salimitari et al. A survey on consensus protocols in blockchain for IoT networks
Salimitari et al. A survey on consensus methods in blockchain for resource-constrained IoT networks
CN110868308B (zh) 一种区块链网络接入方法及***
CN109447795B (zh) 一种支持快速达成最终确认性的拜占庭共识方法
Yu et al. Proof-of-QoS: QoS based blockchain consensus protocol
CN112232822B (zh) 区块链网络的交易处理方法、节点、设备及存储介质
Hamdaoui et al. IoTShare: A blockchain-enabled IoT resource sharing on-demand protocol for smart city situation-awareness applications
JP2019536108A (ja) データをビザンチン障害耐性複製する方法及びシステム
CN112861172B (zh) 基于pbft共识机制的对称可搜索加密方法
CN113395363A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
JP2022523447A (ja) ブロックチェーンネットワークにおいてロールベース合意プロトコルを使用してリーダーノードを選出する方法
CN113726913B (zh) 骨干节点接入方法和区块链***
Guo et al. A hierarchical and location-aware consensus protocol for IoT-blockchain applications
Sallal et al. Security and performance evaluation of master node protocol based reputation blockchain in the bitcoin network
Putra et al. Toward blockchain-based trust and reputation management for trustworthy 6G networks
KR20190124107A (ko) 서브유닛 네트워크에서 선정된 마스터 노드에 의한 가중치 기반의 블록체인 합의 처리 방법
KR20210077176A (ko) 뉴럴 블록 클러스터 기반의 안전한 블록 체인 네트워크 시스템
Zeydan et al. Blockchain-Based Self-Sovereign Identity for Federated Learning in Vehicular Networks
Zhang et al. HCA: Hashchain-based consensus acceleration via re-voting
Mershad et al. Lightweight blockchain solutions: Taxonomy, research progress, and comprehensive review
Wu et al. Reinforced practical Byzantine fault tolerance consensus protocol for cyber physical systems
CN105956490A (zh) 一种在网络环境中生成、维护可信数据的方法
da Costa et al. Securing light clients in blockchain with DLCP
Wu et al. Blockchain consensus mechanism for distributed energy transactions
CN117675216A (zh) 一种数据处理方法及相关设备

Legal Events

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