KR20230075759A - Blockchain system for using a proxy server to transfer transactions between nodes - Google Patents
Blockchain system for using a proxy server to transfer transactions between nodes Download PDFInfo
- Publication number
- KR20230075759A KR20230075759A KR1020210162257A KR20210162257A KR20230075759A KR 20230075759 A KR20230075759 A KR 20230075759A KR 1020210162257 A KR1020210162257 A KR 1020210162257A KR 20210162257 A KR20210162257 A KR 20210162257A KR 20230075759 A KR20230075759 A KR 20230075759A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- transaction
- group
- nodes
- blockchain
- Prior art date
Links
- 238000012546 transfer Methods 0.000 title description 3
- 238000012795 verification Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 abstract description 14
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000004744 fabric Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- 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/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 블록체인 기술에 관한 것으로, 보다 상세하게는 트랜잭션 처리 성능을 높이기 위해 프록시 서버를 사용하는 블록체인 기술에 관한 것이다The present invention relates to blockchain technology, and more particularly to blockchain technology using a proxy server to increase transaction processing performance.
블록체인은 P2P(Peer to Peer) 네트워크에 참여하는 모든 노드들이 거래내역 등의 데이터를 분산 처리하는 탈중앙화 기술이다. 블록체인은 데이터를 블록이라고 하는 단위로 저장하며, 이 블록이 체인 형태의 자료 구조로 저장 및 관리된다. 블록체인은 트랜잭션의 무결성과 보안성을 보장하기 위해 모든 노드들이 작업증명 또는 지분증명 등의 합의 과정이 필요하다.Blockchain is a decentralized technology in which all nodes participating in a P2P (Peer to Peer) network distribute and process data such as transaction details. Blockchain stores data in units called blocks, and these blocks are stored and managed in a chain-type data structure. Blockchain requires a consensus process such as proof-of-work or proof-of-stake by all nodes to ensure the integrity and security of transactions.
블록체인의 트랜잭션 처리 속도(TPS)는 블록 생성에 사용되는 합의 알고리즘 성능과 노드 간의 트랜잭션/블록 전파 성능에 의해 크게 좌우 된다. 과거에는 블록체인의 트랜잭션 처리 성능에 대한 연구는 합의 알고리즘 성능 분석과 개선에 초점이 맞춰진 것에 비해 최근에는 네트워크 성능에도 많은 연구가 진행 되고 있다. The transaction processing speed (TPS) of a blockchain is highly dependent on the performance of the consensus algorithm used for block generation and the performance of transaction/block propagation between nodes. In the past, research on transaction processing performance of blockchains focused on analyzing and improving consensus algorithm performance, but recently, a lot of research has been conducted on network performance.
하나의 블록에 들어가는 트랜잭션의 수를 늘리거나, 블록 생성 주기를 줄이는 방법으로 트랜잭션 처리 속도를 증가시키는 기법이 제안되어 왔다.A technique for increasing the transaction processing speed by increasing the number of transactions included in one block or reducing the block generation cycle has been proposed.
대표적으로 멀티 레벨 큐 스케줄링 방식으로 트랜잭션을 처리하여 하이퍼레저 패브릭(Hyperledger Fabric)에서 많은 양의 트랜잭션을 한번에 처리할 수 있는 Nexledger Accelerator가 있다. Nexledger Accelerator는 각 거래에 대해 매번 합의 과정을 수행하지 않고 접근하려는 키나 주소가 중복되지 않는 다수의 거래를 분류하여 하나의 신규 트랜잭션으로 결합하고 합의하는 방식을 사용한다. Nexledger Accelerator는 단일 합의 단계에서 더 많은 트랜잭션을 처리할 수 있기 때문에 시간당 처리 성능이 향상된다.Representatively, there is Nexledger Accelerator, which can process a large amount of transactions at once in Hyperledger Fabric by processing transactions with a multi-level queue scheduling method. Nexledger Accelerator classifies multiple transactions that do not have overlapping keys or addresses to access, combines them into one new transaction, and uses a method of consensus without performing a consensus process for each transaction. Because Nexledger Accelerator can process more transactions in a single consensus step, throughput per hour increases.
본 발명은 블록체인 노드간의 트랜잭션 전파 방식에서 프록시 서버를 이용하여 트랜잭션을 빠르게 처리하고 효율적으로 전파하는 시스템을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a system that quickly processes and efficiently propagates transactions using a proxy server in a transaction propagation method between blockchain nodes.
본 발명의 일 양상에 따르면, 블록체인 시스템은 에이전트와, 하나 이상의 노드 그룹을 포함한다.According to one aspect of the present invention, a blockchain system includes an agent and one or more node groups.
에이전트는 사용자 어플리케이션으로부터 수신된 트랜잭션 요청들로부터 트랜잭션 배치 번들을 생성하여 블록체인 노드로 전송한다.The agent creates a transaction batch bundle from the transaction requests received from the user application and sends it to the blockchain node.
노드 그룹은 하나 이상의 생성 노드와, 하나 이상의 검증 노드와, 그룹 프록시 서버를 포함한다. 생성 노드는 에이전트로부터 수신한 트랜잭션 배치 번들에 포함된 트랜잭션들을 검증하고 정렬하여 트랜잭션 블록을 생성하고, 검증 노드는 생성 노드에 의해 생성된 트랜잭션 블록을 검증하고 블록체인에 해당 블록을 추가하고, 그룹 프록시 서버는 생성 노드로부터 트랜잭션 블록을 수신하여 동일 그룹의 모든 검증 노드에 전달한다. 이때, 생성 노드는 자신이 속한 그룹의 그룹 프록시 서버를 포함하여 모든 그룹 프록시 서버에 생성된 트랜잭션 블록을 전달한다.A node group includes one or more generation nodes, one or more verification nodes, and a group proxy server. The generation node verifies and sorts the transactions included in the transaction batch bundle received from the agent to create a transaction block, the verification node verifies the transaction block generated by the generation node, adds the corresponding block to the blockchain, and proxies the group The server receives the transaction block from the producing node and forwards it to all validating nodes in the same group. At this time, the creation node delivers the generated transaction block to all group proxy servers, including the group proxy server of the group to which it belongs.
본 발명의 또 다른 양상에 따르면, 그룹 프록시 서버가 각 생성 노드로부터 수신한 트랜잭션 블록들에 포함된 동일한 트랜잭션 데이터를 검증 노드 전달 시 한번만 전송되도록 처리할 수 있다.According to another aspect of the present invention, the group proxy server may transmit the same transaction data included in the transaction blocks received from each generating node only once when transmitting to the verifying node.
본 발명의 추가적 양상에 따르면, 블록체인 시스템은 노드 정보 수집 서버를 더 포함할 수 있고, 노드 정보 수집 서버는 각 노드 그룹의 검증 노드들의 동작 상태 정보 및 성능 정보를 수집할 수 있다.According to an additional aspect of the present invention, the blockchain system may further include a node information collection server, and the node information collection server may collect operational state information and performance information of verification nodes of each node group.
이때, 에이전트는 검증 노드들의 동작 상태 정보 및 성능 정보에 따라 생성된 트랜잭션 배치 번들을 블록체인 노드로 분배하여 전송할 수 있다.At this time, the agent may distribute and transmit the transaction batch bundle generated according to the operational state information and performance information of the verification nodes to the blockchain nodes.
본 발명의 추가적 양상에 따르면, 블록체인 시스템은 노드 그룹 관리 서버를 더 포함할 수 있고, 노드 그룹 관리 서버는 검증 노드들의 동작 상태 정보에 따라 노드 그룹의 구성을 재설정할 수 있다.According to an additional aspect of the present invention, the blockchain system may further include a node group management server, and the node group management server may reset the configuration of the node group according to operational state information of the verification nodes.
본 발명에 의하면 블록체인 노드간의 트랜잭션 전파 시 프록시 서버를 이용하여 트랜잭션을 빠르게 처리하고 효율적으로 전파할 수 있다.According to the present invention, when propagating a transaction between blockchain nodes, the transaction can be quickly processed and efficiently propagated using a proxy server.
도 1은 본 발명의 블록체인 시스템이 프록시 서버를 이용하여 노드 그룹 사이에서 트랜잭션을 전달하는 개념을 도시한 블록도이다.
도 2는 본 발명의 블록체인 시스템의 프록시 서버가 중복된 트랜잭션 데이터를 처리하는 개념을 도시한 것이다.
도 3은 본 발명의 블록체인 시스템의 블록도로 검증 서버의 상태 및 성능 정보 수집과 관련된 블록을 도시한 것이다.1 is a block diagram illustrating the concept of the blockchain system of the present invention transferring transactions between node groups using a proxy server.
2 illustrates the concept of processing redundant transaction data by the proxy server of the blockchain system of the present invention.
Figure 3 is a block diagram of the blockchain system of the present invention, showing blocks related to the status and performance information collection of the verification server.
전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시 예들을 통해 구체화된다. 각 실시 예들의 구성 요소들은 다른 언급이나 상호 간에 모순이 없는 한 실시 예 내에서 다양한 조합이 가능한 것으로 이해된다. 블록도의 각 블록은 어느 경우에 있어서 물리적인 부품을 표현할 수 있으나 또 다른 경우에 있어서 하나의 물리적인 부품의 기능의 일부 혹은 복수의 물리적인 부품에 걸친 기능의 논리적인 표현일 수 있다. 때로는 블록 혹은 그 일부의 실체는 프로그램 명령어들의 집합(set)일 수 있다. 이러한 블록들은 전부 혹은 일부가 하드웨어, 소프트웨어 혹은 이들의 결합에 의해 구현될 수 있다.The foregoing and additional aspects are embodied through embodiments described with reference to the accompanying drawings. It is understood that the components of each embodiment can be combined in various ways within an embodiment unless otherwise stated or mutually contradictory. Each block in the block diagram may represent a physical component in one case, but in another case, it may be a logical representation of a function of a portion of a function of one physical component or a function across multiple physical components. Sometimes the substance of a block or part thereof may be a set of program instructions. All or part of these blocks may be implemented by hardware, software, or a combination thereof.
도 1은 본 발명의 블록체인 시스템이 프록시 서버를 이용하여 노드 그룹 사이에서 트랜잭션을 전달하는 개념을 도시한 블록도이다. 본 발명의 일 양상에 따르면, 블록체인 시스템은 에이전트(100)와, 하나 이상의 노드 그룹(200)을 포함한다.1 is a block diagram illustrating the concept of the blockchain system of the present invention transferring transactions between node groups using a proxy server. According to one aspect of the present invention, a blockchain system includes an
본 발명의 블록체인 시스템은 멀티채널 기반으로 운영되는 블록체인 시스템이다. 블록체인 시스템은 개방형으로 다양한 컴퓨터 장비를 이용하여 누구나 참여가 가능한 퍼블릭 블록체인과, 폐쇄형으로 허가 받은 제한된 노드만 참여할 수 있는 프라이빗 블록체인과, 혼합형 블록체인 하이브리드 블록체인으로 구분된다. 채널은 주로 기업용으로 사용되는 프라이빗 블록체인에서 도입된 개념으로 전체 블록체인 시스템을 다수의 채널로 구분하여 멀티 블록체인 방식으로 운영이 가능하도록 한다. 즉, 하나의 시스템에서 다수의 블록체인을 운영할 수 있다. 따라서, 멀티채널 기반으로 운영되는 블록체인 시스템은 채널 별로 독립적인 블록체인을 유지하고, 참여자는 특정 채널에 가입함으로써 블록체인을 선택할 수 있다. 멀티채널 기반으로 운영되는 블록체인 시스템의 하나의 예로 하이퍼레저 패브릭이 있다. 본 발명의 블록체인 시스템은 멀티채널을 지원하는 프라이빗 블록체인이거나, 멀티채널을 지원하는 퍼블릭 블록체인일 수 있다.The blockchain system of the present invention is a blockchain system operated on a multi-channel basis. The blockchain system is divided into a public blockchain in which anyone can participate using various computer equipment in an open type, a private blockchain in which only limited nodes with permission can participate in a closed type, and a hybrid blockchain in a mixed type blockchain. A channel is a concept introduced in private blockchains, which are mainly used for businesses, and divides the entire blockchain system into multiple channels so that it can be operated in a multi-blockchain manner. In other words, multiple blockchains can be operated in one system. Therefore, a blockchain system operated on a multi-channel basis maintains an independent blockchain for each channel, and participants can select a blockchain by subscribing to a specific channel. Hyperledger Fabric is an example of a blockchain system operated on a multi-channel basis. The blockchain system of the present invention may be a private blockchain supporting multi-channel or a public blockchain supporting multi-channel.
에이전트(100)는 사용자 어플리케이션(500)으로부터 수신된 트랜잭션 요청들로부터 트랜잭션 배치 번들을 생성하여 블록체인 노드로 전송한다.The
사용자 어플리케이션(500)은 API를 호출하여 트랜잭션 요청을 발생시킨다. 에이전트(100)는 사용자 어플리케이션(500)이 스마트 컨트랙트 등을 통해 블록체인의 원장에 정보를 기록하기 위해 발생시킨 트랜잭션 요청을 수신한다. 에이전트(100)가 수집하는 트랜잭션은 단일 트랜잭션이다. 에이전트(100)는 배치 알고리즘에 따라 트랜잭션을 분류하여 채널 별로 트랜잭션 배치 번들을 생성한다. 배치 알고리즘은 트랜잭션의 특성에 따라 트랜잭션 처리 성능을 향상시키기 위한 방법이 구현된 것으로 그 방법은 제한이 없다. 예를 들어, 배치 알고리즘은 채널 별로 지정된 시간 동안 설정된 개수로 트랜잭션을 모아 트랜잭션 배치 번들을 생성할 수 있다. 다른 예로, 배치 알고리즘은 채널 별로 지정된 시간 동안 연관성 있는 데이터(예, 동일한 함수를 사용하는 트랜잭션)를 포함하는 트랜잭션을 모아 트랜잭션 배치 번들을 생성할 수 있다. 또 다른 예로, 배치 알고리즘은 채널 별로 지정된 시간 동안 트랜잭션 데이터에 포함된 키 값(배치로 묶는 기준이 되는 값)에 기초하여 연관성 있는 트랜잭션을 모아 트랜잭션 배치 번들을 생성할 수 있다.The
노드 그룹(200)은 하나 이상의 생성 노드(210)와, 하나 이상의 검증 노드(220)와, 그룹 프록시 서버(230)를 포함한다. 도 1에 도시된 예에서, 블록체인 시스템은 3개의 노드 그룹(200_1, 200_2, 200_3)으로 구성되어 있다. 또한, 각 노드 그룹(200)은 3개의 생성 노드(210)와, 그룹 프록시 서버(230)와, 3개의 검증 노드(220)를 포함하고 있다. 노드 그룹#1(200_1)은 생성 노드#1(210_1)과 생성 노드#2(210_2)와 생성 노드#3(210_3)과, 그룹 프록시 서버#1(230_1)과, 검증 노드#1(220_1)과 검증 노드#2(220_2)와 검증 노드#3(220_3)을 포함한다. 도 1에 도시된 예는 각 노드 그룹(200)이 동일한 수의 생성 노드(210)와, 검증 노드(220)를 포함하는 것으로 도시되어 있다. 블록체인 시스템은 효율적인 트랜잭션 처리를 위하여 노드 그룹(200)들에 포함되는 노드들의 수를 동일하게 하는 것이 바람직하나 이에 제한되는 것은 아니며 노드들의 처리 성능에 따라 노드 그룹(200) 별로 포함되는 노드들의 수를 다르게 설정할 수 있다.
생성 노드(210)는 에이전트(100)로부터 수신한 트랜잭션 배치 번들에 포함된 트랜잭션들을 시뮬레이션하여 검증하고 정렬하여 트랜잭션 블록을 생성한다. 일 예로 블록체인 시스템이 하이퍼레저 패브릭 플랫폼인 경우 생성 노드(210)는 원장 갱신을 리스닝하고 그 사본을 유지하는 피어(peer) 노드이며, 엔도징(endorsing) 피어에 해당된다. 생성 노드(210)는 트랜잭션을 시뮬레이션하고 엔도즈(endorse)한다. 생성 노드(210)는 또한 엔드즈된 트랜잭션을 배열하여 블록으로 생성하는 오더링(ordering) 기능도 수행한다.The generating
생성 노드(210)는 자신이 속한 그룹의 그룹 프록시 서버(230)를 포함하여 모든 그룹 프록시 서버(230)에 생성된 트랜잭션 블록을 전달한다. 도 1에 도시된 예에서 생성 노드#1(210_1)은 자신이 속한 노드 그룹의 그룹 프록시 서버#1(230_1) 뿐만 아니라 다른 노드 그룹의 그룹 프록시 서버#2(230_2)와 그룹 프록시 서버#3(230_3)에도 생성된 트랜잭션 블록을 전달한다.The
생성 노드(210)는 트랜잭션 블록을 전달할 때 생성 노드(210)가 속한 노드 그룹의 검증 노드 정보를 함께 전달할 수 있다.When the
검증 노드(220)는 생성 노드(210)에 의해 생성된 트랜잭션 블록을 검증하고 블록체인에 해당 블록을 추가한다. 일 예로 블록체인 시스템이 하이퍼레저 패브릭 플랫폼인 경우 검증 노드(220)는 원장 갱신을 리스닝하고 그 사본을 유지하는 피어(peer) 노드이며, 커미팅(committing) 피어에 해당된다. 검증 노드(220)는 트랜잭션을 검증하고 블록체인 네트워크에 커밋한다.The
그룹 프록시 서버(230)는 노드 그룹(200) 별로 하나씩 포함되며, 생성 노드(210)로부터 트랜잭션 블록을 수신하여 동일 그룹의 모든 검증 노드(220)에 전달한다. 그룹 프록시 서버(230)는 동일한 노드 그룹에 속한 생성 노드(210) 외 다른 노드 그룹에 속한 생성 노드(210)들로부터 검증된 트랜잭션 블록을 수신한다. 따라서, 해당 노드 그룹의 생성 노드(210)에 검증할 트랜잭션이 할당되지 않았더라도 다른 노드 그룹에 속한 생성 노드(210)들로부터 트랜-션 블록을 수신하여 자신이 속한 노드 그룹의 검증 노드(220)들에게 전달할 수 있다.The
도 2는 본 발명의 블록체인 시스템의 프록시 서버가 중복된 트랜잭션 데이터를 처리하는 개념을 도시한 것이다. 본 발명의 또 다른 양상에 따르면, 그룹 프록시 서버(230)가 각 생성 노드(210)로부터 수신한 트랜잭션 블록들에 포함된 동일한 트랜잭션 데이터를 검증 노드(220) 전달 시 한번만 전송되도록 처리할 수 있다.2 illustrates the concept of processing redundant transaction data by the proxy server of the blockchain system of the present invention. According to another aspect of the present invention, the same transaction data included in the transaction blocks received from each
그룹 프록시 서버(230)가 모든 생성 노드(210)로부터 수신하는 트랜잭션 블록에 포함된 트랜잭션 데이터들은 중복된 데이터를 포함할 수 있다. 즉, 그룹 프록시 서버(230)는 다른 노드 그룹에 속하는 생성 노드(210)들로부터도 트랜잭션 블록을 수신할 수 있다. 일 예로 블록체인 시스템이 하이퍼레저 패브릭 플랫폼인 경우 도 2에 도시된 것과 같이 어플리케이션 제안 서명(Application proposal sign)과, 제안 페이로드(Proposal payload)와, 시뮬레이션 페이로드(Simulation payload)가 중복되므로 그룹 프록시 서버(230)는 이들 중복된 데이터를 제외하고 검증 노드(220)에 전송함으로써 트랜잭션 데이터의 양을 줄여 검증 노드(220)의 부하를 분산시켜 시스템의 효율성을 높일 수 있다. 어플리케이션 제안 서명은 사용자 어플리케이션(500)은 최초 거래 요청 시 제안 트랜잭션(Proposal transaction)에 포함되는 앱 서명 정보이고, 제안 페이로드는 사용자 어플리케이션(500)이 최초 거래 요청 시 제안 트랜잭션(Proposal transaction)에 포함되는 거래 정보이며, 시뮬레이션 페이로드는 엔도징 피어가 사용자 어플리케이션(500)으로부터 거래 요청을 받으면 요청된 거래에 대해 검증을 실행하고 문제가 없다면 체인코드를 호출한 후 요청된 거래에 대해 읽기 종속성(readset) 및 업데이트 (writeset)를 계산한 시뮬레이션 정보이다.Transaction data included in the transaction block that the
도 2의 예에서 생성 노드#1(210_1), 생성 노드#2(210_2), 생성 노드#3(210_3)이 전달하는 트랜잭션 데이터들은 모두 어플리케이션 제안 서명(Application proposal sign)과, 제안 페이로드(Proposal payload)와, 시뮬레이션 페이로드(Simulation payload)를 포함하나 그룹 프록시 서버(230)는 중복을 제외하고 생성 노드#1(210_1)이 전달한 트랜잭션 데이터만 그대로 전달하고 생성 노드#2(210_2) 및 생성 노드#3(210_3)이 전달한 트랜잭션 데이터는 중복된 부분을 제외하고 전송한다.In the example of FIG. 2 , the transaction data transmitted by generation node #1 (210_1), generation node #2 (210_2), and generation node #3 (210_3) are all application proposal signatures and proposal payloads. payload) and simulation payload, but the
도 3은 본 발명의 블록체인 시스템의 블록도로 검증 서버의 상태 및 성능 정보 수집과 관련된 블록을 도시한 것이다. 본 발명의 추가적 양상에 따르면, 블록체인 시스템은 노드 정보 수집 서버(300)를 더 포함할 수 있고, 노드 정보 수집 서버(300)는 각 노드 그룹(200)의 검증 노드(220)들의 동작 상태 정보 및 성능 정보를 수집할 수 있다.Figure 3 is a block diagram of the blockchain system of the present invention, showing blocks related to the status and performance information collection of the verification server. According to an additional aspect of the present invention, the blockchain system may further include a node information collection server 300, and the node information collection server 300 includes operational state information of the
노드 정보 수집 서버(300)가 수집하는 블록체인 노드 특히 검증 노드(220)의 상태는 동작 가능 여부를 의미한다. 검증 노드(220)가 동작 불능 상태인 경우 부하 분산에서 제외시켜 효율성이 떨어지지 않도록 한다. 검증 노드(220)가 동작 불능 상태에서 정상 동작이 가능한 상태가 되며 다른 검증 노드(220)들과 동기화를 수행한 후 트랜잭션 처리를 수행한다.The state of the blockchain node, particularly the
노드 정보 수집 서버(300)는 설정된 주기로 트랜잭션 데이터를 처리하는 블록체인 노드 특히 검증 노드(220)로부터 성능 정보를 수집하여 검증 노드(220) 별 성능을 산출하고 관리할 수 있다. 노드 정보 수집 서버(300)는 멀티채널 블록체인 시스템에서 각 채널 별로 성능을 관리할 수 있다.The node information collection server 300 may collect performance information from blockchain nodes, in particular,
노드 정보 수집 서버(300)가 수집하는 성능 데이터는 해당 노드의 네트워크 사용량을 포함할 수 있다. 즉, 노드 정보 수집 서버(300)는 네트워크 사용량으로부터 노드 별 성능을 산출할 수 있다. 노드 정보 수집 서버(300)는 노드간 네트워크 트래픽을 고르게 분산시키기 위하여 네트워크 사용량에 기초하여 성능을 산출하며, 이를 Least Connection Scheduling이라고 한다. 트랜잭션을 많이 처리하는 노드가 네트워크의 사용량이 많을 수밖에 없으므로 노드 정보 수집 서버(300)는 각 노드의 네트워크 사용량을 주기적으로 수집하고 이를 성능으로 산출한다.The performance data collected by the node information collection server 300 may include network usage of a corresponding node. That is, the node information collection server 300 may calculate the performance of each node from network usage. The node information collection server 300 calculates performance based on network usage in order to evenly distribute network traffic between nodes, which is called Least Connection Scheduling. Since a node that processes a lot of transactions inevitably has a lot of network usage, the node information collection server 300 periodically collects the network usage of each node and calculates it as performance.
또한, 노드 정보 수집 서버(300)가 수집하는 성능 데이터는 블록체인 노드의 프로세스 정보를 포함할 수 있다. 프로세스 정보는 각 노드의 프로세스 사양 정보와, 현재의 프로세스 사용량 정보를 포함할 수 있다. 노드 정보 수집 서버(300)는 프로세스 정보로부터 프로세스 처리능력에 따른 가중치를 산출하여 네트워크 사용량과 가중치에 기초하여 트랜잭션 배치 번들을 전송할 블록체인 노드의 성능을 산출할 수 있다.In addition, the performance data collected by the node information collection server 300 may include process information of a blockchain node. The process information may include process specification information of each node and current process usage information. The node information collection server 300 may calculate the performance of the blockchain node to transmit the transaction batch bundle based on the network usage and weight by calculating the weight according to the process processing capability from the process information.
이때, 에이전트(100)는 검증 노드(220)들의 동작 상태 정보 및 성능 정보에 따라 생성된 트랜잭션 배치 번들을 블록체인 노드로 분배하여 전송할 수 있다.At this time, the
본 발명의 추가적 양상에 따르면, 블록체인 시스템은 노드 그룹 관리 서버(400)를 더 포함할 수 있고, 노드 그룹 관리 서버(400)는 검증 노드(220)들의 동작 상태 정보에 따라 노드 그룹(200)의 구성을 재설정할 수 있다.According to an additional aspect of the present invention, the blockchain system may further include a node
검증 노드(220)들의 동작 상태가 변경됨에 따라 노드 그룹(200) 사이에 트랜잭션 처리 성능에 불균형이 발생할 수 있다. 노드 그룹 관리 서버(400)는 검증 노드(220)들의 동작 상태의 변경에 따라 이러한 불균형이 발생하지 않도록 노드 그룹의 구성을 동적으로 변경하여 관리할 수 있다. 이때, 노드 그룹 관리 서버(400)는 노드 정보 수집 서버(300)가 수집한 검증 노드(220)들의 성능 정보를 반영하여 노드 그룹(200)을 동적으로 구성할 수 있다.As the operational states of the
이상에서 본 발명을 첨부된 도면을 참조하는 실시 예들을 통해 설명하였지만 이에 한정되는 것은 아니며, 이들로부터 당업자라면 자명하게 도출할 수 있는 다양한 변형 예들을 포괄하도록 해석되어야 한다. 특허청구범위는 이러한 변형 예들을 포괄하도록 의도되었다.In the above, the present invention has been described through embodiments with reference to the accompanying drawings, but is not limited thereto, and should be interpreted to cover various modifications that can be obviously derived by those skilled in the art. The claims are intended to cover such variations.
100 : 에이전트
200 : 노드 그룹
210 : 생성 노드
220 : 검증 노드
230 : 그룹 프록시 서버
300 : 노드 정보 수집 서버
400 : 노드 그룹 관리 서버
500 : 사용자 어플리케이션100: agent
200: node group
210: creation node
220: verification node
230: group proxy server
300: node information collection server
400: node group management server
500: user application
Claims (5)
하나 이상의 생성 노드와, 하나 이상의 검증 노드와, 그룹 프록시 서버를 포함하는 노드 그룹으로, 생성 노드는 에이전트로부터 수신한 트랜잭션 배치 번들에 포함된 트랜잭션들을 검증하고 정렬하여 트랜잭션 블록을 생성하고, 검증 노드는 생성 노드에 의해 생성된 트랜잭션 블록을 검증하고 블록체인에 해당 블록을 추가하고, 그룹 프록시 서버는 생성 노드로부터 트랜잭션 블록을 수신하여 동일 그룹의 모든 검증 노드에 전달하는 노드 그룹;
을 포함하되,
생성 노드는 자신이 속한 그룹의 그룹 프록시 서버를 포함하여 모든 그룹 프록시 서버에 생성된 트랜잭션 블록을 전달하는 블록체인 시스템.
an agent that generates a transaction batch bundle from transaction requests received from user applications and transmits the bundle to a blockchain node; and
A node group including one or more generation nodes, one or more verification nodes, and a group proxy server. The generation node verifies and sorts the transactions included in the transaction batch bundle received from the agent to create a transaction block, and the verification node generates a transaction block. A node group that verifies the transaction block generated by the generation node and adds the block to the block chain, and the group proxy server receives the transaction block from the generation node and forwards it to all verification nodes in the same group;
Including,
A creation node is a blockchain system that forwards generated transaction blocks to all group proxy servers, including the group proxy servers of the group to which it belongs.
그룹 프록시 서버는 각 생성 노드로부터 수신한 트랜잭션 블록들에 포함된 동일한 트랜잭션 데이터를 검증 노드 전달 시 한번만 전송되도록 처리하는 블록체인 시스템.
According to claim 1,
The group proxy server is a blockchain system that processes the same transaction data included in the transaction blocks received from each generation node to be transmitted only once when delivered to the verification node.
각 노드 그룹의 검증 노드들의 동작 상태 정보 및 성능 정보를 수집하는 노드 정보 수집 서버;
를 더 포함하는 블록체인 시스템.
3. The method of claim 2, wherein the system
a node information collection server that collects operation state information and performance information of verification nodes of each node group;
A blockchain system that further includes.
에이전트는 검증 노드들의 동작 상태 정보 및 성능 정보에 따라 생성된 트랜잭션 배치 번들을 블록체인 노드로 분배하여 전송하는 블록체인 시스템.
According to claim 3,
A blockchain system in which the agent distributes and transmits the transaction batch bundle generated according to the operational state information and performance information of the verification nodes to the blockchain nodes.
검증 노드들의 동작 상태 정보에 따라 노드 그룹의 구성을 재설정하는 노드 그룹 관리 서버;
를 더 포함하는 블록체인 시스템.4. The method of claim 3, wherein the system
a node group management server that resets the configuration of the node group according to the operation state information of the verification nodes;
A blockchain system that further includes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210162257A KR102557196B1 (en) | 2021-11-23 | 2021-11-23 | Blockchain system for using a proxy server to transfer transactions between nodes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210162257A KR102557196B1 (en) | 2021-11-23 | 2021-11-23 | Blockchain system for using a proxy server to transfer transactions between nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230075759A true KR20230075759A (en) | 2023-05-31 |
KR102557196B1 KR102557196B1 (en) | 2023-07-19 |
Family
ID=86543254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210162257A KR102557196B1 (en) | 2021-11-23 | 2021-11-23 | Blockchain system for using a proxy server to transfer transactions between nodes |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102557196B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180014534A (en) | 2016-08-01 | 2018-02-09 | 서강대학교산학협력단 | Verification system and method for transaction based block chain |
KR20190128814A (en) * | 2018-05-09 | 2019-11-19 | 삼성에스디에스 주식회사 | Method and apparatus for prcocessing transaction based on bllockchain and system tehereof |
KR20200142389A (en) * | 2019-06-12 | 2020-12-22 | 주식회사 위즈블 | Method and system for operating blockchain real time ecosystem |
KR20210080550A (en) * | 2019-02-21 | 2021-06-30 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | How to record data blocks in blockchain, leader accounting node and medium |
-
2021
- 2021-11-23 KR KR1020210162257A patent/KR102557196B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180014534A (en) | 2016-08-01 | 2018-02-09 | 서강대학교산학협력단 | Verification system and method for transaction based block chain |
KR20190128814A (en) * | 2018-05-09 | 2019-11-19 | 삼성에스디에스 주식회사 | Method and apparatus for prcocessing transaction based on bllockchain and system tehereof |
KR20210080550A (en) * | 2019-02-21 | 2021-06-30 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | How to record data blocks in blockchain, leader accounting node and medium |
KR20200142389A (en) * | 2019-06-12 | 2020-12-22 | 주식회사 위즈블 | Method and system for operating blockchain real time ecosystem |
Also Published As
Publication number | Publication date |
---|---|
KR102557196B1 (en) | 2023-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huba et al. | Papaya: Practical, private, and scalable federated learning | |
EP3817291B1 (en) | Block chain maintenance method and device, server, and computer readable storage medium | |
CN109246179B (en) | Method and apparatus for maintaining blockchain, server, and computer-readable storage medium | |
Gueta et al. | SBFT: A scalable and decentralized trust infrastructure | |
CN110348830B (en) | Block chain-based network system, authentication method, equipment and storage medium | |
Wang et al. | Performance characterization and bottleneck analysis of hyperledger fabric | |
US20210256016A1 (en) | Blockchain system and method | |
Kaur et al. | Scalability in blockchain: Challenges and solutions | |
CN108200208B (en) | Logistics block chain consensus algorithm based on cloud computing | |
CN115210741B (en) | Partially ordered blockchain | |
CN109246176B (en) | Multi-controller synchronization method and device based on block chain in software defined network | |
CN112311772B (en) | Hyperridge-based cross-domain certificate management system and method | |
CN110602217B (en) | Block chain-based alliance management method, device, equipment and storage medium | |
CN112835977B (en) | Database management method and system based on block chain | |
CN113328997B (en) | Alliance chain crossing system and method | |
US20100268808A1 (en) | Distributed aggregation on an overlay network | |
CN112232822A (en) | Transaction processing method, node, device and storage medium of block chain network | |
Cong et al. | A blockchain consensus protocol with horizontal scalability | |
CN112468537A (en) | Block chain network building structure based on local area network environment and data processing method | |
Fu et al. | Resource allocation for blockchain-enabled distributed network function virtualization (NFV) with mobile edge cloud (MEC) | |
Swarnkar et al. | Security, privacy, trust management and performance optimization of blockchain technology | |
Zhang et al. | An efficient and robust committee structure for sharding blockchain | |
Li et al. | A survey of state-of-the-art sharding blockchains: Models, components, and attack surfaces | |
KR20200006845A (en) | Method for managing block chain and apparatus therefor | |
KR102557196B1 (en) | Blockchain system for using a proxy server to transfer transactions between nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |