KR102553441B1 - 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크 - Google Patents

경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크 Download PDF

Info

Publication number
KR102553441B1
KR102553441B1 KR1020210129856A KR20210129856A KR102553441B1 KR 102553441 B1 KR102553441 B1 KR 102553441B1 KR 1020210129856 A KR1020210129856 A KR 1020210129856A KR 20210129856 A KR20210129856 A KR 20210129856A KR 102553441 B1 KR102553441 B1 KR 102553441B1
Authority
KR
South Korea
Prior art keywords
representative
node
blockchain network
selection
selecting
Prior art date
Application number
KR1020210129856A
Other languages
English (en)
Other versions
KR20230046644A (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 KR1020210129856A priority Critical patent/KR102553441B1/ko
Publication of KR20230046644A publication Critical patent/KR20230046644A/ko
Application granted granted Critical
Publication of KR102553441B1 publication Critical patent/KR102553441B1/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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • 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/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/3674Payment 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 involving authentication
    • 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/3676Balancing accounts
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법은, 블록체인 네트워크의 대표자 및 후보자 선정 수행을 개시하는 단계; 블록체인 네트워크를 구성하는 각 노드들에서 랜덤값으로 입찰을 수행하는 단계; 입찰 참여율을 포함한 입찰 유효성을 확인하는 단계; 입찰이 마감되면 투찰값들중 최대값 및 최소값을 제외시키는 단계; 및 선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하는 단계를 포함할 수 있다.

Description

경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크{REPRESENTATIVE AND CANDITATE SELECTION METHOD OF BLOCKCHAIN NETWORK USING COMTITIVE BIDDING AND BLOCKCHAIN NETWORK}
본 발명은 경쟁입찰 방식을 활용한 전용망 트랜잭션 고속 합의 기법이 적용된 블록체인 네트워크의 대표자 노드 및 후보자 노드의 선정 방법 및 이를 수행하는 노드들로 이루어진 블록체인 네트워크에 관한 것이다.
비트코인 등 암호화폐가 세계 경제에 큰 축을 이루면서 블록체인에 관한 관심이 급증하였고, 관련 기술 개발 및 다양한 플랫폼들이 상용화되기에 이르렀다. 이에, 블록체인을 활용한 더 많은 서비스가 발굴되고, 요구사항이 증가하면서 블록체인의 근본적인 문제들이 제기되기 시작했는데 그중에서 가장 중요한 요소가 바로 성능(속도)이다. 현재 공식적인 비트코인의 속도는 초당 7개 트랜잭션을 처리하는 수준인 7TPS(Transaction Per Second), 이더리움은 약 20TPS 수준이며, 상대적으로 빠른 EOS도 3,000TPS 수준을 파악되면서 일상생활에서 요구되는 수만 TPS 요구사항을 맞추기 어려운 상황이다. 따라서 블록체인의 성패를 결정짓는 가장 큰 요인 중 하나가 바로 속도 문제이다.
블록체인의 속도를 향상시킬 수 있는 방법은 여러 가지가 있으며, 가장 일반적인 방식이 블록생성 주체를 빠르고 공정하게 결정하는 데 있다. 다르게 표현하면 Primary Node(대표자)라고 불리는 블록 생성자를 어떻게 선정하느냐에 따라 블록생성의 속도와 직결되기 때문에 Primary Node를 선정하는 방법, 또는 블록체인 합의 방법에 대해 다양한 아이디어와 기술들이 개발되고 있다.
현재까지 제시된 몇 가지 방안 中 대표적인 방법과 관련 기술을 소개하면 다음과 같다.
첫째, ‘블록체인 합의 방법 및 디바이스’에서는 서비스마다 특화된 합의 기법을 다양화시키고 합의를 무작위로 처리하는 방안을 제시하였으나, 신규 합의 기법을 제안하기보다는 PoW(Proof of Work), PoS(Proof of Stake) 등 기존 합의 기법을 상황에 따라 선택하는 방안을 제시하였다.
둘째, ‘계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의 과정과 대가 배분 과정을 가지는 블록체인 생성 방법’은 구체적인 로직보다는 무작위적인 확률에 의존한 랜덤 선택 방안을 제시하고 있다.
셋째, ‘난스를 이용한 합의 노드 선택 방법 및 그것을 이용한 블록체인 생성 방법 및 장치’는 랜덤값(난스)을 기준으로 블록 생성자 후보군을 구성하고 투표로 최종 생성자를 결정하는 방식으로 합의 기법의 무작위성 확보 방안을 제안하고 있다.
넷째, ‘블록체인 기반의 합의 알고리즘에서 대표자 선정방법’에서는 단순히 무작위로 대표자를 선정하는 것이 바람직한 합의 방식이라고 제안하고 있다.
그 외에 다수의 문헌에서 대표자를 선정하는 방안을 제시하고 있으나 기존의 에너지 소모 또는 지분 경쟁방식이나 단순 무작위적 방식을 제안한다는 점에서 유사성이 있다.
또한, 대표자 선정 외에도 프로세스를 단순화하거나 효율적으로 처리함으로써 속도를 높일 수도 있는데, 이에 대한 연구결과는 초기 단계로 많이 나와 있지는 않다.
상기와 같이 종래의 기술이 본 발명에서 해결하고자 하는 문제점, 즉 블록생성 주체인 대표자 선정 방안은 다음과 같다.
대표적인 대표자 합의 방식으로는 PBFT(Byzantine Fault Tolerance)가 있는데, 정책적으로 선정된 노드 그룹에서 대표자를 선출하고 대표자의 오작동시 다음 대표자 선정 방식을 포함하고 있다. 이를 확장한 SBFT(Simplified BFT)는 특정 역할을 하는 노드(Collector)를 별도로 두고 Threshold Signature기법을 적용하여 PBFT의 네트워크 오버헤드 감소시키고자 했다. 이들 BFT 계열 방식은 대표자가 초기에 이미 선정되어 있거나 선정 과정을 운영기관 또는 협의체에 위임하는 방식으로 운영하므로 대표자가 사전에 정의된, 즉 예측이 가능한 상황이다. Loop Fault Tolerance 기법 또한 Spinning이라는 일종의 Round-Robin 방식으로 매 블록마다 리더를 교체하므로 대표자 선정의 공정성은 확보했다고 볼 수 있으나, 다음 라운드 대표자를 예측할 수 있는 단점이 있다. 이는 가중치를 부가한 Round-Robin 방식의 Tendermint도 동일하다고 볼 수 있다.
게임이론을 기반으로 설계된 Symsensus 또한 블록생성 후보군을 그룹으로 나누고 그룹 내 노드 역할을 다단계로 나누어 블록생성 및 합의 도출 과정을 설계하였으나, 블록 생성자 선정에 있어 블록체인을 운영하는 기관의 권한이 독점적이어서 내부적인 취약점이 존재하는 단점이 있다.
반면, 블록 생성자인 대표자를 선정하지 않는 Proof 기반 블록체인 알고리즘은 블록 생성을 위한 경쟁적 행위와 Fork라는 비정상적인 상황이 발생하므로 고속 합의를 추구하는 블록체인 방식과는 맞지 않는다.
상술한 종래 기술에 따라 제시한 기법에는 다음과 같은 문제점들이 있다.
첫째, 다수의 기술이 에너지 경쟁적 소모(PoW 등) 방식을 고수하거나 특정 소수에 권한이 집중되는 지분 증명 방식(PoS 등) 등에 의존하고 있어 에너지 문제, 환경 문제 또는 공정성이나 차기 대표자 예측에 따른 보안성 등의 문제가 존재한다.
둘째, 공정성 확보 차원에서 무작위적인 대표자 선정 방식을 제안하는 경우도 있는데, 단순히 순번을 돌리는 Round-Robin 기법이나 무작위 선정에 따른 랜덤 선택 방식이 그것이다. 다만, Round-Robin 방식은 차기 대표자가 예측 가능하여 보안적 취약성이 내재하고, 무작위적 선택은 과정상 공정성 확보 문제나 이전 대표자의 선택 권한 등도 문제가 된다.
셋째, 공정한 방식으로 대표자를 선정한다고 하더라도 선정 과정에서 공유되는 정보 및 절차에 대한 투명하고 구체적인 프로세스가 제시되어야 한다. 특히, 공유 정보로부터 유리한 정보를 도출하거나 타(他) 노드들과의 경쟁적 우위를 가질 수 있어서는 안 되는데, 이를 구체적으로 해결하는 방안이 제시된 사례가 없다.
넷째, 대표자 선정 기법 대부분은 매번 동일한 프로세스를 반복적으로 수행함에 따른 비효율성을 내포하고 있다.
이 외에도 대표자 선정 과정을 효율적으로 처리하기 위한 프로세스를 제시한 경우가 드물다.
대한민국 등록공보 10-1949712호
본 발명은 블록체인 네트워크상에서 블록 생성을 주도하는 대표자를 랜덤으로 선정하는 과정에 효율성과 보안성을 동시에 확보할 수 있는 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 이를 수행하는 블록체인 네트워크를 제공하고자 한다.
본 발명의 일 측면에 따른 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법은, 블록체인 네트워크의 대표자 및 후보자 선정 수행을 개시하는 단계; 블록체인 네트워크를 구성하는 각 노드들에서 랜덤값으로 입찰을 수행하는 단계; 입찰 참여율을 포함한 입찰 유효성을 확인하는 단계; 입찰이 마감되면 투찰값들중 최대값 및 최소값을 제외시키는 단계; 및 선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하는 단계를 포함할 수 있다.
여기서, 상기 대표자 및 후보자 선정 수행을 개시하는 단계에서는, 블록체인 네트워크의 의사결정을 위해 하나 또는 소정 개수의 라운드를 수행할 대표자 및 후보자 선정 수행을 개시할 수 있다.
여기서, 상기 선정 조건은, 제외되지 않은 투찰값들의 평균값에 가장 근사일 수 있다.
여기서, 상기 선정 조건에 따른 대표자 및 후보자를 선정하는 단계에서는, 상기 평균값에 가장 근사한 노드가 둘 이상인 경우, 이전의 대표자 노드 이력을 검색하여 가장 오래된 대표 노드 이력을 가진 노드를 대표 노드로 선정할 수 있다.
여기서, 상기 후보자는, 상기 대표자가 담당 라운드를 진행할 수 없는 상황에서, 다음 라운드에 대한 상기 블록체인 네트워크의 대표자 및 후보자 선정 방법을 수행할 수 있다.
여기서, 상기 대표자 및 후보자 선정 수행을 개시하는 단계에서는, 상기 입찰 및 선정 결과 전송을 위한 경로를 정의하는 비순환 트리 토폴로지를 구성할 수 있다.
여기서, 상기 비순환 트리 토폴로지의 루트 노드는, 이전에 선정된 대표자 또는 후보자의 노드일 수 있다.
본 발명의 다른 측면에 따른 블록체인 네트워크는, 전용망을 통해 상호간에 데이터 통신을 수행하는 복수개의 노드들로 이루어지며, 대표자 노드 및 후보자 노드를 포함하는 블록체인 네트워크로서, 상기 대표자 노드는, 후속 라운드를 진행할 다른 대표자 노드를 선정하기 위해, 랜덤값 입찰, 최대값 및 최소값 제외 방식의 대표자 선정 경매 입찰을 수행할 수 있다.
여기서, 상기 후보자 노드는, 상기 대표자가 담당 라운드를 진행할 수 없는 상황에서, 다음 라운드에 대한 상기 대표자 선정 경매 입찰을 수행할 수 있다.
여기서, 상기 대표자 노드는, 담당하는 마지막 라운드에서 다음 라운드에 대한 상기 대표자 선정 경매 입찰을 수행하되, 선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정할 수 있다.
여기서, 상기 대표자 노드는, 상기 복수개의 노드들로부터 랜덤값인 투찰갑들을 전송받는 단계; 입찰 참여율을 포함한 입찰 유효성을 확인하는 단계; 입찰이 마감되면 투찰값들중 최대값 및 최소값을 제외시키는 단계; 및 선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하는 단계를 포함할 수 있다.
여기서, 상기 대표자 노드는, 상기 대표자 선정 경매 입찰 운영을 위한 정보 전달 경로를 정의하는 상기 복수개의 노드들간 비순환식 트리 구조의 토폴로지를 구성할 수 있다.
여기서, 상기 복수개의 노드들 각각은, 자신이 생성한 정보나 상기 토폴로지상 소스측 이전 노드에서 전달받은 정보를, 자신이 생성한 일회용 비밀키를 이용하여 암호화하여 상기 토폴로지상 싱크측 다음 노드에 전달할 수 있다.
여기서, 상기 대표자 노드는, 상기 대표자 선정 경매 입찰의 선정 결과를 시간 동기화를 위한 정보와 함께 상기 다수개의 노드들로 전송할 수 있다.
여기서, 상기 시간 동기화를 위한 정보를 전송받은 상기 다수개의 노드들은, 다음 라운드의 시작점 및 종료점을 상기 시간 동기화를 위한 정보에 따라 설정할 수 있다.
여기서, 상기 다수개의 노드들은, 각 라운드에서 해당 라운드의 블록을 생성하고 검증을 요청하며, 이전 라운드에서 생성된 블록을 검증하여 체인을 형성하며, 다음 라운드를 위한 대표자 노드 및 후보자 노드를 선정할 수 있다.
상술한 구성의 본 발명의 사상에 따른 블록체인 네트워크의 대표자 및 후보자 선정 방법 및/또는 블록체인 네트워크를 실시하면, 블록체인 네트워크상에서 블록 생성을 주도하는 대표자를 랜덤으로 선정하는 과정에 효율성과 보안성을 동시에 확보할 수 있는 이점이 있다.
본 발명의 블록체인 네트워크의 대표자 및 후보자 선정 방법 및/또는 블록체인 네트워크는, 비정상적인 상황에서도 즉각적인 대응이 가능해야 하며, 간결한 방식으로 운영되어야 속도 향상 효과도 얻을 수 있는 이점이 있다.
본 발명의 블록체인 네트워크의 대표자 및 후보자 선정 방법 및/또는 블록체인 네트워크는, 블록체인이 다양한 서비스로 확대되고 있는 상황에서 에너지 소모를 최소화하면서 오버헤드를 줄이고 보안성을 확보하기 위해서는 블록을 생성하는 방법, 즉 블록 생성 및 합의 방식을 개선하는 이점이 있다.
도 1은 본 발명에서 제안하는 경쟁입찰 방식의 대표자 선정 방법을 수행하는 블록체인 네트워크를 도식화한 개념도.
도 2는 본 발명의 사상에 따른 블록체인 네트워크의 대표자 및 후보자 선정 방법의 일 실시예를 도시한 흐름도.
도 3은 블록체인 노드간 네트워크를 구성함에 있어 토폴로지를 형성하는 방법을 나타내는 개념도.
도 4는 블록체인 노드 토폴로지가 형성된 상황에서 대표자 및 후보자를 선정하기 위한 랜덤값 전송 절차를 도시하는 개념도.
도 5는 도 1의 블록체인 네트워크를 구성하는 각 노드들이 될 수 있는 블록체인 노드 장치의 일 예를 도시한 블록도.
도 6은 각 라운드마다 대표자 선정과 블록생성, 검증 및 체인을 형성하는 절차를 보여주는 개념도.
본 발명을 설명함에 있어서 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지 않을 수 있다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 연결되어 있다거나 접속되어 있다고 언급되는 경우는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
본 명세서에서, 포함하다 또는 구비하다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것으로서, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해될 수 있다.
또한, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
블록체인 기술이 상용화되고 다양한 서비스에 적용되기 위해서는 다음과 같은 요구조건을 만족시킬 수 있어야 한다.
1) 다음 블록을 생성할 대표자 선정에 부수적인 노력(에너지 소모 등)이 최소화되어야 한다.
2) 다음 블록을 생성할 대표자는 완전 무작위적 선택으로 예측이 불가능해야 한다.
3) 대표자 선정시 정보 공유에 따른 네트워크 오버헤드를 최소화시켜야 한다.
4) 대표자 선정시 공유되는 정보를 상대측은 미리 알 수 없어야 하고(Hiding 특성), 송신자는 송신 後 그 정보를 수정할 수 없어야 한다(Binding 특성).
5) 대표자 선정을 포함한 블록생성 프로세스는 간결하고 효율적이어야 한다.
6) 현재의 대표자가 악의적이거나 비정상적인 경우 즉각적인 다음 대표자 선정이 필요하다.
7) 비동기식 네트워크에서도 동작이 가능하도록 동기화 처리 방안이 필요하다.
본 발명에서는 상술한 요구조건들을 달성하기 위해, 전용망 환경 블록체인 네트워크를 위해 입찰 합의 방식의 랜덤성 대표자 선정 방법을 제시하며, 대표자 선정 입찰 과정을 블록 생성, 검증, 체인 형성의 단계별 프로세스와 병렬적으로 처리하는 방안을 제시한다.
도 1은 본 발명에서 제안하는 경쟁입찰 방식의 블록 생성자(즉, 대표자) 선정 방법을 수행하는 블록체인 네트워크를 도식화한 것이다. 블록체인을 형성하고 있는 노드들(도 1의 A(1000), B, C 등)은 신규 라운드가 시작되면 임의의 랜덤값(RA 등)을 생성하여 네트워크 정책(MST 방식)에 따라 전파한다.
이후 모든 노드들이 생성한 임의의 값 중 최대와 최소값을 제외한 나머지 값들의 평균값을 구하고, 이를 노드들이 생성한 임의의 값과 비교하여 가장 근사값을 생성한 노드가 다음 라운드의 대표자가 되는 방식으로 대표자 노드를 결정한다. 여기서, 최대값과 최소값을 제외하는 이유는 일반 가격입찰방식에서 일부 악의적 행위 또는 담합으로 인한 공정성 저해를 방지하기 위한 방안이며, 블록체인에서 대표자를 선정하는 방식에서 동일하게 적용한 것이다(일부 악의적 노드가 생성할 수 있는 가장 낮은 값 또는 가장 높은 값을 생성할 경우 전체 평균값에 크게 영향을 미칠 수 있고, 따라서 높은 확률로 원하는 노드가 대표자가 될 수 있도록 할 수 있다).
상기 경쟁입찰방식에 따라 대표자를 선정할 경우, 다음 라운드 대표자를 예측하는 것이 불가능하고 이번 라운드 대표자도 다음 라운드 대표자로서 자격이 있으므로 완전한 무작위성을 유지할 수 있다.
도 2는 매 라운드마다 대표자와 후보자를 선정하는 프로세스의 형식을 가지는 본 발명의 사상에 따른 블록체인 네트워크의 대표자 및 후보자 선정 방법의 일 실시예를 도시한 흐름도이다.
도시한 블록체인 네트워크의 대표자 및 후보자 선정 방법은, 블록체인 네트워크의 대표자 및 후보자 선정 수행을 개시하는 단계(S110); 각 노드에서 랜덤값으로 입찰을 수행하는 단계(S120); 입찰 참여율을 포함한 입찰 유효성을 확인하는 단계(S140); 입찰이 마감되면 투찰값들중 최대값 및 최소값을 제외시키는 단계(S150); 및 선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하는 단계(S160)를 포함할 수 있다.
라운드(round)란 블록체인이나 해시그래프 등 탈중앙화 분산형 시스템에서 다수의 노드들이 일정한 합의 알고리즘에 따라 의사결정을 내리는 최소한의 시간 단위를 말한다.
상기 대표자 및 후보자 선정 수행을 개시하는 단계(S110)에서는, 블록체인 네트워크의 의사결정을 위한 하나 혹은 소정 개수의 라운드를 수행할 대표자 및 후보자 선정 수행을 개시한다. 후자의 경우 한꺼번에 결정되는 복수개의 라운드들을 하나의 집합 라운드로 볼 수 있다.
상기 S110 단계에서는 해당 라운드의 대표자 또는 후보자가 다음 라운드의 대표자 및 후보자 선정을 위한 입찰을 지시하거나, 해당 라운드가 시작되면 바로 모든 노드들이 다음 라운드의 대표자 및 후보자 선정을 위한 입찰을 수행할 수 있다.
도시한 실시예의 경우, 새로운 라운드가 시작되면(S110), 각 노드는 랜덤값을 생성하여 투찰하고 정해진 시간 이후에 전체 노드의 2/3 이상이 참가한 경우 정상적인 입찰로 인정하되, 2/3를 넘지 않는 경우에는 재입찰을 시작한다(S140). 이때, 구현에 따라서는, 기존에 입찰할 노드는 재입찰에 참가할 필요 없이 이미 투찰한 값으로 입찰에 참가한 것으로 볼 수 있다. 이는 네트워크 오버헤드 최소화를 위한 조치이다.
도시한 S140 단계에서의 투찰 마감 기준은 전체 노드의 2/3이 아닌 네트워크나 노드 운영 환경에 따라 가변적으로 설정 가능하다. 예컨대, 도시한 S140 단계에서는 입찰 유효성을 "전체 노드의 2/3 이상이 참가"로만 확인하고 있지만, 다른 구현에서는 다른 유효 조건들을 추가적으로 더 확인할 수 있다.
투찰이 마감되면(S125), 노드들의 투찰값들 중 최대값과 최소값을 제외한 나머지 값들의 평균값을 계산한다. 구현에 따라, 최대 또는 최소값이 복수인 경우에는 하나씩만 제외할 수 있으며, 제외할 최대값과 최소값을 하나를 규정하지 않고, 소정 개수로 규정할 수도 있다(노드 개수가 많은 경우).
다음, 각 노드들의 투찰값들 중 상기 계산된 평균값에 가장 근사치를 제시한 노드를 대표자(Primary 노드)로 선정하고, 그 다음 근사치를 제시한 노드를 후보자(secondary 노드)로 지정한다(S160).
즉, 본 발명의 사상에 따른 경쟁입찰 방식은, 각 노드별로 랜덤값을 생성하여 서로 공유하고 공유된 정보들 중 최대값과 최소값을 제외한 나머지 값들의 평균을 구한 다음, 이를 기준으로 가장 근사한 랜덤값을 생성한 노드를 대표자 노드로 선정하고(S162, S164), 두 번째로 근사한 랜덤값을 생성한 노드를 후보자 노드로 지정한다(S166, S168).
후보자는 Primary 노드가 비정상적인 상황일 때 즉각적으로 대표자를 대신함으로써 비정상적 운영에 대응하되, 해당 라운드가 끝남과 동시에 역할을 종료한다. 만약, 라운드 종료후 다음 라운드의 개시와 함께 본 발명의 입찰이 수행되지 않는 경우, 상기 후보자가 다음 라운드에 대한 입찰을 지시할 수 있다.
상기 S160 단계에서의 경쟁입찰 Logic에서 최대/최소값을 제외한 값들의 평균값 근사치를 기준으로 하지 않고, 평균값보다 높은(또는 낮은) 가장 가까운 값으로 정하거나 이와 유사한 기준으로 대표자를 선정할 수도 있다.
이때, 가장 근사한 랜덤값을 생성한 노드가 둘 이상인 경우(S162의 No), 이전의 대표자 노드 이력을 검색하여(S165) 가장 오래된 대표자 노드 이력을 가진 노드를 대표자 노드로 선정하고, 두 번째로 오래된 대표 노드 이력을 가진 노드를 후보자 노드로 선정함으로써 노드간 형평성을 조정할 수 있다.
또는, 두 번째로 근사한 랜덤값을 생성한 노드가 둘 이상인 경우(S166의 No), 이전의 대표 노드 이력을 검색하여(S165) 가장 오래된 대표 노드 이력을 가진 노드를 후보자 노드로 선정함으로써 노드간 형평성을 조정할 수 있다. 이 경우, 도시한 S165 단계의 다음은 종료하게 되며, 도 2에서는 이를 생략하였다.
상기 대표자 및 후보자 선정 수행을 개시하는 단계(S110)에서는, 이전에 선정된 대표자 노드에서 상기 입찰 및 선정 결과 전송을 위한 경로를 정의하는 비순환 트리 토폴로지를 구성할 수 있다.
도 3은 블록체인 노드간 네트워크를 구성함에 있어 비순환 토폴로지를 형성하는 방법을 나타내는 개념도이다.
본 발명에서 제안하는 경쟁입찰방식은 전체 노드의 평규값을 계산하는 방식이므로 이를 총괄할 수 있는 루트(Root) 노드가 필요한데 이를 구성하는 방식으로 최소신장트리 기법을 이용한다(이전 라운드의 대표자가 해당 라운드에서 Root 노드 역할을 수행한다). 도 3에서 Node A(1000)는 이전 라운드의 대표자로서 루트(Root) 노드가 되며 이를 기준으로 최소 비용으로 구성 가능한 토폴로지를 형성한다(도 3의 오른쪽 그림).
최소신장트리 방식을 사용함으로써 입찰에 누락된 노드 여부 확인 및 참여 유도, 그리고 네트워크 오버헤드를 최소화시킬 수 있다. 여기서 말하는 최소 비용은 네트워크 지연시간, 네트워크 구성 노드의 자원량(CPU, 메모리), 노드 에러율을 정량화한 수치이다. "최소신장트리"는 복잡도가 비교적 높은 편이나 본 발명이 적용될 수 있는 환경인 전용망에서는 복잡도가 그리 큰 영향을 미치지 않는다. 도 3의 화살표 방향이 토폴로지 구성 순서를 나타내며 노드 A, B, C가 형성된 상태에서 입찰 진행 과정을 나타낸 것이 도 4이다.
상기 "최소신장트리" 알고리즘을 적용하면, 네트워크 지연시간, 각 노드별 자원량, 노드 에러율을 고려하여 최소 비용으로 구성가능한 비순환식 네트워크 토폴로지를 작성할 수 있다.
다른 구현에서는, 상기 비순환 트리 토폴로지를 구성하기 위해, 최소신장트리 대신에 네트워크 최단경로 선정방식(Dijkstra 알고리즘) 등도 적용 가능하다.
도 4는 블록체인 노드 토폴로지가 형성된 상황에서 대표자 및 후보자를 선정하기 위한 투찰값(랜덤값) 공유(전송) 절차를 도시하는 개념도이다.
도 4에서 Node A(1000)라고 표시된 노드가 Root 노드이다(도 3과도 연계됨). 노드 A는 자신의 랜덤값 RA와 일회용 비밀키 EA를 생성하고, 하기 수학식 1식에 따라 VA를 계산하여 노드 B로 전송한다.
Figure 112021112599969-pat00001
상기 수학식에서 H는 해쉬함수를 의미하나, 계산량을 줄이기 위해 상위 또는 하위 1/2 비트를 추출하는 함수일 수도 있다. 또한 뒤의 E[·]는 암호알고리즘을 뜻하는데 맨 뒤 ‘EA’ 암호키를 이용하여 안에 들어있는 RA를 암호화하는 것을 뜻한다. 상황에 따라 해쉬함수 또는 1/2 도출함수를 선택적으로 사용할 수 있다.
노드 B는 노드 A로부터 VA를 수신한 후, 자신이 생성한 랜덤값 RB와 일회용 비밀키 EB를 이용하여 VB를 생성하여 VA와 VB를 노드 C로 송신한다. 토폴로지의 중간 노드들은 노드 B와 동일한 행위를 수행하며 도 4에서 노드 C가 토폴로지의 마지막 노드라고 가정하면 노드 C는 자신의 랜덤값 RC만 생성한 후 역순으로 전송한다(도 4에서 노드 C → 노드 B). 이를 수신한 노드 B는 RC를 저장해두고 자신의 랜덤값 RB와 RC를 노드 A로 전송한다.
노드 A는 수신한 모든 랜덤값(각 노드들의 투찰값)들 중 최대값과 최소값을 제외한 나머지 값들의 평균을 계산하고 이에 가장 근사한 투찰값을 제시한 노드를 대표자로, 두 번째 근사한 투찰값을 제시한 노드를 후보자로 선정한 뒤, 이를 자신의 일회용 비밀키 EA와 함께 노드 B로 전송한다(도 4의 NP). 이를 수신한 노드 B는 일회용 비밀키 EA를 이용하여 노드 A의 투찰값을 확인한 후 대표자와 후보자 선정 결과를 검증하고 문제가 없을 경우, 노드 A의 일회용 비밀키 EA, 자신의 일회용 비밀키 EB를 대표자 및 후보자 선정 결과와 함께 노드 C로 송신한다. 마지막 노드인 C는 EA와 EB를 이용하여 이전에 수신한 VA와 VB로부터 RA와 RB를 도출하여 대표자와 후보자 선정 결과를 검증하고 문제가 없으면 이를 수용하는 것으로 대표자 및 후보자 선정 과정을 종료한다.
상술한 방식의 경쟁입찰 정보 공유는, 상기 토폴로지 구성 순서 방향으로 자신의 랜덤값을 일회용 비밀키로 암호화하고 이를 입증할 수 있도록 랜덤값의 해쉬값을 추가하여 전송함으로써, 투찰 종료전에는 자신의 랜덤값이 유출되지 않도록 보호할 수 있다. 예컨대, 상기 토폴로지 구성 순서 방향으로 자신의 랜덤값을 일회용 비밀키로 암호화하고 이를 입증할 수 있도록 랜덤값의 해쉬값 대신 상위 1/2비트 또는 하위 1/2비트를 추가하여 전송함으로써 랜덤값 유출을 방지할 수 있다.
또한, 상술한 방식의 경쟁입찰 정보 공유는, 상기 토폴로지 구성 순서 반대 방향으로 자신의 랜덤값을 전송함으로써 수신측에서 투찰 결과를 정리할 수 있도록 정보를 제공하고, 상기 토폴로지 구성 순서 방향으로 자신의 랜덤값을 암호화한 일회용 비밀키를 전송함으로써 수신측에서 투찰 결과를 검증할 수 있도록 정보를 제공할 수 있다.
상술한 방식의 경쟁입찰 정보 공유에서, 상기 토폴로지 구성 순서 방향으로 제일 상위에 있는 루트 노드인 해당 라운드의 대표자 노드는, 자신의 일회용 비밀키와 더불어 모든 노드의 랜덤값을 취합하여 최소값 및 최대값을 제외하고 나머지 랜덤값들의 평균값 계산 및 이를 기준으로 다름 라운드의 대표자 노드와 후보자 노드 선정 결과를 토폴로지 구성 순서 방향으로 전송한다.
상기 과정에서 토폴로지 형성 순서 방향으로 랜덤값을 암호화시켜 전송하므로 수신측 노드가 송신측 노드의 랜덤값을 받은 뒤에 자신의 랜덤값을 생성하더라고 송신측 노드의 랜덤값을 확인할 수 없으므로 Hiding 특성을 유지할 수 있다. 반면, 송신측 노드는 한번 보낸 랜덤값을 다른 값으로 속일 수 없는데, 이는 해쉬함수 및 암호함수의 특성상 같은 결과를 내는 서로 다른 두 입력값을 찾는 것이 거의 불가능하기 때문이며 따라서 Binding 특성을 유지할 수 있다.
또한, 대표자와 후보자 선정 결과 전송시 시간 정보(도 4의 ‘T’)도 공유하는데, 이는 일반적으로 비동기식 네트워크에서 블록체인이 동작하는 것으로 가정하고 노드간 시간 동기화를 통한 효율적인 운영을 꾀하기 위함이다. 또한 상기 시간 정보는 비동기 네트워크에서 라운드 운영시 필요한 정보이다.
도 5는 도 1의 블록체인 네트워크를 구성하는 각 노드들이 될 수 있는 블록체인 노드 장치의 일 예를 도시한 블록도이다.
도시한 블록체인 노드 장치(1000)는 적어도 하나의 프로세서(1100), 네트워크 인터페이스(1200), 메모리(1300), 디스플레이(1400), 및 입출력 장치(1500)를 포함할 수 있다.
도시한 프로세서(1100)는, 상술된 바와 같이, 본 발명의 사상에 따른 블록체인 네트워크의 대표자 및 후보자 선정 방법을 다른 노드들의 블록체인 노드 장치들과 함께 수행할 수 있다.
상기 프로세서(1100)는 프로그램을 실행하고, 블록체인 노드 장치(1000)를 제어할 수 있다. 블록체인 노드 장치(1000)는 입출력 장치(1500)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 혹은 네트워크)에 연결되고, 데이터를 교환할 수 있다. 블록체인 노드 장치(1000)는 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 모바일 장치, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 혹은 텔레비전, 스마트 텔레비전, 게이트 제어를 위한 보안 장치 등 전자 제품 등 다양한 전자 시스템을 포함할 수 있다.
도시된 바와 같이, 프로세서(1100)는 블록 생성부(BLK Generating Unit), 블록체인 제어부(Blockchain Controlling Unit), 블록 전파부(BLK Propagating Unit), 및 블록 검증부(BLK Verifying Unit)를 프로그램 코드로 실행하도록 구현될 수 있다. 블록 생성부는 거래내역에 필요한 새로운 블록을 생성할 수 있다. 블록체인 제어부는 상술된 블록체인 생성 방법, 특히 분산합의 노드 선택 방식을 이용하여 새로운 블록이 자신의 블록체인에 연결되도록 제어할 수 있다. 블록 전파부는 블록체인에 연결된 새로운 블록의 유효성을 검증하기 위하여 새로운 블록을 네트워크로 전파할 수 있다. 블록 검증부는 네트워크를 형성한 다른 노드에서 생성된 블록을 수신하고, 수신된 블록의 유효성을 검증할 수 있다.
도시한 네트워크 인터페이스(1200)는 외부의 네트워크와 다양한 유/무선 방식에 의해 통신을 수행하도록 구현될 수 있다.
메모리(1300)는 컴퓨터에서 읽을 수 있는 명령어(instruction)를 포함할 수 있다. 프로세서(1100)는 메모리(1300)에 저장된 명령어가 프로세서(1100)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1300)는 휘발성 메모리 혹은 비휘발성 메모리일 수 있다.
도 1 및 도 5에 따라 구성되는 본 발명의 사상에 따른, 블록체인 네트워크는
전용망을 통해 상호간에 데이터 통신을 수행하는 복수개의 노드들로 이루어지며, 대표자 노드 및 후보자 노드를 포함하는 블록체인 네트워크이다. 여기서, 상기 대표자 노드는, 후속 라운드를 진행할 다른 대표자 노드를 선정하기 위해, 랜덤값 입찰, 최대값 및 최소값 제외 방식의 다음 라운드에서의 대표자 선정 경매 입찰을 수행한다.
상기 대표자 선정 경매 입찰은 도 2의 흐름도에 따른 블록체인 네트워크의 대표자 및 후보자 선정 방법으로 수행될 수 있다.
상기 대표자 선정 경매 입찰은 각 라운드의 개시와 함께 수행되거나, 특정 라운드의 상기 대표자 노드가, 담당하는 마지막 라운드에서 다음 라운드에 대한 상기 대표자 선정 경매 입찰을 수행할 수 있다. 후자의 경우, 상기 특정 라운드의 상기 후보자 노드는, 상기 대표자가 상기 특정 라운드를 진행할 수 없는 상황에서, 다음 라운드에 대한 상기 대표자 선정 경매 입찰을 수행할 수 있다.
상기 대표자 선정 경매 입찰에서는, 선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정한다.
상기 대표자 선정 경매 입찰을 위해 상기 대표자 노드는, 상기 복수개의 노드들로부터 랜덤값인 투찰값들을 전송받는 단계; 입찰 참여율을 포함한 입찰 유효성을 확인하는 단계; 입찰이 마감되면 투찰값들중 최대값 및 최소값을 제외시키는 단계; 및 선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하는 단계를 도 2와 같이 수행할 수 있다.
또한, 도 2의 단계들을 수행함에 있어서, 상기 대표자 노드는, 상기 대표자 선정 경매 입찰 운영을 위한 정보 전달 경로를 정의하는 상기 블록체인 네트워크 구성하는 상기 복수개의 노드들간 비순환식 트리 구조의 토폴로지를 작성할 수 있다.
상기 비순환식 트리 구조의 토폴로지는, 상기 대표자 선정 경매 입찰 과정에서의 정보 전달 경로로 이용되지만, 구현에 따라서는, 블록 생성 및 검증 과정에서의 정보 전달 경로로 이용될 수도 있다.
블록 체인 네트워크를 구성하는 상기 복수개의 노드들 각각은, 자신이 생성한 정보나 상기 토폴로지상 소스측 이전 노드에서 전달받은 정보를, 자신이 생성한 일회용 비밀키를 이용하여 암호화하여 상기 토폴로지상 싱크측 다음 노드에 전달할 수 있다. 예컨대, 상기 토폴로지 구성 순서 방향으로 자신의 랜덤값을 암호화한 일회용 비밀키를 전송함으로써 수신측에서 투찰 결과를 검증할 수 있도록 정보를 제공하는 방식으로 경쟁입찰 정보 공유가 이루어진다.
상기 대표자 선정 경매 입찰을 주도하는 상기 대표자 노드는 상기 대표자 선정 경매 입찰의 선정 결과를 시간 동기화를 위한 정보와 함께 상기 다수개의 노드들로 전송할 수 있다. 그러면, 상기 시간 동기화를 위한 정보를 전송받은 상기 다수개의 노드들은, 다음 라운드의 시작점 및 종료점을 상기 시간 동기화를 위한 정보에 따라 설정할 수 있다.
도 6은 각 라운드마다 대표자 선정과 블록생성, 검증 및 체인을 형성하는 절차를 보여주는 개념도이다.
우선 라운드의 대표자(후보자 포함) 선정 과정은 그 전 라운드에서 일어난다(도 5에서 ‘n’ 라운드 대표자 선정은 그 전 라운드인 ‘n-1’ 라운드에서 완료됨). 또한 각 라운드마다 해당 라운드의 블록이 생성되고 검증 요청 과정이 일어난다. 동시에 그 전 라운드에서 생성된 블록의 검증과 체인 구성이 일어난다. 즉, 대표자 선정과 블록생성, 검증 및 체인을 형성하는 절차를 직렬이 아닌 병렬로 처리함과 동시에 메시지 처리도 동일 payload 및 절차에서 동시 처리토록 함으로써 속도 향상 및 네트워크 오버헤드 감소 효과를 가져올 수 있다.
정리하면, 블록체인 네트워크를 구성하는 상기 다수개의 노드들은, 각 라운드에서 해당 라운드의 블록을 생성하고 검증을 요청하며, 이전 라운드에서 생성된 블록을 검증하여 체인을 형성하며, 다음 라운드를 위한 대표자 노드 및 후보자 노드를 선정할 수 있다. 즉, 상기 전용망 환경 블록체인 네트워크의 병렬 처리 프로세스는, 대표자 선정과 블록의 생성 및 검증 요청, 블록의 검증 및 체인 형성 과정을 병렬적으로 처리할 수 있다. 이때, 하나의 메시지에 블록 생성과 검증 요청, 검증 결과 알림 및 대표자 선정 과정을 모두 포함함으로써 네트워크 오버헤드를 줄여줄 수 있다.
또한, 상기 전용망 환경 블록체인 네트워크의 병렬 처리 프로세스는, 블록 생성과 검증 요청, 검증 결과 알림, 대표자 선정 과정 중 어느 하나가 누락 또는 에러가 났을 경우, 이를 재전송하거나 다음 단계 프로세스로 넘겨줄 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
예컨대, 상술한 설명에서는 전용망에서 경쟁입찰방식을 이용한 블록 생성자(대표자) 선정, 네트워크 토폴로지 구성 방법을 구체적인 사례로서 설명하였으나, 불특정 소수 혹은 특정 다수간 안전한 네트워크 환경이 지원되는 경우(예 : VPN)에는 인터넷망에도 적용이 가능하며, 이 또한 본 발명의 권리범위에 속함은 물론이다.
1000 : 블록체인 노드 장치
1100 : 프로세서
1200 : 네트워크 인터페이스
1300 : 메모리
1400 : 디스플레이
1500 : 입출력 장치

Claims (16)

  1. 블록체인 네트워크의 대표자 및 후보자 선정 수행을 개시하는 단계;
    블록체인 네트워크를 구성하는 각 노드들에서 랜덤값으로 입찰을 수행하는 단계;
    입찰 참여율을 포함한 입찰 유효성을 확인하는 단계;
    입찰이 마감되면 투찰값들중 최대값 및 최소값을 제외시키는 단계; 및
    선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하는 단계
    를 포함하되,
    상기 선정 조건은,
    제외되지 않은 투찰값들의 평균값에 가장 근사인 것을 특징으로 하는 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법.
  2. 제1항에 있어서,
    상기 대표자 및 후보자 선정 수행을 개시하는 단계에서는,
    블록체인 네트워크의 의사결정을 위해 하나 또는 소정 개수의 라운드를 수행할 대표자 및 후보자 선정 수행을 개시하는 블록체인 네트워크의 대표자 및 후보자 선정 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 선정 조건에 따른 대표자 및 후보자를 선정하는 단계에서는,
    상기 평균값에 가장 근사한 노드가 둘 이상인 경우, 이전의 대표자 노드 이력을 검색하여 가장 오래된 대표 노드 이력을 가진 노드를 대표 노드로 선정하는 블록체인 네트워크의 대표자 및 후보자 선정 방법.
  5. 제1항에 있어서,
    상기 후보자는,
    상기 대표자가 담당 라운드를 진행할 수 없는 상황에서, 다음 라운드에 대한 상기 블록체인 네트워크의 대표자 및 후보자 선정 방법을 수행하는 블록체인 네트워크의 대표자 및 후보자 선정 방법.
  6. 제1항에 있어서,
    상기 대표자 및 후보자 선정 수행을 개시하는 단계에서는,
    상기 입찰 및 선정 결과 전송을 위한 경로를 정의하는 비순환 트리 토폴로지를 구성하는 블록체인 네트워크의 대표자 및 후보자 선정 방법.
  7. 제6항에 있어서,
    상기 비순환 트리 토폴로지의 루트 노드는, 이전에 선정된 대표자 또는 후보자의 노드인 블록체인 네트워크의 대표자 및 후보자 선정 방법.
  8. 전용망을 통해 상호간에 데이터 통신을 수행하는 복수개의 노드들로 이루어지며, 대표자 노드 및 후보자 노드를 포함하는 블록체인 네트워크로서,
    상기 대표자 노드는,
    후속 라운드를 진행할 다른 대표자 노드를 선정하기 위해, 랜덤값 입찰, 최대값 및 최소값 제외 방식의 대표자 선정 경매 입찰을 수행하며,
    담당하는 마지막 라운드에서 다음 라운드에 대한 상기 대표자 선정 경매 입찰을 수행하되,
    선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하며,
    상기 선정 조건은,
    제외되지 않은 투찰값들의 평균값에 가장 근사인 것을 특징으로 하는 블록체인 네트워크.
  9. 제8항에 있어서,
    상기 후보자 노드는,
    상기 대표자가 담당 라운드를 진행할 수 없는 상황에서, 다음 라운드에 대한 상기 대표자 선정 경매 입찰을 수행하는 블록체인 네트워크.
  10. 삭제
  11. 제8항에 있어서,
    상기 대표자 노드는,
    상기 복수개의 노드들로부터 랜덤값인 투찰갑들을 전송받는 단계;
    입찰 참여율을 포함한 입찰 유효성을 확인하는 단계;
    입찰이 마감되면 투찰값들중 최대값 및 최소값을 제외시키는 단계; 및
    선정 조건에 가장 부합하는 노드를 대표자로 선정하고, 다음으로 부합하는 노드를 후보자로 선정하는 단계
    를 포함하는 대표자 및 후보자 선정 방법을 수행하는 블록체인 네트워크.
  12. 제8항에 있어서,
    상기 대표자 노드는,
    상기 대표자 선정 경매 입찰 운영을 위한 정보 전달 경로를 정의하는 상기 복수개의 노드들간 비순환식 트리 구조의 토폴로지를 구성하는 블록체인 네트워크.
  13. 제12항에 있어서,
    상기 복수개의 노드들 각각은,
    자신이 생성한 정보나 상기 토폴로지상 소스측 이전 노드에서 전달받은 정보를, 자신이 생성한 일회용 비밀키를 이용하여 암호화하여 상기 토폴로지상 싱크측 다음 노드에 전달하는 블록체인 네트워크.
  14. 제8항에 있어서,
    상기 대표자 노드는,
    상기 대표자 선정 경매 입찰의 선정 결과를 시간 동기화를 위한 정보와 함께 다수개의 노드들로 전송하는 블록체인 네트워크.
  15. 제14항에 있어서,
    상기 시간 동기화를 위한 정보를 전송받은 상기 다수개의 노드들은,
    다음 라운드의 시작점 및 종료점을 상기 시간 동기화를 위한 정보에 따라 설정하는 블록체인 네트워크.
  16. 제14항에 있어서,
    상기 다수개의 노드들은,
    각 라운드에서 해당 라운드의 블록을 생성하고 검증을 요청하며,
    이전 라운드에서 생성된 블록을 검증하여 체인을 형성하며,
    다음 라운드를 위한 대표자 노드 및 후보자 노드를 선정하는 블록체인 네트워크.





KR1020210129856A 2021-09-30 2021-09-30 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크 KR102553441B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210129856A KR102553441B1 (ko) 2021-09-30 2021-09-30 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210129856A KR102553441B1 (ko) 2021-09-30 2021-09-30 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크

Publications (2)

Publication Number Publication Date
KR20230046644A KR20230046644A (ko) 2023-04-06
KR102553441B1 true KR102553441B1 (ko) 2023-07-11

Family

ID=85918292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210129856A KR102553441B1 (ko) 2021-09-30 2021-09-30 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크

Country Status (1)

Country Link
KR (1) KR102553441B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190067581A (ko) * 2017-12-07 2019-06-17 한국전자통신연구원 블록체인 트랜잭션 분산 처리 장치 및 방법
KR101949712B1 (ko) 2018-06-29 2019-02-19 (주) 와이즈엠글로벌 계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법
KR20200121141A (ko) * 2019-04-15 2020-10-23 주식회사 더블체인 공정한 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 시스템 및 그 방법
KR102372682B1 (ko) * 2019-10-23 2022-03-10 한국과학기술원 주기적 시더 계승을 이용한 p2p 네트워크 기반 검증 가능한 난수 생성 방법 및 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
비특허문헌1(Seyed Mehran Dibaji et al., IEEE, 2018.08.31)*
비특허문헌2(지소영 등, JIIBC, 2018.10.31)*
비특허문헌3(ksj4572, 해시넷, 2019.08.06)*

Also Published As

Publication number Publication date
KR20230046644A (ko) 2023-04-06

Similar Documents

Publication Publication Date Title
Lu et al. Edge blockchain assisted lightweight privacy-preserving data aggregation for smart grid
Luu et al. Demystifying incentives in the consensus computer
Popov et al. The coordicide
Aman et al. Low power data integrity in IoT systems
EP3627797B1 (en) Manicoding for access verification
Liang et al. Secure fusion approach for the internet of things in smart autonomous multi-robot systems
WO2017079652A1 (en) Cryptographic transactions system
US20200250655A1 (en) Efficient, environmental and consumer friendly consensus method for cryptographic transactions
Esfahani et al. Secure blockchain-based energy transaction framework in smart power systems
Asfia et al. A blockchain construct for energy trading against sybil attacks
Olakanmi et al. Trust-aware and incentive-based offloading scheme for secure multi-party computation in Internet of Things
Wan et al. AnonymousFox: An efficient and scalable blockchain consensus algorithm
CN115118423A (zh) 一种可信区块链的共识方法、装置和可信区块链系统
Ayub et al. Secure consumer-centric demand response management in resilient smart grid as industry 5.0 application with blockchain-based authentication
Prabhakar et al. TCON-A lightweight Trust-dependent Consensus framework for blockchain
KR102553441B1 (ko) 경쟁입찰을 활용한 블록체인 네트워크의 대표자 및 후보자 선정 방법 및 블록체인 네트워크
US20220278854A1 (en) Unity Protocol Consensus
US20220138005A1 (en) Distributed computing system and method of operation thereof
CN112184245A (zh) 一种跨区块链的交易身份确认方法及装置
CN116383894A (zh) 基于可验证vdch函数的可修改联盟链性能优化方法
CN116032465A (zh) 一种委托工作量证明共享方法
Endignoux Design and implementation of a post-quantum hash-based cryptographic signature scheme
Wang et al. Revisiting the fairness and randomness of delegated proof of stake consensus algorithm
CN113242305B (zh) 跨链事务处理方法、装置、计算机设备及介质
Tan et al. ZKBdf: a ZKBoo-based quantum-secure verifiable delay function with prover-secret

Legal Events

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