+

KR20200121141A - System and method for selection of block generator using equitable consensus algorithm in blockchain - Google Patents

System and method for selection of block generator using equitable consensus algorithm in blockchain Download PDF

Info

Publication number
KR20200121141A
KR20200121141A KR1020190043823A KR20190043823A KR20200121141A KR 20200121141 A KR20200121141 A KR 20200121141A KR 1020190043823 A KR1020190043823 A KR 1020190043823A KR 20190043823 A KR20190043823 A KR 20190043823A KR 20200121141 A KR20200121141 A KR 20200121141A
Authority
KR
South Korea
Prior art keywords
block
level
generator
block generator
producer
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020190043823A
Other languages
Korean (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 KR1020190043823A priority Critical patent/KR20200121141A/en
Publication of KR20200121141A publication Critical patent/KR20200121141A/en
Ceased legal-status Critical Current

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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/3827Use of message hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 시스템 및 방법에 관한 것이다. 본 블록 생성자 선출 방법은, PoA의 블록 생성자 그룹의 블록 생성자 후보가 되는 다수의 노드와, 상기 블록 생성자 후보 노드들의 예치금, 규정 준수도 및 기여도를 포함하는 기본 요건을 점수로 환산한 환산점수에 따라 블록 생성자 노드를 복수의 레벨로 분류하여, 각 레벨마다 블록 생성자 후보 노드들을 소정 정렬 기준으로 정렬하여 식별값을 부여하고, 각 레벨의 블록 생성자 후보에 난수를 적용하여 블록 생성자를 선출하는 블록체인 코어서버를 포함하는 것을 특징으로 한다.The present invention relates to a system and method for selecting a block producer using the PoA consensus algorithm of a block chain. This block generator selection method is based on a number of nodes that are candidates for block generators in the block generator group of PoA, and basic requirements including deposits, compliance, and contributions of the block generator candidate nodes. Blockchain core that classifies block generator nodes into multiple levels, arranges block generator candidate nodes for each level according to a predetermined sorting criterion, gives identification values, and selects block generators by applying random numbers to block generator candidates at each level It characterized in that it comprises a server.

Description

공정한 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 시스템 및 그 방법{SYSTEM AND METHOD FOR SELECTION OF BLOCK GENERATOR USING EQUITABLE CONSENSUS ALGORITHM IN BLOCKCHAIN}Block chain block producer election system and method using fair consensus algorithm {SYSTEM AND METHOD FOR SELECTION OF BLOCK GENERATOR USING EQUITABLE CONSENSUS ALGORITHM IN BLOCKCHAIN}

본 발명은 블록체인의 블록 생성자 선출 방법에 관한 것으로서, 보다 상세하게는 PoA 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 시스템 및 방법에 관한 것이다.The present invention relates to a method for selecting a block producer of a block chain, and more particularly, to a system and method for selecting a block producer of a block chain using a PoA consensus algorithm.

블록체인은 '분산원장'(分散元帳, distributed ledger) 기술이라고 한다. 즉, 거래내역을 기록한 원장을 다수의 사람들에게 분산하여 저장·관리하는 기술이다. 자세히 설명하면, 블록체인이란 다수의 온라인 거래 기록을 묶어 하나의 데이터 블록(block)을 구성하고, 해시(hash) 값을 이용하여 이전 블록과 이후 블록을 체인(chain)처럼 연결한 뒤, 이 정보의 전부 또는 일부를 P2P 방식으로 전 세계 여러 컴퓨터에 복사하여 분산 저장·관리하는 기술이다.Blockchain is referred to as a'distributed ledger' (分散元帳, distributed ledger) technology. In other words, it is a technology that distributes and stores and manages the ledger recording transaction details among a large number of people. Specifically, a block chain is a block of data by tying up multiple online transaction records, and after connecting the previous block and the subsequent block like a chain using a hash value, this information It is a technology that distributes storage and management by copying all or part of the P2P method to various computers around the world.

초기 블록체인은 현존하는 합의 알고리즘 방식 중에서는 가장 안정화된 알고리즘으로서, 대부분 작업 증명(Proof-of-Work) 방식을 이용한다. 작업 증명 방식은, 에너지 소모에 있어 비합리적인 방식으로 알려져 있다. dPoS(delegated Proof-of-Stake) 방식은 빠른 합의로 인해 거래 속도 개선이 되나 탈중앙화 정신에 위배되는 것으로 알려져 있으며 적은 블록 생성자 노드 수로 인해 공격이나 해킹에 쉽게 노출될 수 있는 보안 취약성을 내포하고 있다. 또한 PoA(Proof-of-Authority) 혹은 PoS(Proof-of-Stake)의 경우도 비슷한 경우이다.The initial blockchain is the most stable algorithm among the existing consensus algorithm methods, and most of them use the Proof-of-Work method. The proof-of-work method is known as an irrational method in terms of energy consumption. The dPoS (delegated proof-of-stake) method improves transaction speed due to rapid consensus, but is known to violate the spirit of decentralization, and contains security vulnerabilities that can be easily exposed to attacks or hacking due to the small number of block generator nodes. . In addition, PoA (Proof-of-Authority) or PoS (Proof-of-Stake) is a similar case.

특히 dPoS(delegated Proof-of-Stake) 혹은 PoA(Proof-of-Authority) 방식의 합의 알고리즘에서는 완전한 탈중앙성에 위배되거나 단일 공격점의 장점을 잃어서 보안성이 약화되는 것으로 알려져 있다. 예를 들면, 이오스(EOS)의 dPoS는 21개의 제한된 블록 생성자(BG:Block Generator)가 블록 생성과 검증을 담당하므로 블록 검증에 대한 합의에 빨리 도달함으로써 거래 확정이 빠르고, 그에 따라 거래 속도를 개선할 수 있다. 그러나, 권한이 특정 노드들에 집중되어 있어 블록 생성자의 담합의 가능성이 높으며, 적은 블록 생성자 노드로 인해 공격 대상으로 되기 용이함으로써 보안성이 취약해지는 문제가 있다.In particular, it is known that the consensus algorithm of dPoS (delegated proof-of-stake) or PoA (Proof-of-Authority) method violates complete decentralization or loses the advantage of a single attack point, resulting in weakened security. For example, in EOS dPoS, 21 limited block generators (BG: Block Generators) are responsible for block generation and verification, so consensus on block verification is reached quickly, so that transaction confirmation is fast and the transaction speed is improved accordingly. can do. However, since the authority is concentrated on specific nodes, the possibility of collusion of block producers is high, and security is weakened because it is easy to become an attack target due to a small number of block generator nodes.

또한, EOS의 경우 지속적으로 블록 생성자의 상위에 랭크되어 유지됨으로써 블록 생성자들 간의 담합, 블록 생성자와 고래 투표자 간의 담합이 발생할 가능성이 높으며, 이는 특정 블록 생성자가 지속적으로 상위에 랭크되게 하는 문제가 있다. 또한 ORBS의 RPoS(Randomized Proof-of-Stake) 합의 알고리즘은 특정 방식으로 랜덤하게 블록 생성자를 선출하나 전체 네트워크에서 블록 생성자 노드 수에는 제한이 없기 때문에 합의에 이르는데 오래 걸리며, 이로 인해 빠른 트랜잭션 처리와 거래 확정이 느리다. In addition, in the case of EOS, it is highly likely that collusion between block producers and between block producers and whale voters as it is continuously ranked and maintained above the block producers, which causes a specific block producer to continuously rank higher. . In addition, ORBS' RPoS (Randomized Proof-of-Stake) consensus algorithm randomly selects block producers in a specific way, but it takes a long time to reach consensus because there is no limit on the number of block generator nodes in the entire network. The transaction confirmation is slow.

또한, 편향적이고 불평등한 디지털청구권, 즉 암호화폐의 공급과 합의과정에서 다수가 배제된 보팅 시스템은 기존 네트워크의 참여자에게 자발적인 참여동기를 저하시키고 네트워크시스템에서 활동할 수 있는 경제적인 유인을 제공하지 못한다는 구조적 단점을 가지는데 이는 네트워크 시스템의 지속적인 가능성을 위협하게 된다는 문제점이 있다.In addition, the biased and unequal digital claim rights, that is, the voting system in which the majority of cryptocurrencies are excluded from the supply and consensus process, lowers the voluntary motivation for participation in the existing network and does not provide economic incentives to operate in the network system. It has a structural disadvantage, which threatens the continued possibility of the network system.

또한, 기존의 PoA(Proof-of-Authority) 방식의 합의 알고리즘에서는 블록 생성 권한(authority)이 특정 노드들에 집중될 수 있고 권한 있는 노드 그룹에 새로운 블록 생성 노드로 참여하는 것이 제한되어 있기 때문에 상대적으로 중앙적일 수 있다. In addition, in the existing PoA (Proof-of-Authority) consensus algorithm, since the block creation authority can be concentrated on specific nodes and participation as a new block generation node in an authorized node group is restricted, Can be centralized.

따라서, 본 발명은 상기한 문제점을 해결하기 위해 창안된 것으로, 블록체인의 빠른 거래 속도를 유지하면서 블록 보상에 대한 공정성을 부여하고, 양자 난수 및 다양한 생성 방식의 난수를 레벨별 랜덤적 블록 생성자 선출 방식에 적용함으로써, 단일 공격점에 대한 보안 취약성을 해결하고 블록체인의 블록 생산과 검증의 효율성을 강화하여 거래 속도 향상시킬 수 있는 블록체인의 공정한 합의 알고리즘을 활용한 블록 생성자 선출 시스템 및 방법을 제공하는 것이다.Therefore, the present invention was invented to solve the above problems, while maintaining the fast transaction speed of the blockchain, providing fairness for block rewards, and selecting random block generators for each level using quantum random numbers and random numbers of various generation methods. Provides a block producer election system and method using the fair consensus algorithm of the blockchain that can improve transaction speed by solving security vulnerabilities against a single attack point and enhancing the efficiency of block production and verification of the blockchain by applying it to the method. Is to do.

상기의 목적을 달성하기 위한 본 발명의 제1양태에 따른 구성은, 블록체인의 공정한 합의 알고리즘을 활용한 블록 생성자 선출 시스템으로서, PoA의 블록 생성자 그룹의 블록 생성자 후보가 되는 다수의 노드와, 상기 블록 생성자 후보 노드들의 예치금, 규정 준수도 및 기여도를 포함하는 기본 요건을 점수로 환산한 환산점수에 따라 블록 생성자 노드를 복수의 레벨로 분류하여, 각 레벨마다 블록 생성자 후보 노드들을 소정 정렬 기준으로 정렬하여 식별값을 부여하고, 각 레벨의 블록 생성자 후보 노드가 생성한 난수를 적용하여 블록 생성자를 선출하는 블록체인 코어서버를 포함하는 것을 특징으로 한다. 이에 의해, 블록 생성자의 선정 기회의 공정성(equitableness)과 보안성을 강화할 수 있으며, 블록 생성자들 간의 담합의 문제를 해결할 수 있다. The configuration according to the first aspect of the present invention to achieve the above object is a block producer election system utilizing a fair consensus algorithm of a block chain, a plurality of nodes that become block producer candidates of the block producer group of PoA, and the above Block generator nodes are classified into a plurality of levels according to the conversion score obtained by converting basic requirements including deposits, compliance, and contributions of block generator candidate nodes into scores, and sorting block generator candidate nodes for each level by a predetermined sorting criterion It is characterized by including a blockchain core server that assigns an identification value and selects a block producer by applying a random number generated by a block producer candidate node of each level. Accordingly, fairness and security of the selection opportunity of block producers can be strengthened, and the problem of collusion between block producers can be solved.

여기서, 상기 블록체인 코어 서버는 블록 생성자 노드들의 정보가 저장되는 노드 정보 데이터베이스, 블록 생성자 후보들을 기본요건에 기초하여 다수의 레벨로 분류하는 레벨 분류부, 다수의 블록 생성자 후보 노드가 제출한 양자 난수를 합산하여 난수 합을 산출하는 양자 난수 합산부, 및 각 레벨에 미리 설정된 선출할 블록 생성자 후보수로 난수 합을 나누어 나머지값에 대응하는 식별번호를 갖는 블록 생성자 후보를 제외시켜가는 나머지 연산을 수행하여 레벨별 블록 생성자를 결정하는 블록 생성자 결정부를 구비하는 것이 바람직하다.Here, the blockchain core server includes a node information database in which information of block generator nodes is stored, a level classifier that classifies block generator candidates into a plurality of levels based on basic requirements, and a quantum random number submitted by a plurality of block generator candidate nodes. A quantum random number summing unit that calculates the sum of random numbers by summing and performs the remainder operation to exclude block generator candidates having an identification number corresponding to the remaining value by dividing the random sum by the number of block generator candidates to be elected to be selected in advance at each level. Thus, it is preferable to include a block generator determining unit that determines a block generator for each level.

상기 레벨 분류부는 소정 레벨에서 탈락될 블록 생성자 후보 노드가 있는 경우, 레벨에 속하지 못한 블록 생성자 예비후보 중 환산점수가 높은 블록 생성자 후보 그룹에 추가하여, 블록 생성자 후보 노드들을 복수의 레벨로 재분류하는 것이 바람직하다.When there is a block generator candidate node to be eliminated at a predetermined level, the level classifier reclassifies the block generator candidate nodes into a plurality of levels by adding to a block generator candidate group having a high conversion score among the preliminary candidates for block generators not belonging to the level. It is desirable.

상기 레벨 분류부는 각 요건에 상이한 가중치를 부여하여 점수로 환산하는 것이 바람직하다.It is preferable that the level classification unit assigns different weights to each requirement and converts it into a score.

상기 다수의 노드는 양자 난수 발생기를 포함하는 것이 효과적이다.It is effective that the plurality of nodes include a quantum random number generator.

한편, 상기의 목적을 달성하기 위한 본 발명의 제2양태에 따른 구성은, 블록체인의 공정한 합의 알고리즘을 이용한 블록 생성자 선출 방법으로서, PoA의 블록 생성자 그룹의 블록 생성자 노드들의 예치금, 규정 준수도 및 기여도를 포함하는 기본 요건 항목을 점수로 환산한 환산점수에 따라 블록 생성자 노드를 복수의 레벨로 분류하는 제1단계; 각 레벨마다 블록 생성자 후보 노드들을 소정 정렬 기준으로 정렬하여 식별값을 부여하는 제2단계; 각 레벨에 지정된 일정 개수의 블록 생성자 후보 노드가 난수를 발생하여 제출하는 제3단계; 각 레벨별로 블록 생성자 후보 노드의 난수값을 합하여 난수합을 산출하는 제4단계; 각 레벨에 대해 난수합을 미리 설정된 선출 인원수값으로 나누는 나머지 연산을 수행하여, 블록 생성자를 선출하는 제5단계를 포함하는 것을 특징으로 한다.On the other hand, the configuration according to the second aspect of the present invention for achieving the above object is a method for selecting a block producer using a fair consensus algorithm of a block chain, which includes deposits of block producer nodes in the block producer group of PoA, compliance with regulations, and A first step of classifying a block generator node into a plurality of levels according to a converted score obtained by converting a basic requirement item including a contribution degree into a score; A second step of arranging block generator candidate nodes for each level according to a predetermined sorting criterion to give an identification value; A third step of generating and submitting a random number by a predetermined number of block generator candidate nodes designated in each level; A fourth step of calculating a random sum by summing the random number values of the block generator candidate nodes for each level; And a fifth step of selecting a block producer by performing a remainder operation of dividing the random number sum by a preset number of elected persons for each level.

여기서, 상기 제5단계에서, 나머지 연산은, 소정 레벨에 미리 설정된 선출 인원수값으로 각 레벨의 난수합을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보 노드를 제외시키고, 다시 선출 인원수값으로 난수합을 나누고 나머지값에 대응하는 식별값을 갖는 블록 생성자 후보 노드를 제외시키는 과정을 미리 설정된 선출 인원수가 남을 때까지 반복하여 수행하는 것이 바람직하다.Here, in the fifth step, the remainder operation is performed by dividing the random number of each level by the number of elected people set in advance at a predetermined level, excluding block generator candidate nodes having an identification value corresponding to the remainder, and again as the elected number of people value. It is preferable to repeat the process of dividing the random number and excluding block generator candidate nodes having an identification value corresponding to the remaining value until a preset number of elected members remains.

상기 제1단계는, 소정 레벨에서 탈락될 블록 생성자 후보 노드가 있는 경우, 레벨에 속하지 못한 블록 생성자 후보 중 환산점수가 높은 블록 생성자 예비 후보 노드를 블록 생성자 후보 그룹에 추가하여, 블록 생성자 후보 노드를 복수의 레벨로 재분류하는 단계를 포함하는 것이 바람직하다.In the first step, when there is a block generator candidate node to be eliminated at a predetermined level, a block generator preliminary candidate node having a high conversion score among block generator candidates not belonging to the level is added to the block generator candidate group, and the block generator candidate node is selected. It is preferred to include the step of reclassifying into a plurality of levels.

또한, 복수의 레벨별로 블록 생성자를 선출시에 환산점수가 높은 블록 생성자 후보들로 구성된 레벨일수록 선출확률이 높아지도록 선출인원을 설정하는 것이 바람직하다.In addition, when selecting a block generator for each of a plurality of levels, it is preferable to set the number of elected members so that the selection probability increases as the level composed of block generator candidates having a high conversion score increases.

한편, 블록 생성자 그룹의 노드들의 예치금, 규정 준수도 및 기여도를 포함한 기본 요건을 점수로 환산한 환산점수에 따라 블록 생성자 후보를 복수의 레벨로 분류하는 제1단계는, 상기 각 요건에 상이한 가중치를 부여하여 점수로 환산하는 단계를 포함하는 것이 바람직하다. On the other hand, the first step of classifying the block generator candidates into a plurality of levels according to the conversion score obtained by converting the basic requirements including the deposit, compliance and contribution of the nodes of the block generator group into scores, is to assign different weights to each of the requirements. It is preferable to include the step of giving and converting it into a score.

상기의 구성으로 이루어진 블록체인의 공정한 합의 알고리즘을 활용한 블록 생성자 선출 시스템 및 방법에 따르면, 블록체인의 빠른 거래 속도를 유지하면서 블록 보상에 대한 공정성을 부여할 수 있다. 또한, 본 발명에 따르면, 블록 생성자를 선정하거나 블록 생성과 검증에 대한 합의 도달이 매우 빠르며 효율적이라는 장점이 있다. 또한, 본 발명에 따르면, 블록체인 생태계에 참여하는 노드라면 누구나 블록 생성자로 지원할 기회를 가질 수 있다.According to the block producer election system and method using the block chain's fair consensus algorithm consisting of the above configuration, it is possible to impart fairness for block rewards while maintaining the fast transaction speed of the block chain. In addition, according to the present invention, there is an advantage that it is very fast and efficient to select a block producer or to reach a consensus on block generation and verification. In addition, according to the present invention, any node participating in the blockchain ecosystem can have an opportunity to apply as a block producer.

또한, 본 발명에 따르면, 양자 난수 및 다양한 생성 방식의 난수를 레벨별 랜덤적 블록 생성자 선출 방식에 적용함으로써, 단일 공격점에 대한 보안 취약성을 해결하고 블록체인의 블록 생산과 검증의 효율성을 강화하여 거래 속도를 향상시킬 수 있다. In addition, according to the present invention, by applying quantum random numbers and random numbers of various generation methods to the method of selecting random block generators by level, security vulnerability to a single attack point is solved, and the efficiency of block production and verification of the block chain is enhanced. It can improve transaction speed.

도 1은 일반적인 블록 생성자 노드가 생성한 블록의 연결 구성도,
도 2는 본 발명에 따른 공정한 합의 알고리즘을 활용한 블록 생성자 선출 시스템의 구성도,
도 3은 본 발명에 따라 블록 생성자 후보를 레벨로 분류하기 위한 블록 생성자 후보의 점수 환산 예시표,
도 4는 본 발명에 따른 공정한 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출을 위해 블록 생성자 후보를 레벨로 분류한 예식도,
도 5는 본 발명에 따른 공정한 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출을 위해 레벨별 블록 생성자의 랜덤 선출을 나타내는 예식도,
도 6은 본 발명의 제1일실시예에 따른 공정한 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 방법의 순서도,
도 7은 본 발명의 제2실시예에 따른 공정한 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 방법의 순서도,
도 8은 본 발명에 따른 공정한 합의 알고리즘을 활용한 블록 생성자 선출시 양자 난수를 이용하여 블록 생성자를 선출하는 방법의 순서도이다.
1 is a block diagram of a block generated by a general block generator node.
2 is a block diagram of a block generator election system using a fair consensus algorithm according to the present invention;
3 is an exemplary table of converting scores of block generator candidates for classifying block generator candidates into levels according to the present invention;
4 is a schematic diagram of classifying block producer candidates into levels for selection of block producers of a block chain using a fair consensus algorithm according to the present invention;
5 is a schematic diagram showing random selection of block producers for each level in order to select block producers of a block chain using a fair consensus algorithm according to the present invention;
6 is a flowchart of a method for selecting a block producer in a block chain using a fair consensus algorithm according to the first embodiment of the present invention;
7 is a flowchart of a method for selecting a block producer in a block chain using a fair consensus algorithm according to a second embodiment of the present invention;
8 is a flowchart of a method of selecting a block generator using a quantum random number when selecting a block generator using a fair consensus algorithm according to the present invention.

본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Advantages and features of the present invention, and a method of achieving the same will be described through embodiments to be described later in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, these embodiments are provided to explain in detail enough to be able to easily implement the technical idea of the present invention to those of ordinary skill in the art.

도면들에 있어서, 본 발명의 실시예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 또한, 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소를 나타낸다. 본 명세서에서 "및/또는"이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 "포함한다" 또는 "포함하는"으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작, 소자 및 장치의 존재 또는 추가를 의미한다.In the drawings, embodiments of the present invention are not limited to the specific form shown, but are exaggerated for clarity. In addition, parts denoted by the same reference numerals throughout the specification represent the same elements. In the present specification, the expression "and/or" is used as a meaning including at least one of the elements listed before and after. In addition, the singular form includes the plural form unless specifically stated in the text. In addition, components, steps, actions and elements referred to as “comprising” or “comprising” as used in the specification mean the presence or addition of one or more other elements, steps, actions, elements and devices.

이하에서, 본 발명의 바람직한 실시 예가 첨부된 도면들을 참조하여 본 발명을 구체적으로 설명한다. 본 발명을 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

본 발명에서 구현하고자 하는 공정한 합의 알고리즘은 공정한 방식의 PoA 합의 알고리즘(equitable Proof-of-Authority)을 의미한다. The fair consensus algorithm to be implemented in the present invention means an equitable PoA consensus algorithm (equitable Proof-of-Authority).

PoA 합의 알고리즘에서 블록 생성자 그룹(Witness Group)은 최대 39개의 노드로 구성되며, 블록 생성 및 검증을 위한 그룹이다. 블록 생성자 그룹(Witness Group)은 새로운 노드 참여에 대한 의사결정권을 가진다. 도 1에 보인 바와 같이 블록 생성자 그룹의 39명 중에서 23명의 블록 생성자 노드가(2_1~2_23) 합의에 의해 선출되어 순차적으로 블록그룹(10_1~10_23)을 생성한다. 23개의 블록을 생성하는 것이 1라운드이며, 블록 생성에서 각 라운드는 최종 선출된 블록 생성자(BG) 23명 각각이 12개의 블록씩 생성하여 총276개의 블록을 생성한다. 블록이 생성되는 과정과 블록체인 내에서 거래 내역을 투명하게 공개함으로써 거래 트랜잭션에 대한 투명성과 비가역성 검증 및 블록 검증을 보장한다.In the PoA consensus algorithm, a block generator group (Witness Group) consists of up to 39 nodes, and is a group for block generation and verification. The Block Producer Group (Witness Group) has the decision to participate in the new node. As shown in FIG. 1, 23 block generator nodes (2_1 to 2_23) are elected by consensus among 39 members of the block generator group to sequentially generate block groups 10_1 to 10_23. The first round is to generate 23 blocks, and in each round of block generation, each of the 23 final elected block producers (BG) generates 12 blocks each, creating a total of 276 blocks. It ensures transparency and irreversibility verification and block verification for transaction transactions by transparently disclosing the process of block creation and transaction details within the blockchain.

본 발명에서는, PoA 합의 알고리즘을 활용하여, 더욱 공정한 합의 알고리즘에 의해 블록 생성자를 선출하기 위해서, 블록 생성자 그룹(Witness Group)의 39명의 블록 생성자(블록 생성자, Block Generator)들에 레벨을 둔다. 블록 생성자 선출 방식의 레벨을 정하기 위한 기본 요건으로서, 예치금, 규정 준수도 및 기여도 등을 고려한다. 그리고, 각 레벨별 블록 생성자의 선출시에 난수를 이용한 랜덤성을 적용한다. In the present invention, in order to select a block generator by a fairer consensus algorithm by utilizing the PoA consensus algorithm, a level is placed in 39 block generators (block generators, Block Generators) of a block generator group (Witness Group). As a basic requirement for determining the level of the block producer election method, the deposit, compliance, and contribution are considered. Then, randomness using a random number is applied when selecting a block generator for each level.

도 2는 본 발명에 따른 PoA 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 시스템의 구성도이다. 2 is a block diagram of a block producer election system of a block chain using the PoA consensus algorithm according to the present invention.

도 2에 보인 바와 같이, 블록체인의 블록 생성자 선출 시스템은 블록체인 코어서버(10)와 양자 난수를 생성하여 블록체인 코어 서버에 제출하는 다수의 블록 생성자 후보 노드(20)로 구성된다. 본 발명에 따라 블록체인 코어서버(10)에는 PoA 합의 알고리즘을 활용한 블록 생성자 선출 방법을 구현하기 위한 구성요소들이 추가되었으며, 도 2의 블록체인 코어서버(10)에서 본 발명에 관련된 구성요소만을 나타내었다. As shown in FIG. 2, the block producer election system of the blockchain consists of a blockchain core server 10 and a plurality of block generator candidate nodes 20 that generate quantum random numbers and submit them to the blockchain core server. In accordance with the present invention, components for implementing a method of selecting a block producer using a PoA consensus algorithm were added to the blockchain core server 10, and only components related to the present invention in the blockchain core server 10 of FIG. Indicated.

블록체인 코어서버(10)는, 블록 생성자 노드들의 정보가 저장되는 노드 정보 데이터베이스(11), 블록 생성자 후보들을 기본요건에 기초하여 다수의 레벨(레벨1, 레벨2, 레벨3..)로 분류하는 레벨 분류부(12), 다수의 블록 생성자 후보 노드(20)가 제출한 양자 난수를 합산하여 난수 합(randomA)을 산출하는 양자 난수 합산부(13), 각 레벨에 미리 설정된 선출할 블록 생성자 후보수로 난수 합(randomA)을 나누는 나머지 연산을 수행하여 레벨별 블록 생성자를 결정하는 블록 생성자 결정부(14)를 포함한다. 여기서, 나머지 연산의 수행은, 다음과 같이 이루어진다. 예를 들어, 소정 레벨에 미리 설정된 선출 인원수값으로 난수 합(randomA)을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보를 제외시키고, 다시 선출 인원수값-1로 난수합을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보를 제외시키고, 다시 선출 인원수값-2로 난수합을 나누어, 나머지값에 대응하는 식별번호를 갖는, 블록 생성자 후보를 제외시켜가는 나머지 연산을 수행하여, 선출 인원수가 남을 때까지 상기 과정을 반복하여 블록 생성자를 랜덤 선출한다. 이때, 제외되지 않은 블록 생성자 후보가 최종 블록 생성자로 선출된다.The blockchain core server 10 classifies the node information database 11 in which information of block generator nodes is stored, and block generator candidates into a plurality of levels (Level 1, Level 2, Level 3..) based on basic requirements. A level classifying unit (12), a quantum random number summing unit (13) that calculates a random number sum (randomA) by summing the quantum random numbers submitted by a plurality of block generator candidate nodes (20), a block generator to be selected in advance set for each level And a block generator determiner 14 that determines a block generator for each level by performing a remainder operation of dividing the random number sum (randomA) by a candidate number. Here, the remaining operation is performed as follows. For example, by dividing the random number sum (randomA) by the number of people elected in advance at a predetermined level, excluding the block generator candidates having an identification value corresponding to the remainder, dividing the random number by the number of people elected -1 again, and By excluding the block producer candidates having the corresponding identification value, dividing the random number by the number of elected persons value -2 again, and performing the remainder operation to exclude the block producer candidates having the identification number corresponding to the remaining value, the number of elected persons The above process is repeated until is left to randomly select a block generator. In this case, a block generator candidate that is not excluded is selected as the final block producer.

노드 정보 데이터베이스부(11)에는 블록 생성 후보가 되는 다수의 노드에 대한 정보가 저장된다. 노드 정보 데이터베이스부(11)에는 블록 생성자 후보 노드의 예치금 정보, 규정 준수도 및 기여도 등의 기본 요건을 판단하기 위한 각종 정보가 저장된다. 그리고, 노드 정보 데이터베이스부(11)에는 블록체인 코어서버(10) 내외에서 생성되고, 블록체인 코어서버(10)에 입력 또는 출력되는 데이터가 저장된다. The node information database unit 11 stores information on a plurality of nodes that are candidates for block generation. The node information database unit 11 stores various types of information for determining basic requirements, such as deposit information of a block generator candidate node, compliance degree, and contribution degree. In addition, the node information database unit 11 stores data generated inside and outside the blockchain core server 10 and input or output to the blockchain core server 10.

레벨 분류부(12)는 블록 생성자 후보의 기본요건의 각 항목을 점수로 환산하는 점수환산부(12a)와 각 레벨의 블록 생성자 후보를 일정 기준에 따라 정렬하여 식별번호를 부여하는 식별값 부여부(12b)를 포함한다. The level classification unit 12 includes a score conversion unit 12a that converts each item of the basic requirements of the block generator candidate into a score, and an identification value assigning unit that arranges the block generator candidates of each level according to a certain criterion and assigns an identification number. Includes (12b).

레벨 분류부(12)는 점수환산부(12a)가 환산한 점수에 기초하여 높은 점수순으로 잘라서 다수의 레벨로 분류한다. The level classifying unit 12 cuts in the order of high scores based on the scores converted by the score conversion unit 12a and classifies them into a plurality of levels.

블록 생성자 선출 방식의 레벨을 정하기 위한 기본 요건은, 예치금, 규정 준수도 및 기여도를 포함한다.The basic requirements for determining the level of the block producer election method include deposit, compliance and contribution.

여기서, 기본 요건 중 예치금은‘최소 지분 예치금'이다. 블록체인 네트워크의 건전한 지속성을 위해 노드가 보유하고 있는 예치금(토큰)만큼 확실한 측정 방법도 없다. 잃을 게 많을수록 책임도 증가하므로 이에 따라 의사결정에 있어서 신중할 것이기 때문이다. Here, among the basic requirements, the deposit is'minimum equity deposit'. There is no reliable measurement method as much as the deposit (token) held by a node for the healthy sustainability of the blockchain network. The more you lose, the greater your responsibility, so you will be cautious in making decisions accordingly.

기본 요건 중 규정 준수도는 블록 생성자 그룹(Witness Group) 정족수 참여 전과 참여 후로 나눌 수 있다. 블록 생성자 그룹(Witness Group) 참여 전의 규정 준수도는 인프라 구성요건 충족도로 측정될 수 있으며, 참여 후의 규정 준수도는, 인프라 유지 지속성, 블록 생산과 검증 역할의 충실도로 측정할 수 있다. 특히, 블록 생산자로 선출될 경우 시스템이나 네트워크 등의 다양한 문제로 블록 생산에 실패하거나 비정상적인 블록을 생산하여 블록 검증에 실패할 수 있는 블록을 생산하지 않아야 한다. 예를 들어, 블록을 생산할 차례에 생산하지 않거나, 잘못된 트랙잭션을 처리하거나 잘못된 블록을 생산한 경우를 들 수 있다. 이러한 의무와 책임에 대한 측정치가 규정 준수도이다. 그리고, 제정된 규정을 공정하게 준수하고 있는지를 평가한다. 한편, 기본 요건 중 기여도는 전자화폐 시스템의 활성화와 플랫폼 지속성을 위한 기여에 따른 신뢰와 평판을 기반으로 한다. Among the basic requirements, the degree of compliance can be divided into before and after participation in the quorum of the Witness Group. The degree of compliance before the participation of the Block Producer Group (Witness Group) can be measured by the degree of satisfaction of infrastructure configuration requirements, and the degree of compliance after participation can be measured by the persistence of infrastructure maintenance and the fidelity of the role of block production and verification. In particular, if you are elected as a block producer, you must not produce blocks that can fail block verification by failing to produce blocks due to various problems such as system or network or by producing abnormal blocks. For example, it may not produce a block on its turn to produce, handle a bad transaction, or produce a bad block. A measure of these obligations and responsibilities is compliance. In addition, it is evaluated whether or not the established regulations are fairly observed. On the other hand, among the basic requirements, the level of contribution is based on the trust and reputation of the contribution to the activation of the electronic money system and the sustainability of the platform.

여기서, 블록 생성자 그룹(Witness Group)은 기본 요건을 상황에 따라 협의하여 조정할 수 있다.Here, the block generator group (Witness Group) may negotiate and adjust basic requirements according to the situation.

도 3에는 블록 생성자 후보를 레벨로 분류하기 위한 블록 생성자 후보의 점수 환산 예시표를 나타내었다. 도 3에 보인 바와 같이, 규정 준수도로서 블록을 생산할 차례에 생산하지 않은 경우 또는 잘못된 트랜잭션을 처리하거나 잘못된 블록을 생성한 경우의 횟수를 1년 단위로 누적하여 마이너스 점수 처리한다. 그리고, 예치금으로서 지분 분량을 100점 기준으로 환산한다. 그리고, 기여도로서 플랫폼 지속성에 대한 신뢰도를 1000점 기준으로 점수화한다. 3 shows an exemplary table of score conversion of block generator candidates for classifying block generator candidates into levels. As shown in FIG. 3, the number of cases in which a block is not produced at the turn of production, or an invalid transaction is processed or an invalid block is generated as a compliance degree is accumulated for each year, and a negative score is processed. In addition, the amount of stake is converted as a deposit based on 100 points. And, as a contribution, the reliability of the platform sustainability is scored based on 1000 points.

기본 요건은 예치금, 규정 준수도, 기여도 외에도 다른 항목은 추가될 수 있다. 그리고, 점수 환산부(12a)가 기본 요건들을 환산하는 환산 기준은 미리 설정되는 것이 바람직하며, 필요에 따라 변경될 수 있다.In addition to the basic requirements, deposit, compliance, and contribution, other items may be added. In addition, the conversion standard for converting the basic requirements by the score conversion unit 12a is preferably set in advance, and may be changed as necessary.

한편, 도 2로 돌아가, 레벨 분류부(12)는 블록 생성자 후보 그룹(위트니스 그룹)의 블록 생성자 후보들을 복수의 레벨로 나눠진 블록 생성자 후보를 분류할 때, 분류 기준인 기본 요건에 상이한 가중치를 부여할 수 있다. 또한, 레벨에 따라 위 요건들에 대한 가중치를 조절하여 블록 생성자(BG) 후보 선정 기준에 반영할 수 있다.On the other hand, returning to FIG. 2, when classifying the block generator candidates of the block generator candidate group (Witness group) divided into a plurality of levels, the level classification unit 12 assigns different weights to the basic requirements as a classification criterion. can do. In addition, weights for the above requirements may be adjusted according to the level and reflected in the block generator (BG) candidate selection criteria.

식별값 부여부(12b)는 각 레벨의 블록 생성자 후보들을 일정 기준으로 정렬하여 식별값을 부여한다. 각 레벨에서 블록 생성자의 정렬은 3가지 기준으로 수행될 수 있다. 즉, 1) 블록 생성자명 순, 2) 블록 생성자의 공개키(Public Key) 순, 3) 블록 생성자 등록 순이다.The identification value assigning unit 12b arranges the block generator candidates of each level on a predetermined basis and assigns an identification value. In each level, block generators can be sorted based on three criteria. That is, 1) the order of the block creator name, 2) the order of the block creator's public key, and 3) the order of the block creator registration.

레벨별 블록 생성자 결정부(14)는 나머지 연산부에 의해 각 레벨에서 블록 생성자를 선출한다. 즉, 나머지 연산부(14a)는 소정 레벨에 미리 설정된 선출 인원수값으로 난수합(randomA)을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보를 제외시키고, 다시‘선출 인원수값-1’로 난수합을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보를 제외시키고, 다시‘선출 인원수값-2’로 난수합을 나누어 블록 생성자 후보를 제외시켜가는 나머지 연산을 수행하여, 선출 인원수가 남을 때까지 상기 과정을 반복하여 블록 생성자를 랜덤 선출한다. The block generator determining unit 14 for each level selects a block generator at each level by the remaining operation units. That is, the remaining operation unit 14a divides the random number (randomA) by the number of elected people set in advance at a predetermined level, excludes block producer candidates having an identification value corresponding to the remainder, and returns to the'elected number of people value -1'. When the number of elected members is left by dividing the sum, excluding the block producer candidates having the identification value corresponding to the remainder, and dividing the random number by'the number of elected values -2' to exclude the block producer candidates. The above process is repeated until the block generator is randomly selected.

도 2에는 도시하지 않았으나, 블록체인 코어서버(100)는 외부에서 오는 신호를 분석하고 해당 구성요소에 적절히 분배하고, 해당 구성요소에 그 동작여부를 명령하는 제어부와 전자화폐 거래에 사용하는 개인키와 공개키 등 암호화 코드를 생성하는 암호코드 처리부와, 전자지갑앱(이하 "전자화폐 거래용 전용앱, 또는 "전용앱"이라 함)을 업데이트하여 이용자 단말기Ta, Tb, Tc에 제공하는 전용앱 업데이트부, 블록체인 코어서버(10)를 외부와 유선 또는 무선으로 연결하기 위한 통신인터페이스로서의 유무선 통신부를 더 포함할 수 있다.Although not shown in FIG. 2, the blockchain core server 100 analyzes signals from the outside, distributes them appropriately to the corresponding components, and commands the components to operate or not, and a private key used for electronic money transactions. And a cryptographic code processing unit that generates encryption codes such as public keys, and a dedicated app that updates the electronic wallet app (hereinafter referred to as "a dedicated app for electronic money transactions, or "exclusive app") to provide to user terminals Ta, Tb, and Tc The update unit may further include a wired/wireless communication unit as a communication interface for connecting the blockchain core server 10 to the outside by wire or wirelessly.

그리고, 블록체인 코어서버(10)의 암호처리 코드부는 기본키값이 되는 마스터키를 생성하는 마스터키 생성기, 마스터키값을, 예를 들면, 해쉬 처리하여 해당 사용자 단말기Ta용 개인키를 생성하여 제공하는 개인키 제공부와, 개인키 제공부로부터 제공하는 개인키를 기초로 대응 공개키를 생성하여 제공하는 공개키 제공부, 대응 공개키에 기초하여 전자지갑주소를 생성하여 제공하는 전자지갑주소 생성기를 포함할 수 있다. 본 실시예에서는, 양자 난수를 각 레벨에 적용하는 것으로 서술하였으나, 난수로서 블록 해쉬 값의 조합을 이용할 수도 있을 것이다.In addition, the encryption processing code unit of the blockchain core server 10 generates and provides a master key generator for generating a master key as a basic key value, a master key value, for example, hashed to generate and provide a private key for the corresponding user terminal Ta. A private key providing unit, a public key providing unit that generates and provides a corresponding public key based on the private key provided from the private key providing unit, and an electronic wallet address generator that generates and provides an electronic wallet address based on the corresponding public key. Can include. In the present embodiment, it has been described that quantum random numbers are applied to each level, but a combination of block hash values may be used as random numbers.

