KR102258722B1 - Dynamic Blockchain System and Operating Method thereof - Google Patents
Dynamic Blockchain System and Operating Method thereof Download PDFInfo
- Publication number
- KR102258722B1 KR102258722B1 KR1020180140755A KR20180140755A KR102258722B1 KR 102258722 B1 KR102258722 B1 KR 102258722B1 KR 1020180140755 A KR1020180140755 A KR 1020180140755A KR 20180140755 A KR20180140755 A KR 20180140755A KR 102258722 B1 KR102258722 B1 KR 102258722B1
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- node
- nodes
- terminal
- block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1025—Dynamic adaptation of the criteria on which the server selection is based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 동적 블록체인 시스템 및 그의 동작 방법에 관한 것으로, 본 발명에 따른 동적 블록체인 시스템은 사용자가 소유하는 복수의 단말기 노드들을 포함하고, 각 단말기 노드에 트랜잭션이 송신될 트랜잭션 노드가 매핑되어 있는 단말기 노드 풀; 및 각 트랜잭션 노드에 다음 트랜잭션 노드가 매핑되어 있어서 상기 단말기 노드 풀의 각 단말기 노드에서 송신된 트랜잭션을 비동기적으로 처리하고 가상 블록의 합의를 수행하는 복수의 트랜잭션 노드들을 포함하고, 상기 복수의 트랜잭션 노드들의 로드 밸런싱을 자동으로 수행하는 트랜잭션 노드 풀을 제공함으로써, 네트워크의 성능을 높일 수 있다.The present invention relates to a dynamic blockchain system and a method of operation thereof. The dynamic blockchain system according to the present invention includes a plurality of terminal nodes owned by a user, and a transaction node to which a transaction is transmitted is mapped to each terminal node. Terminal node pool; And a plurality of transaction nodes that asynchronously process a transaction transmitted from each terminal node of the terminal node pool and perform consensus of a virtual block by mapping the next transaction node to each transaction node, wherein the plurality of transaction nodes Network performance can be improved by providing a pool of transaction nodes that automatically balance the loads of users.
Description
본 발명은 동적 블록체인 시스템 및 그의 동작 방법에 관한 것으로, 동적으로 로드 밸런싱이 가능한 블록체인 시스템 및 그의 동작 방법에 관한 것이다.The present invention relates to a dynamic blockchain system and an operation method thereof, and to a blockchain system capable of dynamically load balancing and an operation method thereof.
비트코인(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, and R3. 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 system is a system in which numerous nodes are connected via a P2P network to process user transactions, and it can be seen as a kind of distributed ledger system that sequentially stores records of transactions. Once recorded, it is almost impossible to change. It has a characteristic. The blockchain system 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 systems can be largely divided into permissionless blockchains 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).
허가형 블록체인에 이용 가능한 합의 알고리즘으로 해시그래프(Hashgraph) 알고리즘이 있다. 해시그래프는 기존 블록체인의 한계를 극복하고자 연결 리스트 방식이 아니라, 하나의 노드가 다른 불특정 노드에게 가십(gossip)을 전달하는 방식으로 작동하는 알고리즘이다. 기존 블록체인의 장점인 위변조 방지 기능과 탈중앙 의사결정구조를 유지하면서도, 1초에 수십만 건 이상의 빠른 속도로 트랜잭션을 처리할 수 있다. Hashgraph algorithm is a consensus algorithm that can be used for permissioned blockchain. Hashgraph is an algorithm that works by passing gossip to other unspecified nodes rather than a linked list method to overcome the limitations of the existing blockchain. While maintaining the anti-forgery function and decentralized decision-making structure, which are the advantages of the existing blockchain, it can process hundreds of thousands of transactions per second.
이러한 해시그래프는 특정 사용자가 거래의 순서를 변경할 수 없기 때문에 공평하다. 주식 시장의 예를 들어, 만약 엘리스와 밥이 동시에 동일한 가격으로 남은 마지막 주식 하나를 매수한다고 가정해보자. 블록체인 시스템에서는 채굴자(miner)가 두 거래 모두 동일한 블록에 넣어 진행한다면 순서를 임의로 정하거나 또는 엘리스의 거래만 포함하고 밥의 거래를 다음 블록에 포함할 수도 있다. 해시그래프에서는 이 경우 한 개인이 거래의 순서를 변경할 수 없다. 여기서 엘리스가 분산형 시스템 내 모든 사용자에게 밥의 거래보다 먼저 전파할 수 있는 최선의 방법은 인터넷 속도에 투자하는 것이며 이로 공정한 경쟁을 도모할 수 있다. 거래 처리 권한이 특정 인물에게 위임되지 않았기에 엘리스는 채굴자에게 뇌물을 주며 부당한 혜택을 꾀할 수 없다.This hash graph is fair because a specific user cannot change the order of transactions. For example in the stock market, suppose that Ellis and Bob simultaneously buy the last one left at the same price. In the blockchain system, if a miner puts both transactions in the same block, the order can be arbitrarily determined, or only Ellis' transaction and Bob's transaction can be included in the next block. In the hashgraph, in this case, an individual cannot change the order of transactions. Here, the best way for Elise to spread to all users in the distributed system before Bob's transaction is to invest in internet speed, thereby promoting fair competition. Since the transaction processing authority has not been delegated to a specific person, Ellis is unable to obtain unfair benefits by bribing miners.
아울러, 해시그래프에서는 특정 사용자가 시스템에 입력되는 거래를 저지하거나 멈출 수 없으므로 공정하다. 블록체인 시스템에서는 만약 다수의 채굴자들이 특정 거래를 블록에 포함하는 것을 거부할 경우, 한 개 또는 두 개의 채굴 기간(mining period)까지 처리가 지연될 수 있다. 그러나 해시그래프에서는 인터넷 연결을 차단하는 방법 외에는 사용자의 거래를 막을 수 없다.In addition, in the hash graph, it is fair because a specific user cannot stop or stop a transaction entered into the system. In the blockchain system, if multiple miners refuse to include a specific transaction in a block, processing may be delayed until one or two mining periods. However, in the hashgraph, you cannot block users' transactions except by blocking the Internet connection.
하지만, 해시그래프 알고리즘은 하나의 노드에 로드가 계속 몰리게 되면 실시간 결제의 처리가 필요한 경우에도 병목 현상이 발생하여 전체 처리가 늦어질 수 있을 뿐만 아니라 네트워크의 노드 개수가 고정되어 있어 유연한 처리가 어렵다. 또한, 해시그래프 알고리즘에 의해 물리적인 노드에 저장되어 있는 이벤트들은 휘발성 메모리에 축적되게 되어 외부 공격에 취약하고 또한 전원이 차단되면 메모리에 축적되어 있던 데이터가 소거될 수도 있다. However, in the hash graph algorithm, if the load continues to be concentrated on one node, a bottleneck may occur even when real-time payment processing is required, and the overall processing may be delayed, and flexible processing is difficult because the number of nodes in the network is fixed. In addition, events stored in the physical node by the hash graph algorithm are accumulated in the volatile memory and are vulnerable to external attacks. In addition, data accumulated in the memory may be erased when the power is cut off.
상술한 문제점을 해결하기 위해, 본 발명은 동적 블록체인 시스템 및 그의 동작 방법을 제공하는 것을 목적으로 한다.In order to solve the above problems, an object of the present invention is to provide a dynamic blockchain system and a method of operation thereof.
본 발명은 로드 밸런싱이 가능한 블록체인 시스템 및 그의 동작 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a block chain system capable of load balancing and an operation method thereof.
또한, 본 발명은 외부 공격으로부터 피해를 방지하고 데이터의 보호가 가능한 블록체인 시스템 및 그의 동작 방법을 제공하는 것을 목적으로 한다. In addition, an object of the present invention is to provide a block chain system and a method of operation thereof that can prevent damage from external attacks and protect data.
상술한 목적을 달성하기 위해, 본 발명의 일실시예에 따른 동적 블록체인 시스템은, 사용자가 소유하는 복수의 단말기 노드들을 포함하고, 각 단말기 노드에 트랜잭션이 송신될 트랜잭션 노드가 매핑되어 있는 단말기 노드 풀; 및 각 트랜잭션 노드에 다음 트랜잭션 노드가 매핑되어 있어서 상기 단말기 노드 풀의 각 단말기 노드에서 송신된 트랜잭션을 비동기적으로 처리하고 가상 블록의 합의를 수행하는 복수의 트랜잭션 노드들을 포함하고, 상기 복수의 트랜잭션 노드들의 로드 밸런싱을 자동으로 수행하는 트랜잭션 노드 풀을 제공할 수 있다.In order to achieve the above object, a dynamic blockchain system according to an embodiment of the present invention includes a plurality of terminal nodes owned by a user, and a transaction node to which a transaction is to be transmitted is mapped to each terminal node. pool; And a plurality of transaction nodes that asynchronously process a transaction transmitted from each terminal node of the terminal node pool and perform consensus of a virtual block by mapping the next transaction node to each transaction node, wherein the plurality of transaction nodes It is possible to provide a pool of transaction nodes that automatically perform load balancing of users.
상기 동적 블록체인 시스템은 상기 트랜잭션 노드 풀은 상기 복수의 트랜잭션 노드들의 로드 밸런싱을 자동으로 수행하는 트랜잭션 관리 노드를 더 포함할 수 있고, 상기 트랜잭션 관리 노드는 트랜잭션에 대해 가상 블록이 합의될 때마다 송신되는 특정의 트랜잭션 노드의 통지 정보로부터 상기 특정의 트랜잭션 노드의 로드 상태를 판정하여 상기 복수의 트랜잭션 노드들의 로드 밸런싱을 자동으로 수행할 수 있다.In the dynamic blockchain system, the transaction node pool may further include a transaction management node that automatically performs load balancing of the plurality of transaction nodes, and the transaction management node transmits each time a virtual block is agreed upon for a transaction. It is possible to automatically perform load balancing of the plurality of transaction nodes by determining the load state of the specific transaction node from the notification information of the specific transaction node.
상기 트랜잭션 관리 노드는 상기 단말기 노드 풀의 각 단말기 노드에서 송신된 트랜잭션을 비동기적으로 처리하고 가상 블록의 합의를 수행하기 위해 소정 개수의 트랜잭션 노드들을 하나의 채널로 매핑할 수 있다.The transaction management node may asynchronously process a transaction transmitted from each terminal node of the terminal node pool and map a predetermined number of transaction nodes to one channel in order to perform virtual block consensus.
상기 트랜잭션 관리 노드는 특정 채널의 상기 특정의 트랜잭션 노드의 로드 상태를 판정하여 로드가 임계치 이상이면 소정 개수의 트랜잭션 노드들을 새로운 채널로 매핑하여 상기 특정 채널로부터 분기시킬 수 있다.The transaction management node may determine a load state of the specific transaction node of a specific channel and, if the load is greater than or equal to a threshold, map a predetermined number of transaction nodes to a new channel and branch from the specific channel.
상기 동적 블록체인 시스템은 상기 트랜잭션 노드 풀에서 트랜잭션마다 가상 블록의 합의 후 송신된 트랜잭션을 적어도 수백 개 이상 모아 블록을 생성하여 블록체인을 만드는 블록 노드 풀을 더 포함할 수 있다.The dynamic blockchain system may further include a block node pool for generating a block chain by collecting at least hundreds of transactions transmitted after consensus of virtual blocks for each transaction in the transaction node pool to create a block chain.
상기 블록 노드 풀에서 만들어진 상기 블록체인의 트랜잭션에는 해당 트랜잭션 합의와 관련된 상기 소정 개수의 트랜잭션 노드들의 송신 순서가 포함되어 있을 수 있다.The block chain transaction created from the block node pool may include a transmission order of the predetermined number of transaction nodes related to the corresponding transaction agreement.
상기 단말기 노드 풀은 상기 복수의 단말기 노드들과 각 단말기 노드에서 트랜잭션이 송신될 트랜잭션 노드를 매핑하는 단말기 관리 노드를 더 포함할 수 있고, 상기 단말기 관리 노드는 상기 매핑뿐만 아니라 회원 가입과 인증을 관리하는 서버 기능을 수행할 수 있다.The terminal node pool may further include a terminal management node for mapping the plurality of terminal nodes and a transaction node to which a transaction is to be transmitted from each terminal node, and the terminal management node manages not only the mapping but also membership registration and authentication. It can perform a server function.
본 발명의 다른 실시예에 따른, 사용자가 소유하는 복수의 단말기 노드들을 포함하는 단말기 노드 풀 및 복수의 트랜잭션 노드들을 포함하는 트랜잭션 노드 풀을 포함하는 동적 블록체인 시스템의 동작 방법은, 각 단말기 노드에 트랜잭션이 송신될 트랜잭션 노드, 그리고 각 트랜잭션 노드에 다음 트랜잭션 노드를 매핑하는 단계; 상기 복수의 단말기 노드들 중 하나의 단말기 노드에서 매핑된 트랜잭션 노드에 트랜잭션을 송신하는 단계; 상기 복수의 트랜잭션 노드들에서 상기 단말기 노드로부터 송신된 트랜잭션을 비동기적으로 처리하고 가상 블록의 합의를 수행하는 단계; 및 상기 복수의 트랜잭션 노드들의 로드 밸런싱을 자동으로 수행하는 단계를 제공할 수 있다. According to another embodiment of the present invention, a method of operating a dynamic blockchain system including a terminal node pool including a plurality of terminal nodes owned by a user and a transaction node pool including a plurality of transaction nodes is provided in each terminal node. Mapping a transaction node to which a transaction is to be transmitted, and a next transaction node to each transaction node; Transmitting a transaction from one of the plurality of terminal nodes to a mapped transaction node; Asynchronously processing a transaction transmitted from the terminal node in the plurality of transaction nodes and performing virtual block consensus; And automatically performing load balancing of the plurality of transaction nodes.
상술한 구성에 의해, 본 발명은 노드에서의 로드 상태에 따라 분기하거나 다시 병합하여 동적으로 네트워크의 성능을 높일 수 있다.With the above-described configuration, the present invention can dynamically increase the performance of the network by branching or re-merging according to the load state in the node.
본 발명은 또한, 물리적인 노드와 논리적인 노드를 구분하여 매핑을 통해 네트워크의 가용성을 균일하게 하고 외부 공격에 대한 방어력을 높일 수 있다.In the present invention, it is also possible to divide physical nodes and logical nodes to uniformize the availability of a network through mapping and increase defense power against external attacks.
본 발명은 또한, 블록 노드 풀에서 블록체인을 생성하여 관리함으로써 외부 공격으로부터 피해를 방지하고 데이터를 보호할 수 있다. The present invention can also prevent damage from external attacks and protect data by creating and managing a block chain from a pool of block nodes.
도 1은 본 발명의 일실시예에 따른 동적 블록체인 시스템의 블록도를 도시한 도면이다.
도 2는 도 1의 블록체인 시스템에 이용 가능한 데이터 스택의 일 예를 도시한 도면이다.
도 3은 블록 노드에 저장되는 블록 구조의 일 예를 도시한 도면이다.
도 4는 일반적인 해시그래프의 가십 프로토콜의 일 예를 도시하는 도면이다.
도 5는 본 발명에 따른 해시그래프의 분기의 일 예를 도시하는 도면이다.
도 6은 본 발명에 따른 해시그래프의 병합의 일 예를 도시하는 도면이다.
도 7은 일반적으로 트랜잭션 노드들에 할당된 채널의 내부 처리의 일 예를 도시하는 도면이다.
도 8은 본 발명에 따른 채널 분기의 내부 처리의 일 예를 도시하는 도면이다.
도 9는 본 발명에 따른 채널 병합의 내부 처리의 일 예를 도시하는 도면이다.
도 10은 본 발명의 일실시예에 따른 동적 블록체인 시스템의 동작 방법의 흐름도를 도시하는 도면이다. 1 is a block diagram of a dynamic blockchain system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of a data stack usable in the block chain system of FIG. 1.
3 is a diagram illustrating an example of a block structure stored in a block node.
4 is a diagram illustrating an example of a general hash graph gossip protocol.
5 is a diagram showing an example of branching of a hash graph according to the present invention.
6 is a diagram showing an example of merging of hash graphs according to the present invention.
7 is a diagram illustrating an example of internal processing of channels generally allocated to transaction nodes.
8 is a diagram showing an example of internal processing of a channel branch according to the present invention.
9 is a diagram showing an example of internal processing of channel merging according to the present invention.
10 is a diagram illustrating a flowchart of a method of operating a dynamic blockchain system according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명에 따른 동적 블록체인 시스템 및 그의 동작 방법의 바람직한 실시예를 설명한다. 참고로, 아래에서 본 발명을 설명함에 있어서, 본 발명의 구성요소를 지칭하는 용어들은 각각의 구성 요소들의 기능을 고려하여 명명된 것이므로, 본 발명의 기술적 구성요소를 한정하는 의미로 이해되어서는 안 될 것이다. Hereinafter, a preferred embodiment of a dynamic blockchain system and a method of operation thereof according to the present invention will be described with reference to the accompanying drawings. For reference, in the following description of the present invention, the terms referring to the components of the present invention are named in consideration of the functions of the respective components, and thus should not be understood as limiting the technical components of the present invention. Will be.
도 1에 도시된 바와 같이, 동적 블록체인 시스템(100)은 단말기 노드 풀(110), 트랜잭션 노드 풀(120) 및 블록 노드 풀(130)을 포함한다. 1, the
단말기 노드 풀(110)은 사용자가 소유하는 단말기와 관련된 것으로, 예를 들어 실제 결제를 요청하기 위한 복수의 단말기 노드들(112)과 단말기 노드들(112)의 로드 밸런싱을 위한 단말기 관리 노드(114)를 포함할 수 있다. The terminal node pool 110 is related to a terminal owned by a user, for example, a plurality of
복수의 단말기 노드들(112)은 도 1에 도시된 바와 같이, 예를 들어 #01부터 #40으로 구성될 수 있다. 그리고 단말기 관리 노드(114)는 복수의 단말기 노드들(112)이 소수의 트랜잭션 노드들(122)에 적절히 로드가 분산되도록 각각의 단말기 노드(112)에 매핑된 트랜잭션 노드를 적절히 분배할 수 있다. 단말기 관리 노드(114)는 로드 밸런싱뿐만 아니라 모니터링을 수행하여 비정상적인 처리 및 외부 침입 등을 탐지할 수 있다. 단말기 관리 노드(114)는 비정상적인 처리 또는 외부 침입 등이 탐지된 경우에는 이미 설정한 보안 정책에 따라 대응할 수 있다. 단말기 관리 노드(114)는 도 1에 도시된 바와 같이, 각 단말기 노드(112)에 송신될 트랜잭션 노드(122)를 적절히 배분할 수 있다.The plurality of
단말기 관리 노드(114)는 보통 회원 가입과 인증을 관리하는 서버가 이 역할을 할 수 있으며 별도의 강화된 보안 솔루션이 탑재될 수 있다. 일반적으로 결제를 하기 전에 사용자가 이 단말기를 정말로 소유하고 있는지의 본인 인증이 필수적인데, 단말기 관리 노드(114)는 단말기 노드에서의 생체 인증, 비밀번호 또는 패턴 등의 인증 수단을 이용하여 그 결과를 확인하여 비정상 접속을 탐지할 수 있다.In the
트랜잭션 노드 풀(120)은 트랜잭션을 처리하는 복수의 트랜잭션 노드들(122)과 트랜잭션 노드들(122)의 로드 밸런싱을 위한 트랜잭션 관리 노드(124)를 포함할 수 있다. 트랜잭션 관리 노드(124)는 소정 수의 트랜잭션 노드들(122)을 하나의 채널로 묶어서 관리하며, 하나의 채널에 로드가 많이 걸리면 적절히 분기하여 새로운 채널을 할당할 수 있으며, 반대로 로드가 너무 적게 걸려 노드가 낭비되면 이들 채널들을 하나의 채널 안에 통합할 수 있다. 그리고 트랜잭션 관리 노드(124)는 각 트랜잭션 노드(122)의 다음 트랜잭션 노드(124)를 지정하여 전송하거나 아니면 랜덤하게 지정하여 전송할 수 있다. 트랜잭션 관리 노드(124)는 또한, 모니터링을 수행하여 비정상적인 처리 및 외부 침입 등을 탐지하고, 비정상적인 처리 또는 외부 침입 등이 탐지된 경우에는 이미 설정한 보안 정책에 따라 대응할 수 있다. The
복수의 트랜잭션 노드들(122)은 도 1에 도시된 바와 같이, 예를 들어 &01부터 &20으로 구성될 수 있다. 도 1에서는 5개의 트랜잭션 노드들(122)을 하나의 채널로 도시한다. 도 1에 도시된 트랜잭션 노드 풀(120)에서의 전송 순서는 설명의 편의를 위해 정한 것으로, 구체적인 실시예에 따라서는 합의 알고리즘인 해시그래프 형태일 수 있다. As shown in FIG. 1, the plurality of
블록 노드 풀(130)은 하나의 채널에서 확인된 다수의 트랜잭션을 포함하여 블록을 생성하는 복수의 블록 노드들(132)과 블록 생성을 위한 노드들의 채널을 관리하는 블록 관리 노드(134)를 포함할 수 있다. 복수의 블록 노드들(132)은 도 1에 도시된 바와 같이, 예를 들어 %01부터 %04으로 구성될 수 있다. 블록 관리 노드(134)는, 도 1에는 도시되어 있지 않지만, 또한 트랜잭션 노드 풀(120)처럼 로드를 분산 또는 통합하여 관리할 수 있다. The
위의 관리 노드들은 기본적으로 이중화하여 정기적으로 데이터를 동기화하는 것이 바람직하며, 메인 관리 노드가 비정상적으로 동작하면 서브 관리 노드가 바로 메인 관리 노드의 역할을 대행하고 메인 관리 모드는 복구 모드로 들어갈 수 있다.The above management nodes are basically redundant to synchronize data regularly. If the main management node operates abnormally, the sub-management node immediately acts as the main management node, and the main management mode can enter the recovery mode. .
도 1에 도시된 바와 같이, 본 발명의 실시예에서는 트랜잭션 노드(122)와 단말기 노드(112)가 명확하게 구분되어 있다. 하지만, 트랜잭션 노드(122)와 블록 노드(132)는 구현에 따라 하나의 노드가 두 가지 기능들을 모두 수행할 수 있다.1, in the embodiment of the present invention, the
도 1에 도시된 관리 노드들끼리는 양방향 통신이 허용되나 일반 노드들은 관리 노드의 지시만 받도록 구성되는 것이 바람직하다. 즉, 매핑 노드의 변경 등의 설정 변경의 이벤트가 발생시 관리 노드의 명령 순서에 따라 일반 노드들은 동작하며 관리 노드에 피드백하거나 별도의 데이터를 송신하지 않는다. 이에 의해 해커가 일반 노드를 통해 관리 노드로 침입하는 것을 원천적으로 방지할 수 있다.Although bidirectional communication is allowed between the management nodes shown in FIG. 1, it is preferable that normal nodes are configured to receive only instructions from the management node. That is, when an event of configuration change such as a change of a mapping node occurs, general nodes operate according to the order of commands of the management node, and do not feed back to the management node or transmit separate data. Accordingly, it is possible to fundamentally prevent a hacker from invading the management node through a general node.
또한, 보통 해커가 이미 네트워크에 침입하면 막기가 어려워진다. 따라서 네트워크의 게이트에 해당하는 단말기 관리 노드가 비정상적인 침입을 감지하고 충분히 공격에 대해 내성을 갖도록 단말기 관리 노드는 보안이 강화될 필요가 있다.Also, it usually becomes difficult to block if a hacker has already infiltrated the network. Therefore, the security of the terminal management node needs to be strengthened so that the terminal management node corresponding to the network gate detects an abnormal intrusion and is sufficiently resistant to attack.
도 2는 도 1의 블록체인 시스템에 이용 가능한 데이터 스택의 일 예를 도시한 도면이다.FIG. 2 is a diagram illustrating an example of a data stack usable in the block chain system of FIG. 1.
일반적으로 결제는 돈을 송신하는 과정과 돈을 수신하는 과정으로 구분될 수 있다. 도 2에는 결제 프로세스 중 돈을 송신하는 과정만을 예로 들어 데이터 스택이 도시되어 있다.In general, payment can be divided into a process of sending money and a process of receiving money. In FIG. 2, a data stack is shown as an example of a process of transmitting money during a payment process.
단말기 노드(Te Node) #01의 사용자가 다른 단말기 노드에 돈을 송신하고자 하면, 단말기 노드 #01은 예를 들어 "갑이 을에게 코인 1을 보낸다."와 같은 전문 데이터와 함께 단말기 id 정보와 트랜잭션 노드(Tr Node) id를 하나의 트랜잭션으로 하여 송신한다. 여기서 단말기 노드 id는 소스로 자신의 단말기 노드 #01가 기록될 수 있고, 트랜잭션 노드 id는 목적지로 단말기 관리 노드(114)에서 지정한 트랜잭션 노드 &01가 기록될 수 있다.When the user of the
트랜잭션 노드 &01은 단말기 노드 #01로부터 수신한 트랜잭션 정보 이외에 다음 트랜잭션 노드, 예를 들어 트랜잭션 노드 &02를 추가하여 송신한다. 트랜잭션 노드 &02은 트랜잭션 노드 &01로부터 수신한 정보 이외에 다음 트랜잭션 노드, 예를 들어 트랜잭션 노드 &03를 추가하여 송신한다. 트랜잭션 노드 &03은 트랜잭션 노드 &02로부터 수신한 정보 이외에 다음 트랜잭션 노드, 예를 들어 트랜잭션 노드 &04를 추가하여 송신한다. 트랜잭션 노드 &04는 트랜잭션 노드 &03으로부터 수신한 정보 이외에 다음 트랜잭션 노드, 예를 들어 트랜잭션 노드 &05를 추가하여 송신한다. In addition to the transaction information received from
그리고 예를 들어 해시그래프 알고리즘과 같은 가십 프로토콜에 따라 가상 블록의 합의가 이루어지면, 트랜잭션 노드 &05는 트랜잭션 노드 &04로부터 수신한 정보 이외에 블록 노드, 예를 들어 Bl Node %01을 추가하여 송신한다.In addition, when consensus of a virtual block is reached according to a gossip protocol such as a hash graph algorithm, transaction node &05 adds and transmits a block node, such as
트랜잭션 노드들에는 해시그래프의 경우 트랜잭션이 하나의 이벤트가 되어 이벤트들이 서로 연관되어 저장된다. 하지만, 트랜잭션 노드들에 저장된 데이터는 블록체인으로 저장된 것이 아니고 휘발성 메모리에 저장된 이벤트들인바, 외부 공격에 취약할 뿐만 아니라 또한 전원이 차단되면 메모리에 축적되어 있던 데이터가 소거될 수도 있다. 또한, 트랜잭션 노드 풀(120)에서는 다양한 형태의 계약을 체결하고 이행하는 스마트 컨트랙트(smart contract)가 용이하지 않다.In the case of a hash graph in transaction nodes, a transaction becomes an event, and the events are stored in association with each other. However, the data stored in the transaction nodes are not stored in the blockchain but are events stored in volatile memory, so they are not only vulnerable to external attacks, but also the data accumulated in the memory may be erased when the power is cut off. In addition, in the
블록 노드는 스마트 컨트랙트를 가능하게 할 뿐만 아니라 블록체인으로 데이터를 관리하므로 블록체인이 갖는 장점을 이용할 수 있다. 블록 노드(Bl Node) %01은 예를 들어 가상 블록의 합의가 이루어진 트랜잭션이 예를 들어 2000개가 수신되면, 하나의 블록을 생성할 수 있다. Block nodes not only enable smart contracts, but also manage data with a block chain, so you can take advantage of the advantages of a block chain.
도 3은 블록 노드에 저장되는 블록 구조의 일 예를 도시한 도면이다.3 is a diagram illustrating an example of a block structure stored in a block node.
블록은 헤더와 바디로 구분되며, 헤더에는 버전번호, 블록생성시간, 이전 블록 해시 값, 합의 메타데이터, 블록 메타데이터, 현재 블록의 해시 값이 기록될 수 있고, 바디에는 트랜잭션들이 기록될 수 있다. The block is divided into a header and a body, and in the header, the version number, block creation time, previous block hash value, consensus metadata, block metadata, and hash value of the current block can be recorded, and transactions can be recorded in the body. .
상술한 바와 같이, 블록 n에는 예를 들어 2000개의 트랜잭션뿐만 아니라 트랜잭션의 해시 값 이외에 이전 블록 n-1 및 블록 n의 해시 값이 반드시 포함되어야 한다. 블록 n의 해시 값은 블록 n+1의 이전 블록 해시 값 영역에 기록되므로 블록들은 서로 연결 관계를 갖게 된다. 또한, 합의 메타데이터에는 트랜잭션의 합의와 관련된 트랜잭션 노드가 개수가 기록될 수 있다.As described above, block n must include, for example, not only 2000 transactions, but also hash values of the previous block n-1 and block n in addition to the hash value of the transaction. Since the hash value of block n is recorded in the hash value area of the previous block of block n+1, the blocks have a connection relationship with each other. In addition, in the consensus metadata, the number of transaction nodes related to the consensus of the transaction may be recorded.
이하에서는 트랜잭션 노드 풀(120)에서의 처리를 보다 상세하게 설명한다.Hereinafter, processing in the
도 1에서 도시된 바와 같이, 트랜잭션 노드 &01(122)에는 복수의 단말기 노드들(112) 및 다수의 트랜잭션 노드들(122)로부터 트랜잭션들, 예를 들어 해시그래프의 경우 이벤트들이 수신된다. 이러한 이벤트들을 저장하기 위해 각각의 트랜잭션 노드(122)에는 카프카 클러스터(미도시됨)가 구비되어 있다. 카프카 클러스터에 저장된 이벤트들은 입력된 순서에 따라 해당 트랜잭션 노드(122)에서 처리된다.As shown in FIG. 1, transactions, for example, events in the case of a hash graph, are received from a plurality of
도 4는 일반적인 해시그래프의 가십 프로토콜의 일 예를 도시하는 도면이고, 도 5는 본 발명에 따른 해시그래프의 분기의 일 예를 도시하는 도면이고, 도 6은 본 발명에 따른 해시그래프의 병합의 일 예를 도시하는 도면이다. 여기서 각 노드는 Alice, Bob, Carol, Dave 및 Ed의 단말기들에 각각 매핑된 트랜잭션 노드이다. 4 is a diagram showing an example of a general hash graph gossip protocol, FIG. 5 is a diagram showing an example of a branch of a hash graph according to the present invention, and FIG. 6 is a diagram of a merge of hash graphs according to the present invention. It is a figure showing an example. Here, each node is a transaction node mapped to the terminals of Alice, Bob, Carol, Dave, and Ed, respectively.
도 4를 보면, Bob 노드에 지나치게 많은 로드, 즉 트랜잭션이 몰리고 있다. 이 경우 Bob 노드는 많은 로드로 인해 처리가 늦어지고 이로 인해 동일 채널에 속한 다른 트랜잭션 노드들 역시 영향을 받아 전체 처리가 늦어질 수 있다. 트랜잭션 관리 노드(124)는 Bob 노드의 많은 로드로 인해 동일 채널의 전체 처리 속도가 늦어진다고 결정되면, 예컨대 트랜잭션이 몰리게 되어 임계치들 넘어서면, 도 5에 도시된 바와 같이, Bob2 노드를 생성한다. 이후 Bob 노드에 있는 카프카 클러스터는 처리될 트랜잭션들의 일부를 Bob2 노드에서 실행하게 한다. 한편, 해시 알고리즘의 채널 내에서의 분기는 트랜잭션 노드에서 적절하게 처리할 수도 있다. 4, too much load, that is, transactions are concentrated on the Bob node. In this case, processing of the Bob node is delayed due to a lot of load, and other transaction nodes belonging to the same channel are also affected, and the overall processing may be delayed. When it is determined that the overall processing speed of the same channel is slowed down due to the heavy load of the Bob node, the
한편, 도 4를 다시 보면, Dave 노드와 Ed 노드의 이용이 현저하게 떨어진다. 이 경우 불필요한 전력 소비 등이 발생하므로, 트랜잭션 관리 노드(124)는, 도 6에 도시된 바와 같이, Ed 노드를 Dave 노드에 병합하여 하나의 트랜잭션 노드로 공유하게 한다. 이 경우 트랜잭션 관리 노드(124)는 Ed 노드의 트랜잭션들이 Dave 노드로 송신되도록 트랜잭션 노드의 다음 트랜잭션 노드들을 변경할 수 있고, 또한 단말기 노드에서 트랜잭션 노드로의 목적지를 변경하도록 단말기 관리 노드(114)로 변경 요청 신호를 송신할 수 있다. 나중에 생성된 블록에서 자신의 거래 내역을 검색하고자 하면 자신의 단말기 id가 생성한 트랜잭션 노드와 트랜잭션 노드에서의 다음 트랜잭션 노드가 블록에 모두 포함되어 있기 때문에 단말기 id로 모든 처리 과정을 확인할 수 있다.On the other hand, referring to FIG. 4 again, the use of the Dave node and the Ed node is significantly reduced. In this case, since unnecessary power consumption occurs, the
도 7은 일반적으로 트랜잭션 노드들에 할당된 채널의 내부 처리의 일 예를 도시하는 도면이고, 도 8은 본 발명에 따른 채널 분기의 내부 처리의 일 예를 도시하는 도면이고, 도 9는 본 발명에 따른 채널 병합의 내부 처리의 일 예를 도시하는 도면이다. 7 is a diagram showing an example of internal processing of a channel generally allocated to transaction nodes, FIG. 8 is a diagram showing an example of internal processing of a channel branch according to the present invention, and FIG. 9 is a diagram showing an example of internal processing of a channel branch according to the present invention, and FIG. It is a figure which shows an example of the internal process of channel merging according to.
물리적인 공간에 집중되어 있는 트랜잭션 노드들은 보안에 취약하며, 네트워크가 한 번 뚫리게 되면 그 네트워크 전체가 피해를 볼 위험이 있다. 따라서 여러 지역에 노드들이 분산되어 있다면 외부 공격에 대처하는 것이 유리하고 블록체인의 원래 취지에도 부합한바, 매핑 테이블을 이용하여 분산 네트워크를 구성하는 것이 바람직하다. 이에 의해 논리적으로는 연속된 네트워크이지만 물리적으로는 여러 지역에 산개된 네트워크가 가능해진다. 즉. 실제 네트워크에 20개의 노드가 있고, 하나의 채널이 5개의 노드를 사용할 경우 논리적인 노드 주소는 [&01, &02, &03. &04, &05]이지만, 실제 동작하는 물리적인 노드 주소는 [&12, &19, &03. &05, &10]으로 랜덤하게 분산시킬 수 있다. Transaction nodes concentrated in the physical space are vulnerable to security, and once the network is breached, there is a risk of damage to the entire network. Therefore, if nodes are distributed in several regions, it is advantageous to cope with external attacks and conform to the original purpose of the blockchain. Therefore, it is desirable to configure a distributed network using a mapping table. This makes it possible to have a network that is logically continuous, but is physically spread across multiple regions. In other words. If there are 20 nodes in the actual network and one channel uses 5 nodes, the logical node address is [&01, &02, &03. &04, &05], but the actual operating physical node address is [&12, &19, &03. &05, &10] can be randomly distributed.
도 7 내지 도 9는 도 4 내지 도 6의 각각을 채널 매핑, 채널 분기 및 채널 병합의 관점에서 구체적으로 도시한 도면들이다.7 to 9 are diagrams illustrating each of FIGS. 4 to 6 in detail in terms of channel mapping, channel branching, and channel merging.
도 7에 도시된 바와 같이, 본 발명에서는 실시예에 따라 하나의 물리적 노드에 채널에 따른 2개의 논리적 노드들이 사용될 수 있다. 예를 들어, 트랜잭션 관리 노드(124)는 로드를 밸런싱하기 위해 하나의 물리적 노드에 다수의 채널들을 할당할 수 있다.As shown in FIG. 7, in the present invention, two logical nodes according to channels may be used for one physical node according to an embodiment. For example, the
물리적 노드의 최대 처리 용량이 20Tr/초인데, 채널 A의 처리 용량이 10Tr/초이고, 채널 B의 처리 용량이 15Tr/초이고, 채널 C의 처리 용량이 10Tr/초이면, 도 7의 위의 물리적 노드들에서는 처리량이 5Tr/초만큼 늦어져서 트랜잭션이 처리되므로 채널에서의 트랜잭션의 처리가 현저하게 늦어진다. 트랜잭션 관리 노드(124)는 아래의 물리적 노드들에 처리 용량이 10Tr/초만큼 여유가 있으므로, 도 8에 도시된 바와 같이, 채널 B를 분기하여 채널 D를 생성하고 처리 용량 5Tr/초만큼을 처리할 수 있게 할 수 있다.If the maximum processing capacity of the physical node is 20Tr/sec, the processing capacity of channel A is 10Tr/sec, the processing capacity of channel B is 15Tr/sec, and the processing capacity of channel C is 10Tr/sec, In physical nodes, the transaction is processed because the throughput is delayed by 5Tr/sec, so the processing of the transaction in the channel is significantly delayed. Since the
한편, 물리적 노드의 최대 처리 용량이 20Tr/초인데, 채널 A의 처리 용량이 5Tr/초이고, 채널 B의 처리 용량이 5Tr/초이고, 채널 C의 처리 용량이 5Tr/초이면, 도 7의 위의 물리적 노드들에 채널 C를 처리할 수 있는 충분한 처리 용량이 남아있으므로, 도 9에 도시된 바와 같이, 채널 C를 분기하여 채널 A에 병합할 수 있다.On the other hand, if the maximum processing capacity of the physical node is 20Tr/sec, the processing capacity of channel A is 5Tr/sec, the processing capacity of channel B is 5Tr/sec, and the processing capacity of channel C is 5Tr/sec, Since sufficient processing capacity to process channel C remains in the above physical nodes, channel C can be branched and merged into channel A, as shown in FIG. 9.
아래의 표 1은 본 발명의 동적 블록체인 시스템과 공개된 하이퍼레저 패브릭 및 해시그래프의 특징을 비교한 것이다.Table 1 below compares the characteristics of the dynamic blockchain system of the present invention with the published Hyperledger fabric and hash graph.
도 10은 본 발명의 일실시예에 따른 동적 블록체인 시스템의 동작 방법의 흐름도를 도시하는 도면이다. 10 is a diagram illustrating a flowchart of a method of operating a dynamic blockchain system according to an embodiment of the present invention.
트랜잭션 관리 노드(124)는 소정 개수의 트랜잭션 노드(122)를 연결하여 하나의 채널을 생성한다(S1002). 트랜잭션 관리 노드(124))는 각 채널의 트랜잭션 노드(122)마다 트랜잭션이 송신될 다음 트랜잭션 노드를 매핑한다(S1004). 트랜잭션 관리 노드(124)는 각 채널의 마지막 송신될 트랜잭션 노드(122)에 트랜잭션이 송신될 블록 노드(132)를 매핑한다(S1006). 단말기 관리 노드(114)는 새로운 단말기 노드(112)가 가입되면 트랜잭션이 송신될 트랜잭션 노드(122)를 매핑한다(S1008). The
이후, 복수의 단말기 노드들(112) 중 하나의 단말기 노드, 예를 들어 #01에서 매핑된 트랜잭션 노드(122)에 트랜잭션을 송신한다(S1010). 해당 채널의 복수의 트랜잭션 노드들(122)에서 단말기 노드(112)로부터 송신된 트랜잭션을 비동기적으로 처리하고 가상 블록의 합의를 수행한다(S1012). Thereafter, a transaction is transmitted to one of the plurality of
트랜잭션 관리 노드(124)는 하나의 트랜잭션에 대해 가상 블록이 합의될 때마다 송신되는 특정의 트랜잭션 노드(122)의 통지 정보로부터 특정의 트랜잭션 노드(122)의 로드 상태를 판정한다(S1014). The
트랜잭션 관리 노드(124)는 특정의 트랜잭션 노드(122)의 로드 상태에 따라 복수의 트랜잭션 노드들(122)의 로드 밸런싱을 자동으로 수행한다(S1016). 예컨대 트랜잭션 관리 노드(124)는 특정의 트랜잭션 노드(122)의 로드가 제1 임계치 이상이면 소정 개수의 트랜잭션 노드들(122)을 새로운 채널로 매핑하여 특정 채널로부터 분기시킬 수 있으며, 해당 채널의 로드가 제2 임계치 이하이면 다른 채널을 해당 채널에 병합시킬 수 있다. The
블록 노드(132)는 트랜잭션마다 가상 블록의 합의 후 송신된 트랜잭션을 적어도 수백 개 이상 모아 블록을 생성하여 블록체인을 만든다(S1018). The
이상에서 설명된 본 발명의 실시예들은 본 발명의 기술 사상을 예시적으로 보여준 것에 불과하며, 본 발명의 보호 범위는 이하 특허청구범위에 의하여 해석되어야 마땅할 것이다. 또한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형할 수 있을 것인 바, 본 발명과 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The embodiments of the present invention described above are merely illustrative of the technical idea of the present invention, and the protection scope of the present invention should be interpreted by the following claims. In addition, those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention, and all technical ideas within the scope equivalent to the present invention are the present invention. It should be construed as being included in the scope of rights of
100: 동적 블록체인 시스템 110: 단말기 노드 풀
112: 단말기 노드 114: 단말기 관리 노드
120: 트랜잭션 노드 풀 122: 트랜잭션 노드
124: 트랜잭션 관리 노드 130: 블록 노드 풀
132: 블록 노드 134: 블록 관리 노드100: dynamic blockchain system 110: terminal node pool
112: terminal node 114: terminal management node
120: transaction node pool 122: transaction node
124: transaction management node 130: block node pool
132: block node 134: block management node
Claims (10)
가상 블록의 합의를 수행하는 복수의 트랜잭션 노드들 - 상기 복수의 트랜잭션 노드들의 각각은, 각 트랜잭션 노드에 다음에 연결될 트랜잭션 노드가 매핑되어 있어서, 상기 단말기 노드 풀의 각 단말기 노드에서, 송신된 트랜잭션을 비동기적으로 처리하게 함 - 과, 상기 복수의 트랜잭션 노드들의 로드 밸런싱을 자동으로 수행하는 트랜잭션 관리 노드를 포함하는 트랜잭션 노드 풀 - 상기 복수의 트랜잭션 노드들의 각각에는 다음에 연결될 트랜잭션 노드가 매핑되어 있으며, 상기 트랜잭션 관리 노드의 제어에 따라, 소정의 트랜잭션이 수행될 트랜잭션 노드가 선택될 수 있음 -; 및
상기 트랜잭션 노드 풀에서 트랜잭션마다 가상 블록의 합의 후 송신된 트랜잭션을 적어도 수백 개 이상 모아 블록을 생성하여 블록체인을 만드는 블록 노드 풀을 포함하고,
상기 트랜잭션 관리 노드는,
각 트랜잭션 노드들을 하나의 채널로 매핑하고,
소정의 트랜잭션에 대해 가상 블록이 합의될 때마다 송신되는 트랜잭션 노드의 통지 정보에 근거하여, 특정 채널의 트랜잭션 노드의 로드 상태를 판정하고,
상기 트랜잭션 노드의 로드가 임계치 이상이면 추가의 트랜잭션 노드를 상기 특정 채널에 추가하고,
이후에 상기 특정 채널의 상기 트랜잭션 노드로 송신되는 트랜잭션들을 상기 특정 채널의 상기 트랜잭션 노드와 상기 특정 채널의 상기 추가의 트랜잭션 노드에 동적으로 분배하여 로드 밸런싱을 자동으로 수행하는 것을 특징으로 하는 동적 블록체인 시스템.A terminal node pool including a plurality of terminal nodes owned by a user, and in which a transaction node to which a transaction is to be transmitted is mapped to each terminal node;
A plurality of transaction nodes performing consensus of a virtual block-Each of the plurality of transaction nodes has a transaction node to be connected next to each transaction node, so that each terminal node of the terminal node pool performs a transmitted transaction. Asynchronous processing-and, a pool of transaction nodes including a transaction management node that automatically performs load balancing of the plurality of transaction nodes-a transaction node to be connected next is mapped to each of the plurality of transaction nodes, Under the control of the transaction management node, a transaction node in which a predetermined transaction is to be performed may be selected; And
In the transaction node pool, it includes a block node pool to create a block chain by collecting at least hundreds of transactions transmitted after consensus of virtual blocks for each transaction, and creating a block,
The transaction management node,
Map each transaction node to one channel,
Based on the notification information of the transaction node transmitted whenever a virtual block is agreed upon for a predetermined transaction, the load state of the transaction node of a specific channel is determined,
If the load of the transaction node is greater than or equal to a threshold, an additional transaction node is added to the specific channel,
A dynamic blockchain, characterized in that load balancing is automatically performed by dynamically distributing transactions transmitted to the transaction node of the specific channel to the transaction node of the specific channel and the additional transaction node of the specific channel. system.
상기 블록 노드 풀에서 만들어진 상기 블록체인의 트랜잭션에는 해당 트랜잭션 합의와 관련된 상기 소정의 트랜잭션 노드들의 송신 순서가 포함되어 있는 것을 특징으로 하는 동적 블록체인 시스템. The method of claim 1,
A dynamic blockchain system, characterized in that the transaction of the block chain created from the block node pool includes a transmission order of the predetermined transaction nodes related to a corresponding transaction agreement.
상기 단말기 노드 풀은 상기 복수의 단말기 노드들과 각 단말기 노드에서 트랜잭션이 송신될 트랜잭션 노드를 매핑하는 단말기 관리 노드를 더 포함하고,
상기 단말기 관리 노드는 상기 매핑뿐만 아니라 회원 가입과 인증을 관리하는 서버 기능을 수행하는 것을 특징으로 하는 동적 블록 체인 시스템.The method of claim 1,
The terminal node pool further includes a terminal management node for mapping the plurality of terminal nodes and a transaction node to which a transaction is to be transmitted from each terminal node,
The terminal management node is a dynamic blockchain system, characterized in that it performs a server function for managing not only the mapping, but also membership registration and authentication.
각 단말기 노드에 트랜잭션이 송신될 트랜잭션 노드, 그리고 각 트랜잭션 노드에 다음에 연결될 트랜잭션 노드를 매핑하는 단계;
상기 복수의 단말기 노드들 중 하나의 단말기 노드에서 매핑된 트랜잭션 노드에 트랜잭션을 송신하는 단계;
상기 복수의 트랜잭션 노드들에서 상기 단말기 노드로부터 송신된 트랜잭션을 비동기적으로 처리하고 가상 블록의 합의를 수행하는 단계; 및
상기 트랜잭션 노드 풀에서 트랜잭션마다 가상 블록의 합의 후 송신된 트랜잭션을 적어도 수백 개 이상 모아 블록을 생성하여 블록체인을 만드는 단계;를 포함하고,
상기 복수의 트랜잭션 노드들에서 트랜잭션을 비동기적으로 처리하는 단계는:
각 트랜잭션 노드들을 하나의 채널로 매핑하는 것,
소정의 트랜잭션에 대해 가상 블록이 합의될 때마다 송신되는 트랜잭션 노드의 통지 정보에 근거하여, 특정 채널의 트랜잭션 노드의 로드 상태를 판정하는 것,
상기 트랜잭션 노드의 로드가 임계치 이상이면 추가의 트랜잭션 노드를 상기 특정 채널에 추가하는 것,
이후에 상기 특정 채널의 상기 트랜잭션 노드로 송신되는 트랜잭션들을 상기 특정 채널의 상기 트랜잭션 노드와 상기 특정 채널의 상기 추가의 트랜잭션 노드에 동적으로 분배하여 로드 밸런싱을 자동으로 수행하는 것을 더 포함하는 것을 특징으로 하는 동적 블록체인 시스템의 동작 방법.
In the method of operating a dynamic blockchain system including a terminal node pool including a plurality of terminal nodes owned by a user and a transaction node pool including a plurality of transaction nodes,
Mapping a transaction node to which a transaction is to be transmitted to each terminal node, and a transaction node to be connected next to each transaction node;
Transmitting a transaction from one of the plurality of terminal nodes to a mapped transaction node;
Asynchronously processing a transaction transmitted from the terminal node in the plurality of transaction nodes and performing virtual block consensus; And
Including; in the transaction node pool, creating a block chain by collecting at least hundreds of transactions transmitted after consensus of virtual blocks for each transaction to create a block; Including,
Asynchronously processing a transaction in the plurality of transaction nodes includes:
Mapping each transaction node to one channel,
Determining the load status of the transaction node of a specific channel based on the notification information of the transaction node transmitted each time a virtual block is agreed upon for a given transaction,
If the load of the transaction node is greater than or equal to a threshold, adding an additional transaction node to the specific channel,
Subsequently, the transaction being transmitted to the transaction node of the specific channel is dynamically distributed to the transaction node of the specific channel and the additional transaction node of the specific channel to automatically perform load balancing. How to operate a dynamic blockchain system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180140755A KR102258722B1 (en) | 2018-11-15 | 2018-11-15 | Dynamic Blockchain System and Operating Method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180140755A KR102258722B1 (en) | 2018-11-15 | 2018-11-15 | Dynamic Blockchain System and Operating Method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200056729A KR20200056729A (en) | 2020-05-25 |
KR102258722B1 true KR102258722B1 (en) | 2021-05-31 |
Family
ID=70914552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180140755A KR102258722B1 (en) | 2018-11-15 | 2018-11-15 | Dynamic Blockchain System and Operating Method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102258722B1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210147496A (en) | 2020-05-29 | 2021-12-07 | (주)바다플랫폼 | Data storage and inquiry method using a data storage device based on a blockchain network with a chain database |
KR102440733B1 (en) * | 2020-10-26 | 2022-09-05 | 피네보 주식회사 | System and method for processing card payment |
KR102396631B1 (en) * | 2020-11-12 | 2022-05-11 | 주식회사 티맥스엔터프라이즈 | Blockchain system |
KR102655765B1 (en) * | 2021-06-16 | 2024-04-09 | 계명대학교 산학협력단 | Method and apparatus for providing blockchain |
CN113626530A (en) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | Block generation method, computer device and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101590076B1 (en) * | 2015-11-18 | 2016-02-01 | 주식회사 웨이브스트링 | Method for managing personal information |
-
2018
- 2018-11-15 KR KR1020180140755A patent/KR102258722B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101590076B1 (en) * | 2015-11-18 | 2016-02-01 | 주식회사 웨이브스트링 | Method for managing personal information |
Non-Patent Citations (2)
Title |
---|
BFT 기반 합의 알고리즘, 아이콘루프, https://blog.theloop.co.kr/2017/06/21/bft-%EA%B8%B0%EB%B0%98-%ED%95%A9%EC%9D%98-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/(2017.06.21.) 1부.* |
아크로니, 소프트웨어 정의 스토리지(SDS) ‘아크로니스 스토리지’ 출시, elec4, http://www.elec4.co.kr/article/articleView.asp?idx=15665 (2016.10.25.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20200056729A (en) | 2020-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102258722B1 (en) | Dynamic Blockchain System and Operating Method thereof | |
CN110598394B (en) | Authority verification method and device and storage medium | |
JP2020521252A5 (en) | ||
CN100586058C (en) | J2EE middleware criterion based tolerant inbreak application server and tolerant inbreak method | |
US20050027862A1 (en) | System and methods of cooperatively load-balancing clustered servers | |
CN111181715A (en) | Multi-party cross-linking method based on consistent Hash consensus protocol | |
JP2007507760A (en) | Secure cluster configuration dataset transfer protocol | |
CN101719258B (en) | Method and system for processing remote double-center transaction information based on large computer | |
CN110599144B (en) | Network access method and device for blockchain nodes | |
CN113553375B (en) | Partitioned storage device and method for image type block chain | |
CN113922971B (en) | Cross-chain interaction method and device | |
CN110706113A (en) | Cross-block-chain data processing method, device, equipment and medium | |
CN104871168A (en) | Resource protection on un-trusted devices | |
CN112835977A (en) | Database management method and system based on block chain | |
CN111770477A (en) | Deployment method and related device of protected resources of MEC network | |
CN114978638B (en) | Block chain cross-chain supervision method based on shared node | |
Urmila et al. | A comparitive study of blockchain applications for enhancing internet of things security | |
Zhang et al. | Blockchain based big data security protection scheme | |
Grybniak et al. | Waterfall: a scalable distributed ledger technology | |
EP3648430B1 (en) | Hardware security module | |
CN111177262A (en) | Block chain consensus method, related device and system | |
CN112995127A (en) | Intelligent home management system based on block chain | |
CN114637472A (en) | DHT-based block chain storage expansion method, electronic equipment and storage medium | |
Al-Mamun et al. | Trustworthy edge computing through blockchains | |
KR102130699B1 (en) | Block-chain based voting system operating method with distributed transaction pool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |