KR102248991B1 - Apparatus, method and program for controlling connection of neighbor node in block-chain network - Google Patents

Apparatus, method and program for controlling connection of neighbor node in block-chain network Download PDF

Info

Publication number
KR102248991B1
KR102248991B1 KR1020200145352A KR20200145352A KR102248991B1 KR 102248991 B1 KR102248991 B1 KR 102248991B1 KR 1020200145352 A KR1020200145352 A KR 1020200145352A KR 20200145352 A KR20200145352 A KR 20200145352A KR 102248991 B1 KR102248991 B1 KR 102248991B1
Authority
KR
South Korea
Prior art keywords
nodes
node
neighboring
list
identification information
Prior art date
Application number
KR1020200145352A
Other languages
Korean (ko)
Inventor
최미정
방지원
Original Assignee
강원대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 강원대학교산학협력단 filed Critical 강원대학교산학협력단
Priority to KR1020200145352A priority Critical patent/KR102248991B1/en
Application granted granted Critical
Publication of KR102248991B1 publication Critical patent/KR102248991B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining 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/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to an apparatus for controlling a neighbor node connection of a blockchain network for controlling the connection between a node and a neighbor node included in the blockchain network. According to the present invention, the apparatus comprises: a communication unit receiving a list of first neighbor nodes of another node; and a processor adding the first neighbor node to a second neighbor node list of the node on the basis of a result of determining whether region identification information of the first neighbor node included in the first neighbor node list is the same as that of the node, measuring required communication time information between the node and each of the second neighbor nodes on the basis of a comparison result between a second node number of second neighbor nodes included in the second neighbor node list and a preset maximum number of nodes, and using the communication required time information to remove one or more second neighbor nodes from the second neighbor node list so that the number of second nodes is equal to or less than the preset maximum number of nodes.

Description

블록체인 네트워크의 이웃 노드 연결 제어 장치, 방법 및 프로그램{Apparatus, method and program for controlling connection of neighbor node in block-chain network}Apparatus, method and program for controlling connection of neighbor node in block-chain network}

본 발명은 블록체인 네트워크의 이웃 노드 연결 제어 장치, 방법 및 프로그램에 관한 것으로, 더욱 상세하게는 블록체인 네트워크에 포함된 노드가 다른 노드와 연결되는 과정에서 이용되는 이웃 노드 목록을 지역 정보와 통신 소요 시간 정보에 기초하여 구성하는 블록체인 네트워크의 이웃 노드 연결 제어 장치, 방법 및 프로그램에 관한 것이다.The present invention relates to an apparatus, method, and program for controlling connection of neighboring nodes in a blockchain network, and more particularly, a list of neighboring nodes used in a process in which a node included in a blockchain network is connected to another node is required to communicate with local information. It relates to an apparatus, a method, and a program for controlling connection of neighboring nodes of a blockchain network configured based on time information.

비트코인(Bitcoin)으로부터 시작된 블록체인 기술은 차세대 인터넷을 이끌 혁신적 기술로서 수많은 업계의 관심을 모으고 있으며, 이더리움(Ethereum), 하이퍼레저(Hyperledger), 리플(Ripple), R3 등의 등장과 함께 빠르게 산업적으로 영향력을 확대해가고 있다. 또한, 가상화폐, 에셋 관리, 공유 경제, IoT, 헬스, 물류 등 다양한 분야에 걸쳐 블록체인 솔루션을 제공하는 신생 기업이 탄생하여 기술 및 플랫폼에 대한 경쟁이 뜨거워지고 있다.Blockchain technology, which started with Bitcoin, is attracting attention from numerous industries as an innovative technology that will lead the next generation Internet, and rapidly with the advent of Ethereum, Hyperledger, Ripple, R3, etc. It is expanding its influence industrially. In addition, competition for technologies and platforms is intensifying with the birth of a startup that provides blockchain solutions in various fields such as virtual currency, asset management, sharing economy, IoT, health, and logistics.

블록체인 네트워크는 수많은 노드가 P2P 네트워크로 연결되어 사용자의 트랜잭션을 처리하는 네트워크로서, 트랜잭션에 대한 기록을 순차적으로 저장하는 일종의 분산 원장 네트워크이라고 볼 수 있는데, 한 번 기록된 내용은 변경이 거의 불가능하다는 특징을 가진다. 블록체인 네트워크는 모든 노드가 동일한 트랜잭션에 대한 처리 기록을 가지도록 하여야 하는데 그것을 가능하게 하는 것이 합의 알고리즘이다.Blockchain network is a network in which numerous nodes are connected via a P2P network to process user transactions.It can be seen as a kind of distributed ledger network that sequentially stores records of transactions, but once recorded contents are almost impossible to change. It has a characteristic. The blockchain network must ensure that all nodes have the processing record for the same transaction, and the consensus algorithm makes it possible.

블록체인 네트워크는 크게 블록체인에 참가하는 노드의 참여 제한 여부에 따라 비허가형(Permissionless) 블록체인과 허가형(Permissioned) 블록체인으로 나눌 수가 있다. 허가형 블록체인의 경우에는 비허가형 블록체인에 사용되는 작업 증명 기반의 합의 알고리즘과는 완전히 다른 형태의 합의 알고리즘을 사용할 수 있다. 왜냐하면, 참여하는 노드가 제한되므로 그 점을 활용할 수 있는 알고리즘의 적용이 가능하기 때문이다. 대표적인 알고리즘으로서 PBFT(Practical Byzantine Fault Tolerant)가 있다.Blockchain networks can be largely divided into permissionless and permissioned blockchains depending on whether or not nodes participating in the blockchain are restricted from participating. In the case of a permission-type blockchain, a completely different form of consensus algorithm can be used than the proof-of-work-based consensus algorithm used in an unlicensed blockchain. This is because participating nodes are limited, so an algorithm that can take advantage of that point can be applied. A representative algorithm is PBFT (Practical Byzantine Fault Tolerant).

한편, 블록체인 네트워크는 노드 간의 거래를 통해 생성된 트랜잭션을 담은 블록이라는 단위로 데이터를 관리하고, 해시알고리즘을 통해 블록들이 체인처럼 연결되어 있다. 블록체인 네트워크는 블록 생성 주기 동안 발생한 모든 트랜잭션을 모아 블록을 생성하고, 해당 블록을 채굴한 노드는 자신의 이웃 노드 목록을 통해 블록체인 네트워크의 모든 노드들에게 브로드캐스팅 방식으로 블록 전파를 진행한다. 블록을 전달받은 이웃 노드들은 동일한 방법으로 또 다른 이웃 노드들에게 블록을 전파하여 모든 노드들이 채굴된 블록에 대한 정보를 받은 후, 검증을 통해 채굴된 블록을 각 노드의 블록체인 네트워크에 추가시킨다.Meanwhile, the blockchain network manages data in units called blocks containing transactions generated through transactions between nodes, and blocks are connected like a chain through a hash algorithm. The blockchain network generates a block by collecting all transactions that occurred during the block creation cycle, and the node that mined the block proceeds to propagate the block in a broadcasting method to all nodes of the blockchain network through its neighboring node list. The neighboring nodes that received the block propagate the block to other neighboring nodes in the same way, and after all nodes receive information on the mined block, the mined block is added to each node's blockchain network through verification.

하지만, 종래의 블록 전파과정에서는 노드 간의 중복되는 이웃 노드가 발생하고, 이로 인해 메시지의 중복 전파 발생하므로 블록 전파 시간이 증가하게 된다. 특히, 블록체인 네트워크 중 하나인 비트코인 네트워크에서의 이웃 노드 연결 방식은 Bitcoin Core와 같은 클라이언트 소프트웨어에서 정해진 방식으로 진행되므로 노드 간의 통신이 진행되면 지역적인 위치를 고려하지 않고 최대 노드 연결 수에 도달할 때까지 연결 수를 제한하지 않고 이웃 목록에 노드를 추가하기 때문이다.However, in the conventional block propagation process, overlapping neighboring nodes occur between nodes, and because of this, overlapping propagation of messages occurs, thereby increasing the block propagation time. In particular, the connection method of neighboring nodes in the Bitcoin network, one of the blockchain networks, is performed in a manner determined by client software such as Bitcoin Core, so when communication between nodes proceeds, the maximum number of node connections can be reached without considering the local location. This is because nodes are added to the neighbor list without limiting the number of connections until.

이로 인해 모든 노드들의 이웃 목록은 중복되는 노드들이 대다수로 존재한다. 또한, 이러한 연결 상태의 비트코인 네트워크에서 블록이 채굴되면 이웃 목록에 존재하는 모든 노드로 블록이 생성되었다는 메시지를 전달하기 때문에, 해당 블록에 대한 정보를 받은 노드들은 동일한 메시지를 중복으로 전파받는 문제점이 발생한다.For this reason, the majority of nodes overlapped in the neighbor list of all nodes. In addition, when a block is mined in this connected bitcoin network, a message indicating that the block has been created is transmitted to all nodes in the neighboring list, so the nodes receiving information about the block receive the same message in duplicate. Occurs.

본 발명은 노드와 연결 대상이 되는 이웃 노드를 포함하는 이웃 노드 목록을 구성하는데 있어서, 노드와 이웃 노드 각각의 지역이 동일한지 여부 및 노드와 이웃 노드 각각 간의 통신 소요 시간 정보를 고려하여 이웃 노드 목록을 구성함으로써, 블록체인 네트워크의 노드 연결 시간을 단축시킬 수 있는 블록체인 네트워크의 이웃 노드 연결 제어 장치, 방법 및 프로그램을 제공하고자 한다.In the present invention, in constructing a list of neighboring nodes including neighboring nodes to which a node is connected, a list of neighboring nodes in consideration of whether the regions of each node and neighboring nodes are the same, and information about the time required for communication between the nodes and neighboring nodes By configuring, we intend to provide an apparatus, method, and program for controlling the connection of neighboring nodes of a blockchain network that can shorten the connection time of the nodes of the blockchain network.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention that are not mentioned can be understood by the following description, and will be more clearly understood by examples of the present invention. In addition, it will be easily understood that the objects and advantages of the present invention can be realized by the means shown in the claims and combinations thereof.

본 발명에 따른 블록체인 네트워크의 이웃 노드 연결 제어 블록체인 네트워크에 포함된 노드의 이웃 노드 연결을 제어하는 블록체인 네트워크의 이웃 노드 연결 제어 장치에 관한 것으로, 다른 노드의 제1 이웃 노드 목록을 수신하는 통신부; 및 상기 제1 이웃 노드 목록에 포함된 제1 이웃 노드의 지역 식별 정보와 상기 노드의 지역 식별 정보 간의 동일 여부 판단 결과에 기초하여 상기 제1 이웃 노드를 상기 노드의 제2 이웃 노드 목록에 추가하고, 상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수와 미리 설정된 최대 노드 수 간의 다소 비교 결과에 기초하여 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보를 이용하여 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하가 되도록 상기 제2 이웃 노드 목록에서 하나 이상의 상기 제2 이웃 노드를 제거하는 프로세서;를 포함할 수 있다.A neighboring node connection control device of a blockchain network according to the present invention. A device for controlling connection of a neighbor node of a blockchain network that controls the connection of a node included in a block chain network to a neighbor node, and receiving a list of a first neighbor node of another node. Communication department; And adding the first neighboring node to the second neighboring node list of the node based on a result of determining whether the region identification information of the first neighboring node included in the first neighboring node list is identical to the region identification information of the node. , On the basis of a somewhat comparison result between the number of second nodes of the second neighboring node included in the second neighboring node list and the preset maximum number of nodes, information about the time required for communication between the node and the second neighboring node is measured, And a processor for removing one or more second neighboring nodes from the second neighboring node list so that the number of second nodes is less than or equal to the preset maximum number of nodes using the communication time required information.

바람직하게, 상기 프로세서는 상기 지역 식별 정보 간의 동일 여부를 판단하기 전에 상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 상기 노드와 연결이 불가능한 제2 이웃 노드를 상기 제2 이웃 노드 목록에서 제거하고, 상기 제2 이웃 노드 목록에 포함된 상기 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 상기 다른 노드로부터 상기 제1 이웃 노드 목록을 수신하도록 상기 통신부를 제어할 수 있다.Preferably, the processor removes from the second neighboring node list a second neighboring node that cannot be connected to the node among second neighboring nodes included in the second neighboring node list before determining whether the region identification information is identical. And, if the number of second nodes of the second neighboring node included in the second neighboring node list is less than a preset minimum number of nodes, the communication unit may control the communication unit to receive the first neighboring node list from the other node.

바람직하게, 상기 프로세서는 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일한 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가할 수 있다.Preferably, the processor may add a first neighboring node having the same region identification information as the region identification information of the node among the first neighboring nodes to the second neighboring node list.

바람직하게, 상기 프로세서는 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수를 초과하면, 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보가 나타내는 시간이 짧은 순으로 상기 미리 설정된 최대 노드 수 만큼의 상기 제2 이웃 노드만을 상기 제2 이웃 노드 목록에 유지시킬 수 있다.Preferably, when the number of second nodes exceeds the preset maximum number of nodes, the processor measures communication time information between the node and each of the second neighboring nodes, and the order of time indicated by the communication time information is short. As a result, only the second neighboring nodes as many as the preset maximum number of nodes may be maintained in the second neighboring node list.

바람직하게, 상기 프로세서는 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하이고, 상기 제2 노드 수가 상기 미리 설정된 최소 노드 수 미만이면, 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가할 수 있다.Preferably, if the number of second nodes is less than the preset maximum number of nodes, and the second number of nodes is less than the preset minimum number of nodes, the area identification information among the first neighboring nodes is the area identification information of the node. A first neighbor node that is not equal to and may be added to the second neighbor node list.

본 발명에 따른 블록체인 네트워크에 포함된 노드의 이웃 노드 연결을 제어하는 블록체인 네트워크의 이웃 노드 연결 제어 방법은 통신부가 다른 노드의 제1 이웃 노드 목록을 수신하는 단계; 프로세서가 상기 제1 이웃 노드 목록에 포함된 제1 이웃 노드의 지역 식별 정보와 상기 노드의 지역 식별 정보 간의 동일 여부 판단 결과에 기초하여 상기 제1 이웃 노드를 상기 노드의 제2 이웃 노드 목록에 추가하는 단계; 및 상기 프로세서가 상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수와 미리 설정된 최대 노드 수 간의 다소 비교 결과에 기초하여 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보를 이용하여 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하가 되도록 상기 제2 이웃 노드 목록에서 하나 이상의 상기 제2 이웃 노드를 제거하는 단계;를 포함할 수 있다.A method for controlling connection to a neighbor node of a blockchain network for controlling connection of a node included in a block chain network according to the present invention includes: receiving, by a communication unit, a first neighbor node list of another node; The processor adds the first neighboring node to the second neighboring node list of the node based on a result of determining whether the region identification information of the first neighboring node included in the first neighboring node list is identical to the region identification information of the node. The step of doing; And based on a somewhat comparison result between the number of second nodes of the second neighboring node included in the second neighboring node list and the preset maximum number of nodes, the processor calculates time required for communication between each of the node and the second neighboring node. And removing one or more second neighboring nodes from the second neighboring node list such that the number of second nodes is equal to or less than the preset maximum number of nodes using the communication time required information.

본 발명에 따른 블록체인 네트워크의 이웃 노드 연결 제어 방법은 상기 프로세서가 상기 지역 식별 정보 간의 동일 여부를 판단하기 전에 상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 상기 노드와 연결이 불가능한 제2 이웃 노드를 상기 제2 이웃 노드 목록에서 제거하는 단계; 및 상기 프로세서가 상기 제2 이웃 노드 목록에 포함된 상기 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 상기 다른 노드로부터 상기 제1 이웃 노드 목록을 수신하도록 상기 통신부를 제어하는 단계;를 더 포함할 수 있다.The method for controlling connection of neighboring nodes in a blockchain network according to the present invention includes a second neighboring node in which connection with the node is impossible among the second neighboring nodes included in the second neighboring node list before the processor determines whether the region identification information is identical. Removing a neighboring node from the second neighboring node list; And controlling, by the processor, the communication unit to receive the first neighboring node list from the other node when the number of second nodes of the second neighboring node included in the second neighboring node list is less than a preset minimum number of nodes. It may further include;

바람직하게, 상기 추가하는 단계는 상기 프로세서가 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일한 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가하는 단계;를 포함할 수 있다.Preferably, the step of adding may include, by the processor, adding a first neighboring node having the same region identification information as the region identification information of the node among the first neighboring nodes to the second neighboring node list, to the second neighboring node list. .

바람직하게, 상기 제거하는 단계는 상기 프로세서가 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수를 초과하면, 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보가 나타내는 시간이 짧은 순으로 상기 미리 설정된 최대 노드 수 만큼의 상기 제2 이웃 노드만을 상기 제2 이웃 노드 목록에 유지시키는 단계;를 포함할 수 있다.Preferably, in the removing step, when the number of second nodes exceeds the preset maximum number of nodes, the processor measures communication time information between each of the node and the second neighboring node, and the communication time information is And maintaining only the second neighboring nodes as many as the preset maximum number of nodes in the second neighboring node list in the order of the shortest time indicated.

본 발명에 따른 블록체인 네트워크의 이웃 노드 연결 제어 방법은 상기 프로세서가 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하이고, 상기 제2 노드 수가 상기 미리 설정된 최소 노드 수 미만이면, 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가하는 단계;를 더 포함할 수 있다.In the method for controlling connection of neighboring nodes in a blockchain network according to the present invention, when the number of second nodes is less than the preset maximum number of nodes and the second node number is less than the preset minimum number of nodes, the first neighboring node The method may further include adding a first neighbor node whose region identification information is not the same as the region identification information of the node to the second neighbor node list.

본 발명에 따른 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 상기 블록체인 네트워크의 이웃 노드 연결 제어 방법을 수행할 수 있도록 컴퓨터에서 독출가능할 수 있다.The computer program according to the present invention may be combined with a computer that is hardware, and may be readable by a computer to perform the method of controlling connection of neighboring nodes of the blockchain network.

본 발명에 따르면, 노드와 연결 대상이 되는 이웃 노드를 포함하는 이웃 노드 목록을 구성하는데 있어서, 노드와 이웃 노드 각각의 지역이 동일한지 여부 및 노드와 이웃 노드 각각 간의 통신 소요 시간 정보를 고려하여 이웃 노드 목록을 구성함으로써, 블록체인 네트워크의 노드 연결 시간을 단축시킬 수 있다.According to the present invention, in constructing a list of neighboring nodes including neighboring nodes to be connected to a node, neighbors are determined by considering whether the regions of each node and neighboring nodes are the same, and information on the time required for communication between the nodes and neighboring nodes. By configuring the node list, it is possible to shorten the node connection time of the blockchain network.

도 1은 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치가 포함된 블록체인 네트워크 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치의 구성요소가 도시된 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치에 의해 이용되는 이웃 노드 목록의 일 예를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치에 의해 이용되는 이웃 노드 목록의 다른 예를 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치에 의해 이용되는 이웃 노드 목록의 또 다른 예를 도시한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 방법을 설명하기 위한 순서도이다.
1 is a diagram illustrating a block chain network configuration including an apparatus for controlling connection of neighboring nodes of a block chain network according to an embodiment of the present invention.
2 is a block diagram showing components of an apparatus for controlling connection of neighboring nodes of a block chain network according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of a list of neighbor nodes used by an apparatus for controlling connection of neighbor nodes in a block chain network according to an embodiment of the present invention.
4 is a diagram illustrating another example of a list of neighboring nodes used by the apparatus for controlling connection of neighboring nodes in a block chain network according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating another example of a list of neighboring nodes used by an apparatus for controlling connection of neighboring nodes in a blockchain network according to an embodiment of the present invention.
6 is a flowchart illustrating a method of controlling connection of neighbor nodes in a block chain network according to an embodiment of the present invention.

이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형 태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/ 또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대 해서는 유사한 참조 부호가 사용될 수 있다. Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include various modifications, equivalents, and/or alternatives of the embodiments of the present invention. In connection with the description of the drawings, similar reference numerals may be used for similar elements.

본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. In this document, expressions such as "have", "may have", "include", or "may contain" are the presence of corresponding features (eg, elements such as numbers, functions, actions, or parts). And does not exclude the presence of additional features.

본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현 은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다. In this document, expressions such as "A or B", "at least one of A or/and B", or "one or more of A or/and B" may include all possible combinations of the items listed together. . For example, "A or B", "at least one of A and B", or "at least one of A or B" includes (1) at least one A, (2) at least one B, Or (3) it may refer to all cases including both at least one A and at least one B.

본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중 요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.Expressions such as "first", "second", "first", or "second" used in this document can modify various elements regardless of their order and/or importance, and It is used to distinguish it from other components and does not limit the components. For example, a first user device and a second user device may represent different user devices regardless of order or importance. For example, without departing from the scope of the rights described in this document, a first component may be named a second component, and similarly, a second component may be renamed to a first component.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성 요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. Some component (eg, the first component) is “(functionally or communicatively) coupled with/to)” to another component (eg, the second component) or “ When referred to as "connected to", it should be understood that the certain component may be directly connected to the other component or may be connected through another component (eg, a third component). On the other hand, when a component (eg, a first component) is referred to as being “directly connected” or “directly connected” to another component (eg, a second component), the component and the It may be understood that no other component (eg, a third component) exists between the different components.

본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합 한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성 (또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서 (generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다. The expression "configured to" used in this document is, for example, "suitable for", "having the capacity to" depending on the situation. Can be used interchangeably with ")", "designed to", "adapted to", "made to", or "capable of" . The term "configured to (or set) to" may not necessarily mean only "specifically designed to" in terms of hardware. Instead, in some situations, the expression "a device configured to" may mean that the device "can" along with other devices or parts. For example, the phrase “a processor configured (or configured) to perform A, B, and C” means a dedicated processor (eg, an embedded processor) for performing the operation, or by executing one or more software programs stored in memory. , May mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.

본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한 정하려는 의도가 아닐 수 있다. 단수의 표현은 컨텍스트 상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 컨텍스트 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다. Terms used in this document are used only to describe a specific embodiment, and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions, unless they clearly mean differently in context. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the technical field described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted as having the same or similar meaning as the meaning in the context of the related technology, and unless explicitly defined in this document, they may be interpreted in an ideal or excessively formal meaning. It is not interpreted. In some cases, even terms defined in this document cannot be interpreted to exclude embodiments of this document.

도 1은 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)가 포함된 블록체인 네트워크 구성을 도시한 도면이다.1 is a diagram illustrating a block chain network configuration including an apparatus 100 for controlling connection of a neighbor node of a block chain network according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)는 블록체인 네트워크(N)에 포함된 노드(A)가 다른 노드(B)와 연결되는 과정을 제어할 수 있다.Referring to FIG. 1, the apparatus 100 for controlling connection of neighboring nodes of a blockchain network according to an embodiment of the present invention is a process in which a node A included in the blockchain network N is connected to another node B. Can be controlled.

이때, 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)는 노드(A)의 역할을 수행하는 하드웨어에 포함되어 구현될 수 있다.In this case, the apparatus 100 for controlling connection of neighboring nodes of a blockchain network according to an embodiment of the present invention may be implemented by being included in hardware that performs the role of node A.

한편, 일 실시 예에서, 블록체인 네트워크(N)는 비트코인(Bitcoin) 네트워크일 수 있다.Meanwhile, in an embodiment, the blockchain network N may be a Bitcoin network.

이에 따라, 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)는 Bitcoin Core와 같은 클라이언트 소프트웨어에서 정해진 방식에 따라 다른 노드(B)를 검색하고, 이웃 노드 목록에 포함된 이웃 노드 중에서 연결이 가능한 이웃 노드를 확인할 수 있다.Accordingly, the apparatus 100 for controlling connection to a neighbor node of a blockchain network according to an embodiment of the present invention searches for another node B according to a predetermined method in a client software such as Bitcoin Core, and is included in the neighbor node list. Among neighboring nodes, neighboring nodes that can be connected can be identified.

또한, 일 실시 예에서, 노드(A)는 월넷 기능, 마이닝 기능, 블록체인 데이터베이스 기능 및 라우팅 기능을 수행하는 풀노드, 새로운 블록을 생성하기위해 작업 증명 알고리즘을 작동시키는 마이닝 노드, 블록 헤더만을 이용하여 특정 거래의 존재 여부만을 확인하는 라이트웨이트 노드 및 블록체인 데이터베이스 전체를 보관하는 풀블록체인 노드 중 어느 하나일 수 있다.In addition, in one embodiment, node A uses only a wallnet function, a mining function, a full node that performs a blockchain database function and a routing function, a mining node that operates a proof-of-work algorithm to create a new block, and a block header. Thus, it may be either a lightweight node that checks only the existence of a specific transaction or a full blockchain node that stores the entire blockchain database.

또한, 일 실시 예에서, 다른 노드(B)는 월넷 기능, 마이닝 기능, 블록체인 데이터베이스 기능 및 라우팅 기능을 수행하는 풀노드, 새로운 블록을 생성하기위해 작업 증명 알고리즘을 작동시키는 마이닝 노드, 블록 헤더만을 이용하여 특정 거래의 존재 여부만을 확인하는 라이트웨이트 노드 및 블록체인 데이터베이스 전체를 보관하는 풀블록체인 노드 중 어느 하나일 수 있다.In addition, in one embodiment, the other node (B) is a full node that performs a wallnet function, a mining function, a blockchain database function, and a routing function, a mining node that operates a proof-of-work algorithm to create a new block, and only the block header. It may be one of a lightweight node that checks only the existence of a specific transaction by using it, and a full block chain node that stores the entire blockchain database.

도 2는 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)의 구성요소가 도시된 블록도이고, 도 3은 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)에 의해 이용되는 이웃 노드 목록의 일 예를 도시한 도면이고, 도 4는 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)에 의해 이용되는 이웃 노드 목록의 다른 예를 도시한 도면이고, 도 5는 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)에 의해 이용되는 이웃 노드 목록의 또 다른 예를 도시한 도면이다.FIG. 2 is a block diagram showing components of an apparatus 100 for controlling connection to a neighboring node of a blockchain network according to an embodiment of the present invention, and FIG. 3 is a neighboring node of the blockchain network according to an embodiment of the present invention. A diagram showing an example of a list of neighboring nodes used by the connection control device 100, and FIG. 4 is a diagram illustrating a neighbor used by the neighbor node connection control device 100 of a blockchain network according to an embodiment of the present invention. FIG. 5 is a diagram illustrating another example of a node list, and FIG. 5 is a diagram illustrating another example of a neighbor node list used by the apparatus 100 for controlling connection of a neighbor node in a block chain network according to an embodiment of the present invention. .

도 2 내지 도 5를 더 참조하면, 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)는 프로세서(110), 통신부(120) 및 저장부(130)를 포함할 수 있다.With further reference to FIGS. 2 to 5, the apparatus 100 for controlling connection of neighboring nodes of a blockchain network according to an embodiment of the present invention may include a processor 110, a communication unit 120, and a storage unit 130. have.

프로세서(110)는 블록체인 네트워크(N)에 포함된 노드(A)의 이웃 노드 연결을 제어할 수 있다.The processor 110 may control connection of a node A included in the blockchain network N to a neighboring node.

우선, 프로세서(110)는 노드(A)의 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 노드(A)와 연결이 불가능한 제2 이웃 노드를 확인할 수 있다.First, the processor 110 may check a second neighboring node that cannot be connected to the node A from among the second neighboring nodes included in the second neighboring node list of the node A.

여기서, 연결이란 노드(A)와 이웃 노드 간의 통신이 가능함을 의미할 수 있다.Here, the connection may mean that communication between the node A and a neighboring node is possible.

또한, 이웃 노드 목록은 블록체인 네트워크(N)에 포함된 노드 각각의 연결 대상이되는 노드들에 대한 연결 정보를 포함하는 목록으로써, 노드 각각에서 생성, 유지 및 관리될 수 있다.In addition, the neighboring node list is a list including connection information for nodes to be connected to each node included in the blockchain network N, and can be created, maintained, and managed by each node.

일 실시 예에서, 프로세서(110)는 Bitcoin Core와 같은 클라이언트 소프트웨어에서 정해진 방식에 따라 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 노드(A)와 연결이 불가능한 제2 이웃 노드를 확인할 수 있다.In one embodiment, the processor 110 may check a second neighboring node that cannot be connected to the node A among the second neighboring nodes included in the second neighboring node list according to a method determined by a client software such as Bitcoin Core. .

이어서, 프로세서(110)는 도 3에 도시된 바와 같이, 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 노드(A)와 연결이 불가능한 것으로 확인된 제2 이웃 노드를 제2 이웃 노드 목록에서 제거할 수 있다.Subsequently, as shown in FIG. 3, the processor 110 selects a second neighboring node that is determined to be impossible to connect to the node A among the second neighboring nodes included in the second neighboring node list from the second neighboring node list. Can be removed.

이후, 프로세서(110)는 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 다른 노드(B)로부터 다른 노드(B)의 제1 이웃 노드 목록을 수신하도록 통신부(120)를 제어할 수 있다.Thereafter, if the number of second nodes of the second neighboring node included in the second neighboring node list is less than the preset minimum number of nodes, the processor 110 retrieves the first neighboring node list of the other node B from the other node B. It is possible to control the communication unit 120 to receive.

여기서, 프로세서(110)는 Bitcoin Core와 같은 클라이언트 소프트웨어의 DNS Seed 기능을 이용하여 다른 노드(B)를 검색하고, 다른 노드(B)로부터 제1 이웃 노드 목록을 요청하며, 요청의 응답으로 제1 이웃 노드 목록을 획득할 수 있다.Here, the processor 110 searches for another node (B) using the DNS Seed function of a client software such as Bitcoin Core, requests a first neighbor node list from the other node (B), and receives the first neighbor node list in response to the request. A list of neighboring nodes can be obtained.

반대로, 프로세서(110)는 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 이상이면, 제2 이웃 노드 목록에 포함된 제2 이웃 노드로 블록을 송신하도록 통신부(120)를 제어하여 블록체인 네트워크(N)에 포함된 노드(A)의 역할을 수행할 수 있다.Conversely, if the number of second nodes of the second neighboring node included in the second neighboring node list is equal to or greater than the preset minimum number of nodes, the processor 110 transmits the block to the second neighboring node included in the second neighboring node list. By controlling (120), it can play the role of node (A) included in the blockchain network (N).