도 4는 본 발명의 PoA 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출을 위해 블록 생성자 후보를 레벨로 분류한 예시도이다.4 is an exemplary diagram of classifying block producer candidates into levels for selection of block producers in a block chain using the PoA consensus algorithm of the present invention.

도 4의 실시예에서는, 블록 생성자 그룹(Witness Group)의 블록 생성자 후보 노드들은, 기본 요건(예치금, 규정 준수도, 기여도)에 따라 복수의 레벨로 분류된다. 도 4에 보인 바와 같이, 블록 생성자 그룹(Witness Group) 내에서 39명의 블록 생성자(BG) 후보를 3단계 레벨별로 분류한다. 여기서, 각 레벨에서 블록 생성자 후보로서 탈락될 상황이 발생하는 경우에는, 블록 생성자 예비 후보 들 중에서 기본 요건의 환산 점수가 높은 예비 후보가 각 레벨로 포함될 수 있다. In the embodiment of FIG. 4, block generator candidate nodes of a block generator group (Witness Group) are classified into a plurality of levels according to basic requirements (deposit, compliance, and contribution). As shown in FIG. 4, 39 block producer (BG) candidates are classified by three levels in a block producer group (Witness Group). Here, when a situation in which each level is eliminated as a block generator candidate occurs, among the block generator preliminary candidates, a preliminary candidate having a high conversion score of the basic requirement may be included in each level.

