KR102645070B1 - Operating apparatus for block chain, and control method thereof - Google Patents

Operating apparatus for block chain, and control method thereof Download PDF

Info

Publication number
KR102645070B1
KR102645070B1 KR1020190057140A KR20190057140A KR102645070B1 KR 102645070 B1 KR102645070 B1 KR 102645070B1 KR 1020190057140 A KR1020190057140 A KR 1020190057140A KR 20190057140 A KR20190057140 A KR 20190057140A KR 102645070 B1 KR102645070 B1 KR 102645070B1
Authority
KR
South Korea
Prior art keywords
node
representative
votes
generation
stake
Prior art date
Application number
KR1020190057140A
Other languages
Korean (ko)
Other versions
KR20200132149A (en
Inventor
전진호
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020190057140A priority Critical patent/KR102645070B1/en
Publication of KR20200132149A publication Critical patent/KR20200132149A/en
Application granted granted Critical
Publication of KR102645070B1 publication Critical patent/KR102645070B1/en

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정함으로써, 생성노드가 지역적으로 집중되어 선정되는 경우에 발생할 수 있는 데이터 조작 등의 노드 오염의 문제점을 사전에 방지할 수 있는 블록체인운영장치 및 그 동작 방법에 관한 것이다.The present invention, in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied, regionally distributes and selects generation nodes, which are nodes with the authority to create blocks, taking into account the location of the nodes, thereby creating the generation nodes. It relates to a blockchain operating device and its operating method that can prevent problems of node contamination, such as data manipulation, that may occur when selected in a regionally concentrated manner.

Description

블록체인운영장치 및 그 동작 방법{OPERATING APPARATUS FOR BLOCK CHAIN, AND CONTROL METHOD THEREOF}Blockchain operating device and its operation method {OPERATING APPARATUS FOR BLOCK CHAIN, AND CONTROL METHOD THEREOF}

본 발명은 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 선정하는 기술에 관한 것이다.The present invention relates to a technology for selecting a generation node, which is a node with the authority to create blocks, by considering the location of the node in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied.

2000년 나카모토 사토시의 논문에 기반하여 비트코인이 탄생하였다. 분산화되고 자율적인 생태계를 가진 비트코인은 10년 이상의 기간에 걸쳐 사용되었다.Bitcoin was created in 2000 based on Satoshi Nakamoto's paper. Bitcoin, with its decentralized and autonomous ecosystem, has been used for more than 10 years.

그 기반기술의 핵심은 P2P네트워크를 통한 조작 불가능한 분산원장을 생성하는 방법으로서, 외부의 조작이 불가능한 비트코인의 자율시스템은 시스템안정성을 위하여 작업증명방식(Proof of Working)이라는 일정한 시간에 수학문제를 푸는 방식으로 채굴의 대가로 암호화폐를 공급할 수 있다.The core of the underlying technology is a method of creating an untamperable distributed ledger through a P2P network. Bitcoin's autonomous system, which cannot be manipulated by the outside, solves mathematical problems at a certain time called Proof of Working for system stability. Cryptocurrency can be supplied in return for mining by solving.

이는 암호화폐시스템의 가능성을 실증하였고 분산원장과 암호화폐 공급의 실마리를 제공하였지만 다양한 분야에 분산원장을 적용하는 응용성의 문제에는 원시적인 형태에 불과하였다.This demonstrated the possibility of a cryptocurrency system and provided a clue to the supply of distributed ledgers and cryptocurrency, but it was only a primitive form in terms of applicability of applying distributed ledgers to various fields.

이에, 2014년 비탈릭 뷰테린(Vitalic Buterin)이 발표한 이더리움은 스마트 컨트랙트(Smart Contract)를 기반으로 다양한 분야에서 이더리움을 적용할 수 있는 신축성을 제공한 바 있다.Accordingly, Ethereum, announced by Vitalic Buterin in 2014, has provided the flexibility to apply Ethereum in various fields based on smart contracts.

즉, 어떠한 응용분야에서 새로운 암호화폐를 생성하더라도 이더리움의 암호화폐시스템에 통합할 수 있는 dAPP과 ERC20 등의 표준기술을 제공하고 있는 것이다.In other words, it provides standard technologies such as dAPP and ERC20 that can be integrated into the Ethereum cryptocurrency system no matter what application field creates a new cryptocurrency.

각각 암호화폐 1세대와 2세대로 불리우는 비트코인과 이더리움 이후에 등장하는 암호화폐는 기존의 암호화폐에서 드러난 인증문제와 범용성을 개선하려고 시도하였다.The cryptocurrencies that emerged after Bitcoin and Ethereum, called the first and second generation cryptocurrencies, respectively, attempted to improve the authentication problems and versatility seen in existing cryptocurrencies.

여기서, 인증문제는 인증시간과 연관된 채굴비용과 기회비용의 문제로 해석할 수 있으며, 이를 해결하려는 시도가 지분증명방식(Proof of Stake)이다.Here, the authentication problem can be interpreted as a problem of mining costs and opportunity costs related to authentication time, and an attempt to solve this problem is Proof of Stake.

지분증명방식은 특정 시간 후에 지분과 시간의 함수로 정의되는 코이니지(coinage)가 높으면 블록생성을 할 수 있도록 한다.The proof-of-stake method allows block creation after a certain time if the coinage, which is defined as a function of stake and time, is high.

지분은 전체 발행된 암호화폐 중에서 개별적인 지갑에 들어있는 암호화폐량으로서, 따라서 암호화폐보유량이 많으면 채굴할 확률이 높아진다.Equity is the amount of cryptocurrency contained in an individual wallet among all issued cryptocurrency, so the higher the amount of cryptocurrency held, the higher the probability of mining.

이 방식은 다량의 지분을 가진 소수의 지분보유자(Stakeholders)가 다수결(Majority rule)을 통하여 블록생성을 인증하더라도 그들의 이익을 해치지 않는다는 점에 근거한다.This method is based on the fact that even if a small number of stakeholders with a large amount of shares certify block creation through majority rule, their interests will not be harmed.

또한, 지분보유자(Stakeholders)를 통한 다수결(Majority rule) 인증방식은 비트코인 등이 소수의 채굴업체에 의해 점유된 작업증명방식 (Proof of Work)과 유사하다는 주장도 존재한다.In addition, there are claims that the majority rule authentication method through stakeholders is similar to the Proof of Work method used by Bitcoin and other mining companies, which are dominated by a small number of mining companies.

그러나, 작업증명방식(Proof of Work)이나 지분증명방식(Proof of Stake)은 새로이 공급되는 디지털 청구권, 예를 들어 암호화폐를 배분하는 방식이 각각 컴퓨터능력이나 지분의 크기에 의존하는데, 이로 인해 태생적으로 작업증명방식(Proof of Work)은 승자독식이며 지분증명방식(Proof of Stake)은 다량의 지분을 가진 소수자에게 항상 더 많이 배분되는 구조를 가진다.However, the Proof of Work or Proof of Stake methods for distributing newly supplied digital claims, such as cryptocurrency, depend on computer power or the size of the stake, respectively, which is why they were born. In general, Proof of Work is winner-takes-all, and Proof of Stake has a structure in which more shares are always distributed to minorities with large amounts of shares.

따라서 소수의 지분을 가진 일반 개인이나 컴퓨팅능력이 적은 블록체인 기기들은 새로운 블록체인 생성을 통한 대가인 새로 공급되는 암호화폐의 배분에서 소외된다는 구조적 문제점이 있으며, 또한 이러한 증명방식은 신속하게 새로운 블록체인을 생성하고 이를 전체 네트워크에 전파하기에 시간이 걸린다는 구조적 문제점 또한 가지게 된다.Therefore, there is a structural problem in that general individuals with a small stake or blockchain devices with low computing power are excluded from the distribution of newly supplied cryptocurrency, which is the compensation for creating a new blockchain. Additionally, this proof method quickly creates a new blockchain. There is also a structural problem in that it takes time to create and propagate it to the entire network.

한편, 작업증명방식(Proof of Work)이나 지분증명방식(Proof of Stake)의 위 단점을 보완하기 위해, 지분 보유자들은 대표 노드들에 투표하고 이에 따른 보상을 받는 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 제안되었다.Meanwhile, in order to make up for the above shortcomings of Proof of Work or Proof of Stake, stake holders vote for representative nodes and receive compensation accordingly. Proof of Stake was proposed.

예를 들어, 이오스(EOS)는 이러한 대표자위임형지분방식(DPoS)을 통해 증명노드의 수를 줄임으로써 시스템에서 발생하는 증명비용을 획기적으로 줄이게 되었다.For example, EOS has dramatically reduced the proof costs incurred in the system by reducing the number of proof nodes through the delegated stake method (DPoS).

즉, 대표자위임형지분방식(DPoS)에서는 블록을 생성하는 노드의 개수를 미리 제한하고 무작위로 생성된 순서대로 돌아가면서 한 번씩 블록을 생성하도록 하여 생성된 블록이 인정받을 수 있는 시간을 단축시킬 수 있는 것이다.In other words, in the representative delegated stake method (DPoS), the number of nodes that generate blocks is limited in advance and blocks are generated once in a randomly generated order, thereby shortening the time for the generated blocks to be recognized. There is.

그러나, 대표자위임형지분방식(DPoS)의 경우, 블록 생성의 권한을 갖는 노드의 개수가 미리 정해져 있고 그 수가 많지 않으므로, 외부 해킹 등으로 인한 데이터 조작 등 노드가 쉽게 오염될 가능성이 있으며, 특히 블록을 생성하는 노드가 지역적으로 집중되어 있는 경우라면 이러한 오염의 위험성은 더욱 커진다고 볼 수 있다.However, in the case of Delegate Stake (DPoS), the number of nodes with the authority to create blocks is predetermined and the number is not large, so there is a possibility that nodes can be easily contaminated, such as data manipulation due to external hacking, etc., especially in blocks. If the nodes that generate are concentrated locally, the risk of such contamination can be seen as even greater.

이에, 본 발명에서는 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서 블록 생성의 권한을 갖는 노드를 선정하기 위한 새로운 방식을 제안하고자 한다.Accordingly, the present invention proposes a new method for selecting a node with the authority to create blocks in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 선정하는데 있다.The present invention was created in consideration of the above-mentioned circumstances, and the goal to be achieved by the present invention is to block blocks by considering the location of the node in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied. The purpose is to select a creation node, which is a node with the authority to create.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인운영장치는, 블록체인 네트워크에서 블록 생성의 권한을 갖는 생성노드의 선정과 관련된 연산을 처리하는 프로세서; 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리를 포함하며, 상기 적어도 하나의 명령은, 상기 블록체인 네트워크의 지분(stake)을 보유한 지분노드에 대해, 대표노드로부터 상기 생성노드를 선정하기 위한 투표 환경을 제공하는 제공명령; 및 상기 투표 환경에서 대표노드가 득표한 득표수, 및 대표노드의 위치 중 적어도 하나를 기초로 상기 생성노드를 선정하는 선정명령을 포함하는 것을 특징으로 한다.A blockchain operating device according to an embodiment of the present invention for achieving the above object includes a processor that processes operations related to the selection of a generation node with authority to create blocks in a blockchain network; and a memory storing at least one command executed through the processor, wherein the at least one command is configured to select the generation node from the representative node for a stake node holding a stake in the blockchain network. Provision order providing a voting environment for voting; and a selection command for selecting the generation node based on at least one of the number of votes received by the representative node in the voting environment and the location of the representative node.

구체적으로, 상기 선정명령은, 상기 블록체인 네트워크에서 전체 대표노드가 분포되어 있는 오프라인 영역을 상기 생성노드가 필요한 개수에 상응하는 선정 영역으로 분할하며, 분할된 각 선정 영역 별 대표노드의 득표수 우선 순위에 따라 상기 생성노드로 선정할 수 있다.Specifically, the selection command divides the offline area where all representative nodes are distributed in the blockchain network into selection areas corresponding to the required number of generation nodes, and the number of votes of the representative node for each divided selection area is given priority. Depending on the ranking, the generation node can be selected.

구체적으로, 상기 제공명령은, 상기 지분노드의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 상기 특정 선정 영역 내 위치한 대표노드의 리스트를 생성하며, 상기 대표노드의 리스트를 포함하는 투표 환경을 상기 지분노드에게 제공할 수 있다.Specifically, the provision command identifies a specific selected area related to the offline location of the stake node, generates a list of representative nodes located within the specific selected area, and creates a voting environment including the list of representative nodes with the stake. It can be provided to the node.

구체적으로, 상기 선정명령은, 대표노드의 득표수 우선 순위에 따라 생성노드를 선정하며, 차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리가 임계거리 이상인 경우, 해당 대표노드를 생성노드로 선정할 수 있다.Specifically, the selection command selects the generating node according to the priority of the number of votes of the representative node, and when selecting the next-ranking generating node, if the separation distance from at least one previously selected generating node is greater than the threshold distance, The representative node can be selected as the generation node.

구체적으로, 상기 선정명령은, 상기 이격 거리가 상기 임계거리 미만인 경우, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 상기 득표수 차이가 임계득표수 이상인 경우에 한해 해당 대표노드를 생성노드로 선정할 수 있다.Specifically, the selection command checks the difference in the number of votes with the representative node of the next ranking when the separation distance is less than the critical distance, and selects the corresponding representative node as a generating node only if the difference in the number of votes is more than the critical number of votes. It can be selected.

구체적으로, 상기 선정명령은, 상기 득표수 차이가 임계득표수 미만인 경우, 해당 대표노드의 득표수, 및 다음 순위의 대표노드와의 득표수 차이 중 적어도 하나를 보너스 득표수로 기록하여, 신규 투표 환경에서의 실 득표수로 반영될 수 있도록 한다.Specifically, in the selection command, if the difference in the number of votes is less than the threshold number of votes, at least one of the number of votes of the corresponding representative node and the difference in the number of votes with the representative node of the next ranking is recorded as the number of bonus votes, and a new vote is performed. Ensure that it is reflected as the actual number of votes in the environment.

구체적으로, 상기 임계득표수는, 상기 이전 선정된 적어도 하나의 생성노드 중 상기 이격 거리가 상기 임계거리 미만인 생성노드의 개수에 따라 결정되며, 상기 임계거리 미만인 생성노드의 개수가 많을수록 보다 많은 개수의 득표수 차이로 결정될 수 있다.Specifically, the critical number of votes is determined according to the number of generation nodes whose separation distance among the at least one previously selected generation node is less than the threshold distance, and the greater the number of generation nodes less than the threshold distance, the greater the number. It can be decided by the difference in votes.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인운영장치의 동작 방법은, 블록체인 네트워크의 지분(stake)을 보유한 지분노드에 대해, 대표노드 중 블록 생성의 권한을 갖는 생성노드를 선정하기 위한 투표 환경을 제공하는 제공단계; 및 상기 투표 환경에서 대표노드가 득표한 득표수, 및 대표노드의 위치 중 적어도 하나를 기초로 상기 생성노드를 선정하는 선정단계를 포함하는 것을 특징으로 한다.A method of operating a blockchain operating device according to an embodiment of the present invention to achieve the above purpose is to select a generation node with the authority to create blocks among representative nodes for a stake node holding a stake in the blockchain network. A provision step of providing a voting environment for selection; and a selection step of selecting the generation node based on at least one of the number of votes received by the representative node in the voting environment and the location of the representative node.

구체적으로, 상기 선정단계는, 상기 블록체인 네트워크에서 전체 대표노드가 분포되어 있는 오프라인 영역을 상기 생성노드가 필요한 개수에 상응하는 선정 영역으로 분할하며, 분할된 각 선정 영역 별 대표노드의 득표수 우선 순위에 따라 상기 생성노드로 선정할 수 있다.Specifically, in the selection step, the offline area where all representative nodes are distributed in the blockchain network is divided into selection areas corresponding to the required number of generation nodes, and the number of votes of the representative node for each divided selection area is given priority. Depending on the ranking, the generation node can be selected.

구체적으로, 상기 제공단계는, 상기 지분노드의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 상기 특정 선정 영역 내 위치한 대표노드의 리스트를 생성하며, 상기 대표노드의 리스트를 포함하는 투표 환경을 상기 지분노드에게 제공할 수 있다.Specifically, the provision step identifies a specific selected area related to the offline location of the stake node, generates a list of representative nodes located within the specific selected area, and establishes a voting environment including the list of representative nodes as the stake. It can be provided to the node.

구체적으로, 상기 선정단계는, 대표노드의 득표수 우선 순위에 따라 생성노드를 선정하며, 차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리가 임계거리 이상인 경우, 해당 대표노드를 생성노드로 선정할 수 있다.Specifically, in the selection step, the generation node is selected according to the priority of the number of votes of the representative node, and when selecting the next-ranking generation node, if the separation distance from at least one previously selected generation node is more than the threshold distance, the The representative node can be selected as the creation node.

구체적으로, 상기 선정단계는, 상기 이격 거리가 상기 임계거리 미만인 경우, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 상기 득표수 차이가 임계득표수 이상인 경우에 한해 해당 대표노드를 생성노드로 선정할 수 있다.Specifically, in the selection step, when the separation distance is less than the threshold distance, the difference in the number of votes with the representative node of the next rank is checked, and only when the difference in the number of votes is more than the threshold number of votes is the representative node generated. It can be selected.

이에, 본 발명의 일 실시예에 따른 블록체인운영장치 및 그 동작 방법에 의하면, 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정함으로써, 생성노드가 지역적으로 집중되어 선정되는 경우에 발생할 수 있는 데이터 조작 등의 노드 오염의 문제점을 사전에 방지할 수 있다.Accordingly, according to the blockchain operating device and its operating method according to an embodiment of the present invention, in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied, blocks are generated considering the location of the node. By selecting generation nodes, which are nodes with authority, by distributing them regionally, it is possible to prevent problems of node contamination, such as data manipulation, that may occur when generation nodes are selected in a regionally concentrated manner.

도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템의 개략적인 구성도.
도 2는 본 발명의 일 실시예에 따른 지분노드의 개략적인 구성도.
도 3은 본 발명의 일 실시예에 따른 지분노드를 구현하기 위한 하드웨어 시스템의 예시도
도 4는 본 발명의 일 실시예에 따른 블록체인운영장치의 개략적인 구성도.
도 5는 본 발명의 일 실시예에 따른 블록체인운영장치를 구현하기 위한 하드웨어 시스템의 예시도.
도 6은 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템에서의 동작 흐름을 설명하기 위한 개략적인 순서도.
도 7은 본 발명의 일 실시예에 따른 지분노드에서의 동작 흐름을 설명하기 위한 개략적인 순서도.
도 8은 본 발명의 일 실시예에 따른 블록체인운영장치에서의 동작 흐름을 설명하기 위한 개략적인 순서도.
1 is a schematic configuration diagram of a blockchain network system according to an embodiment of the present invention.
Figure 2 is a schematic configuration diagram of a stake node according to an embodiment of the present invention.
Figure 3 is an example of a hardware system for implementing a stake node according to an embodiment of the present invention.
Figure 4 is a schematic configuration diagram of a blockchain operating device according to an embodiment of the present invention.
Figure 5 is an example diagram of a hardware system for implementing a blockchain operating device according to an embodiment of the present invention.
Figure 6 is a schematic flowchart for explaining the operation flow in a blockchain network system according to an embodiment of the present invention.
Figure 7 is a schematic flowchart for explaining the operation flow in a stake node according to an embodiment of the present invention.
Figure 8 is a schematic flowchart for explaining the operation flow in the blockchain operating device according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. In addition, the technical terms used in this specification, unless specifically defined in a different way in this specification, should be interpreted as meanings commonly understood by those skilled in the art in the technical field to which the present invention pertains, and are not overly comprehensive. It should not be interpreted in a literal or excessively reduced sense. Additionally, if the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted according to the definition in the dictionary or according to the context, and should not be interpreted in an excessively reduced sense.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. However, identical or similar components will be assigned the same reference numbers regardless of the reference numerals, and duplicate descriptions thereof will be omitted. Additionally, when describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted. In addition, it should be noted that the attached drawings are only intended to facilitate easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the attached drawings. The spirit of the present invention should be construed as extending to all changes, equivalents, or substitutes other than the attached drawings.

이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.Hereinafter, an embodiment of the present invention will be described with reference to the attached drawings.

도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템을 도시한 도면이다.Figure 1 is a diagram illustrating a blockchain network system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템은, 블록체인 네트워크의 지분(stake)을 보유한 노드인 지분노드(10), 블록 생성의 권한을 갖는 노드인 생성노드의 선정을 위한 투표 환경에 후보자로서 참여하는 노드인 대표노드(20), 및 생성노드의 선정을 위한 투표 환경하는 블록체인운영장치(30)를 포함하는 구성을 가질 수 있다.As shown in Figure 1, the blockchain network system according to an embodiment of the present invention includes a stake node 10, which is a node holding a stake in the blockchain network, and a creation node, which is a node with the authority to create blocks. It may have a configuration that includes a representative node (20), which is a node that participates as a candidate in the voting environment for selection of , and a blockchain operating device (30) that serves as a voting environment for selecting a generating node.

여기서, 지분노드(10), 및 대표노드(20), 및 블록체인운영장치(30)를 포함하는 블록체인 네트워크 내 각 노드의 경우, 예컨대, 스마트폰 등의 이동단말기와 PC 등의 컴퓨터, 사용자 인터페이스를 가진 유선식 또는 무선식의 이동 또는 고정 컨트롤러, 또는 서버 등을 포함하는 다양한 형태로 구현될 수 있다.Here, in the case of each node in the blockchain network including the stake node 10, the representative node 20, and the blockchain operating device 30, for example, mobile terminals such as smartphones, computers such as PCs, and users It can be implemented in various forms, including a wired or wireless mobile or fixed controller with an interface, or a server.

참고로 블록체인 네트워크 내 각 노드가 서버 형태로 구현되는 경우에는, 예컨대, 웹 서버, 데이터베이스 서버, 프록시 서버 등의 형태로 구현될 수 있으며, 네트워크 부하 분산 메커니즘, 내지 서비스 장치가 인터넷 또는 다른 네트워크 상에서 동작할 수 있도록 하는 다양한 소프트웨어 중 하나 이상이 설치될 수 있으며, 이를 통해 컴퓨터화된 시스템으로도 구현될 수 있다.For reference, if each node in the blockchain network is implemented in the form of a server, for example, it may be implemented in the form of a web server, database server, proxy server, etc., and the network load distribution mechanism or service device may be implemented on the Internet or other network. One or more of a variety of software that enables operation may be installed, thereby enabling it to be implemented as a computerized system.

또한, 네트워크는 http 네트워크일 수 있으며, 전용 회선(private line), 인트라넷 또는 임의의 다른 네트워크일 수 있고, 또한 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템 내 각 구성 간의 연결은, 데이터가 임의의 해커 또는 다른 제3자에 의한 공격을 받지 않도록 보안 네트워크로 연결될 수 있다.In addition, the network may be an http network, a private line, an intranet, or any other network, and the connection between each component in the blockchain network system according to an embodiment of the present invention may have data It can be connected to a secure network to avoid attacks by hackers or other third parties.

한편, 이러한 블록체인 네트워크에서는 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각 참여자 노드는 해당 블록들을 체인 형태의 자료 구조로 관리할 수 있다.Meanwhile, in this blockchain network, continuously increasing data is recorded in blocks of specific units, and each participant node that makes up the P2P (peer-to-peer) network can manage the blocks in a chain-type data structure. .

이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는, 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.At this time, blockchain data composed of a chain-type data structure is operated in the form of a distributed ledger at each node without a central system.

블록체인 네트워크를 구성하는 각각의 노드에서는, 현재의 블록에 이전 블록의 해시 값을 기록하는 자료 구조를 기반으로 블록들을 체인 형태로 관리함으로써, 해시 값을 통해 이전 블록을 참조할 수 있다.Each node that makes up the blockchain network manages blocks in a chain based on a data structure that records the hash value of the previous block in the current block, allowing the previous block to be referenced through the hash value.

따라서 각 노드에서 체인 형태로 관리되는 블록이 쌓일수록 블록 내에 기록된 거래 데이터의 위변조는 어려워지고, 각 블록에 기록된 거래 데이터의 신뢰도는 향상될 수 있다.Therefore, as the number of blocks managed in a chain at each node accumulates, forgery and falsification of transaction data recorded in the block becomes more difficult, and the reliability of transaction data recorded in each block can be improved.

특히, 본 발명의 일 실시예에 따른 블록체인 네트워크의 경우, 지분노드(10)가 생성노드 선정에 후보자로 참여한 대표노드에 투표하고, 이에 따른 보상을 받는 대표자위임형지분방식(DPoS: Delegated Proof of Stake)을 채택한다.In particular, in the case of a blockchain network according to an embodiment of the present invention, the stake node 10 votes for the representative node that participated as a candidate in the selection of the generation node and receives compensation accordingly. of Stake) is adopted.

이와 관련하여, 종래 블록체인 네트워크에서는 새로이 공급되는 디지털 청구권, 예를 들어 암호화폐를 배분하는 방식이 각각 컴퓨터능력이나 지분의 크기에 의존하는 작업증명방식(Proof of Work)이나 지분증명방식(Proof of Stake)이 주로 적용되었다.In this regard, in conventional blockchain networks, the method of distributing newly supplied digital claims, for example, cryptocurrency, is the Proof of Work or Proof of Stake method, which each depends on computer power or the size of the stake. Stake) was mainly applied.

그러나, 태생적으로 작업증명방식(Proof of Work)은 승자독식이며, 지분증명방식(Proof of Stake)은 다량의 지분을 가진 소수자에게 블록 생성의 권한 즉, 블록 생성에 따른 보상인 암호호화폐가 항상 더 많이 배분되는 구조를 가진다.However, by its nature, Proof of Work is winner-takes-all, and Proof of Stake provides the right to create blocks to a minority with a large amount of stake, that is, cryptocurrency, which is a reward for block creation. It has a structure where more is always distributed.

따라서 소수의 지분을 가진 일반 개인이나 컴퓨팅능력이 적은 블록체인 기기들은 새로운 블록체인 생성을 통한 대가인 새로 공급되는 암호화폐의 배분에서 소외된다는 구조적 문제점이 있으며, 또한 이러한 증명방식은 신속하게 새로운 블록체인을 생성하고 이를 전체 네트워크에 전파하기에 시간이 걸린다는 구조적 문제점 또한 가지게 된다.Therefore, there is a structural problem in that general individuals with a small stake or blockchain devices with low computing power are excluded from the distribution of newly supplied cryptocurrency, which is the compensation for creating a new blockchain. Additionally, this proof method quickly creates a new blockchain. There is also a structural problem in that it takes time to create and propagate it to the entire network.

이로써, 본 발명의 일 실시예에서는 작업증명방식(Proof of Work)과 지분증명방식(Proof of Stake)이 안고 있는 위 단점을 보완하기 위해선 지분노드(10)가 생성노드 선정에 후보자로 참여한 대표노드에 투표하고, 이에 따른 보상을 받는 대표자위임형지분방식(DPoS)을 채택하고 있는 것이다.Accordingly, in one embodiment of the present invention, in order to compensate for the above shortcomings of the Proof of Work and Proof of Stake methods, the stake node 10 is a representative node that participated as a candidate in selecting the generation node. The representative delegated share method (DPoS) is adopted by voting and receiving compensation accordingly.

이러한, 대표자위임형지분방식(DPoS)에서는 블록을 생성하는 노드의 개수를 미리 제한하고 무작위로 생성된 순서대로 돌아가면서 한 번씩 블록을 생성하도록 하여 생성된 블록이 인정받을 수 있는 시간을 단축시킬 수 있다.In this delegated stake method (DPoS), the number of nodes that generate blocks is limited in advance and blocks are generated once in a randomly generated order, thereby shortening the time for the generated blocks to be recognized. there is.

그러나, 대표자위임형지분방식(DPoS)의 경우, 블록 생성의 권한을 갖는 노드의 개수가 미리 정해져 있고 그 수가 많지 않으므로, 외부 해킹 등으로 인한 데이터 조작 등 노드가 쉽게 오염될 가능성이 있으며, 특히 블록을 생성하는 노드가 지역적으로 집중되어 있는 경우라면 이러한 오염의 위험성은 더욱 커진다고 볼 수 있다.However, in the case of Delegate Stake (DPoS), the number of nodes with the authority to create blocks is predetermined and the number is not large, so there is a possibility that nodes can be easily contaminated, such as data manipulation due to external hacking, etc., especially in blocks. If the nodes that generate are concentrated locally, the risk of such contamination can be seen as even greater.

이에, 본 발명의 일 실시예에서는 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정하기 위한 방안을 제안하고자 하며, 이하에서는 이를 실현하기 위한 지분노드(10), 및 블록체인운영장치(30)의 구성에 대해 보다 구체적으로 설명하기로 한다.Accordingly, in one embodiment of the present invention, in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied, the generation nodes, which are nodes with the authority to create blocks, are distributed regionally in consideration of the location of the node. We would like to propose a method for selecting this, and the following will explain in more detail the configuration of the stake node 10 and the blockchain operating device 30 to realize this.

도 2는 본 발명의 일 실시예에 따른 지분노드(10)의 구성을 보여주고 있다.Figure 2 shows the configuration of a stake node 10 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 지분노드(10)는 블록체인운영장치(30)가 제공하는 투표 환경에 접속하는 접속부(11), 및 투표 환경 내에서의 투표 동작을 처리하는 처리부(12)를 포함하는 구성을 가질 수 있다.As shown in FIG. 2, the stake node 10 according to an embodiment of the present invention includes a connection unit 11 that connects to the voting environment provided by the blockchain operating device 30, and a voting operation within the voting environment. It may have a configuration including a processing unit 12 that processes.

이상의 접속부(11), 및 처리부(12)를 포함하는 지분노드(10)의 구성 전체 내지는 적어도 일부는, 프로세서에 의해 실행되는 소프트웨어(애플리케이션) 모듈 형태 또는 하드웨어 모듈 형태로 구현되거나, 내지는 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있다.All or at least part of the configuration of the stake node 10, including the above connection unit 11 and the processing unit 12, is implemented in the form of a software (application) module or hardware module executed by a processor, or is implemented in the form of a software module and It can also be implemented as a combination of hardware modules.

특히, 이들 구성은 블록체인 네트워크와의 연계하기 위한 구성으로서, 블록체인 알고리즘에 기초하여 블록체인 데이터를 유지하고 관리하는 주체일 수 있으며, 이는 가상머신(Virtual Machine) 또는 API(Application Programming Interface) 형태로 구현 가능하다.In particular, these configurations are for linking with the blockchain network, and may be the entity that maintains and manages blockchain data based on the blockchain algorithm, which may be in the form of a virtual machine or API (Application Programming Interface). It can be implemented as:

한편, 본 발명의 일 실시예에 따른 지분노드(10)는 전술한 구성 이외에, 블록체인운영장치(30) 등과의 실질적인 통신을 위한 RF 모듈인 통신부(13)를 더 포함하는 구성을 가질 수 있다.Meanwhile, the stake node 10 according to an embodiment of the present invention may have a configuration that further includes a communication unit 13, which is an RF module for actual communication with the blockchain operating device 30, etc., in addition to the configuration described above. .

참고로 이러한, 통신부(13)의 구성은 도 3을 참조하여 설명될 통신부(1310)에 해당하는 구성이므로, 구체적인 설명은 이하에서 언급하기로 한다.For reference, since this configuration of the communication unit 13 corresponds to the communication unit 1310 to be described with reference to FIG. 3, a detailed description will be provided below.

결국, 본 발명의 일 실시예에 따른 지분노드(10)는 블록체인 네트워크에서 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정할 수 있는데, 이하에서는 이를 위한 지분노드(10) 내 각 구성에 대해 보다 구체적으로 설명하기로 한다.In the end, the stake node 10 according to an embodiment of the present invention can select generation nodes, which are nodes with the authority to create blocks, by regionally distributing them in the blockchain network. Hereinafter, the stake node 10 for this purpose will be described. Each configuration will be described in more detail.

접속부(11)는 생성노드 선정을 위한 투표 환경에 접속하는 기능을 수행한다.The connection unit 11 performs the function of accessing a voting environment for selecting a generation node.

보다 구체적으로, 접속부(11)는 블록 생성의 권한을 갖는 생성노드를 선정하기 위해 블록체인운영장치(30)가 제공하는 투표 환경에 접속한다.More specifically, the connection unit 11 connects to the voting environment provided by the blockchain operating device 30 to select a generation node with the authority to create blocks.

여기서, 블록체인운영장치(30)로부터 제공되는 투표 환경은 대표자위임형지분방식(DPoS: Delegated Proof of Stake)을 채택하고 있는 블록체인 네트워크에서 블록이 생성되는 주기를 고려하여 제공될 수 있다.Here, the voting environment provided by the blockchain operating device 30 can be provided by considering the cycle in which blocks are created in a blockchain network that adopts the Delegated Proof of Stake (DPoS) method.

이러한, 투표 환경에는 후보자로서 참여한 대표노드(20)의 후보자정보, 예컨대, 컴퓨팅 파워; 프로그램 운영 정책 또는 실적; 수익 중 재투자에 사용하는 비중, 및 재투자의 용처; 발굴, 개발, 지원하는 DAPP 의 우수성; 및 커뮤니티 정보 등이 포함될 수 있으며, 이에 제한되는 것이 아닌 다양한 정성적, 정량적 판단 기준들을 더 포함할 수 있다.In this voting environment, candidate information of the representative node 20 participating as a candidate, for example, computing power; Program operation policies or performance; The proportion of profits used for reinvestment and the purpose of the reinvestment; The excellence of DAPP in discovery, development, and support; and community information, etc., and may further include various qualitative and quantitative judgment criteria that are not limited thereto.

특히, 본 발명의 일 실시예에서는 생성노드의 지역적 분할 선정을 위해 블록체인 네트워크에서 전체 대표노드(20)가 분포되어 있는 오프라인 영역이, 생성노드가 필요한 개수(예: 21개)에 상응하는 선정 영역으로 분할될 수 있다.In particular, in one embodiment of the present invention, in order to select a regional division of generation nodes, the offline area where all representative nodes (20) are distributed in the blockchain network is selected corresponding to the required number of generation nodes (e.g., 21). It can be divided into areas.

이 경우, 분할된 각 선정 영역 별로 대표노드(20)의 득표수 우선 순위에 따라 생성노드가 선정될 수 있다.In this case, the generation node may be selected according to the priority of the number of votes of the representative node 20 for each divided selection area.

이를 위해, 블록체인운영장치(30)는 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 식별된 특정 선정 영역 내 위치한 대표노드(20)의 리스트를 생성하고, 해당 대표노드(20)의 리스트를 포함하는 투표 환경을 지분노드(10)에게 제공할 수 있다.To this end, the blockchain operating device 30 identifies a specific selected area related to the offline location of the stake node 10, generates a list of representative nodes 20 located within the identified specific selected area, and selects the corresponding representative node ( A voting environment including the list of 20) can be provided to the stake node (10).

여기서, 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역이란, 지분노드(10)의 오프라인 위치가 속하는 지역적 구분, 예컨대, 국가, 도시, 및 기타 행정구역으로 구분될 수 있다.Here, the specific selected area related to the offline location of the stake node 10 may be divided into regional divisions to which the offline location of the stake node 10 belongs, such as country, city, and other administrative districts.

이를 통해 지분노드(10)에게는, 자신이 속한 지역에서 후보자로 참여한 대표노드(20)의 리스트만을 포함하는 개별적인 투표 환경이 제공될 수 있다.Through this, the stake nodes (10) can be provided with an individual voting environment that includes only the list of representative nodes (20) who participated as candidates in the region to which they belong.

처리부(12)는 지분노드(10)의 투표 동작을 처리하는 기능을 수행한다.The processing unit 12 performs the function of processing the voting operation of the stake node 10.

보다 구체적으로, 처리부(12)는 투표 환경 내 대표노드(20)의 리스트 및 각 후보자정보를 참조로 지분노드(10)가 행사한 투표 결과를 취합하여, 취합된 정보를 지분노드(10)의 투표실행정보로서 블록체인운영장치(30)로 전달하게 된다.More specifically, the processing unit 12 collects the voting results exercised by the stake node 10 with reference to the list of representative nodes 20 and each candidate information in the voting environment, and sends the collected information to the stake node 10. It is transmitted to the blockchain operating device 30 as voting execution information.

이때, 처리부(12)는 지분 보유자에게 부여되는 보유자별 1표의 투표권을 행상하는 것이 아닌, 자신이 보유한 암호화폐 별 1표로 투표권을 행상할 수 있다.At this time, the processing unit 12 may peddle voting rights with one vote per cryptocurrency held by the processor, rather than peddling the voting rights of one vote per holder, which is granted to equity holders.

단, 이 경우 거대자본에 의한 투표권 집중화가 생겨나는 것을 최소화 하기 위해서 보유자 별로 설정개수(예: 30개)의 투표권을 주고 이를 서로 다른 대표자노드(20)에게 이를 행사할 수 있도록 투표권을 제한할 수 있다.However, in this case, in order to minimize the concentration of voting rights caused by large capital, voting rights can be limited so that each holder is given a set number of voting rights (e.g. 30) and can exercise them to different representative nodes (20). .

한편, 이와 관련하여 블록체인운영장치(30)에서는 다수의 지분노드(10)로부터 투표실행정보가 수신되는 경우, 이들을 취합하여 생성노드를 선정하게 된다.Meanwhile, in relation to this, when voting execution information is received from a plurality of stake nodes 10, the blockchain operating device 30 collects them and selects a generation node.

이때, 블록체인운영장치(30)는 기본적으로 대표노드(20)의 득표수 우선 순위에 따라 생성노드를 선정하게 되는데, 생성노드의 지역적 분할 선정을 고려하기 위해 차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 추가적으로 고려할 수 있다.At this time, the blockchain operating device 30 basically selects the generation node according to the priority of the number of votes of the representative node 20. In order to consider regional division of the generation node, when selecting the next-rank generation node, the previous The distance from at least one selected generation node may be additionally considered.

즉, 블록체인운영장치(30)는 차 순위의 생성노드 선정 시 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 확인하고, 확인된 이격 거리가 임계거리 이상인 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정하게 된다.In other words, when selecting the next-ranking generation node, the blockchain operating device 30 checks the separation distance from at least one previously selected generation node, and selects the corresponding representative node as the next-ranking node only if the confirmed separation distance is greater than the critical distance. is selected as the generation node.

만약, 이격 거리가 임계거리 미만인 경우, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 득표수 차이가 임계득표수 이상이면, 다시 말해 다음 순위의 대표노드와의 득표수가 현격하게 차이는 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정할 수 있다.If the separation distance is less than the critical distance, check the difference in the number of votes with the representative node of the next rank, and if the difference in the number of votes is more than the critical number of votes, that is, if the number of votes is significantly different from the representative node of the next rank. Only then, the corresponding representative node can be selected as the next-rank generation node.

이처럼, 다음 순위의 대표노드와의 득표수가 현격하게 차이는 경우를 생성노드 선정에 있어서 예외 규정으로 두는 것은, 타 대표노드에 비해 정성적, 정량적 성능이 월등한 대표노드가, 단지 위치 관계로 인해 생성노드 선정에서 억울하게 탈락되는 것을 최소화하기 위함이다.In this way, the reason for setting an exception in selecting a generating node in cases where the number of votes is significantly different from that of the next ranked representative node is that the representative node, which has superior qualitative and quantitative performance compared to other representative nodes, simply due to the location relationship. This is to minimize unfair rejection in the selection of generation nodes.

또한, 다음 순위의 대표노드와의 득표수 차이의 기준이 되는 임계득표수는, 이전 선정된 적어도 하나의 생성노드 중 이격 거리가 임계거리 미만인 생성노드의 개수에 따라 결정될 수 있는데, 이러한 임계득표수는, 임계거리 미만인 생성노드의 개수가 많을수록 보다 많은 개수의 득표수 차이로 결정될 수 있다. In addition, the critical number of votes, which is the basis for the difference in the number of votes from the representative node of the next ranking, may be determined according to the number of generation nodes whose separation distance is less than the critical distance among at least one previously selected generation node. This critical number of votes can be determined by the difference in the number of votes, which increases as the number of generating nodes is less than the critical distance.

이처럼, 이전 선정된 적어도 하나의 생성노드 중 임계거리 미만인 생성노드의 개수가 많을수록 득표수 차이를 크게 하는 것은, 생성노드가 어느 특정 지역에 밀집되어 선정되는 것을 방지하기 위함으로 이해할 수 있다.In this way, it can be understood that the difference in votes is increased as the number of generation nodes that are less than the critical distance among at least one previously selected generation node increases, in order to prevent generation nodes from being selected concentrated in a specific area.

즉, 생성노드가 밀집될 가능성이 있는 지역일수록 생성노드에 대한 위치 판단 기준을 보다 엄격히함으로써, 생성노드를 광역으로 분산시킬 수 있는 것이다.In other words, in areas where generation nodes are likely to be concentrated, the criteria for determining the location of generation nodes become more stringent, allowing generation nodes to be distributed over a wider area.

한편, 블록체인운영장치(30)는 차 순위의 생성노드 선정 시 이전 선정된 적어도 하나의 생성노드와의 이격 거리 확인 결과, 이격 거리가 임계거리 미만이며, 다음 순위의 대표노드와의 득표수 차이가 임계득표수 미만인 경우, 해당 대표노드를 생성노드 선정에서 탈락시키되, 신규 투표 환경에서 해당 대표노드에 대해 어드벤테이지를 부여할 수 있다.Meanwhile, when selecting the next-ranking generation node, the blockchain operating device 30 checks the separation distance from at least one previously selected generation node, and as a result, the separation distance is less than the critical distance, and the difference in votes from the next-ranking representative node If is less than the critical number of votes, the representative node is eliminated from selection as a generating node, but an advantage can be given to the representative node in a new voting environment.

즉, 블록체인운영장치(30)는 다음 순위의 대표노드와의 득표수 차이가 임계득표수 미만인 경우로 생성노드 선정에 탈락된 대표노드가 존재하는 경우, 해당 대표노드의 득표수, 및 다음 순위의 대표노드와의 득표수 차이 중 적어도 하나를 보너스 득표수로 기록하여, 신규 투표 환경에서의 실 득표수로 반영함으로써, 신규 투표 환경에서 보너스 득표수를 획득한 대표노드가 생성노드로서 선정될 가능성을 높일 수 있다.In other words, if the difference in the number of votes with the representative node of the next ranking is less than the threshold number of votes and there is a representative node that was eliminated in the selection of the generating node, the blockchain operating device 30 determines the number of votes of the representative node and the next ranking. By recording at least one of the differences in the number of votes with the representative node as the number of bonus votes and reflecting it as the number of actual votes in the new voting environment, there is a possibility that the representative node that obtained the number of bonus votes in the new voting environment will be selected as the generating node. can increase.

이상 설명한 지분노드(10) 내 각 구성의 경우 프로세서에 의해 실행되는 소프트웨어 모듈 또는 하드웨어 모듈 형태로 구현되거나, 내지는 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있음을 언급한 바 있다.It has been mentioned that each configuration within the stake node 10 described above may be implemented in the form of a software module or hardware module executed by a processor, or may also be implemented in the form of a combination of a software module and a hardware module.

이처럼, 프로세서에 의해 실행되는 소프트웨어 모듈, 하드웨어 모듈, 내지는 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태는 실제 하드웨어 시스템(예: 컴퓨터 시스템)으로 구현될 수 있을 것이다.In this way, a software module, a hardware module, or a combination of a software module and a hardware module executed by a processor may be implemented as an actual hardware system (eg, a computer system).

따라서, 이하에서는 도 3을 참조하여 본 발명의 일 실시예에 따른 지분노드(10)를 하드웨어 형태로 구현한 하드웨어 시스템(1000)에 대해서 설명하기로 한다.Therefore, hereinafter, a hardware system 1000 that implements the stake node 10 according to an embodiment of the present invention in hardware form will be described with reference to FIG. 3.

참고로, 이하에서 서술될 내용은 앞서 설명한 지분노드(10) 내 각 구성을 하드웨어 시스템(1000)으로 구현한 일 예인 것으로, 각 구성과 그에 따른 동작이 실제 시스템과 상이할 수 있음을 염두에 두어야 할 것이다.For reference, what will be described below is an example of each configuration in the stake node 10 described above implemented as a hardware system 1000, and it should be borne in mind that each configuration and its corresponding operation may be different from the actual system. something to do.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 하드웨어 시스템(1000)은, 프로세서부(1100), 메모리 인터페이스부(1200), 및 주변장치 인터페이스부(1300)를 포함하는 구성을 가질 수 있다.As shown in FIG. 3, the hardware system 1000 according to an embodiment of the present invention has a configuration including a processor unit 1100, a memory interface unit 1200, and a peripheral device interface unit 1300. You can.

이러한, 하드웨어 시스템(1000) 내 각 구성은, 개별 부품이거나 하나 이상의 집적 회로에 집적될 수 있으며, 이러한 각 구성들은 버스 시스템(도시안됨)에 의해서 결합될 수 있다.Each component within the hardware system 1000 may be a separate component or integrated into one or more integrated circuits, and each of these components may be combined by a bus system (not shown).

여기서, 버스 시스템의 경우, 적절한 브리지들, 어댑터들, 및/또는 제어기들에 의해 연결된 임의의 하나 이상의 개별적인 물리 버스들, 통신 라인들/인터페이스들, 및/또는 멀티 드롭(multi-drop) 또는 포인트 투 포인트(point-to-point) 연결들을 나타내는 추상화(abstraction)이다.Here, in the case of a bus system, any one or more individual physical buses, communication lines/interfaces, and/or multi-drop or point connected by appropriate bridges, adapters, and/or controllers. It is an abstraction that represents point-to-point connections.

프로세서부(1100)는 하드웨어 시스템에서 다양한 기능들을 수행하기 위해 메모리 인터페이스부(1200)를 통해 메모리부(1210)와 통신함으로써, 메모리부(1210)에 저장된 다양한 소프트웨어 모듈들을 실행하는 역할을 수행하게 된다.The processor unit 1100 communicates with the memory unit 1210 through the memory interface unit 1200 to perform various functions in the hardware system, thereby executing various software modules stored in the memory unit 1210. .

여기서, 메모리부(1210)에는 도 2를 참조하여 설명한 지분노드(10)의 구성인 접속부(11), 및 처리부(12)가 소프트웨어 모듈 형태로 저장될 수 있으며, 그 외 운영 체계(OS)가 추가로 저장될 수 있다.Here, the connection unit 11 and the processing unit 12, which are components of the stake node 10 described with reference to FIG. 2, may be stored in the memory unit 1210 in the form of a software module, and an operating system (OS) may be stored in the memory unit 1210. Additional information may be stored.

운영 체계(예: I-OS, Android, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 VxWorks와 같은 임베디드 운영 체계)의 경우, 일반적인 시스템 작업들(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)을 제어 및 관리하는 다양한 절차, 명령어 세트, 소프트웨어 컴포넌트 및/또는 드라이버를 포함하고 있으며 다양한 하드웨어 모듈과 소프트웨어 모듈 간의 통신을 용이하게 하는 역할을 수행하게 된다.For operating systems (e.g., I-OS, Android, Darwin, RTXC, LINUX, UNIX, OS , power management, etc.), and serves to facilitate communication between various hardware modules and software modules.

참고로, 메모리부(1210)는 캐쉬, 메인 메모리 및 보조 기억장치(secondary memory)를 포함하지만 이에 제한되지 않는 메모리 계층구조가 포함할 수 있는데, 이러한 메모리 계층구조의 경우 예컨대 RAM(예: SRAM, DRAM, DDRAM), ROM, FLASH, 자기 및/또는 광 저장 장치[예: 디스크 드라이브, 자기 테이프, CD(compact disk) 및 DVD(digital video disc) 등]의 임의의 조합을 통해서 구현될 수 있다.For reference, the memory unit 1210 may include a memory hierarchy including, but not limited to, a cache, main memory, and secondary memory. In the case of this memory hierarchy, for example, RAM (e.g., SRAM, It may be implemented through any combination of DRAM, DDRAM), ROM, FLASH, magnetic and/or optical storage devices (e.g., disk drives, magnetic tapes, compact disks (CDs), and digital video discs (DVDs), etc.).

주변장치 인터페이스부(1300)는 프로세서부(1100)와 주변장치 간에 통신을 가능하게 하는 역할을 수행한다.The peripheral device interface unit 1300 serves to enable communication between the processor unit 1100 and peripheral devices.

여기서 주변장치의 경우, 하드웨어 시스템(1000)에 상이한 기능을 제공하기 위한 것으로서, 본 발명의 일 실시예에서는, 예컨대, 통신부(1310)가 포함될 수 있다.Here, in the case of peripheral devices, they are intended to provide different functions to the hardware system 1000, and in one embodiment of the present invention, for example, a communication unit 1310 may be included.

여기서, 통신부(1310)는 다른 장치와의 통신 기능을 제공하는 역할을 수행하는 수행하게 되며, 이를 위해 예컨대, 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기, 디지털 신호 처리기, 코덱(CODEC) 칩셋, 및 메모리 등을 포함하지만 이에 제한되지는 않으며, 이 기능을 수행하는 공지의 회로를 포함할 수 있다.Here, the communication unit 1310 performs the role of providing a communication function with other devices, and for this purpose, for example, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, and a codec ( CODEC) chipset, memory, etc., but is not limited thereto, and may include known circuits that perform this function.