한편, 미리 설정된 최소 노드 수는 노드(A)가 블록체인 네트워크(N) 내에서 역할을 수행하기 위해 연결 가능한 다른 노드의 최소 개수를 의미하며, 예를 들어, 8개일 수 있으나, 사용자 또는 블록체인 네트워크(N)의 종류에 따라 제한되지 않고 변경될 수 있음을 유의한다.On the other hand, the preset minimum number of nodes refers to the minimum number of other nodes that node (A) can connect to to perform a role in the blockchain network (N), and may be, for example, 8, but the user or blockchain Note that it is not limited and can be changed according to the type of network (N).

프로세서(110)는 다른 노드(B)의 제1 이웃 노드 목록에 포함된 제1 이웃 노드의 지역 식별 정보와 노드(A)의 지역 식별 정보 간의 동일 여부 판단 결과에 기초하여 제1 이웃 노드를 제2 이웃 노드 목록에 추가할 수 있다.The processor 110 selects the first neighboring node based on a result of determining whether the region identification information of the first neighboring node included in the first neighboring node list of the other node B and the region identification information of the node A are identical. 2 Can be added to the list of neighboring nodes.

구체적으로, 프로세서(110)는 제1 이웃 노드 중에서 지역 식별 정보가 노드(A)의 지역 식별 정보와 동일한 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가할 수 있다.Specifically, the processor 110 may add a first neighboring node having the same region identification information as the region identification information of the node A among the first neighboring nodes to the second neighboring node list.

여기서, 지역 식별 정보는 노드가 블록체인 네트워크(N)에 접속한 지역을 식별하기 위한 정보로써, 노드의 역할을 수행하는 하드웨어가 위치한 지역을 나타낼 수 있다.Here, the region identification information is information for identifying a region to which the node has connected to the blockchain network N, and may indicate a region in which the hardware performing the role of the node is located.

이러한, 지역 식별 정보는 이웃 노드 목록에 포함될 수 있다.Such area identification information may be included in the neighbor node list.

즉, 프로세서(110)는 획득된 제1 이웃 노드 목록의 제1 이웃 노드의 접속 지역이 노드(A)의 접속 지역과 동일하면, 도 4에 도시된 바와 같이, 해당 제1 이웃 노드를 제2 이웃 노드로써 제2 이웃 노드 목록에 추가할 수 있다.That is, if the access area of the first neighboring node in the obtained first neighboring node list is the same as the access area of the node A, the processor 110 selects the corresponding first neighboring node as a second node, as shown in FIG. 4. As a neighbor node, it can be added to the second neighbor node list.

여기서, 지역은 전세계를 임의로 분할한 복수의 영역일 수 있다.Here, the region may be a plurality of regions in which the world is arbitrarily divided.

이후, 프로세서(110)는 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수가 미리 설정된 최대 노드 수를 초과하는지 여부를 확인할 수 있다.Thereafter, the processor 110 may check whether the number of second nodes of the second neighboring node included in the second neighboring node list exceeds a preset maximum number of nodes.

한편, 미리 설정된 최대 노드 수는 연결 대상이 되는 노드의 수가 과도하여 연결 지연을 초래하지 않는 범위의 노드 수를 의미할 수 있으며, 예를 들어, 16개일 수 있으나, 사용자 또는 블록체인 네트워크(N)의 종류에 따라 제한되지 않고 변경될 수 있음을 유의한다.Meanwhile, the preset maximum number of nodes may mean the number of nodes within a range that does not cause connection delay due to an excessive number of nodes to be connected. For example, it may be 16, but the user or blockchain network (N) Please note that it is not limited and can be changed depending on the type of.

프로세서(110)는 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수가 미리 설정된 최대 노드 수를 초과하면, 노드(A)와 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정할 수 있다.When the number of second nodes of the second neighboring node included in the second neighboring node list exceeds the preset maximum number of nodes, the processor 110 may measure communication time information between the node A and each of the second neighboring nodes. have.

여기서, 통신 소요 시간 정보는 노드(A)와 제2 이웃 노드 각각 간의 RTT(Round to Trip; 왕복 시간)일 수 있다.Here, the communication time required information may be a round to trip (RTT) between the node A and each of the second neighboring nodes.

프로세서(110)는 통신 소요 시간 정보가 나타내는 시간이 짧은 순으로 미리 설정된 최대 노드 수 만큼의 제2 이웃 노드만을 제2 이웃 노드 목록에 유지시킬 수 있다.The processor 110 may maintain, in the second neighboring node list, only the second neighboring nodes as many as the preset maximum number of nodes in the order of the shortest time indicated by the time required for communication.

다시 말해, 프로세서(110)는 통신 소요 시간 정보가 나타내는 시간이 짧은 순으로 제2 이웃 노드를 정렬하고, 순번이 미리 설정된 최대 노드 수를 초과하는 제2 이웃 노드를 제2 이웃 노드 목록에서 제거할 수 있다.In other words, the processor 110 sorts the second neighboring nodes in the order of the shortest time indicated by the time required for communication, and removes the second neighboring nodes whose order number exceeds the preset maximum number of nodes from the list of second neighboring nodes. I can.

이에 따라, 프로세서(110)는 통신 소요 시간 정보가 나타내는 시간이 짧은 제2 이웃 노드만으로 제2 이웃 노드 목록을 구성할 수 있다.Accordingly, the processor 110 may configure the second neighboring node list only with the second neighboring nodes having a short time indicated by the time required for communication.

한편, 프로세서(110)는 노드(A)와 지역 식별 정보가 동일한 제1 이웃 노드를 제2 이웃 노드로써 제2 이웃 노드 목록에 추가한 후, 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수가 미리 설정된 최대 노드 수를 초과하지 않으면, 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만인지 여부를 확인할 수 있다.Meanwhile, the processor 110 adds the first neighboring node having the same area identification information as the node A to the second neighboring node list as a second neighboring node, and then, the second neighboring node included in the second neighboring node list. If the number of second nodes does not exceed the preset maximum number of nodes, it may be checked whether the number of second nodes of the second neighboring nodes included in the second neighboring node list is less than the preset minimum number of nodes.

즉, 프로세서(110)는 제2 이웃 노드의 제2 노드 수가 미리 설정된 최대 노드 수 이하이고, 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 도 5에 도시된 바오 k같이, 제1 이웃 노드 중에서 지역 식별 정보가 노드(A)의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 제2 이웃 노드로써 제2 이웃 노드 목록에 추가할 수 있다.That is, if the number of second nodes of the second neighboring node is less than or equal to the preset maximum number of nodes, and the number of second nodes of the second neighboring node is less than the preset minimum number of nodes, as shown in FIG. Among the first neighboring nodes, a first neighboring node whose region identification information is not the same as the region identification information of the node A may be added as a second neighboring node to the second neighboring node list.

이를 통해, 프로세서(110)는 동일 지역의 제1 이웃 노드만을 제2 이웃 노드로써 제2 이웃 노드 목록에 추가하는 경우, 제2 노드 수가 노드(A)의 역할을 수행하는데 최소로 요구되는 미리 설정된 최소 노드 수를 충족하지 못하는 상황을 방지하기 위해, 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 지역 식별 정보가 노드(A)의 지역 식별 정보와 동일하지 않은 제1 이웃 노드 또한 제2 이웃 노드로써 제2 이웃 노드 목록에 추가할 수 있다.Through this, when the processor 110 adds only the first neighboring node in the same region as the second neighboring node to the second neighboring node list, the number of second nodes is a preset minimum required to perform the role of the node A. In order to prevent a situation where the minimum number of nodes is not met, when the number of second nodes of the second neighboring node is less than the preset minimum number of nodes, the area identification information is not the same as the area identification information of the node A. Also, as a second neighboring node, it may be added to the second neighboring node list.

한편, 다른 실시 예에 따른 프로세서(110)는 지역 식별 정보가 노드(A)의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 제2 이웃 노드로써 제2 이웃 노드 목록에 추가한 이후, 제2 노드 수가 미리 설정된 최대 노드 수를 초과하는지 여부를 확인할 수 있다.Meanwhile, the processor 110 according to another embodiment adds a first neighbor node whose region identification information is not the same as the region identification information of the node A as a second neighbor node to the second neighbor node list, You can check whether the number of nodes exceeds the preset maximum number of nodes.

다른 실시 예에 따른 프로세서(110)는 지역 식별 정보가 노드(A)의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 제2 이웃 노드로써 제2 이웃 노드 목록에 추가한 이후, 제2 노드 수가 미리 설정된 최대 노드 수를 초과하면, 노드(A)의 지역 식별 정보와 제2 이웃 노드 각각의 지역 식별 정보를 이용하여 노드(A)와 제2 이웃 노드 각각 간의 이격 거리를 확인할 수 있다.The processor 110 according to another embodiment adds a first neighbor node whose region identification information is not the same as the region identification information of the node A as a second neighbor node to the list of second neighbor nodes, and then the number of second nodes When the predetermined maximum number of nodes is exceeded, the separation distance between the node A and each of the second neighboring nodes may be checked using the region identification information of the node A and the region identification information of each of the second neighboring nodes.

이후, 다른 실시 예에 따른 프로세서(110)는 이격 거리가 짧은 순으로 미리 설정된 최대 노드 수 만큼의 제2 이웃 노드만을 제2 이웃 노드 목록에 유지시킬 수 있다.Thereafter, the processor 110 according to another embodiment may maintain only the second neighboring nodes as many as the preset maximum number of nodes in the second neighboring node list in the order of the shortest separation distance.

다시 말해, 다른 실시 예에 따른 프로세서(110)는 이격 거리가 짧은 순으로 제2 이웃 노드를 정렬하고, 순번이 미리 설정된 최대 노드 수를 초과하는 제2 이웃 노드를 제2 이웃 노드 목록에서 제거할 수 있다.In other words, the processor 110 according to another embodiment sorts the second neighboring nodes in the order of the shortest separation distance, and removes the second neighboring nodes whose order number exceeds the preset maximum number of nodes from the second neighboring node list. I can.

한편, 프로세서(110)는 변경된 제2 이웃 노드 목록에 포함된 제2 이웃 노드로 블록을 송신하도록 통신부(120)를 제어하여 블록체인 네트워크(N)에 포함된 노드(A)의 역할을 수행할 수 있다.Meanwhile, the processor 110 controls the communication unit 120 to transmit a block to a second neighbor node included in the changed second neighbor node list, thereby performing the role of the node A included in the blockchain network N. I can.

통신부(120)는 다른 노드(B) 및 제2 이웃 노드 목록에 포함된 제2 이웃 노드와 통신을 수행할 수 있다. 구체적으로, 통신부(120)는 다른 노드(B)로 제1 이웃 노드 목록을 요청하여 제1 이웃 노드 목록을 수신할 수 있다. 또한, 통신부(120)는 제2 이웃 노드로 블록을 송신하고, 검증을 요청할 수 있다.The communication unit 120 may communicate with another node B and a second neighboring node included in the second neighboring node list. Specifically, the communication unit 120 may receive a first neighbor node list by requesting a first neighbor node list from another node B. Also, the communication unit 120 may transmit a block to a second neighboring node and request verification.

저장부(130)는 통상적인 저장매체로서 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)와 관련된 기술 분야에서 통상의 지식을 가진 자라면, 저장부(160)는 하드디스크드라이브(Hard Disk Drive, HDD), ROM(Read Only Memory), RAM(Random Access Memory), 플래쉬메모리(Flash Memory) 및 메모리카드(Memory Card)를 모두 포함함을 알 수 있다.The storage unit 130 is a conventional storage medium, and if a person having ordinary knowledge in the technical field related to the apparatus 100 for controlling connection of neighboring nodes of a block chain network, the storage unit 160 is a hard disk drive, HDD), read only memory (ROM), random access memory (RAM), flash memory, and memory card.

저장부(160)는 이웃 노드 목록, 미리 설정된 최소 노드 수, 미리 설정된 최대 노드 수 및 블록체인 네트워크의 이웃 노드 연결 제어 장치(100)를 구동시키기 위한 프로그램을 저장할 수 있다.The storage unit 160 may store a list of neighboring nodes, a preset minimum number of nodes, a preset maximum number of nodes, and a program for driving the apparatus 100 for controlling connection of neighboring nodes of a blockchain network.

도 6은 본 발명의 일 실시 예에 따른 블록체인 네트워크의 이웃 노드 연결 제어 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method of controlling connection of neighbor nodes in a block chain network according to an embodiment of the present invention.

도 6을 더 참조하면, S1 단계에서, 프로세서가 지역 식별 정보 간의 동일 여부를 판단하기 전에 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 노드와 연결이 불가능한 제2 이웃 노드를 제2 이웃 노드 목록에서 제거할 수 있다.6, in step S1, before the processor determines whether the region identification information is the same, among the second neighboring nodes included in the second neighboring node list, a second neighboring node that cannot be connected to a node is selected as a second neighboring node. Can be removed from the list.

이후, S2 단계에서, 프로세서가 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 다른 노드로부터 제1 이웃 노드 목록을 수신하도록 통신부를 제어할 수 있다.Thereafter, in step S2, if the number of second nodes of the second neighboring node included in the second neighboring node list is less than a preset minimum number of nodes, the processor may control the communication unit to receive the first neighboring node list from another node. .

이어서, S3 단계에서, 프로세서가 제1 이웃 노드 목록에 포함된 제1 이웃 노드의 지역 식별 정보와 노드의 지역 식별 정보 간의 동일 여부 판단 결과에 기초하여 제1 이웃 노드를 노드의 제2 이웃 노드 목록에 추가할 수 있다.Subsequently, in step S3, based on the result of determining whether the region identification information of the first neighboring node included in the first neighboring node list and the region identification information of the node are identical, the processor selects the first neighboring node as a second neighboring node list of the node. Can be added to.

구체적으로, S3 단계는 프로세서가 제1 이웃 노드 중에서 지역 식별 정보가 노드의 지역 식별 정보와 동일한 제1 이웃 노드를 제2 이웃 노드 목록에 추가하는 단계를 포함할 수 있다.Specifically, step S3 may include, by the processor, adding a first neighboring node whose region identification information is the same as the region identification information of the node among the first neighboring nodes to the second neighboring node list.

이후, S4 단계에서, 제2 이웃 노드의 제2 노드 수와 미리 설정된 최대 노드 수 간의 다소 비교 결과에 기초하여 통신 소요 시간 정보를 측정하고, 통신 소요 시간 정보를 이용하여 제2 노드 수가 미리 설정된 최대 노드 수 이하가 되도록 제2 이웃 노드 목록에서 하나 이상의 제2 이웃 노드를 제거할 수 있다.Thereafter, in step S4, the communication required time information is measured based on a somewhat comparison result between the number of second nodes of the second neighboring node and the preset maximum number of nodes, and the number of second nodes is preset using the communication time information. One or more second neighboring nodes may be removed from the second neighboring node list so that the number of nodes is less than or equal to the number of nodes.