블록 생성자 그룹(Witness Group) 정족수는 39명이나 자진 사퇴나 퇴출에 의해 결원이 생길 수 있다. 이때, 대기 중인 예비후보(3D) 중에서 기본 요건 순위에 의해 결원 수만큼 새롭게 참여할 수 있다.The quorum of the Block Producer Group (Witness Group) is 39, but vacancy may occur due to voluntary resignation or withdrawal. At this time, among the pending preliminary candidates (3D), the number of vacancy can be newly participated according to the ranking of basic requirements.

이를 구현하기 위해, 레벨 분류부는 레벨1, 레벨2, 레벨3의 블록 생성자 후보들 중에 소정의 블록 생성자 후보가 탈락조건이 되면, 나머지 블록 생성자 후보들 중에 예치금, 규정 준수도, 및 기여도가 높은 블록 생성자 예비후보를 포함하여, 다시 3개의 레벨로 재분류한다. To implement this, the level classification unit reserves a block generator with high deposit, compliance, and contribution among the remaining block generator candidates when a predetermined block generator candidate among the block generator candidates of level 1, level 2, and level 3 is eliminated. Including candidates, reclassify into three levels again.

도 5는 본 발명의 PoA 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출을 위해 레벨별 블록 생성자의 랜덤 선출을 나타내는 예시도이다.5 is an exemplary diagram showing random selection of block producers for each level in order to select block producers of a block chain using the PoA consensus algorithm of the present invention.

도 5에 보인 바와 같이, 각 레벨별로 16명(Lv1), 13명(Lv2), 10명(Lv3) 총 39명의 블록 생성자 후보로 구성되며, 블록 생성 각 라운드 마다 각 레벨별로 예를 들어, 8명, 8명, 7명씩, 총 23명의 블록 생성자가 선정된다.As shown in Fig. 5, each level consists of a total of 39 block producer candidates, 16 (Lv1), 13 (Lv2), and 10 (Lv3), for each level of block generation, for example, 8 A total of 23 block producers are selected, each with 8 people and 7 people.

위 블록 생성자 선출 방식에서 하위 레벨 1에서 상위 레벨 3에 랭크될수록 선정 확률이 높아진다. 각 레벨별 선출될 확률은 Level 1은 50%, Level 2는 61%, Level 3은 70%로 설정한다. 즉, 복수의 레벨별로 블록 생성자를 선출시에 환산점수가 높은 블록 생성자 후보들로 구성된 레벨일수록 선출확률이 높아지도록 선출인원을 설정되는 것이 바람직하다.In the above block generator election method, the higher the ranks from the lower level 1 to the upper level 3, the higher the selection probability. The probability of being elected for each level is set at 50% for Level 1, 61% for Level 2, and 70% for Level 3. That is, when selecting a block producer for each of a plurality of levels, it is preferable that the number of elected persons is set so that the selection probability increases as the level composed of block generator candidates having a high conversion score increases.

이때, 각 레벨별로 일정 기준에 따라 정렬하여 식별값을 부여하고 난수(random number)를 적용하여 최종 블록 생성자를 선출한다. 이때, 선출된 블록 생성자들은 합의에 의해 블록생성 순서를 정하고, 해당 라운드에서 정해진 순서대로 블록을 생성하고 전파한다. At this time, each level is sorted according to a certain criterion to give an identification value, and a random number is applied to select a final block generator. At this time, the elected block producers determine the order of block generation by consensus, and generate and propagate blocks in the order determined in the round.

도 2로 돌아가, 양자 난수 합산부(13)는 다수의 블록 생성자 후보가 생성하여 제출한 양자 난수를 수신하여, 양자 난수를 합산한다.Returning to FIG. 2, the quantum random number summing unit 13 receives quantum random numbers generated and submitted by a plurality of block generator candidates, and sums the quantum random numbers.

한편, 다수의 블록 생성자 후보 노드(20)는 각각 양자 난수 발생기(21)를 가진다. 본 발명에 따른 시스템에서, 블록 생성자 그룹(Witness Group)에서 블록 생성자 랜덤 선출시, 랜덤 함수의 입력 시드(seed)로서는 양자 난수 발생기(quantum random number generator)로부터 획득된 양자난수(quantum random number)를 이용한다. 특히 양자(quantum) 난수 발생기에서 제공된 고유한 양자 난수는 난수의 중복을 회피할 수 있기 때문에 보안 강화에 큰 장점을 가진다.Meanwhile, a plurality of block generator candidate nodes 20 each have a quantum random number generator 21. In the system according to the present invention, when randomly selecting a block generator from a block generator group (Witness Group), a quantum random number obtained from a quantum random number generator is used as an input seed of the random function. Use. In particular, a unique quantum random number provided by a quantum random number generator has a great advantage in reinforcing security because it can avoid duplication of random numbers.

일반적으로, 양자 난수 발생기(quantum random number generator)는 양자 난수 발생 IC칩과 USB 커넥터기로 구성되며, 모듈형태로 동작할 수 있다.In general, a quantum random number generator is composed of a quantum random number generator IC chip and a USB connector, and can operate in a module form.

또한, 양자 난수 발생기는 방사성 동위원서 방식, 빛의 랜덤성 이용방식 등 양자난수를 발생시키는 기능을 가진 것이면 어떠한 것도 가능하며, 특별히 이 부분에 제한을 두지 않는다. 방사성 동위원서 방식의 양자난수는 원자핵의 자연붕괴시 방출되는 알파 입자의 방출시간에 상응하여 발생되는 랜덤펄스를 이용하여 생성된 자연난수이다.In addition, any quantum random number generator can be used as long as it has a function of generating a quantum random number, such as a radioactive isotope method or a method of using randomness of light, and there is no particular limitation on this part. A quantum random number in the radioactive isotope method is a natural random number generated using a random pulse generated corresponding to the emission time of the alpha particle emitted when the atomic nucleus is naturally decayed.

도 6은 본 발명의 제1일실시예에 따른 PoA 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 방법의 순서도이고, 도 7은 본 발명의 제2실시예에 따른 PoA 합의 알고리즘을 활용한 블록체인의 블록 생성자 선출 방법의 순서도이고, 도 8은 본 발명의 블록 생성자 선출 방법의 순서도이다.6 is a flowchart of a method for selecting a block producer of a block chain using a PoA consensus algorithm according to the first embodiment of the present invention, and FIG. 7 is a block chain using the PoA consensus algorithm according to the second embodiment of the present invention. Is a flow chart of a method for selecting a block generator, and FIG. 8 is a flowchart of a method for selecting a block generator according to the present invention.

도 6에 보인 바와 같이, 블록 생성자 후보 그룹(위트니스 그룹)의 노드들을 예치금, 규정준수도 및 기여도 등을 포함하는 기본요건에 따라 복수의 레벨로 블록 생성자 후보를 분류한다(S1). As shown in FIG. 6, the nodes of the block generator candidate group (Witness group) are classified into a plurality of levels according to basic requirements including a deposit, compliance, and contribution (S1).

블록체인 코어서버(10)는 분류된 복수의 레벨에서 난수를 적용하여 일정 비율의 블록 생성자를 선출한다(S2). 복수의 레벨에서 난수를 적용하여 일정 비율의 블록 생성자를 선출하는 방법은 후술하기로 한다.Blockchain core server 10 selects a certain percentage of block producers by applying random numbers from a plurality of classified levels (S2). A method of selecting a certain ratio of block generators by applying random numbers at a plurality of levels will be described later.

각 레벨별 블록 생성자가 블록 생성 순서를 일정 기준에 따라 정하여 블록 생성 순서를 합의한다(S3). 그리고, 합의된 순서에 따라 블록 생성자가 블록을 생성하여 전파한다(S4).The block producers for each level determine the block generation order according to a certain criterion and agree on the block generation order (S3). Then, the block creator generates and propagates the block according to the agreed order (S4).

여기서, 도 5를 참조하면, 매 라운드가 시작될 때 23개의 블록 생성자(BG)들은 일정 수(예를 들어, 16명 이상, 즉 70%이상)의 블록 생성자(BG)가 합의한 순서에 따라 블록 생성을 수행한다. 블록 생성자의 생성 순서는, 블록 생성자명 순, 블록 생성자의 공개키(Public Key) 순, 블록 생성자 등록 순 등을 이용할 수 있다.Here, referring to FIG. 5, at the beginning of each round, 23 block producers (BGs) generate blocks in an order agreed upon by a certain number of block producers (BGs, for example, 16 or more, that is, 70% or more). Perform. The order of generation of the block creators may be in the order of the name of the block creator, the order of the public key of the block creator, the order of registration of the block creator, and the like.

한편, 블록 생성자 선출 방법의 다른 실시예로서, 도 7을 참조하여, 기본조건을 형성하는 예치금, 규정준수도, 기여도 등에 서로 다른 가중치를 적용하여 블록 생성자를 선출하는 방법을 설명한다. On the other hand, as another embodiment of the method for selecting a block producer, a method of selecting a block producer by applying different weights to a deposit, a degree of compliance, a degree of contribution, etc. forming a basic condition will be described with reference to FIG. 7.

도 7에 보인 바와 같이, 블록 생성자 후보 그룹(위트니스 그룹)의 블록 생성자 후보들을 일정 기준에 따라 복수의 레벨로 블록 생성자 후보를 분류한다(T1).As shown in FIG. 7, block generator candidates of the block generator candidate group (Witness group) are classified into a plurality of levels according to a predetermined criterion (T1).

레벨 분류 기준이 되는 기본요건을 구성하는 각 요건에 상이한 가중치를 적용하는 점수로 환산을 선택하는 경우(T2), 블록체인 코어서버(10)는 기본 요건을 구성하는 예치금, 규정 준수도, 기여도에 각각 상이한 가중치를 부여하고, 블록 생성자 후보를 복수의 레벨로 재분류한다(T3). In the case of selecting the conversion into a score that applies different weights to each requirement constituting the basic requirement that is the level classification criterion (T2), the blockchain core server 10 determines the deposit, compliance, and contribution that constitute the basic requirements. Different weights are assigned to each, and block generator candidates are reclassified into a plurality of levels (T3).

여기서, 가중치를 부여하는 방법은 예를 들어, 예치금보다 규정 준수도에 더 큰 가중치를 부여하는 것과 같은 방식으로, 시스템 구현시 기본요건을 구성하는 구성요소의 중요도에 따라 가중치를 다양하게 부여하여 구성할 수 있으므로, 구체적인 설명은 생략한다. Here, the weighting method is, for example, a method of assigning a greater weight to the degree of compliance than the deposit, and is composed by assigning various weights according to the importance of the components constituting the basic requirements when implementing the system. Because it can be, detailed description is omitted.

블록체인 코어서버(10)는 분류된 각 레벨에 난수를 적용하여 각 레벨에서 일정 비율의 블록 생성자를 선출한다(T4). The blockchain core server 10 applies a random number to each classified level and selects a certain percentage of block producers at each level (T4).

각 레벨별로 선출된 블록 생성자들이 일정 기준에 따라 블록 생성 순서를 정하여 블록 생성 순서를 합의한다(T5).Block producers elected for each level determine the order of block generation according to a certain criterion and agree on the order of block generation (T5).

합의된 순서에 따라 블록 생성자가 블록을 생성하여 전파한다(T6).The block producer generates and propagates the block according to the agreed order (T6).

도 8은 본 발명에 따른 PoA 합의 알고리즘을 활용한 블록 생성자 선출시 양자 난수를 이용하여 블록 생성자를 선출하는 방법의 순서도이다. 도 8에 보인 바와 같이, 각 레벨별 블록 생성자 선출시(S20), 각 레벨별 블록 생성자 후보들을 일정 기준으로 정렬하여 식별값(1번~블록 생성자 수)을 부여한다(S21). 각 레벨별 블록 생성자 후보가 양자 난수를 생성하여 블록체인 코어서버(10)에 제출한다(S22).8 is a flowchart of a method of selecting a block generator using a quantum random number when selecting a block generator using a PoA consensus algorithm according to the present invention. As shown in FIG. 8, when a block generator for each level is selected (S20), the block generator candidates for each level are sorted on a predetermined basis to give an identification value (No. 1 to the number of block generators) (S21). Block generator candidates for each level generate a quantum random number and submit it to the blockchain core server 10 (S22).

양자 난수 합산부(13)가 각 레벨별로 블록 생성자 후보의 난수값을 합산하여 난수합(randomA)을 산출한다(S23). The quantum random number summing unit 13 calculates a random number sum (randomA) by summing the random number values of the block generator candidates for each level (S23).

도 2의 블록체인 코어서버(10)의 레벨별 블록 생성자 결정부(14)가 나머지 연산부에 의해 각 레벨에서 블록 생성자를 선출한다. 즉, 나머지 연산부(14a)는 소정 레벨에 미리 설정된 선출 인원수값으로 난수합(randomA)을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보를 제외시키고, 다시 선출 인원수값-1로 난수합을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보를 제외시키고, 다시 선출 인원수값-2로 난수합을 나누어, 나머지값에 대응하는 식별번호를 갖는, 블록 생성자 후보를 제외시켜가는 나머지 연산을 수행하여, 선출 인원수가 남을 때까지 상기 과정을 반복하여 블록 생성자를 랜덤 선출한다(S24). 이때, 제외되지 않은 블록 생성자 후보가 최종 블록 생성자로 선출된다.The block generator determination unit 14 for each level of the block chain core server 10 of FIG. 2 selects a block generator at each level by the remaining operation units. That is, the remaining calculation unit 14a divides the random number (randomA) by the number of elected people set in advance at a predetermined level, excludes the block generator candidates having an identification value corresponding to the remainder, and calculates the random number again to the number of elected number -1. Divide, exclude block producer candidates having an identification value corresponding to the remainder, divide the random number by the number of elected number -2 again, and perform the remainder operation to exclude block producer candidates having an identification number corresponding to the remainder value. Thus, the above process is repeated until the number of elected members remains, thereby randomly selecting a block generator (S24). In this case, a block generator candidate that is not excluded is selected as the final block producer.

한편, 블록 생성자 후보의 레벨 분류부(11)는 레벨1, 레벨2, 및 레벨3의 블록 생성자 후보들 중에 블록 생성자 후보에서 탈락될 블록 생성자 후보가 있다고 판단되는 경우(S25), 레벨에 속하지 못한 블록 생성자 후보 중 환산 점수가 높은 블록 생성자 예비 후보를 추가하여 레벨별 블록 생성자 후보를 재그룹화한다(S26). On the other hand, when it is determined that there is a block generator candidate to be eliminated from the block generator candidate among the block generator candidates of level 1, level 2, and level 3 (S25), the block that does not belong to the level Block generator candidates for each level are regrouped by adding a block generator preliminary candidate having a high conversion score among the generator candidates (S26).

블록 생성자 선출 과정이 소정 횟수이상 완료되었는지 판단하여(S27), 소정 횟수 이상이 아니면, S22단계로 돌아간다. 이후 상술한 바와 같이, 각 레벨별 블록 생성자 후보가 난수를 생성하여 블록체인 코어 서버에 제출하고, 상술한 과정을 반복한다.It is determined whether the block generator selection process has been completed more than a predetermined number of times (S27), and if not more than a predetermined number of times, the process returns to step S22. Thereafter, as described above, the block generator candidate for each level generates a random number and submits it to the blockchain core server, and the above-described process is repeated.

이러한 블록 생성자 선출 방법에 의하면, 블록생성속도를 신속하게 하고, 취약점을 보완할 수 있으며, 디도스(DDoS)의 공격으로부터 보안을 강화할 수 있다. According to this method of selecting a block producer, it is possible to speed up the block generation speed, supplement vulnerabilities, and strengthen security against DDoS attacks.

상술한 실시예에서는 구체적으로 서술하지 않았으나, 블록 생성자를 랜덤 선출함에 따라 매번 블록 생성자로 선출되지 못하는 노드를 위해, 각 레벨별로 일정 횟수(예를 들어, 10회)이상 블록 생성자로 선출된 블록 생성자 후보 노드들은 제외하고, 각 레벨의 나머지 블록 생성자 후보 노드들에 양자 난수를 적용하여 블록 생성자를 선출할 수도 있다. Although not described in detail in the above-described embodiment, for nodes that cannot be selected as block generators every time due to random selection of block generators, block generators elected as block generators at least a certain number of times (for example, 10 times) for each level Excluding the candidate nodes, a block generator may be selected by applying a quantum random number to the remaining block generator candidate nodes of each level.

또한, 상술한 실시예에서는, 랜덤 선출시 랜덤 함수의 입력 시드(seed)로서, 양자 난수를 예로 설명하였으나, 이전 라운드의 첫번째 블록의 블록 해쉬 값, 그리고 하드웨어 난수와, 소프트웨어 난수, 블록 해쉬 값의 조합으로부터의 난수 등을 모두 사용할 수 있다. In addition, in the above-described embodiment, a quantum random number was described as an example as an input seed of a random function when randomly selected, but the block hash value of the first block of the previous round, the hardware random number, the software random number, and the block hash value Any random number from a combination can be used.

본 발명과 같이 공정한 합의 알고리즘(ePOA) 방식을 활용하여 블록 생성자를 선출하는 경우, 기본 요건에 해당하는 대상군에서 랜덤성을 부여하여 선출함으로써 비트코인이나 이더리움처럼 규모가 큰 네트워크가 확보하고 있는 보안성을 유지하면서, EOS처럼 적은 수의 노드로 거래 속도를 획기적으로 개선할 수 있다.In the case of selecting a block generator using the fair consensus algorithm (ePOA) method as in the present invention, a large network such as Bitcoin or Ethereum secures by selecting randomness from the target group corresponding to the basic requirements. While maintaining security, transaction speed can be dramatically improved with fewer nodes like EOS.

그리고, 본 발명에 따르면, 블록 생성자를 선정하거나 블록 생성과 검증에 대한 합의 도달이 매우 빠르며 효율적이라는 장점이 있다. 또한, 본 발명에 따른 ePoA 방식에 따르면, 블록체인 생태계에 참여하는 노드라면 누구나 블록 생성자로 지원할 기회가 열려 있도록 한다. In addition, according to the present invention, there is an advantage that it is very fast and efficient to select a block producer or to reach a consensus on block generation and verification. In addition, according to the ePoA method according to the present invention, any node participating in the blockchain ecosystem has an opportunity to apply as a block producer.

또한, 본 발명에 따르면, 해당 블록체인의 생태계에 기여하며, 건전한 커뮤니티 유지 역할에 책임을 수행할 수 있다고 판단될 때 블록 생성자 그룹(Witness Group)의 일원이 될 수 있다. In addition, according to the present invention, when it is determined that it contributes to the ecosystem of the corresponding block chain and can take responsibility for the role of maintaining a healthy community, it can become a member of the Block Producer Group (Witness Group).

상기는 본 발명의 예시로서, 한정적으로 해석되어야 하는 것은 아니다. 본 발명의 몇 가지 예시적인 실시 형태에 대해 설명했지만, 본 발명의 신규 교시 및 이점으로부터 현저하게 일탈하지 않고, 많은 변경이 예시적인 실시 형태에 있어서 가능한 것을 당업자라면 용이하게 이해할 것이다. 따라서 모든 그러한 변경은 특허청구의 범위에서 정의되는 본 발명의 범위 내에 포함되는 것으로 의도된다. 따라서 상기가 본 발명의 예시이며, 공개된, 또는 본 명세서에 공개되는 발명에 있어서 특정의 실시 형태에 한정되는 것으로서 해석되어서는 안 되며, 개시된 실시 형태로의 변경 및 다른 실시 형태가 본 명세서에 개시되는 발명의 범위 내에 포함된다.The above is an illustration of the present invention, and should not be interpreted limitedly. Although several exemplary embodiments of the present invention have been described, those skilled in the art will readily understand that many changes are possible in the exemplary embodiments without significantly departing from the novel teachings and advantages of the present invention. Accordingly, all such modifications are intended to be included within the scope of the invention as defined in the claims. Therefore, the above is an illustration of the present invention, and should not be construed as being limited to specific embodiments in the disclosed or disclosed invention, and changes to the disclosed embodiments and other embodiments are disclosed in this specification. It is included within the scope of the invention.

2_1~2_23 : 블록 생성자 노드 10_1~10_23 : 블록그룹
10 : 블록체인 코어서버
11 : 블록 생성자 후보 노드 정보 데이터베이스
12 : 블록 생성자 후보의 레벨 분류부
12a : 블록생성자 후보의 점수 환산부 12b : 식별값 부여부
13 : 양자 난수 합산부 14 : 레벨별 블록 생성자 결정부
14a : 나머지 연산부 20 : 블록 생성자 후보 노드
22 : 양자 난수 발생기
2_1~2_23: Block generator node 10_1~10_23: Block group
10: Blockchain Core Server
11: Block generator candidate node information database
12: level classifier of block generator candidates
12a: block generator candidate score conversion unit 12b: identification value assignment unit
13: quantum random number summing unit 14: block generator determination unit for each level
14a: remainder operation unit 20: block generator candidate node
22: quantum random number generator

Claims (11)