이러한, 통신부(1310)가 지원하는 통신 프로토콜로는, 예컨대, 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra-Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신망으로는 유선 LAN(Local Area Network), 유선 WAN(Wide Area Network), 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있으며, 이제 제한되는 것이 아닌, 다른 장치와의 통신 환경을 제공할 수 있는 프로토콜은 모두 포함될 수 있다.Communication protocols supported by the communication unit 1310 include, for example, wireless LAN (WLAN), DLNA (Digital Living Network Alliance), Wibro (Wireless Broadband), and Wimax (World Interoperability for Microwave Access: Wimax). ), GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA) , HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), IEEE 802.16, Long Term Evolution (LTE), LTE-A (Long Term Evolution-Advanced), broadband wireless mobile communication service ( Wireless Mobile Broadband Service: WMBS, Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra-Wideband), ZigBee, Near Field Communication: NFC), Ultrasound Communication (USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, etc. may be included. In addition, wired communication networks include wired LAN (Local Area Network), wired WAN (Wide Area Network), Power Line Communication (PLC), USB communication, Ethernet, serial communication, and optical/coaxial. Cables, etc. may be included, and are not limited to any protocols that can provide a communication environment with other devices.

결국, 본 발명의 일 실시예에 따른 하드웨어 시스템(1000)에서 메모리부(1210)에 소프트웨어 모듈 형태로 저장되어 있는 지분노드(10) 내 각 구성은, 프로세서부(1100)에 의해 실행되는 명령어의 형태로 메모리 인터페이스부(1200)와 주변장치 인터페이스부(1300)를 매개로 통신부(1310)와의 인터페이스를 수행함으로써, 블록체인 네트워크에서 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정할 수 있다.Ultimately, in the hardware system 1000 according to an embodiment of the present invention, each component in the stake node 10 stored in the form of a software module in the memory unit 1210 is the command executed by the processor unit 1100. By performing an interface with the communication unit 1310 through the memory interface unit 1200 and the peripheral device interface unit 1300, the generation nodes, which are nodes with the authority to create blocks in the blockchain network, can be locally distributed and selected. You can.

이상 본 발명의 일 실시예에 따른 지분노드(10)의 구성에 대한 설명을 마치고 블록체인운영장치(30)의 구성에 대한 설명을 이어 가기로 한다.After completing the description of the configuration of the stake node 10 according to an embodiment of the present invention, we will continue with the description of the configuration of the blockchain operating device 30.

도 4는 본 발명의 일 실시예에 따른 블록체인운영장치(30)의 개략적인 구성을 보여주고 있다.Figure 4 shows a schematic configuration of a blockchain operating device 30 according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 블록체인운영장치(30)는 블록체인 네트워크에서 블록을 생성하는 노드인 생성노드를 선정하기 위한 투표 환경을 제공하는 제공부(31), 및 투표 행사 결과를 취합하여 생성노드를 선정하는 선정부(32)를 포함하는 구성을 가질 수 있다.As shown in FIG. 4, the blockchain operating device 30 according to an embodiment of the present invention includes a provision unit 31 that provides a voting environment for selecting a generation node, which is a node that generates blocks in a blockchain network. , and a selection unit 32 that collects the results of the voting event and selects the generation node.

이상의 제공부(31), 및 선정부(32)를 포함하는 블록체인운영장치(30)의 구성 전체 내지는 적어도 일부는, 프로세서에 의해 실행되는 소프트웨어 모듈 형태 또는 하드웨어 모듈 형태로 구현되거나, 내지는 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있다.All or at least part of the configuration of the blockchain operating device 30, including the above providing unit 31 and selection unit 32, is implemented in the form of a software module or hardware module executed by a processor, or as a software module. It can also be implemented as a combination of and hardware modules.

여기서, 소프트웨어 모듈이란, 예컨대, 블록체인운영장치(30) 내에서 연산을 제어하는 프로세서에 의해 실행되는 명령어로 이해될 수 있으며, 이러한 명령어는 블록체인운영장치(30) 내 메모리에 탑재된 형태를 가질 수 있을 것이다.Here, the software module can be understood as, for example, an instruction executed by a processor that controls operations within the blockchain operating device 30, and these instructions are stored in the memory within the blockchain operating device 30. You can have it.

특히, 이들 구성은 블록체인 네트워크와의 연계를 지원하는 구성으로서, 블록체인 알고리즘에 기초하여 블록체인 데이터를 유지하고 관리하는 주체일 수 있으며, 이는 가상머신(Virtual Machine) 또는 API(Application Programming Interface) 형태로 구현 가능하다.In particular, these configurations are configurations that support linkage with the blockchain network, and may be the entity that maintains and manages blockchain data based on the blockchain algorithm, which may be a virtual machine or API (Application Programming Interface). It can be implemented in the form

한편, 본 발명의 일 실시예에 따른 블록체인운영장치(30)은 전술한 구성 이외에, 지분노드(10) 및 대표노드(20) 등과의 실질적인 통신을 위한 RF 모듈인 통신부(33)를 더 포함하는 구성을 가질 수 있다.Meanwhile, the blockchain operating device 30 according to an embodiment of the present invention, in addition to the above-described configuration, further includes a communication unit 33, which is an RF module for actual communication with the stake node 10 and the representative node 20. It can have a configuration that does.

참고로, 이러한 통신부(35)의 구성은 도 5를 참조하여 설명될 통신부(3310)과 대응하는 구성이므로 구체적인 내용은 이하에서 언급하기로 한다.For reference, since the configuration of the communication unit 35 corresponds to the communication unit 3310 to be described with reference to FIG. 5, specific details will be described below.

결국, 본 발명의 일 실시예에 따른 블록체인운영장치(30)는 전술한 구성을 통해 블록체인 네트워크에서 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정할 수 있는데, 이하에서는 이를 실현하기 위한 블록체인운영장치(30) 내 각 구성에 대해 설명하기로 한다.In the end, the blockchain operating device 30 according to an embodiment of the present invention can locally distribute and select generation nodes, which are nodes with the authority to create blocks in the blockchain network, through the above-described configuration, which will be described below. Each configuration within the blockchain operating device 30 to be realized will be described.

제공부(31)는 생성노드 선정을 위한 투표 환경을 제공하는 기능을 수행한다.The provision unit 31 performs the function of providing a voting environment for selecting a generation node.

보다 구체적으로, 제공부(31)는 블록체인 네트워크의 지분(stake)을 보유한 지분노드(10)에 대해, 대표노드로부터 생성노드를 선정하기 위한 투표 환경을 제공한다.More specifically, the provision unit 31 provides a voting environment for selecting a creation node from the representative node for the stake node 10 holding a stake in the blockchain network.

이때, 제공부(31)는 대표자위임형지분방식(DPoS: Delegated Proof of Stake)을 채택하고 있는 블록체인 네트워크에서 블록이 생성되는 주기를 고려하여 지분노드(10)에 대한 투표 환경을 제공하는 빈도수를 결정할 수 있다.At this time, the provider 31 provides a voting environment for the stake node 10 in consideration of the cycle in which blocks are created in a blockchain network that adopts the Delegated Proof of Stake (DPoS) method. can be decided.

이러한, 투표 환경에는 후보자로서 참여한 대표노드(20)의 후보자정보, 예컨대, 컴퓨팅 파워; 프로그램 운영 정책 또는 실적; 수익 중 재투자에 사용하는 비중, 및 재투자의 용처; 발굴, 개발, 지원하는 DAPP 의 우수성; 및 커뮤니티 정보 등이 포함될 수 있으며, 이에 제한되는 것이 아닌 다양한 정성적, 정량적 판단 기준들을 더 포함할 수 있다.In this voting environment, candidate information of the representative node 20 participating as a candidate, for example, computing power; Program operation policies or performance; The proportion of profits used for reinvestment and the purpose of the reinvestment; The excellence of DAPP in discovery, development, and support; and community information, etc., and may further include various qualitative and quantitative judgment criteria that are not limited thereto.

특히, 본 발명의 일 실시예에서는 생성노드의 지역적 분할 선정을 위해 블록체인 네트워크에서 전체 대표노드(20)가 분포되어 있는 오프라인 영역이, 생성노드가 필요한 개수(예: 21개)에 상응하는 선정 영역으로 분할될 수 있다.In particular, in one embodiment of the present invention, in order to select a regional division of generation nodes, the offline area where all representative nodes (20) are distributed in the blockchain network is selected corresponding to the required number of generation nodes (e.g., 21). It can be divided into areas.

이 경우, 분할된 각 선정 영역 별로 대표노드(20)의 득표수 우선 순위에 따라 생성노드가 선정될 수 있다.In this case, the generation node may be selected according to the priority of the number of votes of the representative node 20 for each divided selection area.

이를 위해, 제공부(31)는 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 식별된 특정 선정 영역 내 위치한 대표노드(20)의 리스트를 생성하고, 해당 대표노드(20)의 리스트를 포함하는 투표 환경을 지분노드(10)에게 제공할 수 있다.To this end, the provision unit 31 identifies a specific selected area related to the offline location of the stake node 10, generates a list of representative nodes 20 located within the identified specific selected area, and selects the representative node 20. A voting environment including a list of can be provided to the stake node (10).

여기서, 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역이란, 지분노드(10)의 오프라인 위치가 속하는 지역적 구분, 예컨대, 국가, 도시, 및 기타 행정구역으로 구분될 수 있다.Here, the specific selected area related to the offline location of the stake node 10 may be divided into regional divisions to which the offline location of the stake node 10 belongs, such as country, city, and other administrative districts.

이를 통해 제공부(31)는 지분노드(10) 별로 오프라인 위치가 속한 지역에서 후보자로 참여한 대표노드(20)의 리스트만을 포함하는 개별적인 투표 환경을 제공할 수 있는 것이다.Through this, the provision unit 31 can provide an individual voting environment that includes only a list of representative nodes 20 who participated as candidates in the region where the offline location belongs to each stake node 10.

한편, 지분노드(10)에서는 자신에게 제공된 투표 환경을 통해 자신의 투표권을 행사하게 되며, 지분 보유자에게 부여되는 보유자별 1표의 투표권을 행상하는 것이 아닌, 자신이 보유한 암호화폐 별 1표로 투표권을 행상할 수 있다.Meanwhile, stake nodes (10) exercise their voting rights through the voting environment provided to them, and instead of peddling the voting rights of 1 vote per holder, which is granted to stake holders, they peddle their voting rights with 1 vote for each cryptocurrency they own. can do.

단, 이 경우 거대자본에 의한 투표권 집중화가 생겨나는 것을 최소화 하기 위해서 보유자 별로 설정개수(예: 30개)의 투표권을 주고 이를 서로 다른 대표자노드(20)에게 이를 행사할 수 있도록 투표권이 제한될 수 있다.However, in this case, in order to minimize concentration of voting rights by large capital, voting rights may be limited so that each holder is given a set number of voting rights (e.g. 30) and can exercise them to different representative nodes (20). .

선정부(32)는 투표 결과를 취합하여 생성노드를 선정하는 기능을 수행한다.The selection unit 32 collects voting results and performs the function of selecting a generation node.

보다 구체적으로, 선정부(32)는 투표 환경 내 대표노드(20)의 리스트 및 각 후보자정보를 참조로 지분노드(10)가 행사한 투표 결과를 취합하여 생성노드를 선정하게 된다.More specifically, the selection unit 32 selects a generation node by collecting the voting results exercised by the stake node 10 with reference to the list of representative nodes 20 in the voting environment and each candidate information.

이때, 선정부(32)는 기본적으로 생성노드 선정함에 있어서, 대표노드(20)의 득표수 우선 순위를 반영하게 되며, 특히 생성노드의 지역적 분할 선정을 고려하기 위해 차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 추가적으로 고려할 수 있다.At this time, the selection unit 32 basically reflects the priority of the number of votes of the representative node 20 when selecting the generation node. In particular, when selecting the next-ranking generation node to take into account the regional division of the generation node, The distance from at least one previously selected generation node may be additionally considered.

즉, 선정부(32)는 차 순위의 생성노드 선정 시 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 확인하고, 확인된 이격 거리가 임계거리 이상인 경우에 한해서 해당 대표노드를 차 순위의 생성노드로 선정할 수 있다.That is, when selecting the next-rank generation node, the selection unit 32 checks the separation distance from at least one previously selected generation node, and selects the corresponding representative node as the next-rank generation node only if the confirmed separation distance is greater than the threshold distance. It can be selected as a node.

만약, 이격 거리가 임계거리 미만인 경우라면, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 득표수 차이가 임계득표수 이상이면, 다시 말해 다음 순위의 대표노드와의 득표수가 현격하게 차이는 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정할 수 있다.If the separation distance is less than the critical distance, check the difference in the number of votes with the representative node of the next rank. If the difference in the number of votes is more than the critical number of votes, in other words, there is a significant difference in the number of votes with the representative node of the next rank. Only in some cases, the representative node can be selected as the next generation node.

이처럼, 다음 순위의 대표노드와의 득표수가 현격하게 차이는 경우를 생성노드 선정에 있어서 예외 규정으로 두는 것은, 타 대표노드에 비해 정성적, 정량적 성능이 월등한 대표노드가, 단지 위치 관계로 인해 생성노드 선정에서 억울하게 탈락되는 것을 최소화하기 위함이다.In this way, the reason for setting an exception in selecting a generating node in cases where the number of votes is significantly different from that of the next ranked representative node is that the representative node, which has superior qualitative and quantitative performance compared to other representative nodes, simply due to the location relationship. This is to minimize unfair rejection in the selection of generation nodes.

또한, 다음 순위의 대표노드와의 득표수 차이의 기준이 되는 임계득표수는, 이전 선정된 적어도 하나의 생성노드 중 이격 거리가 임계거리 미만인 생성노드의 개수에 따라 결정될 수 있는데, 이러한 임계득표수는, 임계거리 미만인 생성노드의 개수가 많을수록 보다 많은 개수의 득표수 차이로 결정될 수 있다. In addition, the critical number of votes, which is the basis for the difference in the number of votes from the representative node of the next ranking, may be determined according to the number of generation nodes whose separation distance is less than the critical distance among at least one previously selected generation node. This critical number of votes can be determined by the difference in the number of votes, which increases as the number of generation nodes less than the critical distance increases.

이처럼, 이전 선정된 적어도 하나의 생성노드 중 임계거리 미만인 생성노드의 개수가 많을수록 득표수 차이를 크게 하는 것은, 생성노드가 어느 특정 지역에 밀집되어 선정되는 것을 방지하기 위함으로 이해할 수 있다.In this way, it can be understood that the difference in votes is increased as the number of generation nodes that are less than the critical distance among at least one previously selected generation node increases, in order to prevent generation nodes from being selected concentrated in a specific area.

즉, 선정부(32)는 생성노드가 밀집될 가능성이 있는 지역일수록 생성노드에 대한 위치 판단 기준을 보다 엄격히함으로써, 생성노드를 광역으로 분산시킬 수 있는 것이다.In other words, the selection unit 32 can distribute the generation nodes over a wide area by making the location judgment criteria for the generation nodes more stringent in areas where generation nodes are likely to be concentrated.

한편, 선정부(32)는 차 순위의 생성노드 선정 시 이전 선정된 적어도 하나의 생성노드와의 이격 거리 확인 결과, 이격 거리가 임계거리 미만이며, 다음 순위의 대표노드와의 득표수 차이가 임계득표수 미만인 경우, 해당 대표노드를 생성노드 선정에서 탈락시키되, 신규 투표 환경에서 해당 대표노드에 대해 어드벤테이지를 부여할 수 있다.Meanwhile, when selecting the next-ranking generation node, the selection unit 32 checks the separation distance from at least one previously selected generation node, and as a result, the separation distance is less than the critical distance, and the difference in votes from the next-ranking representative node is critical. If the number of votes is less than the number of votes, the representative node is eliminated from selection as a creation node, but an advantage can be given to the representative node in a new voting environment.

즉, 선정부(32)는 다음 순위의 대표노드와의 득표수 차이가 임계득표수 미만인 경우로 생성노드 선정에 탈락된 대표노드가 존재하는 경우, 해당 대표노드의 득표수, 및 다음 순위의 대표노드와의 득표수 차이 중 적어도 하나를 보너스 득표수로 기록하여, 신규 투표 환경에서의 실 득표수로 반영함으로써, 신규 투표 환경에서 보너스 득표수를 획득한 대표노드가 생성노드로서 선정될 가능성을 높일 수 있는 것이다.In other words, if the difference in the number of votes with the representative node of the next ranking is less than the threshold number of votes and there is a representative node that was eliminated in the selection of the generating node, the selection unit 32 selects the number of votes of the representative node and the representative of the next ranking. By recording at least one of the differences in the number of votes with the node as the number of bonus votes and reflecting it as the actual number of votes in the new voting environment, the representative node that obtained the number of bonus votes in the new voting environment increases the possibility of being selected as a generating node. It is possible.

한편, 이상 설명한 블록체인운영장치(30) 내 각 구성의 프로세서에 의해 실행되는 소프트웨어 모듈 또는 하드웨어 모듈 형태로 구현되거나, 내지는 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있음을 언급한 바 있다.Meanwhile, it has been mentioned that it can be implemented in the form of a software module or hardware module executed by the processor of each component in the blockchain operating device 30 described above, or in the form of a combination of software modules and hardware modules. there is.

이처럼, 프로세서에 의해 실행되는 소프트웨어 모듈, 하드웨어 모듈, 내지는 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태는 실제 하드웨어 시스템(예: 컴퓨터 시스템)으로 구현될 수 있을 것이다.In this way, a software module, a hardware module, or a combination of a software module and a hardware module executed by a processor may be implemented as an actual hardware system (eg, a computer system).

따라서, 이하에서는 도 5를 참조하여 본 발명의 일 실시예에 따른 블록체인운영장치(30)를 하드웨어 형태로 구현한 하드웨어 시스템(3000)에 대해서 설명하기로 한다.Therefore, hereinafter, a hardware system 3000 that implements the blockchain operating device 30 according to an embodiment of the present invention in hardware form will be described with reference to FIG. 5.

참고로, 이하에서 서술될 내용은 앞서 설명한 블록체인운영장치(30) 내 각 구성을 하드웨어 시스템(3000)으로 구현한 일 예인 것으로, 각 구성과 그에 따른 동작이 실제 시스템과 상이할 수 있음을 염두에 두어야 할 것이다.For reference, what will be described below is an example of each configuration in the blockchain operating device 30 described above implemented as a hardware system 3000, and keep in mind that each configuration and its operation may be different from the actual system. It should be placed in .

도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 하드웨어 시스템(3000)은, 프로세서부(3100), 메모리 인터페이스부(3200), 및 주변장치 인터페이스부(3300)를 포함하는 구성을 가질 수 있다.As shown in FIG. 5, the hardware system 3000 according to an embodiment of the present invention has a configuration including a processor unit 3100, a memory interface unit 3200, and a peripheral device interface unit 3300. You can.

이러한, 하드웨어 시스템(3000) 내 각 구성은, 개별 부품이거나 하나 이상의 집적 회로에 집적될 수 있으며, 이러한 각 구성들은 버스 시스템(도시안됨)에 의해서 결합될 수 있다.Each component within the hardware system 3000 may be a separate component or integrated into one or more integrated circuits, and each of these components may be combined by a bus system (not shown).

여기서, 버스 시스템의 경우, 적절한 브리지들, 어댑터들, 및/또는 제어기들에 의해 연결된 임의의 하나 이상의 개별적인 물리 버스들, 통신 라인들/인터페이스들, 및/또는 멀티 드롭(multi-drop) 또는 포인트 투 포인트(point-to-point) 연결들을 나타내는 추상화(abstraction)이다.Here, in the case of a bus system, any one or more individual physical buses, communication lines/interfaces, and/or multi-drop or point connected by appropriate bridges, adapters, and/or controllers. It is an abstraction that represents point-to-point connections.

프로세서부(3100)는 하드웨어 시스템에서 다양한 기능들을 수행하기 위해 메모리 인터페이스부(3200)를 통해 메모리부(3210)와 통신함으로써, 메모리부(3210)에 저장된 다양한 소프트웨어 모듈들을 실행하는 역할을 수행하게 된다.The processor unit 3100 communicates with the memory unit 3210 through the memory interface unit 3200 to perform various functions in the hardware system, thereby executing various software modules stored in the memory unit 3210. .

여기서, 메모리부(3210)에는 도 4를 참조하여 설명한 블록체인운영장치(30) 내 각 구성인 제공부(31), 및 선정부(32)가 소프트웨어 모듈 형태로 저장될 수 있으며, 그 외 운영 체계(OS)가 추가로 저장될 수 있다.Here, in the memory unit 3210, the provision unit 31 and selection unit 32, which are each component of the blockchain operating device 30 described with reference to FIG. 4, can be stored in the form of a software module, and other operating The system (OS) can be additionally stored.

운영 체계(예: I-OS, Android, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 VxWorks와 같은 임베디드 운영 체계)의 경우, 일반적인 시스템 작업들(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)을 제어 및 관리하는 다양한 절차, 명령어 세트, 소프트웨어 컴포넌트 및/또는 드라이버를 포함하고 있으며 다양한 하드웨어 모듈과 소프트웨어 모듈 간의 통신을 용이하게 하는 역할을 수행하게 된다.For operating systems (e.g., I-OS, Android, Darwin, RTXC, LINUX, UNIX, OS , power management, etc.), and serves to facilitate communication between various hardware modules and software modules.

참고로, 메모리부(3210)는 캐쉬, 메인 메모리 및 보조 기억장치(secondary memory)를 포함하지만 이에 제한되지 않는 메모리 계층구조가 포함할 수 있는데, 이러한 메모리 계층구조의 경우 예컨대 RAM(예: SRAM, DRAM, DDRAM), ROM, FLASH, 자기 및/또는 광 저장 장치[예: 디스크 드라이브, 자기 테이프, CD(compact disk) 및 DVD(digital video disc) 등]의 임의의 조합을 통해서 구현될 수 있다.For reference, the memory unit 3210 may include a memory hierarchy including, but not limited to, a cache, main memory, and secondary memory. In the case of this memory hierarchy, for example, RAM (e.g., SRAM, It may be implemented through any combination of DRAM, DDRAM), ROM, FLASH, magnetic and/or optical storage devices (e.g., disk drives, magnetic tapes, compact disks (CDs), and digital video discs (DVDs), etc.).

주변장치 인터페이스부(3300)는 프로세서부(3100)와 주변장치 간에 통신을 가능하게 하는 역할을 수행한다.The peripheral device interface unit 3300 serves to enable communication between the processor unit 3100 and peripheral devices.

여기서 주변장치의 경우, 하드웨어 시스템(3000)에 상이한 기능을 제공하기 위한 것으로서, 본 발명의 일 실시예에서는, 예컨대, 통신부(3310) 가 포함될 수 있다.Here, the peripheral device is intended to provide different functions to the hardware system 3000, and in one embodiment of the present invention, for example, a communication unit 3310 may be included.

여기서, 통신부(3310)는 다른 장치와의 통신 기능을 제공하는 역할을 수행하는 수행하게 되며, 이를 위해 예컨대, 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기, 디지털 신호 처리기, 코덱(CODEC) 칩셋, 및 메모리 등을 포함하지만 이에 제한되지는 않으며, 이 기능을 수행하는 공지의 회로를 포함할 수 있다.Here, the communication unit 3310 performs the role of providing a communication function with other devices, and for this purpose, for example, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, and a codec ( CODEC) chipset, memory, etc., but is not limited thereto, and may include known circuits that perform this function.

이러한, 통신부(3310)가 지원하는 통신 프로토콜로는, 예컨대, 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra-Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신망으로는 유선 LAN(Local Area Network), 유선 WAN(Wide Area Network), 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있으며, 이제 제한되는 것이 아닌, 다른 장치와의 통신 환경을 제공할 수 있는 프로토콜은 모두 포함될 수 있다.Communication protocols supported by the communication unit 3310 include, for example, Wireless LAN (WLAN), Digital Living Network Alliance (DLNA), Wireless Broadband (Wibro), and World Interoperability for Microwave Access (Wimax). ), GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA) , HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), IEEE 802.16, Long Term Evolution (LTE), LTE-A (Long Term Evolution-Advanced), broadband wireless mobile communication service ( Wireless Mobile Broadband Service: WMBS, Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra-Wideband), ZigBee, Near Field Communication: NFC), Ultrasound Communication (USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, etc. may be included. In addition, wired communication networks include wired LAN (Local Area Network), wired WAN (Wide Area Network), Power Line Communication (PLC), USB communication, Ethernet, serial communication, and optical/coaxial. Cables, etc. may be included, and are not limited to any protocols that can provide a communication environment with other devices.

결국, 본 발명의 일 실시예에 따른 하드웨어 시스템(3000)에서 메모리부(3210)에 소프트웨어 모듈 형태로 저장되어 있는 블록체인운영장치(30) 내 각 구성은, 프로세서부(3100)에 의해 실행되는 명령어의 형태로 메모리 인터페이스부(2200)와 주변장치 인터페이스부(3300)를 매개로 통신부(3310)와의 인터페이스를 수행함으로써, 블록체인 네트워크에서 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정할 수 있는 것이다.Ultimately, in the hardware system 3000 according to an embodiment of the present invention, each component in the blockchain operating device 30 stored in the form of a software module in the memory unit 3210 is executed by the processor unit 3100. By performing an interface with the communication unit 3310 through the memory interface unit 2200 and the peripheral device interface unit 3300 in the form of commands, the generation nodes, which are nodes with the authority to create blocks in the blockchain network, are distributed regionally. You can select it.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템, 및 시스템 내 각 구성에 따르면, 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정함으로써, 생성노드가 지역적으로 집중되어 선정되는 경우에 발생할 수 있는 데이터 조작 등의 노드 오염의 문제점을 사전에 방지할 수 있다.As seen above, according to the blockchain network system and each configuration within the system according to an embodiment of the present invention, in a blockchain network environment to which Delegated Proof of Stake (DPoS) is applied, the number of nodes By considering location and selecting generation nodes, which are nodes with the authority to create blocks, by distributing them regionally, problems of node contamination such as data manipulation that may occur when generation nodes are selected in a regionally concentrated manner can be prevented in advance. there is.

이하에서는, 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템 및 시스템 내 각 구성의 동작 흐름에 대한 설명을 이어 가기로 한다.Below, we will continue to explain the blockchain network system and the operational flow of each component within the system according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템에서의 동작 흐름을 보여주고 있다.Figure 6 shows the operation flow in a blockchain network system according to an embodiment of the present invention.

먼저, 블록체인운영장치(30)는 블록체인 네트워크의 지분(stake)을 보유한 지분노드(10)의 접속에 따라, 대표노드로부터 생성노드를 선정하기 위한 투표 환경을 생성하여 제공한다(S11-S13)First, the blockchain operating device 30 creates and provides a voting environment to select a creation node from the representative node according to the connection of the stake node 10 holding a stake in the blockchain network (S11-S13) )

이때, 블록체인운영장치(30)는 생성노드의 지역적 분할 선정을 위해 블록체인 네트워크에서 전체 대표노드(20)가 분포되어 있는 오프라인 영역을, 생성노드가 필요한 개수(예: 21개)에 상응하는 선정 영역으로 분할될 수 있다.At this time, the blockchain operating device 30 selects an offline area where all representative nodes (20) are distributed in the blockchain network to select a regional division of the generation nodes, corresponding to the required number of generation nodes (e.g., 21). It can be divided into selected areas.

이 경우, 분할된 각 선정 영역 별로 대표노드(20)의 득표수 우선 순위에 따라 생성노드가 선정될 수 있다.In this case, the generation node may be selected according to the priority of the number of votes of the representative node 20 for each divided selection area.

이를 위해, 블록체인운영장치(30)는 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 식별된 특정 선정 영역 내 위치한 대표노드(20)의 리스트를 생성하고, 해당 대표노드(20)의 리스트를 포함하는 투표 환경을 지분노드(10)에게 제공할 수 있다.To this end, the blockchain operating device 30 identifies a specific selected area related to the offline location of the stake node 10, generates a list of representative nodes 20 located within the identified specific selected area, and selects the corresponding representative node ( A voting environment including the list of 20) can be provided to the stake node (10).

이어서, 지분노드(10)는 투표 환경 내 대표노드(20)의 리스트 및 각 후보자정보를 참조로 지분노드(10)가 행사한 투표 결과를 취합하여, 취합된 정보를 지분노드(10)의 투표실행정보로서 블록체인운영장치(30)로 한다(S14-S15).Subsequently, the stake node (10) collects the results of the votes cast by the stake node (10) with reference to the list of representative nodes (20) and each candidate information in the voting environment, and uses the collected information to vote for the stake node (10). As execution information, the blockchain operating device 30 is used (S14-S15).

이때, 지분노드(10)는 지분 보유자에게 부여되는 보유자별 1표의 투표권을 행상하는 것이 아닌, 자신이 보유한 암호화폐 별 1표로 투표권을 행상할 수 있다.At this time, the stake node (10) can peddle voting rights with one vote per cryptocurrency it owns, rather than peddling the voting rights of one vote per holder, which is granted to stake holders.

단, 이 경우 거대자본에 의한 투표권 집중화가 생겨나는 것을 최소화 하기 위해서 보유자 별로 설정개수(예: 30개)의 투표권을 주고 이를 서로 다른 대표자노드(20)에게 이를 행사할 수 있도록 투표권을 제한할 수 있다.However, in this case, in order to minimize the concentration of voting rights caused by large capital, voting rights can be limited so that each holder is given a set number of voting rights (e.g. 30) and can exercise them to different representative nodes (20). .

이후, 블록체인운영장치(30)는 다수의 지분노드(10)로부터 투표실행정보가 수신되는 경우, 이들을 취합하여 생성노드를 선정하게 된다(S16-S18).Afterwards, when voting execution information is received from a plurality of stake nodes 10, the blockchain operating device 30 collects them and selects a generation node (S16-S18).

이때, 블록체인운영장치(30)는 기본적으로 대표노드(20)의 득표수 우선 순위에 따라 생성노드를 선정하게 되는데, 생성노드의 지역적 분할 선정을 고려하기 위해 차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 추가적으로 고려할 수 있다.At this time, the blockchain operating device 30 basically selects the generation node according to the priority of the number of votes of the representative node 20. In order to consider regional division of the generation node, when selecting the next-rank generation node, the previous The distance from at least one selected generation node may be additionally considered.

즉, 블록체인운영장치(30)는 차 순위의 생성노드 선정 시 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 확인하고, 확인된 이격 거리가 임계거리 이상인 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정하게 된다.In other words, when selecting the next-ranking generation node, the blockchain operating device 30 checks the separation distance from at least one previously selected generation node, and selects the corresponding representative node as the next-ranking node only if the confirmed separation distance is greater than the critical distance. is selected as the generation node.

만약, 이격 거리가 임계거리 미만인 경우, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 득표수 차이가 임계득표수 이상이면, 다시 말해 다음 순위의 대표노드와의 득표수가 현격하게 차이는 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정할 수 있다.If the separation distance is less than the critical distance, check the difference in the number of votes with the representative node of the next rank, and if the difference in the number of votes is more than the critical number of votes, that is, if the number of votes is significantly different from the representative node of the next rank. Only then, the corresponding representative node can be selected as the next-rank generation node.

이상 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템에서의 동작 흐름에 대한 설명을 마치고, 지분노드(10)에서의 동작 흐름에 대한 설명을 이어 가기로 한다.After completing the description of the operation flow in the blockchain network system according to an embodiment of the present invention, we will continue with the description of the operation flow in the stake node 10.

도 7은 본 발명의 일 실시예에 따른 지분노드(10)에서의 동작 흐름을 보여주고 있다.Figure 7 shows the operation flow in the stake node 10 according to an embodiment of the present invention.

먼저, 접속부(11)는 블록 생성의 권한을 갖는 생성노드를 선정하기 위해 블록체인운영장치(30)가 제공하는 투표 환경에 접속한다(S21-S22).First, the connection unit 11 connects to the voting environment provided by the blockchain operating device 30 to select a generation node with the authority to create blocks (S21-S22).

여기서, 블록체인운영장치(30)로부터 제공되는 투표 환경은 대표자위임형지분방식(DPoS: Delegated Proof of Stake)을 채택하고 있는 블록체인 네트워크에서 블록이 생성되는 주기를 고려하여 제공될 수 있다.Here, the voting environment provided by the blockchain operating device 30 can be provided by considering the cycle in which blocks are created in a blockchain network that adopts the Delegated Proof of Stake (DPoS) method.

특히, 본 발명의 일 실시예에서는 생성노드의 지역적 분할 선정을 위해 블록체인 네트워크에서 전체 대표노드(20)가 분포되어 있는 오프라인 영역이, 생성노드가 필요한 개수(예: 21개)에 상응하는 선정 영역으로 분할될 수 있다.In particular, in one embodiment of the present invention, in order to select a regional division of generation nodes, the offline area where all representative nodes (20) are distributed in the blockchain network is selected corresponding to the required number of generation nodes (e.g., 21). It can be divided into areas.

이 경우, 분할된 각 선정 영역 별로 대표노드(20)의 득표수 우선 순위에 따라 생성노드가 선정될 수 있다.In this case, the generation node may be selected according to the priority of the number of votes of the representative node 20 for each divided selection area.

이를 위해, 블록체인운영장치(30)는 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 식별된 특정 선정 영역 내 위치한 대표노드(20)의 리스트를 생성하고, 해당 대표노드(20)의 리스트를 포함하는 투표 환경을 지분노드(10)에게 제공할 수 있다.To this end, the blockchain operating device 30 identifies a specific selected area related to the offline location of the stake node 10, generates a list of representative nodes 20 located within the identified specific selected area, and selects the corresponding representative node ( A voting environment including the list of 20) can be provided to the stake node (10).

여기서, 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역이란, 지분노드(10)의 오프라인 위치가 속하는 지역적 구분, 예컨대, 국가, 도시, 및 기타 행정구역으로 구분될 수 있다.Here, the specific selected area related to the offline location of the stake node 10 may be divided into regional divisions to which the offline location of the stake node 10 belongs, such as country, city, and other administrative districts.

이를 통해 지분노드(10)에게는, 자신이 속한 지역에서 후보자로 참여한 대표노드(20)의 리스트만을 포함하는 개별적인 투표 환경이 제공될 수 있다.Through this, the stake nodes (10) can be provided with an individual voting environment that includes only the list of representative nodes (20) who participated as candidates in the region to which they belong.

나아가, 처리부(12)는 투표 환경 내 대표노드(20)의 리스트 및 각 후보자정보를 참조로 지분노드(10)가 행사한 투표 결과를 취합하여, 취합된 정보를 지분노드(10)의 투표실행정보로서 블록체인운영장치(30)로 전달한다(S23-S25).Furthermore, the processing unit 12 collects the voting results exercised by the stake node 10 with reference to the list of representative nodes 20 and each candidate information in the voting environment, and uses the collected information to execute the vote of the stake node 10. It is transmitted as information to the blockchain operating device 30 (S23-S25).

이때, 처리부(12)는 지분 보유자에게 부여되는 보유자별 1표의 투표권을 행상하는 것이 아닌, 자신이 보유한 암호화폐 별 1표로 투표권을 행상할 수 있다.At this time, the processing unit 12 may peddle voting rights with one vote per cryptocurrency held by the processor, rather than peddling the voting rights of one vote per holder, which is granted to equity holders.

단, 이 경우 거대자본에 의한 투표권 집중화가 생겨나는 것을 최소화 하기 위해서 보유자 별로 설정개수(예: 30개)의 투표권을 주고 이를 서로 다른 대표자노드(20)에게 이를 행사할 수 있도록 투표권을 제한할 수 있다.However, in this case, in order to minimize the concentration of voting rights caused by large capital, voting rights can be limited so that each holder is given a set number of voting rights (e.g. 30) and can exercise them to different representative nodes (20). .

한편, 이와 관련하여 블록체인운영장치(30)에서는 다수의 지분노드(10)로부터 투표실행정보가 수신되는 경우, 이들을 취합하여 생성노드를 선정하게 된다.Meanwhile, in relation to this, when voting execution information is received from a plurality of stake nodes 10, the blockchain operating device 30 collects them and selects a generation node.

이때, 블록체인운영장치(30)는 기본적으로 대표노드(20)의 득표수 우선 순위에 따라 생성노드를 선정하게 되는데, 생성노드의 지역적 분할 선정을 고려하기 위해 차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 추가적으로 고려할 수 있다.At this time, the blockchain operating device 30 basically selects the generation node according to the priority of the number of votes of the representative node 20. In order to consider regional division of the generation node, when selecting the next-rank generation node, the previous The distance from at least one selected generation node may be additionally considered.

즉, 블록체인운영장치(30)는 차 순위의 생성노드 선정 시 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 확인하고, 확인된 이격 거리가 임계거리 이상인 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정하게 된다.In other words, when selecting the next-ranking generation node, the blockchain operating device 30 checks the separation distance from at least one previously selected generation node, and selects the corresponding representative node as the next-ranking node only if the confirmed separation distance is greater than the critical distance. is selected as the generation node.

만약, 이격 거리가 임계거리 미만인 경우, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 득표수 차이가 임계득표수 이상이면, 다시 말해 다음 순위의 대표노드와의 득표수가 현격하게 차이는 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정할 수 있다.If the separation distance is less than the critical distance, check the difference in the number of votes with the representative node of the next ranking, and if the difference in the number of votes is more than the critical number of votes, that is, if the number of votes is significantly different from the representative node of the next ranking. Only then, the corresponding representative node can be selected as the next-ranking generation node.

이상 본 발명의 일 실시예에 따른 지분노드(10)에서의 동작 흐름에 대한 설명을 마치고, 블록체인운영장치(30)에서의 동작 흐름에 대한 설명을 이어 가기로 한다.After completing the description of the operation flow in the stake node 10 according to an embodiment of the present invention, we will continue with the description of the operation flow in the blockchain operating device 30.

도 8은 본 발명의 일 실시예에 따른 블록체인운영장치(30)에서의 동작 흐름을 보여주고 있다.Figure 8 shows the operation flow in the blockchain operating device 30 according to an embodiment of the present invention.

먼저, 제공부(31)는 블록체인 네트워크의 지분(stake)을 보유한 지분노드(10)의 접속에 따라, 대표노드로부터 생성노드를 선정하기 위한 투표 환경을 생성하여 제공한다(S31-S33).First, the provision unit 31 creates and provides a voting environment for selecting a generation node from the representative node according to the connection of the stake node 10 holding a stake in the blockchain network (S31-S33).

이때, 제공부(31)는 생성노드의 지역적 분할 선정을 위해 블록체인 네트워크에서 전체 대표노드(20)가 분포되어 있는 오프라인 영역을, 생성노드가 필요한 개수(예: 21개)에 상응하는 선정 영역으로 분할될 수 있다.At this time, the provider 31 selects an offline area where all representative nodes 20 are distributed in the blockchain network to select a regional division of the generation nodes, and a selection area corresponding to the required number of generation nodes (e.g., 21). can be divided into

이 경우, 분할된 각 선정 영역 별로 대표노드(20)의 득표수 우선 순위에 따라 생성노드가 선정될 수 있다.In this case, the generation node may be selected according to the priority of the number of votes of the representative node 20 for each divided selection area.

이를 위해, 제공부(31)는 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 식별된 특정 선정 영역 내 위치한 대표노드(20)의 리스트를 생성하고, 해당 대표노드(20)의 리스트를 포함하는 투표 환경을 지분노드(10)에게 제공할 수 있다.To this end, the provision unit 31 identifies a specific selected area related to the offline location of the stake node 10, generates a list of representative nodes 20 located within the identified specific selected area, and selects the representative node 20. A voting environment including a list of can be provided to the stake node (10).

여기서, 지분노드(10)의 오프라인 위치와 관련된 특정 선정 영역이란, 지분노드(10)의 오프라인 위치가 속하는 지역적 구분, 예컨대, 국가, 도시, 및 기타 행정구역으로 구분될 수 있다.Here, the specific selected area related to the offline location of the stake node 10 may be divided into regional divisions to which the offline location of the stake node 10 belongs, such as country, city, and other administrative districts.

이를 통해 제공부(31)는 지분노드(10) 별로 오프라인 위치가 속한 지역에서 후보자로 참여한 대표노드(20)의 리스트만을 포함하는 개별적인 투표 환경을 제공할 수 있는 것이다.Through this, the provision unit 31 can provide an individual voting environment that includes only a list of representative nodes 20 who participated as candidates in the region where the offline location belongs to each stake node 10.

나아가, 선정부(32)는 투표 환경 내 대표노드(20)의 리스트 및 각 후보자정보를 참조로 지분노드(10)가 행사한 투표 결과를 투표실행정보로서 수신하여 이를 참조로 생성노드를 선정한다(S34).Furthermore, the selection unit 32 receives the voting results exercised by the stake node 10 as voting execution information with reference to the list of representative nodes 20 and each candidate information in the voting environment, and selects the generation node based on this. (S34).

이때, 선정부(32)는 기본적으로 생성노드 선정함에 있어서, 대표노드(20)의 득표수 우선 순위를 반영하게 되며, 특히 생성노드의 지역적 분할 선정을 고려하기 위해 차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 추가적으로 고려할 수 있다(S35-S38).At this time, the selection unit 32 basically reflects the priority of the number of votes of the representative node 20 when selecting the generation node. In particular, when selecting the next-ranking generation node to take into account the regional division of the generation node, The distance from at least one previously selected generation node can be additionally considered (S35-S38).

즉, 선정부(32)는 차 순위의 생성노드 선정 시 이전 선정된 적어도 하나의 생성노드와의 이격 거리를 확인하고, 확인된 이격 거리가 임계거리 이상인 경우에 한해서 해당 대표노드를 차 순위의 생성노드로 선정할 수 있다.That is, when selecting the next-rank generation node, the selection unit 32 checks the separation distance from at least one previously selected generation node, and selects the corresponding representative node as the next-rank generation node only if the confirmed separation distance is greater than the threshold distance. It can be selected as a node.

만약, 단계 S37에서 이격 거리가 임계거리 미만인 경우라면, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 득표수 차이가 임계득표수 이상이면, 다시 말해 다음 순위의 대표노드와의 득표수가 현격하게 차이는 경우에 한해 해당 대표노드를 차 순위의 생성노드로 선정할 수 있다(S38-S39).If the separation distance is less than the critical distance in step S37, check the difference in the number of votes with the representative node of the next ranking, and if the difference in the number of votes is more than the critical number of votes, in other words, the number of votes with the representative node of the next ranking is significant. Only in cases where there is a significant difference, the corresponding representative node can be selected as the next-ranking generation node (S38-S39).

한편, 선정부(32)는 차 순위의 생성노드 선정 시 단계 S37에서 이전 선정된 적어도 하나의 생성노드와의 이격 거리 확인 결과, 이격 거리가 임계거리 미만이며, 단계 S39에서 다음 순위의 대표노드와의 득표수 차이가 임계득표수 미만인 경우, 해당 대표노드를 생성노드 선정에서 탈락시키되, 신규 투표 환경에서 해당 대표노드에 대해 어드벤테이지를 부여할 수 있다(S40).Meanwhile, when selecting the next-ranking generation node, the selection unit 32 checks the separation distance from at least one previously selected generation node in step S37, and as a result, the separation distance is less than the critical distance, and selects the next-ranking representative node and the next-ranking representative node in step S39. If the difference in the number of votes is less than the critical number of votes, the representative node is eliminated from selection as a generating node, but an advantage can be given to the representative node in a new voting environment (S40).

즉, 선정부(32)는 다음 순위의 대표노드와의 득표수 차이가 임계득표수 미만인 경우로 생성노드 선정에 탈락된 대표노드가 존재하는 경우, 해당 대표노드의 득표수, 및 다음 순위의 대표노드와의 득표수 차이 중 적어도 하나를 보너스 득표수로 기록하여, 신규 투표 환경에서의 실 득표수로 반영함으로써, 신규 투표 환경에서 보너스 득표수를 획득한 대표노드가 생성노드로서 선정될 가능성을 높일 수 있는 것이다.In other words, if the difference in the number of votes with the representative node of the next ranking is less than the threshold number of votes and there is a representative node that was eliminated in the selection of the generating node, the selection unit 32 selects the number of votes of the representative node and the representative of the next ranking. By recording at least one of the differences in the number of votes with the node as the number of bonus votes and reflecting it as the actual number of votes in the new voting environment, the representative node that obtained the number of bonus votes in the new voting environment increases the possibility of being selected as a generating node. It is possible.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 블록체인 네트워크 시스템 내 각 구성의 동작 방법에 따르면, 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 지역적으로 분산하여 선정함으로써, 생성노드가 지역적으로 집중되어 선정되는 경우에 발생할 수 있는 데이터 조작 등의 노드 오염의 문제점을 사전에 방지할 수 있다.As discussed above, according to the operation method of each component in the blockchain network system according to an embodiment of the present invention, in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied, the node's By considering location and selecting generation nodes, which are nodes with the authority to create blocks, by distributing them regionally, problems of node contamination such as data manipulation that may occur when generation nodes are selected in a regionally concentrated manner can be prevented in advance. there is.

한편, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.Meanwhile, implementations of the functional operations and subjects described in this specification are implemented as digital electronic circuits, computer software, firmware, or hardware including the structure disclosed in this specification and its structural equivalents, or one or more of these. It can be implemented by combining. Implementations of the subject matter described herein may comprise one or more computer program products, that is, one or more modules of computer program instructions encoded on a tangible program storage medium for execution by or for controlling the operation of a processing system. It can be implemented.

컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects a machine-readable radio wave signal, or a combination of one or more of these.

본 명세서에서 '시스템'이나 '장치'라 함은 예컨대 프로그래머블 프로세서부, 컴퓨터 혹은 다중 프로세서부나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 포괄한다. 처리 시스템은, 하드웨어에 부가하여, 예컨대 프로세서부 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 혹은 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 코드를 포함할 수 있다.In this specification, the term 'system' or 'device' includes all instruments, devices, and machines for processing data, including, for example, a programmable processor unit, a computer, or a multi-processor unit or computer. In addition to the hardware, the processing system may include code that forms an execution environment for computer programs on demand, such as code making up processor unit firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these. there is.

컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.A computer program (also known as a program, software, software application, script, or code) may be written in any form of a programming language, including compiled, interpreted, a priori, or procedural languages, as a stand-alone program, or as a module. It can be deployed in any form, including components, subroutines, or other units suitable for use in a computer environment. Computer programs do not necessarily correspond to files in a file system. A program may be stored within a single file that serves the requested program, or within multiple interacting files (e.g., files storing one or more modules, subprograms, or portions of code), or as part of a file that holds other programs or data. (e.g., one or more scripts stored within a markup language document). The computer program may be deployed to run on a single computer or multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.

한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서부와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.Meanwhile, computer-readable media suitable for storing computer program instructions and data include semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and external disks, magneto-optical disks, and CDs. -Can include all forms of non-volatile memory, media, and memory devices, including ROM and DVD-ROM disks. The processor unit and memory may be supplemented by, or integrated into, special-purpose logic circuits.

본 명세서에서 설명한 주제의 구현물은 예컨대 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예컨대 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 구매자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.Implementations of the subject matter described herein may include back-end components, such as a data server, middleware components, such as an application server, or, e.g., a web browser or graphical user through which a purchaser may interact with an implementation of the subject matter described herein. It may be implemented in a front-end component, such as a client computer with an interface, or in a computing system that includes any combination of one or more of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, such as a telecommunications network.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 마찬가지로, 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.Although this specification contains details of numerous specific implementations, these should not be construed as limitations on the scope of any invention or what may be claimed, but rather as descriptions of features that may be unique to particular embodiments of particular inventions. It must be understood. Likewise, certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination. Furthermore, although features may be described as operating in a particular combination and initially claimed as such, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination may be a sub-combination. It can be changed to a variant of a sub-combination.

또한, 본 명세서에서는 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다Additionally, although operations are depicted in the drawings in a specific order herein, this should not be understood to mean that such operations must be performed in the specific order or sequential order shown or that all illustrated operations must be performed to obtain desirable results. Can not be done. In certain cases, multitasking and parallel processing may be advantageous. Additionally, the separation of various system components in the above-described embodiments should not be construed as requiring such separation in all embodiments, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. You must understand that you can