구체적으로, S4 단계는 프로세서가 제2 노드 수가 미리 설정된 최대 노드 수를 초과하면, 노드와 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 통신 소요 시간 정보가 나타내는 시간이 짧은 순으로 미리 설정된 최대 노드 수 만큼의 제2 이웃 노드만을 제2 이웃 노드 목록에 유지시키는 단계를 포함할 수 있다.Specifically, in step S4, when the number of second nodes exceeds the preset maximum number of nodes, the processor measures the time required for communication between the node and each of the second neighboring nodes, and is preset in the order of the shortest time indicated by the time required for communication. It may include maintaining only the second neighboring nodes as many as the maximum number of nodes in the second neighboring node list.

이어서, S5 단계에서, 프로세서가 제2 노드 수가 미리 설정된 최대 노드 수 이하이고, 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 제1 이웃 노드 중에서 지역 식별 정보가 노드의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 제2 이웃 노드 목록에 추가할 수 있다.Subsequently, in step S5, if the number of second nodes is less than or equal to the preset maximum number of nodes, and the number of second nodes is less than the preset minimum number of nodes, the area identification information among the first neighboring nodes is not the same as the area identification information of the node. The first neighboring node may be added to the second neighboring node list.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야 에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. Software modules include Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

이제까지 본 발명에 대하여 바람직한 실시 예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.So far, we have looked at the center of the preferred embodiment for the present invention. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the above description, and all differences within the scope equivalent thereto should be interpreted as being included in the present invention.

이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.As described above, although the present invention has been described by the limited embodiments and drawings, the present invention is not limited thereto, and the technical idea of the present invention and the following by those of ordinary skill in the art to which the present invention pertains. It goes without saying that various modifications and variations are possible within the equivalent range of the claims to be described.

100: 블록체인 네트워크의 이웃 노드 연결 제어 장치
110: 프로세서
120: 통신부
130: 저장부
100: Blockchain network neighbor node connection control device
110: processor
120: communication department
130: storage unit

Claims (11)

블록체인 네트워크에 포함된 노드의 이웃 노드 연결을 제어하는 블록체인 네트워크의 이웃 노드 연결 제어 장치에 있어서,
다른 노드의 제1 이웃 노드 목록을 수신하는 통신부; 및
상기 제1 이웃 노드 목록에 포함된 제1 이웃 노드의 지역 식별 정보와 상기 노드의 지역 식별 정보 간의 동일 여부 판단 결과에 기초하여 상기 제1 이웃 노드를 상기 노드의 제2 이웃 노드 목록에 추가하고,
상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수와 미리 설정된 최대 노드 수 간의 다소 비교 결과에 기초하여 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보를 이용하여 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하가 되도록 상기 제2 이웃 노드 목록에서 하나 이상의 상기 제2 이웃 노드를 제거하는 프로세서;를 포함하고,
상기 프로세서는
상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하이고, 상기 제2 노드 수가 상기 미리 설정된 최소 노드 수 미만이면, 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가하고,
상기 프로세서는
상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가한 이후, 상기 제2 노드 수가 미리 설정된 최대 노드 수를 초과하면, 상기 노드의 지역 식별 정보와 상기 제2 이웃 노드 각각의 지역 식별 정보를 이용하여 상기 노드와 상기 제2 이웃 노드 각각 간의 이격 거리를 확인하고, 상기 이격 거리가 짧은 순으로 상기 미리 설정된 최대 노드 수 만큼의 제2 이웃 노드만을 상기 제2 이웃 노드 목록에 유지시키는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 장치.
In the neighboring node connection control device of a block chain network that controls the connection of a node included in a block chain network to a neighbor node,
A communication unit for receiving a list of first neighboring nodes of another node; And
Add the first neighboring node to the second neighboring node list of the node based on a result of determining whether the region identification information of the first neighboring node included in the first neighboring node list is identical to the region identification information of the node,
Based on a somewhat comparison result between the number of second nodes of the second neighboring node included in the second neighboring node list and the preset maximum number of nodes, information about the time required for communication between the node and the second neighboring node is measured, and the A processor for removing one or more second neighboring nodes from the second neighboring node list so that the number of second nodes is less than or equal to the preset maximum number of nodes using communication time required information, and
The processor is
If the number of second nodes is less than or equal to the preset maximum number of nodes, and the number of second nodes is less than the preset minimum number of nodes, the first neighboring node in which area identification information is not the same as the area identification information of the node Add a neighbor node to the second neighbor node list,
The processor is
After adding a first neighboring node whose region identification information is not the same as the region identification information of the node from among the first neighboring nodes to the second neighboring node list, the number of second nodes exceeds a preset maximum number of nodes, By using the area identification information of the node and the area identification information of each of the second neighboring nodes, a separation distance between the node and each of the second neighboring nodes is checked, and the maximum number of nodes in the order of the shortest separation And maintaining only the second neighboring node in the second neighboring node list.
A device that controls the connection of neighboring nodes in a blockchain network.
제1항에 있어서,
상기 프로세서는
상기 지역 식별 정보 간의 동일 여부를 판단하기 전에 상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 상기 노드와 연결이 불가능한 제2 이웃 노드를 상기 제2 이웃 노드 목록에서 제거하고,
상기 제2 이웃 노드 목록에 포함된 상기 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 상기 다른 노드로부터 상기 제1 이웃 노드 목록을 수신하도록 상기 통신부를 제어하는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 장치.
The method of claim 1,
The processor is
Before determining whether the area identification information is the same, among the second neighboring nodes included in the second neighboring node list, a second neighboring node that cannot be connected to the node is removed from the second neighboring node list,
If the number of second nodes of the second neighboring node included in the second neighboring node list is less than a preset minimum number of nodes, controlling the communication unit to receive the first neighboring node list from the other node.
A device that controls the connection of neighboring nodes in a blockchain network.
제1항에 있어서,
상기 프로세서는
상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일한 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가하는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 장치.
The method of claim 1,
The processor is
And adding a first neighboring node having the same region identification information as the region identification information of the node among the first neighboring nodes to the second neighboring node list.
A device that controls the connection of neighboring nodes in a blockchain network.
제1항에 있어서,
상기 프로세서는
상기 제2 노드 수가 상기 미리 설정된 최대 노드 수를 초과하면, 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보가 나타내는 시간이 짧은 순으로 상기 미리 설정된 최대 노드 수 만큼의 상기 제2 이웃 노드만을 상기 제2 이웃 노드 목록에 유지시키는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 장치.
The method of claim 1,
The processor is
When the number of second nodes exceeds the preset maximum number of nodes, communication time information between the node and the second neighboring nodes is measured, and the preset maximum nodes in the order of the shorter time indicated by the communication time information And maintaining only the number of second neighboring nodes in the second neighboring node list.
A device that controls the connection of neighboring nodes in a blockchain network.
삭제delete 블록체인 네트워크에 포함된 노드의 이웃 노드 연결을 제어하는 블록체인 네트워크의 이웃 노드 연결 제어 방법에 있어서,
통신부가 다른 노드의 제1 이웃 노드 목록을 수신하는 단계;
프로세서가 상기 제1 이웃 노드 목록에 포함된 제1 이웃 노드의 지역 식별 정보와 상기 노드의 지역 식별 정보 간의 동일 여부 판단 결과에 기초하여 상기 제1 이웃 노드를 상기 노드의 제2 이웃 노드 목록에 추가하는 단계; 및
상기 프로세서가 상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드의 제2 노드 수와 미리 설정된 최대 노드 수 간의 다소 비교 결과에 기초하여 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보를 이용하여 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하가 되도록 상기 제2 이웃 노드 목록에서 하나 이상의 상기 제2 이웃 노드를 제거하는 단계;를 포함하고,
상기 프로세서가 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수 이하이고, 상기 제2 노드 수가 상기 미리 설정된 최소 노드 수 미만이면, 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가하는 단계; 및
상기 프로세서가 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일하지 않은 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가한 이후, 상기 제2 노드 수가 미리 설정된 최대 노드 수를 초과하면, 상기 노드의 지역 식별 정보와 상기 제2 이웃 노드 각각의 지역 식별 정보를 이용하여 상기 노드와 상기 제2 이웃 노드 각각 간의 이격 거리를 확인하고, 상기 이격 거리가 짧은 순으로 상기 미리 설정된 최대 노드 수 만큼의 제2 이웃 노드만을 상기 제2 이웃 노드 목록에 유지시키는 단계;를 더 포함하는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 방법.
In the method of controlling the connection of neighboring nodes of a blockchain network for controlling the connection of a node included in the blockchain network to a neighboring node,
Receiving, by the communication unit, a list of first neighboring nodes of other nodes;
The processor adds the first neighboring node to the second neighboring node list of the node based on a result of determining whether the region identification information of the first neighboring node included in the first neighboring node list is identical to the region identification information of the node. The step of doing; And
The processor measures communication time information between the node and each of the second neighboring nodes based on a somewhat comparison result between the number of second nodes of the second neighboring node included in the second neighboring node list and the preset maximum number of nodes. And removing one or more of the second neighboring nodes from the second neighboring node list so that the number of second nodes is less than or equal to the preset maximum number of nodes using the communication time required information; and
If the number of the second nodes is less than the preset maximum number of nodes and the second node number is less than the preset minimum number of nodes, the area identification information among the first neighboring nodes is not the same as the area identification information of the node. Adding a first neighboring node that is not the same to the second neighboring node list; And
After the processor adds a first neighboring node whose region identification information is not the same as the region identification information of the node among the first neighboring nodes to the second neighboring node list, the number of second nodes is determined to be a preset maximum number of nodes. If it exceeds, the separation distance between the node and the second neighboring node is checked using the area identification information of the node and the area identification information of each of the second neighboring nodes, and the predetermined maximum And maintaining only second neighboring nodes as many as the number of nodes in the second neighboring node list;
Blockchain network neighbor node connection control method.
제6항에 있어서,
상기 프로세서가 상기 지역 식별 정보 간의 동일 여부를 판단하기 전에 상기 제2 이웃 노드 목록에 포함된 제2 이웃 노드 중에서 상기 노드와 연결이 불가능한 제2 이웃 노드를 상기 제2 이웃 노드 목록에서 제거하는 단계; 및
상기 프로세서가 상기 제2 이웃 노드 목록에 포함된 상기 제2 이웃 노드의 제2 노드 수가 미리 설정된 최소 노드 수 미만이면, 상기 다른 노드로부터 상기 제1 이웃 노드 목록을 수신하도록 상기 통신부를 제어하는 단계;를 더 포함하는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 방법.
The method of claim 6,
Removing, from the second neighboring node list, a second neighboring node that cannot be connected to the node among second neighboring nodes included in the second neighboring node list, before the processor determines whether the area identification information is identical to each other; And
Controlling, by the processor, the communication unit to receive the first neighboring node list from the other node when the number of second nodes of the second neighboring node included in the second neighboring node list is less than a preset minimum number of nodes; Characterized in that it further comprises
Blockchain network neighbor node connection control method.
제6항에 있어서,
상기 추가하는 단계는
상기 프로세서가 상기 제1 이웃 노드 중에서 지역 식별 정보가 상기 노드의 지역 식별 정보와 동일한 제1 이웃 노드를 상기 제2 이웃 노드 목록에 추가하는 단계;를 포함하는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 방법.
The method of claim 6,
The step of adding
And adding, by the processor, a first neighboring node whose region identification information is the same as region identification information of the node from among the first neighboring nodes to the second neighboring node list.
Blockchain network neighbor node connection control method.
제6항에 있어서,
상기 제거하는 단계는
상기 프로세서가 상기 제2 노드 수가 상기 미리 설정된 최대 노드 수를 초과하면, 상기 노드와 상기 제2 이웃 노드 각각 간의 통신 소요 시간 정보를 측정하고, 상기 통신 소요 시간 정보가 나타내는 시간이 짧은 순으로 상기 미리 설정된 최대 노드 수 만큼의 상기 제2 이웃 노드만을 상기 제2 이웃 노드 목록에 유지시키는 단계;를 포함하는 것을 특징으로 하는
블록체인 네트워크의 이웃 노드 연결 제어 방법.
The method of claim 6,
The removing step
When the number of second nodes exceeds the preset maximum number of nodes, the processor measures communication time information between the node and each of the second neighboring nodes, and in the order of the shorter time indicated by the communication time information And maintaining only the second neighboring nodes as many as the set maximum number of nodes in the second neighboring node list.
Blockchain network neighbor node connection control method.
삭제delete 하드웨어인 컴퓨터와 결합되어, 제6항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program that is combined with a computer as hardware and stored in a recording medium readable by a computer so that the method of claim 6 can be performed.
KR1020200145352A 2020-11-03 2020-11-03 Apparatus, method and program for controlling connection of neighbor node in block-chain network KR102248991B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200145352A KR102248991B1 (en) 2020-11-03 2020-11-03 Apparatus, method and program for controlling connection of neighbor node in block-chain network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200145352A KR102248991B1 (en) 2020-11-03 2020-11-03 Apparatus, method and program for controlling connection of neighbor node in block-chain network