블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 시스템으로서,
PoA의 블록 생성자 그룹의 블록 생성자 후보가 되는 다수의 노드와,
상기 블록 생성자 후보 노드들의 예치금, 규정 준수도 및 기여도를 포함하는 기본 요건을 점수로 환산한 환산점수에 따라 블록 생성자 노드를 복수의 레벨로 분류하여, 각 레벨마다 블록 생성자 후보 노드들을 소정 정렬 기준으로 정렬하여 식별값을 부여하고, 각 레벨의 블록 생성자 후보 노드가 생성한 난수를 적용하여 블록 생성자를 선출하는 블록체인 코어서버를 포함하는 것을 특징으로 하는, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 시스템.
As a block producer election system using the blockchain's PoA consensus algorithm,
A plurality of nodes that are candidates for block producers in the PoA block generator group,
Block generator nodes are classified into a plurality of levels according to the conversion score obtained by converting the basic requirements including the deposit, compliance, and contribution of the block generator candidate nodes into points, and block generator candidate nodes for each level are sorted based on a predetermined sorting criterion. Block producer using the PoA consensus algorithm of the blockchain, characterized by including a blockchain core server that aligns and assigns an identification value and selects a block producer by applying a random number generated by the block producer candidate node at each level. Election system.
제1항에 있어서,
상기 블록체인 코어 서버는 블록 생성자 노드들의 정보가 저장되는 노드 정보 데이터베이스, 블록 생성자 후보들을 기본요건에 기초하여 다수의 레벨로 분류하는 레벨 분류부, 다수의 블록 생성자 후보 노드가 제출한 양자 난수를 합산하여 난수 합을 산출하는 양자 난수 합산부, 및 각 레벨에 미리 설정된 선출할 블록 생성자 후보수로 난수 합을 나누어 나머지값에 대응하는 식별번호를 갖는 블록 생성자 후보를 제외시켜가는 나머지 연산을 수행하여 레벨별 블록 생성자를 결정하는 블록 생성자 결정부를 구비하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 시스템.
The method of claim 1,
The blockchain core server sums up a node information database in which information of block generator nodes is stored, a level classifier that classifies block generator candidates into a plurality of levels based on basic requirements, and a quantum random number submitted by a plurality of block generator candidate nodes. A quantum random number summing unit that calculates the sum of random numbers, and the remaining operation that divides the random number sum by the number of block generator candidates to be elected previously set in each level and excludes the block generator candidates having an identification number corresponding to the remaining value. A block generator election system using a block chain's PoA consensus algorithm, which has a block generator decision unit that determines each block producer.
제2항에 있어서,
상기 레벨 분류부는 소정 레벨에서 탈락될 블록 생성자 후보 노드가 있는 경우, 레벨에 속하지 못한 블록 생성자 예비후보 중 환산점수가 높은 블록 생성자 후보 그룹에 추가하여, 블록 생성자 후보 노드들을 복수의 레벨로 재분류하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 시스템.
The method of claim 2,
When there is a block generator candidate node to be eliminated at a predetermined level, the level classifier reclassifies the block generator candidate nodes into a plurality of levels by adding to a block generator candidate group having a high conversion score among the preliminary candidates for block generators not belonging to the level. It is a block producer election system using the blockchain's PoA consensus algorithm.
제2항에 있어서,
상기 레벨 분류부는 각 요건에 상이한 가중치를 부여하여 점수로 환산하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 시스템.
The method of claim 2,
The level classification unit assigns different weights to each requirement and converts it into a score, a system for selecting a block producer using the PoA consensus algorithm of the blockchain.
제2항에 있어서,
상기 다수의 노드는 양자 난수 발생기를 포함하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 시스템.
The method of claim 2,
The plurality of nodes will include a quantum random number generator, block producer election system using the PoA consensus algorithm of the block chain.
블록체인의 PoA(Proof-of-Authority) 합의 알고리즘을 이용한 블록 생성자 선출 방법으로서,
PoA의 블록 생성자 그룹의 블록 생성자 노드들의 예치금, 규정 준수도 및 기여도를 포함하는 기본 요건 항목을 점수로 환산한 환산점수에 따라 블록 생성자 노드를 복수의 레벨로 분류하는 제1단계;
각 레벨마다 블록 생성자 후보 노드들을 소정 정렬 기준으로 정렬하여 식별값을 부여하는 제2단계;
각 레벨에 지정된 일정 개수의 블록 생성자 후보 노드가 난수를 발생하여 제출하는 제3단계;
각 레벨별로 블록 생성자 후보 노드의 난수값을 합하여 난수합을 산출하는 제4단계;
각 레벨에 대해 난수합을 미리 설정된 선출 인원수값으로 나누는 나머지 연산을 수행하여, 블록 생성자를 선출하는 제5단계를 포함하는 것을 특징으로 하는 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 방법.
As a block producer election method using the blockchain's PoA (Proof-of-Authority) consensus algorithm,
A first step of classifying the block generator nodes into a plurality of levels according to the conversion score obtained by converting the basic requirement items including the deposit, the degree of compliance and the contribution of the block generator nodes of the block generator group of the PoA into a score;
A second step of arranging block generator candidate nodes for each level according to a predetermined sorting criterion to give an identification value;
A third step of generating and submitting a random number by a predetermined number of block generator candidate nodes designated in each level;
A fourth step of calculating a random sum by summing the random number values of the block generator candidate nodes for each level;
A method for selecting a block producer using a PoA consensus algorithm of a block chain, characterized in that it comprises a fifth step of selecting a block producer by performing a remainder operation that divides the random number for each level by a preset number of elected people.
제6항에 있어서,
상기 제5단계에서, 나머지 연산은, 소정 레벨에 미리 설정된 선출 인원수값으로 각 레벨의 난수합을 나누고, 나머지에 대응하는 식별값을 갖는 블록 생성자 후보 노드를 제외시키고, 다시 선출 인원수값으로 난수합을 나누고 나머지값에 대응하는 식별값을 갖는 블록 생성자 후보 노드를 제외시키는 과정을 미리 설정된 선출 인원수가 남을 때까지 반복하여 수행하는 것을 특징으로 하는 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 방법.
The method of claim 6,
In the fifth step, the remainder calculation is performed by dividing the random number of each level by the number of elected people set in advance at a predetermined level, excluding the block generator candidate nodes having an identification value corresponding to the remainder, and again, the random number sum as the number of elected people. Block producer selection method using the PoA consensus algorithm of a block chain, characterized in that the process of dividing by and excluding block producer candidate nodes having an identification value corresponding to the remaining value is repeatedly performed until a preset number of elected members remains.
제6항에 있어서,
상기 제1단계는, 소정 레벨에서 탈락될 블록 생성자 후보 노드가 있는 경우, 레벨에 속하지 못한 블록 생성자 후보 중 환산점수가 높은 블록 생성자 예비 후보 노드를 블록 생성자 후보 그룹에 추가하여, 블록 생성자 후보 노드를 복수의 레벨로 재분류하는 단계를 포함하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 방법.
The method of claim 6,
In the first step, when there is a block generator candidate node to be eliminated at a predetermined level, a block generator preliminary candidate node having a high conversion score among block generator candidates not belonging to the level is added to the block generator candidate group, and the block generator candidate node is selected. A method for selecting a block producer using the PoA consensus algorithm of the blockchain, which includes the step of reclassifying into a plurality of levels.
제6항에 있어서,
블록 생성자 그룹의 노드들의 예치금, 규정 준수도 및 기여도를 포함한 기본 요건을 점수로 환산한 환산점수에 따라 블록 생성자 후보를 복수의 레벨로 분류하는 제1단계는,
상기 각 요건에 상이한 가중치를 부여하여 점수로 환산하는 단계를 포함하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 방법.
The method of claim 6,
The first step of classifying block generator candidates into a plurality of levels according to the conversion score obtained by converting the basic requirements including the deposit, compliance and contribution of the nodes of the block generator group into points,
A method for selecting a block producer using a PoA consensus algorithm of a block chain, comprising the step of converting the score into a score by assigning a different weight to each of the requirements.
제6항 내지 제9항 중 어느 한 항에 있어서,
복수의 레벨별로 블록 생성자를 선출시에 환산점수가 높은 블록 생성자 후보들로 구성된 레벨일수록 선출확률이 높아지도록 선출인원을 설정하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 방법.
The method according to any one of claims 6 to 9,
A method for selecting a block producer using the PoA consensus algorithm of the blockchain, which is to set the number of people to be elected so that the higher the level consisting of block producer candidates with a higher conversion score when selecting a block producer for each level.
제10항에 있어서,
상기 각 노드는 상기 난수로서 양자 난수를 발생하는 것인, 블록체인의 PoA 합의 알고리즘을 활용한 블록 생성자 선출 방법.
The method of claim 10,
Each node generates a quantum random number as the random number, a method for selecting a block producer using a PoA consensus algorithm of a block chain.
KR1020190043823A 2019-04-15 2019-04-15 System and method for selection of block generator using equitable consensus algorithm in blockchain Ceased KR20200121141A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190043823A KR20200121141A (en) 2019-04-15 2019-04-15 System and method for selection of block generator using equitable consensus algorithm in blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190043823A KR20200121141A (en) 2019-04-15 2019-04-15 System and method for selection of block generator using equitable consensus algorithm in blockchain

Publications (1)

Publication Number Publication Date
KR20200121141A true KR20200121141A (en) 2020-10-23

Family

ID=73039336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190043823A Ceased KR20200121141A (en) 2019-04-15 2019-04-15 System and method for selection of block generator using equitable consensus algorithm in blockchain

Country Status (1)

Country Link
KR (1) KR20200121141A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487091A (en) * 2020-12-02 2021-03-12 深圳前海微众银行股份有限公司 Method and device for determining block chain consensus node
KR102396631B1 (en) * 2020-11-12 2022-05-11 주식회사 티맥스엔터프라이즈 Blockchain system
CN115623011A (en) * 2022-09-29 2023-01-17 中国银行股份有限公司 A method and device for transforming Raft consensus algorithm
KR20230046644A (en) * 2021-09-30 2023-04-06 한국전력공사 Representative and canditate selection method of blockchain network using comtitive bidding and blockchain network
CN118550503A (en) * 2024-07-26 2024-08-27 之江实验室 Random number processing method, device, computer equipment and storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102396631B1 (en) * 2020-11-12 2022-05-11 주식회사 티맥스엔터프라이즈 Blockchain system
CN112487091A (en) * 2020-12-02 2021-03-12 深圳前海微众银行股份有限公司 Method and device for determining block chain consensus node
KR20230046644A (en) * 2021-09-30 2023-04-06 한국전력공사 Representative and canditate selection method of blockchain network using comtitive bidding and blockchain network
CN115623011A (en) * 2022-09-29 2023-01-17 中国银行股份有限公司 A method and device for transforming Raft consensus algorithm
CN118550503A (en) * 2024-07-26 2024-08-27 之江实验室 Random number processing method, device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
KR20200121141A (en) System and method for selection of block generator using equitable consensus algorithm in blockchain
AU2019229435B2 (en) Methods and apparatus for a distributed database within a network
CN109544334B (en) Method for realizing network extensible block chain
CN111090892B (en) Block chain consensus method and device based on VRF and threshold signature
US10747753B2 (en) Methods and apparatus for a distributed database within a network
Shibata Proof-of-search: combining blockchain consensus formation with solving optimization problems
Kumar et al. Generation bidding strategy in a pool based electricity market using Shuffled Frog Leaping Algorithm
CN109493062A (en) A kind of block chain common recognition method proved based on prestige equity
WO2017040313A1 (en) Methods and apparatus for a distributed database within a network
KR102248890B1 (en) System and method for lottery based on public blockchain and verification thereof
CN108388421A (en) The generation method and device of random number
Valdivia et al. Decentralization: The failed promise of cryptocurrencies
Gjermundrød et al. Going beyond the coinbase transaction fee: Alternative reward schemes for miners in blockchain systems
KR20200013871A (en) Proof-of-Probability based blockchain compensation method and apparatus
Monem et al. An Industry-4.0-compliant sustainable Bitcoin model through optimized transaction selection and sustainable block integration
Al-Tirawi et al. Maintaining Knowledge Distribution System's Sustainability Using Common Value Auctions.
Al-Tirawi et al. Using Cultural Algorithms with Common Value Auctions to Provide Sustainability in Complex Dynamic Environments
Al-Tirawi et al. Sustainable learning in cultural algorithms using common value auctions
WO2020199179A1 (en) Method and apparatus for determining consensus node, and computer device and storage medium
Alleman Randomness and Games on Ethereum
Jabbar et al. NCABS: A Novel Consensus Algorithm for Blockchain Network Scalability
Dalla Palma et al. Business-Savvy Blockchains with Gamification: A Framework for Collaborative Problem Solving.
HK40010242B (en) Consensus node determining method and device, computer equipment and storage medium
Ebrahimi et al. Predicting User Performance and Bitcoin Price Using Block Chain Transaction Network
Liberman Decentralized AI: Meaningful utilization of computational power for real-world application

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190415

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200402

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20201027

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20200402

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载