이와 같이, 본 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하려는 의도가 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, this specification is not intended to limit the invention to the specific terms presented. Accordingly, although the present invention has been described in detail with reference to the above-described examples, those skilled in the art may make modifications, changes, and variations to the examples without departing from the scope of the present invention. The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

본 발명의 블록체인운영장치 및 그 동작 방법에 따르면 대표자위임형지분방식(DPoS: Delegated Proof of Stake)이 적용된 블록체인 네트워크 환경에서, 노드의 위치를 고려하여 블록 생성의 권한을 갖는 노드인 생성노드를 선정할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the blockchain operating device and operating method of the present invention, in a blockchain network environment where Delegated Proof of Stake (DPoS) is applied, a creation node is a node with the authority to create blocks considering the location of the node. In that it is possible to select a device, by going beyond the limitations of existing technology, the possibility of not only using the related technology but also marketing or selling the applied device is sufficient, and it is clearly feasible in reality, so it is industrially applicable. This is an invention.

10: 지분노드
11: 접속부 12: 처리부
20: 대표노드
30: 블록체인운영장치
31: 제공부 32: 선정부
10: Stake node
11: connection unit 12: processing unit
20: Representative node
30: Blockchain operating device
31: provision department 32: selection department

Claims (12)

삭제delete 블록체인 네트워크에서 블록 생성의 권한을 갖는 생성노드의 선정과 관련된 연산을 처리하는 프로세서; 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리를 포함하며,
상기 적어도 하나의 명령은,
상기 블록체인 네트워크의 지분(stake)을 보유한 지분노드에 대해, 대표노드로부터 상기 생성노드를 선정하기 위한 투표 환경을 제공하는 제공명령; 및
상기 투표 환경에서 대표노드가 득표한 득표수, 및 대표노드의 위치 중 적어도 하나를 기초로 상기 생성노드를 선정하는 선정명령을 포함하며,
상기 선정명령은,
상기 블록체인 네트워크에서 전체 대표노드가 분포되어 있는 오프라인 영역을 상기 생성노드가 필요한 개수에 상응하는 선정 영역으로 분할하며,
분할된 각 선정 영역 별 대표노드의 득표수 우선 순위에 따라 상기 생성노드로 선정하는 것을 특징으로 하는 블록체인운영장치.
A processor that processes operations related to the selection of a generation node with the authority to create blocks in a blockchain network; and
It includes a memory storing at least one instruction to be executed through the processor,
The at least one command is:
A provision command that provides a voting environment for selecting the creation node from a representative node for a stake node holding a stake in the blockchain network; and
A selection command for selecting the generation node based on at least one of the number of votes received by the representative node in the voting environment and the location of the representative node,
The above selection order is,
In the blockchain network, the offline area where all representative nodes are distributed is divided into selected areas corresponding to the required number of generation nodes,
A blockchain operating device characterized in that the creation node is selected according to the priority of the number of votes of the representative node for each divided selection area.
◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 3 was abandoned upon payment of the setup registration fee.◈ 제 2 항에 있어서,
상기 제공명령은,
상기 지분노드의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 상기 특정 선정 영역 내 위치한 대표노드의 리스트를 생성하며,
상기 대표노드의 리스트를 포함하는 투표 환경을 상기 지분노드에게 제공하는 것을 특징으로 하는 블록체인운영장치.
According to claim 2,
The above provision order is,
Identifying a specific selected area related to the offline location of the stake node and generating a list of representative nodes located within the specific selected area,
A blockchain operating device characterized in that it provides the stake node with a voting environment including a list of the representative nodes.
블록체인 네트워크에서 블록 생성의 권한을 갖는 생성노드의 선정과 관련된 연산을 처리하는 프로세서; 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리를 포함하며,
상기 적어도 하나의 명령은,
상기 블록체인 네트워크의 지분(stake)을 보유한 지분노드에 대해, 대표노드로부터 상기 생성노드를 선정하기 위한 투표 환경을 제공하는 제공명령; 및
상기 투표 환경에서 대표노드가 득표한 득표수, 및 대표노드의 위치 중 적어도 하나를 기초로 상기 생성노드를 선정하는 선정명령을 포함하며,
상기 선정명령은,
대표노드의 득표수 우선 순위에 따라 생성노드를 선정하며,
차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리가 임계거리 이상인 경우, 해당 대표노드를 생성노드로 선정하는 것을 특징으로 하는 블록체인운영장치.
A processor that processes operations related to the selection of a generation node with the authority to create blocks in a blockchain network; and
It includes a memory storing at least one instruction to be executed through the processor,
The at least one command is:
A provision command that provides a voting environment for selecting the creation node from a representative node for a stake node holding a stake in the blockchain network; and
A selection command for selecting the generation node based on at least one of the number of votes received by the representative node in the voting environment and the location of the representative node,
The above selection order is,
The generation node is selected according to the priority of the number of votes received by the representative node.
A blockchain operating device characterized in that when selecting the next-ranking generation node, if the separation distance from at least one previously selected generation node is greater than a critical distance, the corresponding representative node is selected as the generation node.
◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 5 was abandoned upon payment of the setup registration fee.◈ 제 4 항에 있어서,
상기 선정명령은,
상기 이격 거리가 상기 임계거리 미만인 경우, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 상기 득표수 차이가 임계득표수 이상인 경우에 한해 해당 대표노드를 생성노드로 선정하는 것을 특징으로 하는 블록체인운영장치.
According to claim 4,
The above selection order is,
If the separation distance is less than the threshold distance, the difference in the number of votes with the representative node of the next ranking is checked, and the representative node is selected as the generation node only if the difference in the number of votes is more than the threshold number of votes. Chain operating device.
◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 6 was abandoned upon payment of the setup registration fee.◈ 제 5 항에 있어서,
상기 선정명령은,
상기 득표수 차이가 임계득표수 미만인 경우, 해당 대표노드의 득표수, 및 다음 순위의 대표노드와의 득표수 차이 중 적어도 하나를 보너스 득표수로 기록하여, 신규 투표 환경에서의 실 득표수로 반영될 수 있도록 하는 것을 특징으로 하는 블록체인운영장치.
According to claim 5,
The above selection order is,
If the difference in the number of votes is less than the threshold number of votes, at least one of the number of votes of the corresponding representative node and the difference in number of votes with the representative node of the next ranking is recorded as the number of bonus votes and reflected as the number of actual votes in the new voting environment. A blockchain operating device characterized by enabling it to be used.
◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 7 was abandoned upon payment of the setup registration fee.◈ 제 5 항에 있어서,
상기 임계득표수는,
상기 이전 선정된 적어도 하나의 생성노드 중 상기 이격 거리가 상기 임계거리 미만인 생성노드의 개수에 따라 결정되며,
상기 임계거리 미만인 생성노드의 개수가 많을수록 보다 많은 개수의 득표수 차이로 결정되는 것을 특징으로 하는 블록체인운영장치.
According to claim 5,
The critical number of votes is,
It is determined according to the number of generation nodes among the previously selected at least one generation node whose separation distance is less than the threshold distance,
A blockchain operating device, characterized in that the greater the number of generation nodes that are less than the critical distance, the greater the difference in the number of votes.
삭제delete 블록체인 네트워크의 지분(stake)을 보유한 지분노드에 대해, 대표노드 중 블록 생성의 권한을 갖는 생성노드를 선정하기 위한 투표 환경을 제공하는 제공단계; 및
상기 투표 환경에서 대표노드가 득표한 득표수, 및 대표노드의 위치 중 적어도 하나를 기초로 상기 생성노드를 선정하는 선정단계를 포함하며,
상기 선정단계는,
상기 블록체인 네트워크에서 전체 대표노드가 분포되어 있는 오프라인 영역을 상기 생성노드가 필요한 개수에 상응하는 선정 영역으로 분할하며,
분할된 각 선정 영역 별 대표노드의 득표수 우선 순위에 따라 상기 생성노드로 선정하는 것을 특징으로 하는 블록체인운영장치의 동작 방법.
A provision step of providing a voting environment to select a generation node with the authority to create blocks among representative nodes for stake nodes holding a stake in the blockchain network; and
A selection step of selecting the generation node based on at least one of the number of votes received by the representative node in the voting environment and the location of the representative node,
The selection step is,
In the blockchain network, the offline area where all representative nodes are distributed is divided into selected areas corresponding to the required number of generation nodes,
A method of operating a blockchain operating device, characterized in that the creation node is selected according to the priority of the number of votes of the representative node for each divided selection area.
◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 10 was abandoned upon payment of the setup registration fee.◈ 제 9 항에 있어서,
상기 제공단계는,
상기 지분노드의 오프라인 위치와 관련된 특정 선정 영역을 식별하여, 상기 특정 선정 영역 내 위치한 대표노드의 리스트를 생성하며,
상기 대표노드의 리스트를 포함하는 투표 환경을 상기 지분노드에게 제공하는 것을 특징으로 하는 블록체인운영장치의 동작 방법.
According to clause 9,
The provision step is,
Identifying a specific selected area related to the offline location of the stake node and generating a list of representative nodes located within the specific selected area,
A method of operating a blockchain operating device, characterized in that a voting environment including a list of the representative nodes is provided to the stake node.
블록체인 네트워크의 지분(stake)을 보유한 지분노드에 대해, 대표노드 중 블록 생성의 권한을 갖는 생성노드를 선정하기 위한 투표 환경을 제공하는 제공단계; 및
상기 투표 환경에서 대표노드가 득표한 득표수, 및 대표노드의 위치 중 적어도 하나를 기초로 상기 생성노드를 선정하는 선정단계를 포함하며,
상기 선정단계는,
대표노드의 득표수 우선 순위에 따라 생성노드를 선정하며,
차 순위의 생성노드 선정 시, 이전 선정된 적어도 하나의 생성노드와의 이격 거리가 임계거리 이상인 경우, 해당 대표노드를 생성노드로 선정하는 것을 특징으로 하는 블록체인운영장치의 동작 방법.
A provision step of providing a voting environment to select a generation node with the authority to create blocks among representative nodes for stake nodes holding a stake in the blockchain network; and
A selection step of selecting the generation node based on at least one of the number of votes received by the representative node in the voting environment and the location of the representative node,
The selection step is,
The generation node is selected according to the priority of the number of votes received by the representative node.
A method of operating a blockchain operating device, characterized in that when selecting a next-ranking generation node, if the separation distance from at least one previously selected generation node is greater than a critical distance, the corresponding representative node is selected as the generation node.
◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 12 was abandoned upon payment of the setup registration fee.◈ 제 11 항에 있어서,
상기 선정단계는,
상기 이격 거리가 상기 임계거리 미만인 경우, 다음 순위의 대표노드와의 득표수 차이를 확인하여, 상기 득표수 차이가 임계득표수 이상인 경우에 한해 해당 대표노드를 생성노드로 선정하는 것을 특징으로 하는 블록체인운영장치의 동작 방법.
According to claim 11,
The selection step is,
If the separation distance is less than the threshold distance, the difference in the number of votes with the representative node of the next ranking is checked, and the representative node is selected as the generation node only if the difference in the number of votes is more than the threshold number of votes. How the chain operating device operates.
KR1020190057140A 2019-05-15 2019-05-15 Operating apparatus for block chain, and control method thereof KR102645070B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190057140A KR102645070B1 (en) 2019-05-15 2019-05-15 Operating apparatus for block chain, and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190057140A KR102645070B1 (en) 2019-05-15 2019-05-15 Operating apparatus for block chain, and control method thereof

Publications (2)

Publication Number Publication Date
KR20200132149A KR20200132149A (en) 2020-11-25
KR102645070B1 true KR102645070B1 (en) 2024-03-07

Family

ID=73645290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190057140A KR102645070B1 (en) 2019-05-15 2019-05-15 Operating apparatus for block chain, and control method thereof

Country Status (1)

Country Link
KR (1) KR102645070B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220138146A (en) * 2021-04-05 2022-10-12 주식회사 헤세그 On-chain governance decision method of blockchain system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌1(Igor Barinov 외 3인)*

Also Published As

Publication number Publication date
KR20200132149A (en) 2020-11-25

Similar Documents

Publication Publication Date Title
Grimes et al. China's emerging role in the global semiconductor value chain
US20210191702A1 (en) Blockchain Node Service Deployment Method, Apparatus and System, and Computing Device and Medium
Lemstra Leadership with 5G in Europe: Two contrasting images of the future, with policy and regulatory implications
DE102020203881A1 (en) METHODS AND DEVICES FOR EXECUTING A WORKLOAD IN AN EDGE ENVIRONMENT
Eden Multinationals and foreign investment policies in a digital world
CN111742295A (en) Service management for blockchain network infrastructure
EP2932693B1 (en) Exchange of server status and client information through headers for request management and load balancing
JP2011129117A (en) Cloud federation as service
CN102238548A (en) Wireless router with internal and external network separation architecture and method for sharing wireless network based on same
Goyal et al. Role of SOA & Cloud Computing in IT Industry
CN110909373A (en) Access control method, device, system and storage medium
KR102645070B1 (en) Operating apparatus for block chain, and control method thereof
CA2981842A1 (en) Resource allocation based on resource distribution data from child node
Rukanova et al. Emergence of collective digital innovations through the process of control point driven network reconfiguration and reframing: the case of mobile payment
Soulé Is Fintech eating the world of financial services, one API after another?
Anthony Jnr A developed distributed ledger technology architectural layer framework for decentralized governance implementation in virtual enterprise
Gerhardter et al. Flexibility and improved resource utilization through cloud based ERP systems: critical success factors of SaaS solutions in SME
Mukundan et al. Enhancing a Firm’s Strategic Intellectual Property Management System–The Role of Patent Quality
CN111435495A (en) Service processing method, device and equipment
US20230179419A1 (en) System and method of tokenization
US11765228B2 (en) Blockchain virtual machine systems and methods
KR102586824B1 (en) Service apparatus, and control method thereof
KR20210011489A (en) Server, method and user device for providing integrated meditation platform service to buy stocks for public subscription
US20220036448A1 (en) Electronic Commerce Service Device and Operating Method Therefor, and Service Device
KR102586823B1 (en) Service apparatus, and control method thereof

Legal Events

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