Publications (1)

Publication Number Publication Date
KR102248991B1 true KR102248991B1 (en) 2021-05-06

Family

ID=75915747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200145352A KR102248991B1 (en) 2020-11-03 2020-11-03 Apparatus, method and program for controlling connection of neighbor node in block-chain network

Country Status (1)

Country Link
KR (1) KR102248991B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090062011A (en) * 2007-12-12 2009-06-17 삼성전자주식회사 Method and apparatus for managing neighbor node having similar characteristic with active node and computer readable medium thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090062011A (en) * 2007-12-12 2009-06-17 삼성전자주식회사 Method and apparatus for managing neighbor node having similar characteristic with active node and computer readable medium thereof

Similar Documents

Publication Publication Date Title
US11316868B2 (en) Information verification system, information verification device, method and program
CN109426949B (en) Cross-chain transaction method and device
US10922692B2 (en) Method for calculating confirmation reliability for blockchain based transaction and blockchain network monitoring system for performing the method
US10657526B2 (en) System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
CN110049087B (en) Credibility verification method, system, device and equipment of alliance chain
US20190179801A1 (en) File management/search system and file management/search method based on block chain
CN112907369B (en) Block chain-based data consensus method and device, electronic equipment and storage medium
JP2022185070A (en) Method for high-speed transmission in block chain network and special network node
EP3739538A1 (en) System and method of supporting reflection of transactions between blockchain networks
KR102214849B1 (en) Fault tolerance consensus method for eliminating interference factors in blockchain networks
JP2024010123A (en) Method for block chain consensus, and apparatus and system for the same
CN110046901B (en) Credibility verification method, system, device and equipment of alliance chain
CN109246190B (en) Network addressing method, data editing method, device and storage medium
WO2019160128A1 (en) Method for validating transaction in blockchain network and node for configuring same network
EP3891952A2 (en) A node testing method and apparatus for a blockchain system
JP5801482B2 (en) Method and system for storing and retrieving data from key-value storage
CN107181636B (en) Health check method and device in load balancing system
CN110619022B (en) Node detection method, device, equipment and storage medium based on block chain network
CN109218311B (en) Block chain agglomeration method, block chain node and block chain
JP6467540B1 (en) Method for verifying transactions in a blockchain network and nodes for configuring the network
CN110597922A (en) Data processing method, device, terminal and storage medium
KR20190130933A (en) Method and apparatus for constructing data based blockchain
CN111245897A (en) Data processing method, device, system, storage medium and processor
CN110928952A (en) Data synchronization method and device based on block chain
KR102248991B1 (en) Apparatus, method and program for controlling connection of neighbor node in block-chain network

Legal Events

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