KR20190132009A - System for managing transaction based on blockchain and operationg method thereof - Google Patents

System for managing transaction based on blockchain and operationg method thereof Download PDF

Info

Publication number
KR20190132009A
KR20190132009A KR1020180057157A KR20180057157A KR20190132009A KR 20190132009 A KR20190132009 A KR 20190132009A KR 1020180057157 A KR1020180057157 A KR 1020180057157A KR 20180057157 A KR20180057157 A KR 20180057157A KR 20190132009 A KR20190132009 A KR 20190132009A
Authority
KR
South Korea
Prior art keywords
blockchain
data
node
metadata
blockchain node
Prior art date
Application number
KR1020180057157A
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 KR1020180057157A priority Critical patent/KR20190132009A/en
Priority to PCT/KR2019/002991 priority patent/WO2019221377A1/en
Publication of KR20190132009A publication Critical patent/KR20190132009A/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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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 
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/2804
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Abstract

Provided is a blockchain-based transaction management system with an improved transaction processing function. According to the present invention, the blockchain-based transaction management system may comprise: a first blockchain node for sharing a first blockchain through a first channel of blockchain-based transaction management; and a second blockchain node for sharing a second blockchain through a second channel. First and second blockchains are a blockchain in which data is stored. The first blockchain node and the second blockchain node share a common blockchain through a common channel, and the common blockchain may be a blockchain in which metadata including storage location information of the data is stored.

Description

블록체인 기반 트랜잭션 관리 시스템 및 그 동작 방법{SYSTEM FOR MANAGING TRANSACTION BASED ON BLOCKCHAIN AND OPERATIONG METHOD THEREOF}Blockchain based transaction management system and its operation method {SYSTEM FOR MANAGING TRANSACTION BASED ON BLOCKCHAIN AND OPERATIONG METHOD THEREOF}

본 발명은 블록체인 기반 트랜잭션 관리 시스템 및 그 동작 방법에 관한 것이다. 보다 자세하게는, 블록체인 트랜잭션의 합의(consensus) 프로세스에 요구되는 부하(load)를 경감시킴으로써, 트랜잭션 처리 성능을 향상시킨 블록체인 기반 트랜잭션 관리 시스템 및 그 시스템의 동작 방법에 관한 것이다.The present invention relates to a blockchain-based transaction management system and a method of operating the same. More specifically, the present invention relates to a blockchain-based transaction management system and a method of operating the system, by reducing the load required for the consensus process of blockchain transactions, thereby improving transaction processing performance.

블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 블록체인 노드들이 블록을 체인 형태의 자료 구조로 관리하는 트랜잭션 관리 기술을 의미한다. 블록체인은 네트워크에 속한 모든 블록체인 노드가 모든 트랜잭션을 기록하고 검증하는 합의(consensus) 프로세스를 통해 트랜잭션의 무결성 및 보안성을 보장한다.Blockchain is a transaction management system that records continuously increasing data in a specific unit of block, and each blockchain node constituting a peer-to-peer network manages the block as a chain-type data structure. Means technology. Blockchain ensures the integrity and security of transactions through a consensus process where every blockchain node in the network records and verifies every transaction.

그러나, 블록체인의 합의 프로세스는 블록체인 시스템 전체의 처리 능력을 단일 노드의 처리 능력으로 제한하기 때문에, 블록체인 시스템의 트랜잭션 처리 성능을 크게 저하시키는 주요 요인이기도 하다. 합의 프로세스로 인해 야기되는 성능 문제에 대한 구체적인 예시는 도 1에 도시되어 있다. 특히, 도 1은 클라이언트 단말(1)이 고용량 데이터(5)를 저장하는 트랜잭션(3, TxWrite)의 처리를 요청하고, 블록체인 노드 간에 트랜잭션(3)에 대한 합의 프로세스가 수행되는 동안 다른 클라이언트 단말(7)이 저용량 데이터를 조회하는 트랜잭션(9, TxRead)의 처리를 요청한 경우를 도시하고 있다.However, the blockchain consensus process is also a major factor that greatly reduces the transaction processing performance of the blockchain system because it limits the processing power of the entire blockchain system to that of a single node. Specific examples of performance issues caused by the consensus process are shown in FIG. 1. In particular, FIG. 1 shows that the client terminal 1 requests the processing of a transaction 3 (TxWrite) storing the high capacity data 5, and the other client terminal while the consensus process for the transaction 3 is performed between blockchain nodes. The case where (7) requests processing of transaction 9 (TxRead) for inquiring low-capacity data is shown.

도 1에 도시된 바와 같이, 트랜잭션(3)에 대한 합의 프로세스가 완료되기 위해서는 전체 블록체인 네트워크에 고용량 데이터(5)가 전파되고, 모든 블록체인 노드가 동일한 고용량 데이터(5)를 블록체인 상에 저장하여야 한다. 따라서, 합의 프로세스가 수행되는 동안 상당한 규모의 네트워크, 스토리지 및 컴퓨팅 자원이 요구되고, 트랜잭션(3)에 대한 합의 프로세스가 완료되기 전까지 트랜잭션(9)의 처리가 지연될 수 있다. 특히, 트랜잭션(9)은 저용량의 데이터를 조회하는 가벼운 트랜잭션(light transaction)이기 때문에, 사용자의 체감 지연 시간은 더 길 수 있으며, 이로 인해 블록체인 기반 시스템을 이용하는 사용자의 만족도는 크게 저하될 수 있다.As shown in FIG. 1, in order for the consensus process for the transaction 3 to be completed, the high capacity data 5 is propagated through the entire blockchain network, and all blockchain nodes have the same high capacity data 5 on the blockchain. Must be stored. Therefore, a considerable amount of network, storage and computing resources are required while the consensus process is performed, and the processing of transaction 9 may be delayed until the consensus process for transaction 3 is completed. In particular, since the transaction 9 is a light transaction that inquires a small amount of data, the user may experience a longer lag time, which may greatly reduce the user's satisfaction with the blockchain-based system. .

따라서, 블록체인 기반 시스템의 트랜잭션 처리 성능을 향상시킬 수 있는 방법이 요구된다.Therefore, there is a need for a method that can improve the transaction processing performance of a blockchain-based system.

한국공개특허 제10-2018-0014534호 (2018.02.09 공개)Korean Patent Publication No. 10-2018-0014534 (published Feb. 9, 2018)

본 발명이 해결하고자 하는 기술적 과제는, 블록체인 트랜잭션의 합의 프로세스에 요구되는 부하를 경감시킴으로써, 트랜잭션 처리 성능을 향상시킨 블록체인 기반 트랜잭션 관리 시스템 및 그 시스템의 동작 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to provide a blockchain-based transaction management system and a method of operating the system by improving the transaction processing performance by reducing the load required for the consensus process of blockchain transactions.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템은 제1 채널을 통해 제1 블록체인을 공유하는 제1 블록체인 노드 및 제2 채널을 통해 제2 블록체인을 공유하는 제2 블록체인 노드를 포함할 수 있다. 이때, 상기 제1 블록체인 및 상기 제2 블록체인은 데이터가 저장되는 블록체인이고, 상기 제1 블록체인 노드 및 상기 제2 블록체인 노드는 공용 채널을 통해 공용 블록체인을 공유하며, 상기 공용 블록체인은 상기 데이터의 저장 위치 정보를 포함하는 메타데이터가 저장되는 블록체인일 수 있다.In order to solve the above technical problem, a blockchain-based transaction management system according to an embodiment of the present invention, a first blockchain node sharing a first blockchain through a first channel and a second blockchain through a second channel. It may include a second blockchain node sharing a. In this case, the first blockchain and the second blockchain is a blockchain in which data is stored, and the first blockchain node and the second blockchain node share a common blockchain through a common channel, and the common block The chain may be a blockchain in which metadata including storage location information of the data is stored.

일 실시예에서, 상기 제1 블록체인 노드는, 제1 데이터의 저장을 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터를 상기 제1 블록체인 상에 저장하고, 상기 제1 데이터의 저장 위치 정보를 포함하는 제1 메타데이터를 생성하며, 상기 제1 메타데이터를 상기 공용 블록체인에 저장할 수 있다.In one embodiment, the first blockchain node receives a transaction requesting storage of first data, stores the first data on the first blockchain in response to the request, and stores the first data. The first metadata may be generated to include storage location information of the first metadata, and the first metadata may be stored in the shared blockchain.

일 실시예에서, 상기 제1 블록체인 노드는, 제1 데이터의 조회를 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터에 대한 제1 메타데이터를 상기 공용 블록체인으로부터 획득하며, 상기 제1 메타데이터에 포함된 상기 제1 데이터의 저장 위치 정보를 이용하여 상기 제1 데이터를 획득할 수 있다.In one embodiment, the first blockchain node receives a transaction requesting inquiry of first data, obtains first metadata for the first data from the public blockchain in response to the request, The first data may be obtained using storage location information of the first data included in the first metadata.

일 실시예에서, 상기 제1 블록체인 노드는 제1 블록체인 노드 그룹에 포함되고, 상기 제2 블록체인 노드는 제2 블록체인 노드 그룹에 포함되되, 상기 제1 블록체인 노드 그룹은, 제1 그룹 채널을 통해 제1 그룹 블록체인을 공유하고, 상기 제2 블록체인 노드 그룹은, 제2 그룹 채널을 통해 제2 그룹 블록체인을 공유할 수 있다.In an embodiment, the first blockchain node is included in a first blockchain node group, and the second blockchain node is included in a second blockchain node group, wherein the first blockchain node group is a first blockchain node group. The first group blockchain may be shared through a group channel, and the second blockchain node group may share a second group blockchain through a second group channel.

일 실시예에서, 상기 제1 블록체인은 제1 데이터를 포함하되, 상기 제1 블록체인 노드는, 기 설정된 시간이 이후에 상기 제1 데이터를 상기 제2 블록체인 노드와 공유할 수 있다.In an embodiment, the first blockchain includes first data, and the first blockchain node may share the first data with the second blockchain node after a preset time.

일 실시예에서, 상기 제1 블록체인은 제1 데이터를 포함하고, 상기 제1 블록체인 노드는, 기 설정된 조건이 만족됨에 응답하여, 상기 제1 데이터를 상기 제2 블록체인 노드와 공유하되, 상기 기 설정된 조건은 블록체인 노드의 부하 및 네트워크의 가용 대역폭 중 적어도 하나에 기초한 조건일 수 있다.In an embodiment, the first blockchain includes first data, and the first blockchain node shares the first data with the second blockchain node in response to a preset condition being satisfied. The preset condition may be a condition based on at least one of the load of the blockchain node and the available bandwidth of the network.

일 실시예에서, 통신 서버를 더 포함하되, 상기 통신 서버는, 클라이언트 단말로부터 제1 데이터의 저장을 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터를 상기 제1 블록체인 상에 저장되도록 하며, 상기 제1 데이터의 저장 위치 정보를 포함하는 제1 메타데이터를 생성하고, 상기 제1 메타데이터를 상기 공용 블록체인에 저장되도록 할 수 있다.In one embodiment, further comprising a communication server, the communication server receives a transaction requesting storage of first data from a client terminal, and in response to the request, the first data on the first blockchain. The first metadata may be generated, the first metadata including the storage location information of the first data, and the first metadata may be stored in the shared blockchain.

일 실시예에서, 통신 서버를 더 포함하되, 상기 통신 서버는, 클라이언트 단말로부터 트랜잭션을 수신하고, 상기 제1 블록체인 노드와 상기 제2 블록체인 노드의 부하 정보에 기초하여 상기 수신된 트랜잭션을 제1 블록체인 노드 및 상기 제2 블록체인 노드 중 어느 하나의 블록체인 노드로 포워딩할 수 있다.In one embodiment, further comprising a communication server, the communication server receives a transaction from a client terminal, and the received transaction is based on the load information of the first blockchain node and the second blockchain node; It can be forwarded to any one of the blockchain node of the first blockchain node and the second blockchain node.

상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 블록체인 기반 트랜잭션 관리 방법은, 복수의 블록체인 노드를 포함하는 블록체인 기반 트랜잭션 관리 시스템에서 수행되는 블록체인 기반의 트랜잭션 관리 방법에 있어서, 상기 복수의 블록체인 노드 중 제1 블록체인 노드가, 데이터의 저장을 요청하는 트랜잭션을 수신하는 단계, 상기 제1 블록체인 노드가, 상기 요청에 응답하여 상기 데이터를 제1 채널을 통해 공유되는 제1 블록체인 상에 저장하는 단계, 상기 제1 블록체인 노드가, 상기 데이터에 대한 메타데이터를 생성하되, 상기 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 단계 및 상기 제1 블록체인 노드가, 상기 메타데이터를 공용 채널을 통해 공유되는 공용 블록체인 상에 저장하는 단계를 포함할 수 있다. 이때, 상기 제1 블록체인은, 상기 복수의 블록체인 노드 중 일부 블록체인 노드에 의해 공유되는 블록체인이고, 상기 공용 블록체인은, 상기 복수의 블록체인 노드에 의해 공유되는 블록체인일 수 있다.The blockchain-based transaction management method according to another embodiment of the present invention for solving the above technical problem, in the blockchain-based transaction management method performed in a blockchain-based transaction management system comprising a plurality of blockchain nodes Receiving, by a first blockchain node of the plurality of blockchain nodes, a transaction requesting storage of data, wherein the first blockchain node shares the data through a first channel in response to the request; Storing on a first blockchain, wherein the first blockchain node generates metadata for the data, wherein the metadata includes storage location information of the data; and the first block The chain node may store the metadata on a shared blockchain shared via a common channel. In this case, the first blockchain may be a blockchain shared by some blockchain nodes of the plurality of blockchain nodes, and the shared blockchain may be a blockchain shared by the plurality of blockchain nodes.

상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 블록체인 기반 트랜잭션 관리 방법은, 복수의 블록체인 노드를 포함하는 블록체인 기반 트랜잭션 관리 시스템에서 수행되는 블록체인 기반의 트랜잭션 관리 방법에 있어서, 상기 복수의 블록체인 노드 중 제1 블록체인 노드가, 클라이언트 단말로부터 데이터의 조회를 요청하는 트랜잭션을 수신하는 단계, 상기 제1 블록체인 노드가, 상기 요청에 응답하여 상기 데이터에 대한 제1 메타데이터를 공용 블록체인으로부터 획득하되, 상기 제1 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 단계 및 상기 제1 블록체인 노드가, 상기 저장 위치 정보를 이용하여 상기 데이터를 획득하는 단계를 포함할 수 있다. 이때, 상기 공용 블록체인은, 상기 복수의 블록체인 노드가 공용 채널을 통해 공유하는 블록체인일 수 있다.The blockchain-based transaction management method according to another embodiment of the present invention for solving the above technical problem, in the blockchain-based transaction management method performed in a blockchain-based transaction management system comprising a plurality of blockchain nodes Receiving, by a first blockchain node of the plurality of blockchain nodes, a transaction requesting an inquiry of data from a client terminal, and by the first blockchain node, a first meta data for the data in response to the request. Acquiring data from a common blockchain, wherein the first metadata includes storage location information of the data; and acquiring, by the first blockchain node, the data using the storage location information. It may include. In this case, the shared blockchain may be a blockchain shared by the plurality of blockchain nodes through a shared channel.

상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 데이터의 저장을 요청하는 트랜잭션을 수신하는 단계, 상기 요청에 응답하여 상기 데이터를 제1 채널을 통해 공유되는 제1 블록체인 상에 저장하는 단계, 상기 데이터에 대한 메타데이터를 생성하되, 상기 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 단계 및 상기 제1 블록체인 노드가, 상기 메타데이터를 공용 채널을 통해 공유되는 공용 블록체인 상에 저장하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.The computer program according to another embodiment of the present invention for solving the above-described technical problem, coupled with a computing device, receiving a transaction requesting the storage of data, the first channel in response to the request Storing on the first blockchain shared through the data, generating metadata for the data, wherein the metadata includes storage location information of the data, and the first blockchain node includes: The metadata may be stored on a computer readable recording medium to carry out the step of storing the metadata on a shared blockchain shared via a shared channel.

상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 클라이언트 단말로부터 데이터의 조회를 요청하는 트랜잭션을 수신하는 단계, 상기 요청에 응답하여 상기 데이터에 대한 제1 메타데이터를 공용 블록체인으로부터 획득하되, 상기 제1 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 단계 및 상기 저장 위치 정보를 이용하여 상기 데이터를 획득하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.A computer program according to another embodiment of the present invention for solving the above technical problem is combined with a computing device, receiving a transaction requesting inquiry of data from a client terminal, and in response to the request, Obtaining first metadata for the common metadata from the common blockchain, wherein the first metadata includes storage location information of the data; and obtaining the data using the storage location information. It may be stored in a computer-readable recording medium.

도 1은 블록체인의 합의 프로세스에 의해 야기되는 성능 문제를 설명하기 위한 도면이다.
도 2는 본 발명의 몇몇 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 구성도이다.
도 3 내지 도 5는 본 발명의 제1 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작을 설명하기 위한 도면이다.
도 6 내지 도 8은 본 발명의 제2 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작을 설명하기 위한 도면이다.
도 9 내지 도 12는 본 발명의 제3 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작을 설명하기 위한 도면이다.
도 13 및 도 14는 본 발명의 제4 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 구성 및 동작을 설명하기 위한 도면이다.
도 15는 본 발명의 일 실시예에 따른 블록체인 노드를 나타내는 하드웨어 구성도이다.
도 16은 본 발명의 일 실시예에 따른 저장 트랜잭션 처리 방법을 나타내는 흐름도이다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 조회 트랜잭션 처리 방법을 나타내는 흐름도이다.
1 is a view for explaining a performance problem caused by the consensus process of the blockchain.
2 is a block diagram of a blockchain-based transaction management system according to some embodiments of the present invention.
3 to 5 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a first embodiment of the present invention.
6 to 8 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a second embodiment of the present invention.
9 to 12 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a third embodiment of the present invention.
13 and 14 are diagrams for explaining the configuration and operation of a blockchain based transaction management system according to a fourth embodiment of the present invention.
15 is a hardware diagram illustrating a blockchain node according to an embodiment of the present invention.
16 is a flowchart illustrating a stored transaction processing method according to an embodiment of the present invention.
17 and 18 are flowcharts illustrating a query transaction processing method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms used in the present specification (including technical and scientific terms) may be used in a sense that can be commonly understood by those skilled in the art. In addition, the terms defined in the commonly used dictionaries are not ideally or excessively interpreted unless they are specifically defined clearly. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected to or connected to that other component, but there may be another configuration between each component. It is to be understood that the elements may be "connected", "coupled" or "connected".

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, “comprises” and / or “comprising” refers to a component, step, operation and / or element that is mentioned in the presence of one or more other components, steps, operations and / or elements. Or does not exclude additions.

본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description herein, some terms used herein will be clarified.

본 명세서에서, 블록체인 또는 블록체인 데이터란 블록체인 네트워크를 구성하는 각각의 블록체인 노드가 유지하는 데이터로, 적어도 하나의 블록이 체인 형태의 자료 구조로 구성되는 데이터를 가리킨다. 블록체인 시스템에서, 모든 블록체인 노드는 동일한 블록체인 데이터를 유지한다. 단, 멀티 채널(multi-channel) 기능을 지원하는 블록체인 시스템(e.g. 하이퍼레저 패브릭)에서는, 동일한 채널에 속한 블록체인 노드들끼리만 동일한 블록체인 데이터를 유지하게 된다.In the present specification, blockchain or blockchain data refers to data held by each blockchain node constituting a blockchain network, and refers to data in which at least one block is composed of a data structure in a chain form. In a blockchain system, all blockchain nodes maintain the same blockchain data. However, in a blockchain system (e.g. hyper leisure fabric) that supports multi-channel functions, only blockchain nodes belonging to the same channel maintain the same blockchain data.

본 명세서에서, 블록체인 네트워크란, 블록체인 알고리즘(또는 프로토콜)에 따라 동작하는 복수의 블록체인 노드로 구성된 P2P(peer-to-peer) 구조의 네트워크를 의미한다.In the present specification, a blockchain network refers to a network having a peer-to-peer structure composed of a plurality of blockchain nodes operating according to a blockchain algorithm (or protocol).

본 명세서에서, 블록체인 노드란, 블록체인 네트워크를 구성하고 블록체인 알고리즘(또는 프로토콜)에 따라 동작하는 컴퓨팅 노드를 의미한다. 상기 컴퓨팅 노드는 물리적 장치로 구현될 수 있으나, 가상 머신(virtual machine)과 같이 논리적 장치로 구현될 수도 있다. 상기 컴퓨팅 노드가 가상 머신으로 구현되는 경우, 하나의 물리적 장치에 복수의 블록체인 노드가 포함될 수도 있다.In the present specification, a blockchain node refers to a computing node constituting a blockchain network and operating according to a blockchain algorithm (or protocol). The computing node may be implemented as a physical device, but may also be implemented as a logical device such as a virtual machine. When the computing node is implemented as a virtual machine, a plurality of blockchain nodes may be included in one physical device.

본 명세서에서, 트랜잭션(transaction) 또는 블록체인 트랜잭션(blockchain transaction)이란, 블록체인 환경에서 상태 변화(e.g. 잔고의 증감, 자산의 이전)를 일으키는 모든 행위, 블록체인에 기록된 상태(state) 데이터를 조회하는 모든 행위, 또는 그 행위들을 가리키는 데이터를 의미할 수 있다. 예를 들어, 상기 트랜잭션은 블록체인에 특정 데이터를 저장하는 행위, 블록체인에 기록된 특정 데이터를 조회하는 행위 등을 모두 포함할 수 있다. 당해 기술 분야에서, 조회에 관한 트랜잭션은 쿼리(query) 등의 용어와 혼용되어 사용될 수 있다. 상기 트랜잭션은 스마트 컨트랙트(smart contract)를 통해 실행(e.g. 스마트 컨트랙트에 정의된 함수 및 변수를 통해 블록체인에 접근)될 수 있으나, 이는 블록체인 플랫폼에 따라 얼마든지 달라질 수 있다.In the present specification, a transaction or blockchain transaction refers to any action that causes a change of state (eg increase or decrease of balance, transfer of assets) in the blockchain environment, and state data recorded in the blockchain. It can refer to all the actions to be queried or data indicating the actions. For example, the transaction may include storing specific data in the blockchain, inquiring specific data recorded in the blockchain, and the like. In the art, transactions related to inquiries may be used interchangeably with terms such as query. The transaction may be executed through a smart contract (accessed to the blockchain through the functions and variables defined in the smart contract, for example), but this may vary depending on the blockchain platform.

본 명세서에서, 인스트럭션(instruction)이란, 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서(processor)에 의해 실행되는 것을 가리킨다.In the present specification, an instruction is a series of instructions grouped by function, and refers to a component of a computer program and executed by a processor.

이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 몇몇 실시예들에 따른 블록체인 기반 트랜잭션 관리 시스템의 구성도이다. 특히, 도 2는 후술될 제1 내지 제3 실시예들에 따른 블록체인 기반 트랜잭션 관리 시스템의 공통적인 구성 요소를 도시하고 있다.2 is a block diagram of a blockchain-based transaction management system according to some embodiments of the present invention. In particular, FIG. 2 illustrates common components of a blockchain based transaction management system according to first to third embodiments to be described later.

도 2를 참조하면, 상기 블록체인 기반 트랜잭션 관리 시스템은 블록체인 네트워크(200)를 구성하는 복수의 블록체인 노드(100)를 포함할 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 2에 도시된 블록체인 기반 트랜잭션 관리 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 2, the blockchain-based transaction management system may include a plurality of blockchain nodes 100 constituting the blockchain network 200. However, this is only a preferred embodiment for achieving the object of the present invention, of course, some components may be added or deleted as necessary. In addition, each component of the blockchain-based transaction management system illustrated in FIG. 2 represents functionally distinct functional elements, and may be implemented in a form in which at least one component is integrated with each other in an actual physical environment. do.

상기 트랜잭션 관리 시스템에서, 블록체인 노드(100)는 블록체인 알고리즘(또는 프로토콜)에 따라 동작하는 컴퓨팅 노드이다. 여기서, 상기 컴퓨팅 노드는 물리적 컴퓨팅 장치로 구현될 수 있고, 가상 머신과 같은 논리적 컴퓨팅 장치로 구현될 수도 있다. 상기 물리적 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다.In the transaction management system, the blockchain node 100 is a computing node operating according to a blockchain algorithm (or protocol). The computing node may be implemented as a physical computing device, or may be implemented as a logical computing device such as a virtual machine. The physical computing device may be a laptop, a desktop, a laptop, or the like, but is not limited thereto and may include any type of device having a computing function and a communication function.

블록체인 노드(100)는 합의 프로세스를 통해 동일한 데이터가 저장된 블록체인을 유지하고 관리한다. 다만, 멀티 채널(multi-channel) 기반의 블록체인 환경에서는, 동일한 채널에 속한 블록체인 노드(100)끼리만 동일한 블록체인을 공유한다. 실시예에 따라, 블록체인 노드(100)의 채널 구성 및 동작은 달라질 수 있는데, 이에 대한 설명은 도 3 이하의 도면을 참조하여 후술하도록 한다. 참고로, 블록체인 노드(100)가 블록체인을 공유한다는 것은 각각의 블록체인 노드(100)가 동일한 데이터가 저장된 블록체인을 유지한다는 것을 의미한다.The blockchain node 100 maintains and manages a blockchain in which the same data is stored through a consensus process. However, in a multi-channel based blockchain environment, only blockchain nodes 100 belonging to the same channel share the same blockchain. According to an embodiment, the channel configuration and operation of the blockchain node 100 may vary, which will be described later with reference to the drawings of FIG. 3. For reference, the fact that the blockchain node 100 shares a blockchain means that each blockchain node 100 maintains a blockchain in which the same data is stored.

블록체인 노드(100)는 클라이언트 단말(300)로부터 데이터의 저장을 요청하는 트랜잭션(이하, "저장 트랜잭션"으로 칭하기로 함) 및/또는 데이터의 조회를 요청하는 트랜잭션(이하, "조회 트랜잭션"으로 칭하기로 함)을 수신하고, 요청된 트랜잭션들을 처리할 수 있다.The blockchain node 100 may be referred to as a transaction requesting the storage of data from the client terminal 300 (hereinafter referred to as a "store transaction") and / or a transaction requesting the inquiry of the data (hereinafter referred to as a "query transaction"). And process the requested transactions.

본 발명의 실시예에 따르면, 블록체인 네트워크(200)의 채널 구성을 통해 저장 트랜잭션에 대한 합의 프로세스 수행 범위가 특정 블록체인 노드들로 제한될 수 있다. 즉, 전체 블록체인 네트워크(200)에 걸쳐 데이터의 전파 및 저장이 이루어지는 것이 아니라, 특정 블록체인 노드들 사이에서만 데이터의 전파 및 저장이 이루어질 수 있다. 이에 따라, 저장 트랜잭션의 합의에 요구되는 부하가 크게 경감될 수 있으며, 고용량의 데이터를 저장하는 무거운 트랜잭션(heavy transaction) 또한 신속하게 처리될 수 있다. 아울러, 고용량의 데이터를 저장 트랜잭션으로 인해 조회 트랜잭션과 같은 가벼운 트랜잭션의 처리가 지연되는 문제가 해결될 수 있고, 전반적인 시스템의 트랜잭션 처리 성능 또한 크게 향상될 수 있다. 본 실시예에 대한 자세한 설명은 도 3 이하의 도면에서 상세하게 설명하도록 한다.According to an embodiment of the present invention, the scope of the consensus process execution for the storage transaction may be limited to specific blockchain nodes through the channel configuration of the blockchain network 200. That is, data propagation and storage may not be performed over the entire blockchain network 200, but data propagation and storage may be performed only between specific blockchain nodes. As a result, the load required for consensus of the storage transaction can be greatly reduced, and a heavy transaction storing a large amount of data can be processed quickly. In addition, the problem of delaying the processing of a light transaction such as an inquiry transaction due to storing a large amount of data can be solved, and the overall transaction processing performance of the system can be greatly improved. Detailed description of this embodiment will be described in detail with reference to FIG. 3.

클라이언트 단말(300)은 상기 블록체인 기반 트랜잭션 관리 시스템으로부터 블록체인 트랜잭션에 대한 처리 서비스를 제공받는 단말이다.The client terminal 300 is a terminal that receives a processing service for a blockchain transaction from the blockchain based transaction management system.

블록체인 네트워크(200)를 구성하는 블록체인 노드(100)들 및/또는 블록체인 노드(100)와 클라이언트 단말은 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.The blockchain nodes 100 and / or the blockchain node 100 constituting the blockchain network 200 and the client terminal may communicate with each other via a network. The network may be any type of wired / wireless network such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, a wireless broadband Internet (Wibro), or the like. Can be implemented.

지금까지, 도 2를 참조하여 본 발명의 몇몇 실시예들에 따른 블록체인 기반 트랜잭션 관리 시스템의 공통적인 구성 요소에 대하여 설명하였다. 이하에서는, 본 발명의 몇몇 실시예들에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작에 대하여 도 3 내지 도 14를 참조하여 설명하도록 한다.So far, the common components of the blockchain based transaction management system according to some embodiments of the present invention have been described with reference to FIG. 2. Hereinafter, channel configuration and operation of a blockchain based transaction management system according to some embodiments of the present invention will be described with reference to FIGS. 3 to 14.

도 3 내지 도 5는 본 발명의 제1 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작을 설명하기 위한 도면이다. 구체적으로, 도 3은 상기 제1 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성을 도시하고, 도 4 및 도 5는 각각 저장 트랜잭션 및 조회 트랜잭션이 처리되는 과정을 도시하고 있다.3 to 5 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a first embodiment of the present invention. Specifically, FIG. 3 illustrates a channel configuration of the blockchain-based transaction management system according to the first embodiment, and FIGS. 4 and 5 illustrate processes of storing and inquiry transactions, respectively.

도 3을 참조하면, 상기 제1 실시예에서, 블록체인 네트워크(200)를 구성하는 각 블록체인 노드(N1, N2, N3)는 3종류의 채널을 통해 트랜잭션을 처리한다.Referring to FIG. 3, in the first embodiment, each blockchain node N1, N2, N3 constituting the blockchain network 200 processes a transaction through three types of channels.

제1 채널은 그룹 채널(CH_G1)이다. 블록체인 노드(N1, N2, N3)는 그룹 채널(CH_G1)을 통해 동일한 데이터가 저장된 블록체인(13)을 공유할 수 있다. 다만, 실시예에 따라, 별도의 그룹 채널(CH_G1)은 존재하지 않을 수도 있다. 여기서, 그룹 채널은 특정 그룹의 블록체인 노드에 할당된 채널을 의미하며, 그룹 채널이라는 명칭은 다른 채널과 구별하기 위해 편의상 붙인 것에 불과하다. 이하에서, 그룹 채널을 통해 블록체인 노드들이 유지하는 블록체인을 "그룹 블록체인"으로 명명하도록 한다.The first channel is the group channel CH_G1. The blockchain nodes N1, N2, and N3 may share the blockchain 13 in which the same data is stored through the group channel CH_G1. However, according to an embodiment, a separate group channel CH_G1 may not exist. Here, the group channel means a channel allocated to a blockchain node of a specific group, and the name of the group channel is merely added for convenience to distinguish it from other channels. Hereinafter, a blockchain maintained by blockchain nodes through a group channel will be referred to as a "group blockchain".

다음으로, 제2 채널은 개별 채널(CH_N1, CH_N2, CH_N3)이다. 여기서, 개별 채널이라는 명칭 또한 다른 채널과 구별하기 위해 편의상 붙인 것에 불과하다. 각 블록체인 노드(N1, N2, N3)는 별도의 개별 채널(CH_N1, CH_N2, CH_N3)을 통해 데이터가 저장된 블록체인(11)을 관리한다. 특히, 도 3은 블록체인 노드(N1, N2, N3)마다 하나의 채널(CH_N1, CH_N2, CH_N3)이 할당된 것을 예로써 도시하고 있으나, 복수의 블록체인 노드에 하나의 개별 채널이 할당될 수도 있다. 예를 들어, 블록체인 노드(N1, N2)에 하나의 개별 채널이 할당되고, 블록체인 노드(N3)에 하나의 개별 채널이 할당될 수도 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해 하나의 블록체인 노드 별로 개별 채널이 할당되었음을 가정하여 설명을 이어가도록 한다. 이하에서는, 개별 채널을 통해 유지되는 블록체인을 "개별 블록체인"으로 명명하도록 한다.Next, the second channel is an individual channel CH_N1, CH_N2, CH_N3. Here, the name of an individual channel is also merely added for convenience in order to distinguish it from other channels. Each blockchain node N1, N2, N3 manages the blockchain 11 in which data is stored through separate individual channels CH_N1, CH_N2, CH_N3. In particular, although FIG. 3 illustrates that one channel CH_N1, CH_N2, CH_N3 is allocated to each of the blockchain nodes N1, N2, and N3, one individual channel may be allocated to a plurality of blockchain nodes. have. For example, one individual channel may be allocated to the blockchain nodes N1 and N2, and one individual channel may be allocated to the blockchain node N3. However, hereinafter, the description will be continued on the assumption that individual channels are allocated to each blockchain node for the convenience of understanding. Hereinafter, the blockchain maintained through the individual channels will be referred to as "individual blockchain".

다음으로, 제3 채널은 공용 채널(CH_P)이다. 여기서, 공용 채널이라는 명칭 또한 다른 채널과 구별하기 위해 편의상 붙인 것에 불과하다. 각 블록체인 노드(N1, N2, N3)는 별도의 공용 채널(CH_P)을 통해 동일한 "메타데이터"가 저장된 블록체인(15)을 관리한다. 이하에서는, 블록체인 노드가 공용 채널을 통해 공유하는 블록체인을 "공용 블록체인"으로 명명하도록 한다.Next, the third channel is the shared channel CH_P. Here, the common channel is also merely added for convenience in order to distinguish it from other channels. Each blockchain node N1, N2, N3 manages the blockchain 15 in which the same "metadata" is stored through a separate common channel CH_P. Hereinafter, a blockchain node shared by a blockchain node through a common channel will be referred to as a "public blockchain."

상기 메타데이터는 데이터의 저장 위치 정보(e.g. 특정 데이터가 저장된 노드의 식별자, 주소 등)와 같이 블록체인에 저장되는 데이터에 대한 각종 메타 정보를 포함하는 데이터이다.The metadata is data including various meta information about data stored in the blockchain, such as data storage location information (e.g. identifier, address, etc. of a node in which specific data is stored).

도 4를 참조하여, 상기 제1 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템에서 저장 트랜잭션이 처리되는 과정에 대하여 설명하도록 한다. 이하의 도면에서, 개별 채널(e.g. CH_N1, CH_N2, CH_N3 등)의 상단에 표시된 데이터는 개별 블록체인에 기록된 데이터를 가리키고, 공용 채널(e.g. CH_P) 또는 그룹 채널(e.g. CH_G1)의 오른편에 표시된 데이터는 해당 채널에 기록된 데이터를 가리킨다.Referring to FIG. 4, a process of processing a stored transaction in the blockchain based transaction management system according to the first embodiment will be described. In the following figures, the data displayed on the top of individual channels (eg CH_N1, CH_N2, CH_N3, etc.) refers to the data recorded on the individual blockchain, and the data displayed on the right side of the common channel (eg CH_P) or group channel (eg CH_G1). Indicates data recorded on the channel.

도 4를 참조하면, 상기 과정은 블록체인 노드(N1)가 클라이언트 단말(301)로부터 데이터(D1)의 저장 요청에 관한 저장 트랜잭션을 수신하는 것부터 시작된다(①). 상기 저장 요청에 응답하여, 블록체인 노드(N1)는 자신의 개별 블록체인에 데이터(D1)를 저장한다. 여기서, 데이터(D1)는 블록체인 노드(N1)의 개별 블록체인에만 저장되므로, 개별 채널(CH_N1)에 속하지 않는 다른 블록체인 노드(N2, N3)에 전파되지 않는다. 즉, 데이터(D1)에 대한 합의 프로세스가 블록체인 네트워크(200) 전반에 걸쳐서 수행되지 않는다. 따라서, 고용량의 데이터를 저장하는 트랜잭션이라 하더라도 고속으로 처리될 수 있다.Referring to FIG. 4, the process starts from the blockchain node N1 receiving a storage transaction relating to a request for storing data D1 from the client terminal 301 (1). In response to the storage request, the blockchain node N1 stores the data D1 in its own blockchain. Here, since the data D1 is stored only in the individual blockchain of the blockchain node N1, it is not propagated to other blockchain nodes N2 and N3 that do not belong to the individual channel CH_N1. That is, the consensus process for data D1 is not performed throughout the blockchain network 200. Therefore, even a transaction storing a large amount of data can be processed at high speed.

다음으로, 블록체인 노드(N1)는 데이터(D1)의 저장 위치 정보를 포함하는 메타데이터(M1)를 생성하고, 공용 채널(CH_P)을 통해 메타데이터(M1)를 전파한다(②). 상기 저장 위치 정보는 예를 들어 블록체인 노드(N1)의 식별자, 주소 등이 될 수 있을 것이나, 블록체인 노드(N1)에 접근하여 데이터(D1)를 얻어올 수 있다면, 어떠한 형태의 정보가 이용되더라도 무방하다.Next, the blockchain node N1 generates the metadata M1 including the storage location information of the data D1 and propagates the metadata M1 through the common channel CH_P (②). The storage location information may be, for example, an identifier, an address, etc. of the blockchain node N1, but any form of information may be used if the data D1 can be obtained by accessing the blockchain node N1. It may be fine.

다음으로, 블록체인 노드(N2, N3)는 공용 채널을 통해 수신된 메타데이터(M1)를 공용 블록체인 상에 저장한다(③).Next, the blockchain nodes N2 and N3 store the metadata M1 received through the shared channel on the shared blockchain (③).

전술한 과정(②, ③)은 메타데이터(M1)에 대한 합의 프로세스에 해당하며, 상기 합의 프로세스는 공용 채널에 속한 전체 블록체인 노드(N1, N2, N3) 간에 수행된다. 그러나, 메타데이터(M1)는 매우 저용량의 데이터이기 때문에, 데이터에 대한 합의 프로세스와는 달리 신속하게 수행될 수 있다. 즉, 메타데이터(M1)와 같이 저용량의 데이터를 저장하는 트랜잭션은 가벼운 트랜잭션(light transaction)이기 때문에, 블록체인 네트워크 전반에 걸쳐 합의 프로세스가 수행되더라도 신속하게 처리될 수 있다. 따라서, 메타데이터 저장에 대한 트랜잭션이 추가로 처리되더라도, 시스템의 트랜잭션 처리 성능은 전반적으로 크게 향상 될 수 있다.The aforementioned processes ② and ③ correspond to a consensus process for the metadata M1, and the consensus process is performed between the entire blockchain nodes N1, N2, and N3 belonging to the shared channel. However, since the metadata M1 is very low volume of data, it can be performed quickly unlike the consensus process for data. That is, since a transaction that stores low-volume data such as metadata M1 is a light transaction, even if a consensus process is performed throughout the blockchain network, it can be processed quickly. Thus, even if a transaction for metadata storage is additionally processed, the overall transaction processing performance of the system can be greatly improved.

이하에서는, 도 5를 참조하여 상기 제1 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템에서 조회 트랜잭션이 처리되는 과정에 대하여 설명하도록 한다.Hereinafter, a process of processing an inquiry transaction in the blockchain based transaction management system according to the first embodiment will be described with reference to FIG. 5.

도 5를 참조하면, 상기 과정은 블록체인 노드(N2)가 클라이언트 단말(303)로부터 데이터(D1)의 조회 요청에 관한 조회 트랜잭션을 수신하는 것부터 시작된다(①). 상기 조회 요청에 응답하여, 블록체인 노드(N2)는 공용 블록체인으로부터 데이터(D1)에 대한 메타데이터(M1)를 획득한다.Referring to FIG. 5, the process starts when the blockchain node N2 receives an inquiry transaction regarding an inquiry request of data D1 from the client terminal 303 (①). In response to the inquiry request, the blockchain node N2 obtains metadata M1 for the data D1 from the shared blockchain.

다음으로, 블록체인 노드(N2)는 메타데이터(M1)의 저장 위치 정보를 참조하여 블록체인 노드(N1)로 데이터(D1)를 요청하고, 요청한 데이터(D1)를 획득한다(②).Next, the blockchain node N2 requests the data D1 from the blockchain node N1 by referring to the storage location information of the metadata M1 and obtains the requested data D1 (②).

다음으로, 블록체인 노드(N2)는 획득된 데이터(D1)를 클라이언트 단말(303)에게 제공한다(③).Next, the blockchain node N2 provides the obtained data D1 to the client terminal 303 (③).

이때, 블록체인 노드(N2)는 획득된 데이터(D1)를 자신의 개별 블록체인에 저장하고, 데이터(D1)의 저장 위치 정보를 갱신하여 새로운 메타데이터(M1')를 생성할 수 있다. 또한, 블록체인 노드(N2)는 메타데이터(M1')를 공용 채널(CH_P)를 통해 전파하고, 공용 블록체인을 통해 메타데이터(M1')를 공유할 수 있다(④, ⑤). 이와 같은 과정을 통해, 조회 트랜잭션이 처리되는 동안, 별도의 오버헤드 없이 데이터가 블록체인 네트워크 상에 점진적으로 전파될 수 있다.In this case, the blockchain node N2 may store the acquired data D1 in its own blockchain and update the storage location information of the data D1 to generate new metadata M1 ′. In addition, the blockchain node N2 may propagate the metadata M1 'through the shared channel CH_P and share the metadata M1' through the shared blockchain (④ and ⑤). Through this process, data can be gradually propagated on the blockchain network without any overhead while the inquiry transaction is processed.

한편, 본 발명의 실시예에 따르면, 블록체인 노드는 일정 시간이 경과함에 따라 자신의 개별 블록체인에 저장된 데이터를 다른 블록체인 노드로 전파하도록 동작할 수도 있다. 예를 들어, 데이터(D1)가 개별 블록체인 상에 저장된 시점부터 일정 시간이 경과되면, 블록체인 노드(N1)은 데이터(D1)를 특정 블록체인 노드(e.g. N2 or N3)로 전파하도록 동작할 수 있다. 이때, 블록체인 노드(N1)는 상기 일정 시간이 경과하기 전에 데이터(D1)의 요청을 수신하지 않은 경우에 한하여, 데이터(D1)를 다른 블록체인 노드로 전파하도록 동작할 수도 있다. 본 실시예에 따르면, 시간에 지남에 따라 데이터가 블록체인 네트워크 상에 점진적으로 전파될 수 있으므로, 큰 오버헤드 없이 전체 블록체인 네트워크에 걸쳐 합의 프로세스가 수행되는 효과가 있다.Meanwhile, according to an embodiment of the present invention, a blockchain node may operate to propagate data stored in its individual blockchain to another blockchain node as a predetermined time elapses. For example, if a certain time elapses from the time when the data D1 is stored on the individual blockchain, the blockchain node N1 may operate to propagate the data D1 to a specific blockchain node (eg N2 or N3). Can be. In this case, the blockchain node N1 may operate to propagate the data D1 to another blockchain node only when the request for the data D1 is not received before the predetermined time elapses. According to this embodiment, since data can be gradually propagated over a blockchain network over time, there is an effect that a consensus process is performed over the entire blockchain network without significant overhead.

본 발명의 다른 실시예에 따르면, 블록체인 노드는 일정 시간 경과 외의 다른 조건에 따라 개별 블록체인에 저장된 데이터를 다른 블록체인 노드로 전파하도록 동작할 수도 있다. 상기 조건은 예를 들어 블록체인 노드의 가용 자원(e.g. 컴퓨팅 자원) 및/또는 블록체인 네트워크의 가용 자원(e.g. 가용 대역폭)에 기초한 조건을 포함할 수 있다. 보다 구체적인 예를 들어, 블록체인 노드는 프로세싱 유휴 시간(idle time)이 일정 시간 이상 유지되는 조건 및/또는 블록체인 네트워크의 가용 대역폭이 일정 크기 이상인 조건이 만족되면, 특정 데이터를 다른 블록체인 노드로 전파하도록 동작할 수 있다. 본 실시예에 따르면, 가용 자원에 따라 점진적으로 블록체인 네트워크 상에 데이터가 전파되므로, 트랜잭션 처리 성능에 영향을 미치지 않고, 효과적으로 합의 프로세스가 수행되는 효과가 있다.According to another embodiment of the present invention, a blockchain node may operate to propagate data stored in an individual blockchain to another blockchain node according to other conditions other than a certain period of time. The condition may include, for example, a condition based on available resources (e.g. computing resources) of the blockchain node and / or available resources (e.g. available bandwidth) of the blockchain network. More specifically, for example, a blockchain node may transfer certain data to another blockchain node when a condition that processing idle time is maintained for a predetermined time and / or a condition that an available bandwidth of the blockchain network is a certain amount or more is satisfied. Operate to propagate. According to this embodiment, since data is gradually propagated on the blockchain network according to available resources, there is an effect that the consensus process is effectively performed without affecting transaction processing performance.

지금까지, 도 3 내지 도 5를 참조하여 본 발명의 제1 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작에 대하여 설명하였다. 상술한 바에 따르면, 합의 프로세스의 수행 범위가 개별 채널에 속한 특정 블록체인 노드로 한정될 수 있고, 특정 조건(e.g. 조회, 시간 경과 등)에 따라 점진적으로 데이터가 블록체인 네트워크 상에 전파될 수 있다. 따라서, 합의 프로세스에 요구되는 부하가 크게 경감될 뿐만 아니라, 시스템 전반의 트랜잭션 처리 성능이 크게 향상될 수 있다.So far, the channel configuration and operation of the blockchain based transaction management system according to the first embodiment of the present invention have been described with reference to FIGS. 3 to 5. As described above, the execution range of the consensus process may be limited to a specific blockchain node belonging to an individual channel, and data may be gradually propagated on the blockchain network according to a specific condition (eg inquiry, time lapse, etc.). . Therefore, not only the load required for the consensus process is greatly reduced, but also the system-wide transaction processing performance can be greatly improved.

이하에서는, 도 6 내지 도 8을 참조하여 본 발명의 제2 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작을 설명하도록 한다. 중복된 설명을 배제하기 위해, 전술한 제1 실시예와의 차이점을 중심으로 설명을 이어가도록 한다.Hereinafter, the channel configuration and operation of the blockchain based transaction management system according to the second embodiment of the present invention will be described with reference to FIGS. 6 to 8. In order to exclude the redundant description, the description will be continued focusing on the differences from the first embodiment described above.

도 6은 상기 제2 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성을 도시한다.6 illustrates a channel configuration of a blockchain based transaction management system according to the second embodiment.

도 6에 도시된 바와 같이, 전술한 제1 실시예와는 달리, 복수의 블록체인 노드(N1 내지 N6)는 서로 다른 그룹(210, 220)을 형성하고, 그룹(210)에 속한 블록체인 노드(N1, N2, N3)는 그룹 채널(CH_G1)을 통해 데이터가 저장된 그룹 블록체인(23)을 공유한다. 마찬가지로, 그룹(220)에 속한 블록체인 노드(N4, N5, N6)는 그룹 채널(CH_G2)를 통해 데이터가 저장된 그룹 블록체인(27)을 공유한다.As shown in FIG. 6, unlike the first embodiment described above, the plurality of blockchain nodes N1 to N6 form different groups 210 and 220, and blockchain nodes belonging to the group 210. N1, N2, and N3 share the group blockchain 23 in which data is stored through the group channel CH_G1. Similarly, the blockchain nodes N4, N5 and N6 belonging to the group 220 share the group blockchain 27 in which data is stored through the group channel CH_G2.

전술한 제1 실시예와 마찬가지로, 각 블록체인 노드(N1 내지 N6)는 개별 채널(CH_N1 내지 CH_N6)을 통해 개별 블록체인(e.g. 21, 29)을 유지하고, 공유 채널(CH_P)를 통해 메타데이터가 저장된 공용 블록체인(25)을 공유한다.Like the first embodiment described above, each blockchain node N1 to N6 maintains individual blockchains (eg 21, 29) through separate channels CH_N1 to CH_N6, and metadata through shared channels CH_P. Shares the shared blockchain 25 stored.

도 7을 참조하여 상기 제2 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템에서 저장 트랜잭션이 처리되는 과정에 대하여 설명하도록 한다.A process of processing a stored transaction in the blockchain based transaction management system according to the second embodiment will be described with reference to FIG. 7.

도 7을 참조하면, 상기 과정은 블록체인 노드(N1)가 클라이언트 단말(311)로부터 데이터(D1)의 저장 요청에 관한 저장 트랜잭션을 수신하는 과정(①)으로부터 시작된다. 상기 저장 요청에 응답하여, 블록체인 노드(N1)는 자신의 개별 블록체인에 데이터(D1)를 저장한다.Referring to FIG. 7, the process starts with a process (①) in which the blockchain node N1 receives a storage transaction relating to a request for storing data D1 from the client terminal 311. In response to the storage request, the blockchain node N1 stores the data D1 in its own blockchain.

다음으로, 블록체인 노드(N1)는 데이터(D1)의 저장 위치 정보를 포함하는 메타데이터(M1)를 생성하고, 메타데이터(M1)를 공용 채널(CH_P)을 통해 공용 블록체인 상에 저장한다(②, ③). 공용 블록체인은 그룹(210, 220)에 속한 모든 블록체인 노드(N1 내지 N6)가 공유하는 블록체인인 바, 메타데이터(M1)를 상기 공용 블록체인에 저장하게 되면, 모든 블록체인 노드(N1 내지 N6)가 데이터(D1)에 대한 조회 트랜잭션을 처리할 수 있게 되기 때문이다.Next, the blockchain node N1 generates the metadata M1 including the storage location information of the data D1 and stores the metadata M1 on the shared blockchain through the shared channel CH_P. (②, ③). The common blockchain is a blockchain shared by all blockchain nodes N1 to N6 belonging to the groups 210 and 220. When the metadata M1 is stored in the shared blockchain, all blockchain nodes N1 are stored. N6 to N6) can process the inquiry transaction for the data D1.

다음으로, 도 8를 참조하여 상기 제2 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템에서 조회 트랜잭션이 처리되는 과정에 대하여 설명하도록 한다.Next, a process of processing an inquiry transaction in the blockchain based transaction management system according to the second embodiment will be described with reference to FIG. 8.

도 8을 참조하면, 상기 과정은 그룹(220)에 속한 블록체인 노드(N5)가 클라이언트 단말(313)로부터 데이터(D1)의 조회 요청에 관한 조회 트랜잭션을 수신하는 것부터 시작된다(①). 상기 조회 요청에 응답하여, 블록체인 노드(N5)는 공용 블록체인으로부터 데이터(D1)에 대한 메타데이터(M1)를 획득한다.Referring to FIG. 8, the process starts when the blockchain node N5 belonging to the group 220 receives an inquiry transaction regarding an inquiry request for data D1 from the client terminal 313 (①). In response to the inquiry request, the blockchain node N5 obtains metadata M1 for data D1 from the shared blockchain.

다음으로, 블록체인 노드(N2)는 메타데이터(M1)의 저장 위치 정보를 참조하여 블록체인 노드(N1)로 데이터(D1)를 요청하고, 요청한 데이터(D1)를 획득한다(②).Next, the blockchain node N2 requests the data D1 from the blockchain node N1 by referring to the storage location information of the metadata M1 and obtains the requested data D1 (②).

다음으로, 블록체인 노드(N2)는 획득된 데이터(D1)를 클라이언트 단말(313)에게 제공한다(③).Next, the blockchain node N2 provides the obtained data D1 to the client terminal 313 (③).

이때, 블록체인 노드(N5)는 획득된 데이터(D1)를 자신의 개별 블록체인에 저장하고, 데이터(D1)의 저장 위치 정보를 갱신하여 새로운 메타데이터(M1')를 생성할 수 있다. 또한, 블록체인 노드(N5)는 메타데이터(M1')를 공용 채널(CH_P)를 통해 전파하고, 공용 블록체인을 통해 메타데이터(M1')를 공유할 수 있다(④, ⑤). 이와 같은 과정을 통해, 조회 트랜잭션이 처리되는 동안, 별도의 오버헤드 없이 데이터가 블록체인 네트워크 상에 점진적으로 전파될 수 있으며, 서로 다른 그룹(210, 220)에 속한 블록체인 노드 간에도 합의 프로세스가 수행되는 효과가 있다.In this case, the blockchain node N5 may store the acquired data D1 in its own blockchain and update the storage location information of the data D1 to generate new metadata M1 ′. In addition, the blockchain node N5 may propagate the metadata M1 'through the common channel CH_P and share the metadata M1' through the shared blockchain (④ and ⑤). Through this process, while the inquiry transaction is processed, data can be gradually propagated on the blockchain network without additional overhead, and a consensus process is performed between blockchain nodes belonging to different groups 210 and 220. It is effective.

지금까지, 도 6 내지 도 8을 참조하여 본 발명의 제2 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작에 대하여 설명하였다. 이하에서는, 도 9 내지 도 12를 참조하여 본 발명의 제3 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작에 대해 설명하도록 한다. 중복된 설명을 배제하기 위해, 전술한 제1 및 제2 실시예와의 차이점을 중심으로 설명을 이어가도록 한다.So far, the channel configuration and operation of the blockchain based transaction management system according to the second embodiment of the present invention have been described with reference to FIGS. 6 to 8. Hereinafter, the channel configuration and operation of the blockchain based transaction management system according to the third embodiment of the present invention will be described with reference to FIGS. 9 to 12. In order to exclude the redundant description, the description will be continued focusing on differences from the first and second embodiments described above.

도 9는 상기 제3 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성을 도시한다.9 illustrates a channel configuration of a blockchain based transaction management system according to the third embodiment.

도 9를 참조하면, 상기 제3 실시예에서는, 전술한 제1 및 제2 실시예와 달리, 서로 다른 그룹(230, 240)에 속한 블록체인 노드(N3, N4)가 별도의 브릿지 채널(CH_B1)을 통해 동일한 데이터가 저장된 블록체인(36)을 공유한다. 다만, 실시예에 따라, 블록체인 노드(N3, N4)는 브릿지 채널(CH_B1)을 통해 블록체인(36)을 공유하지 않을 수도 있다. 이와 같은 경우, 브릿지 채널(CH_B1)은 일종의 통신 채널의 기능만을 담당하게 된다. 여기서, 브릿지 채널은 특정 블록체인 노드 간에 할당된 채널을 의미하며, 브릿지 채널이라는 명칭은 다른 채널과 구별하기 위해 편의상 붙인 것에 불과하다. 이하에서, 브릿지 채널을 통해 블록체인 노드들이 유지하는 블록체인을 "브릿지 블록체인"으로 명명하도록 한다.Referring to FIG. 9, in the third embodiment, unlike the first and second embodiments described above, blockchain nodes N3 and N4 belonging to different groups 230 and 240 may have separate bridge channels CH_B1. ) Share the blockchain 36 in which the same data is stored. However, in some embodiments, the blockchain nodes N3 and N4 may not share the blockchain 36 through the bridge channel CH_B1. In this case, the bridge channel CH_B1 is in charge of only a kind of communication channel. Here, the bridge channel means a channel allocated between specific blockchain nodes, and the bridge channel is merely added for convenience in order to distinguish it from other channels. Hereinafter, a blockchain maintained by blockchain nodes through a bridge channel will be referred to as a "bridge blockchain".

전술한 제2 실시예와 마찬가지로, 복수의 블록체인 노드(N1 내지 N6)는 서로 다른 그룹(230, 240)을 형성하고, 그룹(230)에 속한 블록체인 노드(N1, N2, N3)는 그룹 채널(CH_G1)을 통해 데이터가 저장된 그룹 블록체인(32)을 공유한다. 또한, 그룹(240)에 속한 블록체인 노드(N4, N5, N6)도 그룹 채널(CH_G2)를 통해 데이터가 저장된 그룹 블록체인(34)을 공유한다.Like the second embodiment described above, the plurality of blockchain nodes N1 to N6 form different groups 230 and 240, and the blockchain nodes N1, N2 and N3 belonging to the group 230 are groups. The group blockchain 32 in which data is stored is shared through the channel CH_G1. In addition, the blockchain nodes N4, N5, and N6 belonging to the group 240 also share the group blockchain 34 in which data is stored through the group channel CH_G2.

또한, 각 블록체인 노드(N1 내지 N6)는 개별 채널(CH_N1 내지 CH_N6)을 통해 개별 블록체인(e.g. 31, 35)을 유지하고, 공유 채널(CH_P)를 통해 메타데이터가 저장된 공용 블록체인(33)을 공유한다.In addition, each blockchain node N1 to N6 maintains individual blockchains (eg 31 and 35) through separate channels CH_N1 to CH_N6, and the shared blockchain 33 in which metadata is stored through the shared channel CH_P. Share)

도 10 및 도 11을 참조하여 상기 제3 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템에서 저장 트랜잭션이 처리되는 과정에 대하여 설명하도록 한다.A process of processing a stored transaction in the blockchain based transaction management system according to the third embodiment will be described with reference to FIGS. 10 and 11.

상기 제3 실시예의 전반적인 저장 트랜잭션 처리 과정은 전술한 제2 실시예와 유사하다. 다만 상기 제2 실시예에서는, 브릿지 채널(CH_B1)을 통해 데이터 및/또는 메타데이터가 전파되는 점에서 차이가 있다.The overall storage transaction processing procedure of the third embodiment is similar to the second embodiment described above. However, in the second embodiment, there is a difference in that data and / or metadata are propagated through the bridge channel CH_B1.

일 예를 들어, 도 10에 도시된 바와 같이, 블록체인 노드(N3)는 클라이언트 단말(321)로부터 데이터(D1)의 저장 요청에 관한 저장 트랜잭션을 수신하고, 상기 저장 요청에 응답하여, 데이터(D1)에 대한 메타데이터(M1)를 생성하며, 메타데이터(M1)을 브릿지 채널(CH_B1)을 통해 블록체인 노드(N4)로 빠르게 전파할 수 있다(③).For example, as shown in FIG. 10, the blockchain node N3 receives a storage transaction relating to a storage request for data D1 from the client terminal 321, and in response to the storage request, the data ( The metadata M1 for D1) may be generated, and the metadata M1 may be quickly propagated to the blockchain node N4 through the bridge channel CH_B1 (③).

다른 예를 들어, 도 11에 도시된 바와 같이, 블록체인 노드(N3)는 데이터(D1) 및 메타데이터(M1)를 브릿지 채널(CH_B1)을 통해 블록체인 노드(N4)로 전파할 수 있다(③). 본 예에서, 메타데이터(M1)의 저장 위치 정보에는 블록체인 노드(N3)뿐만 아니라 블록체인 노드(N4)의 위치 정보도 포함될 수 있다. 또는, 데이터(D1)를 수신한 블록체인 노드(N4)가 데이터(D1)의 저장 위치 정보를 갱신하여 메타데이터(M1')를 생성하고, 메타데이터(M1')를 공용 블록체인에 저장하는 방식으로 동작할 수도 있다. 본 예에 따르면, 합의 프로세스에 대한 추가 오버헤드를 요구하지 않고도, 브릿지 채널(CH_B1)을 통해 서로 다른 그룹 간에 데이터 공유가 빠르게 수행될 수 있다.For another example, as shown in FIG. 11, the blockchain node N3 may propagate data D1 and metadata M1 to the blockchain node N4 via the bridge channel CH_B1 ( ③). In this example, the storage location information of the metadata M1 may include not only the blockchain node N3 but also the location information of the blockchain node N4. Alternatively, the blockchain node N4 receiving the data D1 updates the storage location information of the data D1 to generate the metadata M1 ', and stores the metadata M1' on the shared blockchain. It may work in a way. According to this example, data sharing between different groups can be quickly performed through the bridge channel CH_B1 without requiring additional overhead for the consensus process.

전술한 몇몇 예에서, 브릿지 채널(CH_B1)로 연결되는 브릿지 노드(e.g. N3, N4)는 관리자에 의해 설정될 수 있고, 자동으로 설정될 수도 있다. 예를 들어, 특정 그룹(e.g. 230, 240) 내에서 성능(e.g. 컴퓨팅 성능, 스토리지 성능 등)이 가장 우수한 블록체인 노드가 브릿지 노드로 자동으로 선정될 수 있다. 다른 예를 들어, 네트워크 대역폭이 가장 큰 두 블록체인 노드가 자동으로 브릿지로 노드로 선정될 수 있다.In some examples described above, the bridge nodes e.g. N3 and N4 connected to the bridge channel CH_B1 may be set by the administrator or may be set automatically. For example, a blockchain node having the best performance (e.g. computing performance, storage performance, etc.) within a specific group (e.g. 230, 240) may be automatically selected as a bridge node. In another example, two blockchain nodes with the largest network bandwidth may be automatically selected as nodes as bridges.

다음으로, 도 12를 참조하여 상기 제3 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템에서 조회 트랜잭션이 처리되는 과정에 대하여 설명하도록 한다.Next, a process of processing the inquiry transaction in the blockchain based transaction management system according to the third embodiment will be described with reference to FIG. 12.

도 12를 참조하면, 상기 과정은 그룹(240)에 속한 블록체인 노드(N4)가 클라이언트 단말(323)로부터 데이터(D1)의 조회 요청에 관한 조회 트랜잭션을 수신하는 것부터 시작된다(①). 상기 조회 요청에 응답하여, 블록체인 노드(N4)는 공용 블록체인으로부터 데이터(D1)에 대한 메타데이터(M1)를 획득한다.Referring to FIG. 12, the process starts when the blockchain node N4 belonging to the group 240 receives an inquiry transaction related to an inquiry request for data D1 from the client terminal 323 (①). In response to the inquiry request, the blockchain node N4 obtains the metadata M1 for the data D1 from the common blockchain.

다음으로, 블록체인 노드(N4)는 메타데이터(M1)의 저장 위치 정보를 참조하여 블록체인 노드(N3)로 데이터(D1)를 요청하고, 요청한 데이터(D1)를 획득한다(②). 이때, 블록체인 노드(N4)는 브릿지 채널(CH_B1)을 이용하여 다른 그룹에 속한 블록체인 노드(N3)로부터 신속하게 데이터(D1)를 획득할 수 있다.Next, the blockchain node N4 requests the data D1 from the blockchain node N3 with reference to the storage location information of the metadata M1 and obtains the requested data D1 (②). In this case, the blockchain node N4 may quickly acquire data D1 from the blockchain node N3 belonging to another group using the bridge channel CH_B1.

다음으로, 블록체인 노드(N4)는 획득된 데이터(D1)를 클라이언트 단말(323)에게 제공한다(③).Next, the blockchain node N4 provides the obtained data D1 to the client terminal 323 (③).

이때, 블록체인 노드(N4)는 획득된 데이터(D1)를 자신의 개별 블록체인에 저장하고, 데이터(D1)의 저장 위치 정보를 갱신하여 새로운 메타데이터(M1')를 생성할 수 있다. 또한, 블록체인 노드(N4)는 메타데이터(M1')를 공용 채널(CH_P)를 통해 전파하고, 공용 블록체인을 통해 메타데이터(M1')를 공유할 수 있다(④, ⑤). 이와 같은 과정을 통해, 조회 트랜잭션이 처리되는 동안, 별도의 오버헤드 없이 데이터가 블록체인 네트워크 상에 점진적으로 전파될 수 있으며, 서로 다른 그룹(230, 240)에 속한 블록체인 노드 간에도 합의 프로세스가 수행되는 효과가 있다.In this case, the blockchain node N4 may store the acquired data D1 in its own blockchain and update the storage location information of the data D1 to generate new metadata M1 ′. In addition, the blockchain node N4 may propagate the metadata M1 'through the shared channel CH_P and share the metadata M1' through the shared blockchain (④ and ⑤). Through this process, while the inquiry transaction is processed, data can be gradually propagated on the blockchain network without additional overhead, and a consensus process is performed between blockchain nodes belonging to different groups 230 and 240. It is effective.

지금까지, 도 9 내지 도 12를 참조하여 본 발명의 제3 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 채널 구성 및 동작에 대하여 설명하였다. 상술한 바에 따르면, 서로 다른 그룹 간에 전용 채널을 미리 구성함으로써, 서로 다른 그룹에 속한 블록체인 노드가 연동하여 처리되어야 하는 트랜잭션이 빠르게 처리될 수 있다. 따라서, 시스템의 전반적인 트랜잭션 처리 성능은 더욱 향상될 수 있다.So far, the channel configuration and operation of the blockchain based transaction management system according to the third embodiment of the present invention have been described with reference to FIGS. 9 to 12. As described above, by configuring a dedicated channel between different groups in advance, transactions that must be processed in conjunction with blockchain nodes belonging to different groups can be processed quickly. Thus, the overall transaction processing performance of the system can be further improved.

이하에서는, 도 13 및 도 14를 참조하여 본 발명의 제4 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 구성 및 동작에 대하여 설명하도록 한다.Hereinafter, the configuration and operation of a blockchain based transaction management system according to a fourth embodiment of the present invention will be described with reference to FIGS. 13 and 14.

도 13은 본 발명의 제4 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 구성도이다.13 is a block diagram of a blockchain based transaction management system according to a fourth embodiment of the present invention.

도 13을 참조하면, 상기 제4 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템은 통신 서버(400)를 더 포함하도록 구성될 수 있다. 또한, 도 13에 도시된 블록체인 기반 트랜잭션 관리 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 통신 서버(400)와 적어도 하나의 블록체인 노드(100)는 동일한 물리적 컴퓨팅 장치 내의 서로 다른 로직으로 구현될 수도 있다. 이와 같은 경우, 특정 블록체인 노드(100)가 후술할 통신 서버(400)의 기능까지 수행하는 것으로 이해될 수 있다.Referring to FIG. 13, the blockchain based transaction management system according to the fourth embodiment may be configured to further include a communication server 400. In addition, each component of the blockchain-based transaction management system illustrated in FIG. 13 represents functionally distinct functional elements, and may be implemented in a form in which at least one component is integrated with each other in an actual physical environment. do. For example, the communication server 400 and the at least one blockchain node 100 may be implemented in different logic within the same physical computing device. In this case, it may be understood that the specific blockchain node 100 performs the function of the communication server 400 to be described later.

통신 서버(400)는 블록체인 노드(100)와 연동하여 클라이언트 단말(300)로부터 수신된 트랜잭션을 처리하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다.The communication server 400 is a computing device that processes a transaction received from the client terminal 300 in cooperation with the blockchain node 100. Here, the computing device may be a laptop, a desktop, a laptop, and the like, but is not limited thereto and may include all kinds of devices equipped with a computing function and a communication function.

일 실시예에서, 통신 서버(400)는 트랜잭션 분배 기능을 수행할 수 있다. 예를 들어, 통신 서버(400)는 블록체인 노드(100)들의 부하 정보에 기초하여 클라이언트 단말(300)로부터 요청된 트랜잭션을 적절한 블록체인 노드로 분배할 수 있다. 본 실시예에 따르면, 블록체인 네트워크(200)를 구성하는 블록체인 노드(100)들 간에 동적으로 로드 밸런싱이 수행되는 효과가 있다.In one embodiment, the communication server 400 may perform a transaction distribution function. For example, the communication server 400 may distribute a requested transaction from the client terminal 300 to an appropriate blockchain node based on load information of the blockchain nodes 100. According to the present embodiment, load balancing is dynamically performed between the blockchain nodes 100 constituting the blockchain network 200.

일 실시예에서, 통신 서버(400)는 블록체인 노드(100)의 메타데이터 생성 기능을 대신 수행할 수 있다. 구체적으로, 통신 서버(400)는 데이터의 저장 요청에 관한 저장 트랜잭션을 수신하고, 상기 저장 요청에 응답하여 상기 데이터를 특정 블록체인 노드의 개별 블록체인에 저장되도록 할 수 있다. 또한, 통신 서버(400)는 상기 데이터에 대한 메타데이터를 생성하고, 생성된 메타데이터를 공용 블록체인에 저장되도록 할 수 있다.In one embodiment, the communication server 400 may perform the metadata generation function of the blockchain node 100 instead. In detail, the communication server 400 may receive a storage transaction relating to a data storage request and allow the data to be stored in an individual blockchain of a specific blockchain node in response to the storage request. In addition, the communication server 400 may generate metadata about the data and store the generated metadata in a common blockchain.

한편, 본 발명의 실시예에 따르면, 통신 서버(400)는 데이터의 크기에 기초하여 합의 프로세스의 수행 범위를 결정할 수도 있다. 메타데이터와 같이 매우 저용량의 데이터라면, 굳이 합의 프로세스의 수행 범위를 제한할 필요가 없기 때문이다. 구체적으로, 데이터의 크기가 임계 수치 이하인 경우, 통신 서버(400)는 해당 데이터를 특정 블록체인 노드의 개별 블록체인 상에 저장되도록 할 수 있다. 반대로, 데이터의 크기가 상기 임계 수치 미만인 경우, 통신 서버(400)는 해당 데이터를 전체 블록체인 네트워크(200) 또는 특정 그룹 내의 블록체인 노드들 사이에 전파되도록 할 수 있다.Meanwhile, according to an embodiment of the present invention, the communication server 400 may determine the execution range of the consensus process based on the size of the data. If the data is very low, such as metadata, there is no need to limit the scope of the consensus process. Specifically, when the size of the data is less than or equal to the threshold value, the communication server 400 may allow the data to be stored on an individual blockchain of a specific blockchain node. Conversely, if the size of the data is less than the threshold value, the communication server 400 may allow the data to be propagated between the entire blockchain network 200 or blockchain nodes within a specific group.

한편, 도 13은 전체 블록체인 노드(100)에 대하여 하나의 통신 서버(400)가 배치된 것을 예로써 도시하고 있으나, 실시예에 따라 복수의 통신 서버(400)가 배치될 수도 있다. 예를 들어, 도 14에 도시된 바와 같이, 각 그룹(250, 260) 별로 통신 서버(401, 403)가 배치될 수 있고, 각 통신 서버(401, 403)는 원활한 트랜잭션 처리 서비스 제공을 위해 해당 그룹(250, 260)과 연동하여 전술한 동작을 수행할 수 있다.Meanwhile, FIG. 13 illustrates that one communication server 400 is disposed with respect to the entire blockchain node 100, but a plurality of communication servers 400 may be arranged according to an embodiment. For example, as shown in FIG. 14, communication servers 401 and 403 may be arranged for each group 250 and 260, and each communication server 401 and 403 may correspond to a smooth transaction processing service. The above-described operation may be performed in cooperation with the groups 250 and 260.

상기 제4 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템에서, 저장 트랜잭션 및 조회 트랜잭션이 처리되는 과정은 전술한 실시예들과 유사한 바, 이에 대한 설명은 생략하도록 한다.In the blockchain-based transaction management system according to the fourth embodiment, the process of processing the stored transaction and the inquiry transaction is similar to the above-described embodiments, and a description thereof will be omitted.

지금까지, 도 13 및 도 14를 참조하여 본 발명의 제4 실시예에 따른 블록체인 기반 트랜잭션 관리 시스템의 구성 및 동작에 대하여 설명하였다. 상술한 바에 따르면, 통신 서버(400)를 통해 블록체인 네트워크(200)에 대한 로드 밸런싱이 수행될 수 있는 바, 시스템의 트랜잭션 처리 성능이 더욱 향상될 수 있다.So far, the configuration and operation of the blockchain based transaction management system according to the fourth embodiment of the present invention have been described with reference to FIGS. 13 and 14. As described above, load balancing of the blockchain network 200 may be performed through the communication server 400, and thus the transaction processing performance of the system may be further improved.

이하에서는, 본 발명의 몇몇 실시예에서 참조되는 블록체인 노드(100)에 대하여 설명하도록 한다.Hereinafter, the blockchain node 100 referred to in some embodiments of the present invention will be described.

도 15는 본 발명의 일 실시예에 따른 블록체인 노드(100)를 나타내는 하드웨어 구성도이다.15 is a hardware diagram illustrating a blockchain node 100 according to an embodiment of the present invention.

도 15를 참조하면, 블록체인 노드(100)는 하나 이상의 프로세서(110), 버스(150), 네트워크 인터페이스(170), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(130)와, 블록체인 기반 트랜잭션 관리 소프트웨어(191)를 저장하는 스토리지(190)를 포함할 수 있다. 다만, 도 15에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 15에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 15, the blockchain node 100 may include one or more processors 110, a bus 150, a network interface 170, and a memory 130 that loads a computer program executed by the processor 110. And a storage 190 for storing the blockchain based transaction management software 191. However, FIG. 15 shows only the components related to the embodiment of the present invention. Therefore, it will be appreciated by those skilled in the art that the present invention may further include other general purpose components in addition to the components illustrated in FIG. 15.

프로세서(110)는 블록체인 노드(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 블록체인 노드(100)는 하나 이상의 프로세서를 구비할 수 있다.The processor 110 controls the overall operation of each component of the blockchain node 100. The processor 110 is configured to include a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphics processing unit (GPU), or any type of processor well known in the art. Can be. In addition, the processor 110 may perform operations on at least one application or program for executing a method according to embodiments of the present invention. The blockchain node 100 may have one or more processors.

메모리(130)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(130)는 전술한 본 발명의 몇몇 실시예들에 따른 동작을 수행하기 위하여 스토리지(190)로부터 하나 이상의 프로그램(191)을 로드할 수 있다. 도 15에서 메모리(130)의 예시로 RAM이 도시되었다.The memory 130 stores various data, commands, and / or information. The memory 130 may load one or more programs 191 from the storage 190 to perform an operation according to some embodiments of the present invention described above. In FIG. 15, RAM is illustrated as an example of the memory 130.

버스(150)는 블록체인 노드(100)의 구성 요소 간 통신 기능을 제공한다. 버스(150)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 150 provides a communication function between components of the blockchain node 100. The bus 150 may be implemented as various types of buses such as an address bus, a data bus, and a control bus.

네트워크 인터페이스(170)는 블록체인 노드(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(170)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(170)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 170 supports wired / wireless internet communication of the blockchain node 100. In addition, the network interface 170 may support various communication methods other than Internet communication. To this end, the network interface 170 may comprise a communication module well known in the art.

스토리지(190)는 상기 하나 이상의 프로그램(191)을 비임시적으로 저장할 수 있다. 도 15에서 상기 하나 이상의 프로그램(191)의 예시로 블록체인 기반 트랜잭션 관리 소프트웨어(191)가 도시되었다.The storage 190 may non-temporarily store the one or more programs 191. In FIG. 15, blockchain based transaction management software 191 is shown as an example of the one or more programs 191.

스토리지(190)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 190 is well-known in the technical field to which a non-volatile memory such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, or the like, a hard disk, a removable disk, or the present invention. It may comprise any known type of computer readable recording medium.

블록체인 기반 트랜잭션 관리 소프트웨어(191)는 메모리(130)에 로드(load)될 때, 프로세서(110)가 전술한 본 발명의 몇몇 실시예들에 따른 동작을 수행하도록 하는 인스트럭션들(instructions)을 포함할 수 있다.The blockchain based transaction management software 191 includes instructions that, when loaded into the memory 130, cause the processor 110 to perform operations in accordance with some embodiments of the invention described above. can do.

예를 들어, 블록체인 기반 트랜잭션 관리 소프트웨어(191)는 데이터의 저장을 요청하는 트랜잭션을 수신하는 동작, 상기 요청에 응답하여 상기 데이터를 제1 채널을 통해 공유되는 제1 블록체인 상에 저장하는 동작, 상기 데이터에 대한 메타데이터를 생성하되, 상기 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 동작 및 상기 메타데이터를 공용 채널을 통해 공유되는 공용 블록체인 상에 저장하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이때, 상기 제1 블록체인은 복수의 블록체인 노드 중 일부 블록체인 노드에 의해 공유되는 블록체인이고, 상기 공용 블록체인은 복수의 블록체인 노드에 의해 공유되는 블록체인일 수 있다.For example, the blockchain based transaction management software 191 may receive a transaction requesting storage of data, and store the data on a first blockchain shared through a first channel in response to the request. Generating metadata for the data, wherein the metadata includes storage location information of the data and storing the metadata on a shared blockchain shared through a shared channel. Instructions may be included. In this case, the first blockchain may be a blockchain shared by some blockchain nodes of a plurality of blockchain nodes, and the shared blockchain may be a blockchain shared by a plurality of blockchain nodes.

다른 예를 들어, 블록체인 기반 트랜잭션 관리 소프트웨어(191)는 클라이언트 단말로부터 데이터의 조회를 요청하는 트랜잭션을 수신하는 동작, 상기 요청에 응답하여 상기 데이터에 대한 제1 메타데이터를 공용 블록체인으로부터 획득하되, 상기 제1 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 동작 및 상기 저장 위치 정보를 이용하여 상기 데이터를 획득하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이때, 상기 공용 블록체인은 복수의 블록체인 노드가 공용 채널을 통해 공유하는 블록체인일 수 있다.In another example, the blockchain based transaction management software 191 may receive a transaction requesting an inquiry of data from a client terminal, and obtain first metadata for the data from the public blockchain in response to the request. The first metadata may include instructions for performing the operation of acquiring the data using the storage location information and the operation including the storage location information of the data. In this case, the shared blockchain may be a blockchain shared by a plurality of blockchain nodes through a common channel.

지금까지, 도 15를 참조하여 본 발명의 일 실시예에 따른 블록체인 노드(100)의 구성 및 동작에 대하여 설명하였다. 이하에서는, 도 16 내지 도 18을 참조하여 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 관리 방법에 대하여 상세하게 설명한다.Up to now, the configuration and operation of the blockchain node 100 according to an embodiment of the present invention have been described with reference to FIG. 15. Hereinafter, a blockchain based transaction management method according to an embodiment of the present invention will be described in detail with reference to FIGS. 16 to 18.

이하, 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 관리 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 블록체인 노드(100)일 수 있다. 다만, 설명의 편의를 위해, 상기 블록체인 기반 트랜잭션 관리 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 블록체인 기반 트랜잭션 관리 방법의 각 단계는 상기 컴퓨팅 장치의 메모리에 로드될 때 상기 컴퓨팅 장치의 프로세서에 의해 실행되는 인스트럭션들로 구현될 수 있다.Hereinafter, each step of the blockchain-based transaction management method according to an embodiment of the present invention may be performed by the computing device. For example, the computing device may be a blockchain node 100. However, for convenience of description, the description of the operation subject of each step included in the blockchain-based transaction management method may be omitted. Further, each step of the blockchain based transaction management method may be implemented with instructions executed by a processor of the computing device when loaded into the memory of the computing device.

본 발명의 실시예에 따른 블록체인 기반 트랜잭션 관리 방법은 저장 트랜잭션을 처리하는 방법 및 조회 트랜잭션을 처리하는 방법을 포함한다. 이하에서는, 도 16을 참조하여 상기 저장 트랜잭션을 처리하는 방법에 대하여 설명하고, 도 17 및 도 18을 참조하여 상기 조회 트랜잭션을 처리하는 방법에 대하여 설명하도록 한다.The blockchain-based transaction management method according to an embodiment of the present invention includes a method for processing a stored transaction and a method for processing an inquiry transaction. Hereinafter, a method of processing the stored transaction will be described with reference to FIG. 16, and a method of processing the inquiry transaction will be described with reference to FIGS. 17 and 18.

도 16은 본 발명의 일 실시예에 따른 저장 트랜잭션 처리 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.16 is a flowchart illustrating a stored transaction processing method according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, of course, some steps may be added or deleted as necessary.

도 16을 참조하면, 상기 저장 트랜잭션 처리 방법은 블록체인 노드(100)가 데이터의 저장을 요청하는 저장 트랜잭션을 수신하는 단계(S110)로부터 시작된다.Referring to FIG. 16, the storage transaction processing method starts from the step in which the blockchain node 100 receives a storage transaction requesting storage of data (S110).

단계(S130)에서, 블록체인 노드(100)는 개별 채널을 통해 공유되는 개별 블록체인 상에 요청된 데이터를 저장한다. 여기서, 개별 블록체인은 단일 블록체인 노드 또는 일부 블록체인 노드 사이에만 공유되는 것이기 때문에, 개별 블록체인에 데이터를 저장하더라도, 블록체인 네트워크 전반에 걸친 합의 프로세스가 수행되는 것은 아니다. 따라서, 상기 데이터가 고용량의 데이터라고 하더라도, 상기 저장 트랜잭션의 처리가 빠르게 완료될 수 있으며, 전체 시스템의 트랜잭션 처리 성능이 크게 향상될 수 있다.In step S130, the blockchain node 100 stores the requested data on an individual blockchain shared through an individual channel. Here, since the individual blockchain is shared only between a single blockchain node or some blockchain nodes, even if data is stored in the individual blockchain, a consensus process is not performed throughout the blockchain network. Therefore, even if the data is a large amount of data, the processing of the stored transaction can be completed quickly, and the transaction processing performance of the entire system can be greatly improved.

단계(S150)에서, 블록체인 노드(100)는 해당 데이터의 저장 위치 정보가 포함된 메타데이터를 생성한다.In step S150, the blockchain node 100 generates metadata including storage location information of the corresponding data.

단계(S170)에서, 블록체인 노드(100)는 공유 채널을 통해 공유되는 공용 블록체인 상에 생성된 메타데이터를 저장한다. 여기서, 상기 공용 블록체인은 대다수의 블록체인 노드 사이에 유지되는 블록체인이다. 따라서, 메타데이터가 저장되기 위해서는, 블록체인 네트워크 전반에 걸친 합의 프로세스가 수행되어야 한다. 그러나, 상기 메타데이터는 매우 작은 용량의 데이터이기 때문에, 블록체인 네트워크 전반에 걸쳐 합의 프로세스가 수행되더라도, 짧은 시간 내에 해당 트랜잭션의 처리가 완료될 수 있다.In step S170, the blockchain node 100 stores the metadata generated on the shared blockchain shared through the shared channel. Here, the shared blockchain is a blockchain that is maintained between the majority of blockchain nodes. Therefore, in order for metadata to be stored, a consensus process must be performed throughout the blockchain network. However, since the metadata is a very small amount of data, even if a consensus process is performed throughout the blockchain network, processing of the transaction can be completed within a short time.

다음으로, 도 17을 참조하여 본 발명의 일 실시예에 따른 조회 트랜잭션 처리 방법에 대하여 설명하도록 한다.Next, a query transaction processing method according to an embodiment of the present invention will be described with reference to FIG. 17.

도 17은 본 발명의 일 실시예에 따른 조회 트랜잭션 처리 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.17 is a flowchart illustrating a query transaction processing method according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, of course, some steps may be added or deleted as necessary.

도 17을 참조하면, 상기 조회 트랜잭션 처리 방법은 블록체인 노드(100)가 데이터의 조회를 요청하는 조회 트랜잭션을 클라이언트 단말로부터 수신하는 단계(S210)로부터 시작된다. 블록체인 노드(100)의 개별 블록체인에 조회 요청된 데이터가 존재하지 않는 경우, 이하의 단계(S220 내지 S270)들이 수행될 수 있다.Referring to FIG. 17, the inquiry transaction processing method starts from the step in which the blockchain node 100 receives an inquiry transaction requesting inquiry of data from a client terminal (S210). If there is no data requested to be searched in the individual blockchain of the blockchain node 100, the following steps S220 to S270 may be performed.

단계(S220)에서, 블록체인 노드(100)는 공용 채널을 통해 공유되는 공용 블록체인으로부터 조회 요청된 데이터에 대한 메타데이터를 획득한다. 전술한 바와 같이, 상기 메타데이터에는 해당 데이터의 저장 위치가 기록되어 있다.In step S220, the blockchain node 100 obtains metadata about the data requested for inquiry from the shared blockchain shared through the shared channel. As described above, the storage location of the data is recorded in the metadata.

단계(S230)에서, 블록체인 노드(100)는 메타데이터에 포함된 저장 위치 정보가 가리키는 블록체인 노드로 데이터를 요청하고, 요청된 데이터를 획득한다.In step S230, the blockchain node 100 requests data from the blockchain node indicated by the storage location information included in the metadata, and obtains the requested data.

단계(S240)에서, 블록체인 노드(100)는 획득한 데이터를 클라이언트 단말로 제공한다.In step S240, the blockchain node 100 provides the obtained data to the client terminal.

위와 같은 조회 트랜잭션 처리 과정과 함께, 블록체인 노드(100)는 도 18에 도시된 단계(S250 내지 S270)들을 더 수행할 수 있다. 이는, 별도의 오버헤드 없이, 데이터가 블록체인 네트워크 상에 점진적으로 전파되도록 하기 위해서이다.In addition to the inquiry transaction processing as described above, the blockchain node 100 may further perform the steps (S250 to S270) shown in FIG. This is to allow data to be gradually propagated on the blockchain network without any additional overhead.

도 18을 참조하면, 단계(S250)에서, 블록체인 노드(100)는 개별 채널을 통해 공유되는 개별 블록체인 상에 단계(S230)을 통해 획득된 데이터를 저장한다.Referring to FIG. 18, in step S250, the blockchain node 100 stores data obtained through step S230 on an individual blockchain shared through an individual channel.

단계(S260)에서, 블록체인 노드(100)는 저장 위치 정보를 갱신하여 상기 획득된 데이터에 대한 새로운 메타데이터를 생성한다. 예를 들어, 상기 획득된 데이터의 저장 위치가 블록체인 노드(100)로 갱신된 메타데이터가 본 단계(S260)에서 생성될 수 있다.In step S260, the blockchain node 100 updates the storage location information to generate new metadata for the obtained data. For example, metadata whose storage location of the obtained data is updated to the blockchain node 100 may be generated in this step S260.

단계(S270)에서, 블록체인 노드(100)는 공용 채널을 통해 공유되는 공용 블록체인 상에 상기 생성된 메타데이터를 저장한다. 따라서, 본 단계(S270) 이후로는 상기 데이터의 조회 트랜잭션이 블록체인 노드(100)에 의해서도 처리될 수 있고, 이는 블록체인 노드 간에 트랜잭션 처리 부하를 분산시키는 효과를 야기할 수 있다.In step S270, the blockchain node 100 stores the generated metadata on a shared blockchain shared through a shared channel. Therefore, after the step S270, the inquiry transaction of the data may also be processed by the blockchain node 100, which may cause an effect of distributing the transaction processing load among the blockchain nodes.

지금까지, 도 16 내지 도 18을 참조하여 본 발명의 실시예에 따른 블록체인 기반 트랜잭션 처리 방법에 대하여 설명하였다. 상술한 방법에 따르면, 저장 트랜잭션에 대한 합의 프로세스 수행 범위가 특정 블록체인 노드들로 제한되고, 트랜잭션이 처리된 이후에 해당 데이터가 점진적으로 블록체인 네트워크 상에 전파될 수 있다. 이에 따라, 저장 트랜잭션의 합의에 요구되는 부하가 크게 경감될 수 있으며, 고용량의 데이터를 저장하는 무거운 트랜잭션 또한 신속하게 처리될 수 있다. 아울러, 고용량의 데이터를 저장 트랜잭션으로 인해 조회 트랜잭션과 같은 가벼운 트랜잭션의 처리가 지연되는 문제가 해결될 수 있고, 전반적인 시스템의 트랜잭션 처리 성능 또한 크게 향상될 수 있다.So far, the blockchain based transaction processing method according to the embodiment of the present invention has been described with reference to FIGS. 16 to 18. According to the above-described method, the scope of consensus process execution for the storage transaction is limited to specific blockchain nodes, and the data can be gradually propagated on the blockchain network after the transaction is processed. As a result, the load required for consensus of the storage transaction can be greatly reduced, and a heavy transaction storing a large amount of data can be processed quickly. In addition, the problem of delaying the processing of a light transaction such as an inquiry transaction due to storing a large amount of data can be solved, and the overall transaction processing performance of the system can be greatly improved.

지금까지, 도 2 내지 도 18을 참조하여 본 발명의 몇몇 실시예들 및 상기 몇몇 실시예들에 따른 효과들을 언급하였다. 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, reference has been made to some embodiments of the invention and effects in accordance with some embodiments with reference to FIGS. 2 to 18. The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

지금까지 도 2 내지 도 18을 참조하여 본 발명의 몇몇 실시예들 및 상기 실시예들에 따른 효과를 언급하였다. 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, reference has been made to some embodiments of the invention and effects in accordance with the embodiments with reference to FIGS. 2 to 18. The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

지금까지 도 2 내지 도 18을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The concepts of the present invention described above with reference to FIGS. 2 through 18 may be implemented in computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer equipped hard disk). Can be. The computer program recorded on the computer-readable recording medium may be transmitted to another computing device and installed in the other computing device via a network such as the Internet, thereby being used in the other computing device.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above description, all elements constituting the embodiments of the present invention are described as being combined or operating in combination, but the present invention is not necessarily limited to the embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although the operations are shown in a specific order in the drawings, it should not be understood that the operations must be performed in the specific order or sequential order shown or that all the illustrated operations must be executed to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various configurations in the embodiments described above should not be understood as requiring that separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. Should be understood.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

Claims (20)

제1 채널을 통해 제1 블록체인을 공유하는 제1 블록체인 노드; 및
제2 채널을 통해 제2 블록체인을 공유하는 제2 블록체인 노드를 포함하되,
상기 제1 블록체인 및 상기 제2 블록체인은 데이터가 저장되는 블록체인이고,
상기 제1 블록체인 노드 및 상기 제2 블록체인 노드는 공용 채널을 통해 공용 블록체인을 공유하며,
상기 공용 블록체인은 상기 데이터의 저장 위치 정보를 포함하는 메타데이터가 저장되는 블록체인인 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
A first blockchain node sharing a first blockchain through a first channel; And
Including a second blockchain node sharing a second blockchain through a second channel,
The first blockchain and the second blockchain is a blockchain in which data is stored,
The first blockchain node and the second blockchain node share a common blockchain through a common channel,
The common blockchain is a blockchain in which metadata including storage location information of the data is stored.
Blockchain based transaction management system.
제1 항에 있어서,
상기 제1 블록체인 노드는,
제1 데이터의 저장을 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터를 상기 제1 블록체인 상에 저장하고,
상기 제1 데이터의 저장 위치 정보를 포함하는 제1 메타데이터를 생성하며,
상기 제1 메타데이터를 상기 공용 블록체인에 저장하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
According to claim 1,
The first blockchain node,
Receive a transaction requesting storage of first data, store the first data on the first blockchain in response to the request,
Generating first metadata including storage location information of the first data,
Storing the first metadata in the shared blockchain,
Blockchain based transaction management system.
제1 항에 있어서,
상기 제1 블록체인 노드는,
제1 데이터의 조회를 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터에 대한 제1 메타데이터를 상기 공용 블록체인으로부터 획득하며, 상기 제1 메타데이터에 포함된 상기 제1 데이터의 저장 위치 정보를 이용하여 상기 제1 데이터를 획득하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
According to claim 1,
The first blockchain node,
Receive a transaction requesting inquiry of first data, obtain first metadata for the first data from the public blockchain in response to the request, and determine the first data included in the first metadata; Characterized in that the first data is obtained using storage location information.
Blockchain based transaction management system.
제3 항에 있어서,
상기 제1 블록체인 노드는,
상기 획득된 제1 데이터를 상기 제1 블록체인 상에 저장하고, 상기 제1 데이터의 저장 위치 정보를 갱신하여, 상기 제1 데이터에 대한 제2 메타데이터를 생성하며, 상기 제2 메타데이터를 상기 공용 블록체인 상에 저장하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
The method of claim 3, wherein
The first blockchain node,
Storing the acquired first data on the first blockchain, updating storage location information of the first data, generating second metadata for the first data, and converting the second metadata to the Characterized in that stored on a common blockchain,
Blockchain based transaction management system.
제1 항에 있어서,
상기 제1 블록체인 노드는 제1 블록체인 노드 그룹에 포함되고,
상기 제2 블록체인 노드는 제2 블록체인 노드 그룹에 포함되되,
상기 제1 블록체인 노드 그룹은, 제1 그룹 채널을 통해 제1 그룹 블록체인을 공유하고,
상기 제2 블록체인 노드 그룹은, 제2 그룹 채널을 통해 제2 그룹 블록체인을 공유하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
According to claim 1,
The first blockchain node is included in the first blockchain node group,
The second blockchain node is included in the second blockchain node group,
The first blockchain node group shares the first group blockchain through a first group channel,
The second blockchain node group shares a second group blockchain through a second group channel.
Blockchain based transaction management system.
제5 항에 있어서,
상기 제1 블록체인 노드 및 상기 제2 블록체인 노드는,
별도의 브릿지 채널을 통해 데이터를 공유하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
The method of claim 5,
The first blockchain node and the second blockchain node,
Characterized in that sharing data through a separate bridge channel,
Blockchain based transaction management system.
제6 항에 있어서,
상기 제1 블록체인 노드는,
제1 데이터의 저장을 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터를 상기 제1 블록체인 상에 저장하며, 상기 제1 데이터를 상기 브릿지 채널을 통해 상기 제2 블록체인 노드와 공유하고,
상기 제2 블록체인 노드는,
상기 공유된 제1 데이터를 상기 제2 블록체인 상에 저장하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
The method of claim 6,
The first blockchain node,
Receive a transaction requesting storage of first data, store the first data on the first blockchain in response to the request, and store the first data with the second blockchain node via the bridge channel; Share it,
The second blockchain node,
Characterized in that for storing the shared first data on the second blockchain,
Blockchain based transaction management system.
제6 항에 있어서,
상기 제1 블록체인 노드는,
제1 데이터의 조회를 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터에 대한 제1 메타데이터를 상기 공용 블록체인으로부터 획득하며, 상기 제1 메타데이터를 기초로 상기 제1 데이터의 저장 노드가 상기 제2 블록체인 노드 그룹에 속하는지 여부를 판정하고, 상기 저장 노드가 상기 제2 블록체인 노드 그룹에 속한다는 판정에 응답하여, 상기 브릿지 채널을 통해 상기 제1 데이터를 획득하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
The method of claim 6,
The first blockchain node,
Receive a transaction requesting inquiry of first data, obtain first metadata for the first data from the public blockchain in response to the request, and determine the first data based on the first metadata. Determine whether a storage node belongs to the second blockchain node group, and in response to determining that the storage node belongs to the second blockchain node group, acquiring the first data through the bridge channel. Characterized by
Blockchain based transaction management system.
제1 항에 있어서,
상기 제1 블록체인은 제1 데이터를 포함하되,
상기 제1 블록체인 노드는,
기 설정된 시간이 이후에 상기 제1 데이터를 상기 제2 블록체인 노드와 공유하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
According to claim 1,
The first blockchain includes first data,
The first blockchain node,
Characterized in that after the predetermined time shares the first data with the second blockchain node,
Blockchain based transaction management system.
제1 항에 있어서,
상기 제1 블록체인은 제1 데이터를 포함하고,
상기 제1 블록체인 노드는,
기 설정된 조건이 만족됨에 응답하여, 상기 제1 데이터를 상기 제2 블록체인 노드와 공유하되,
상기 기 설정된 조건은 블록체인 노드의 부하 및 네트워크의 가용 대역폭 중 적어도 하나에 기초한 조건인 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
According to claim 1,
The first blockchain includes first data,
The first blockchain node,
In response to a preset condition being satisfied, the first data is shared with the second blockchain node,
The predetermined condition is a condition based on at least one of the load of the blockchain node and the available bandwidth of the network,
Blockchain based transaction management system.
제1 항에 있어서,
통신 서버를 더 포함하되,
상기 통신 서버는,
클라이언트 단말로부터 제1 데이터의 저장을 요청하는 트랜잭션을 수신하고, 상기 요청에 응답하여 상기 제1 데이터를 상기 제1 블록체인 상에 저장되도록 하며, 상기 제1 데이터의 저장 위치 정보를 포함하는 제1 메타데이터를 생성하고, 상기 제1 메타데이터를 상기 공용 블록체인에 저장되도록 하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
According to claim 1,
Further includes a communication server,
The communication server,
Receiving a transaction requesting storage of first data from a client terminal, allowing the first data to be stored on the first blockchain in response to the request, and including a storage location information of the first data Generating metadata and storing the first metadata in the shared blockchain;
Blockchain based transaction management system.
제11 항에 있어서,
상기 통신 서버는,
상기 제1 데이터의 크기가 임계 수치 이상이라는 판정에 응답하여, 상기 제1 데이터를 상기 제1 블록체인 상에 저장되도록 하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
The method of claim 11, wherein
The communication server,
In response to determining that the size of the first data is greater than or equal to a threshold value, causing the first data to be stored on the first blockchain.
Blockchain based transaction management system.
제1 항에 있어서,
통신 서버를 더 포함하되,
상기 통신 서버는,
클라이언트 단말로부터 트랜잭션을 수신하고, 상기 제1 블록체인 노드와 상기 제2 블록체인 노드의 부하 정보에 기초하여 상기 수신된 트랜잭션을 제1 블록체인 노드 및 상기 제2 블록체인 노드 중 어느 하나의 블록체인 노드로 포워딩하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 시스템.
According to claim 1,
Further includes a communication server,
The communication server,
Receive a transaction from a client terminal, and based on the load information of the first blockchain node and the second blockchain node, the received transaction of the blockchain of any one of the first blockchain node and the second blockchain node. Characterized in that forwarding to the node,
Blockchain based transaction management system.
복수의 블록체인 노드를 포함하는 블록체인 기반 트랜잭션 관리 시스템에서 수행되는 블록체인 기반의 트랜잭션 관리 방법에 있어서,
상기 복수의 블록체인 노드 중 제1 블록체인 노드가, 데이터의 저장을 요청하는 트랜잭션을 수신하는 단계;
상기 제1 블록체인 노드가, 상기 요청에 응답하여 상기 데이터를 제1 채널을 통해 공유되는 제1 블록체인 상에 저장하는 단계;
상기 제1 블록체인 노드가, 상기 데이터에 대한 메타데이터를 생성하되, 상기 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 단계; 및
상기 제1 블록체인 노드가, 상기 메타데이터를 공용 채널을 통해 공유되는 공용 블록체인 상에 저장하는 단계를 포함하되,
상기 제1 블록체인은, 상기 복수의 블록체인 노드 중 일부 블록체인 노드에 의해 공유되는 블록체인이고,
상기 공용 블록체인은, 상기 복수의 블록체인 노드에 의해 공유되는 블록체인인 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 방법.
In the blockchain-based transaction management method performed in a blockchain-based transaction management system comprising a plurality of blockchain nodes,
Receiving, by a first blockchain node of the plurality of blockchain nodes, a transaction requesting storage of data;
Storing, by the first blockchain node, the data on a first blockchain shared through a first channel in response to the request;
The first blockchain node generating metadata for the data, wherein the metadata includes storage location information of the data; And
Storing, by the first blockchain node, the metadata on a shared blockchain shared via a shared channel,
The first blockchain is a blockchain shared by some blockchain nodes of the plurality of blockchain nodes,
The shared blockchain is a blockchain shared by the plurality of blockchain nodes,
Blockchain based transaction management method.
제14 항에 있어서,
상기 복수의 블록체인 노드는, 제1 그룹 채널을 통해 제1 그룹 블록체인을 공유하되,
상기 데이터는 상기 제1 그룹 블록체인에 저장되지 않는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 방법.
The method of claim 14,
The plurality of blockchain nodes share a first group blockchain through a first group channel,
The data is not stored in the first group blockchain,
Blockchain based transaction management method.
제15 항에 있어서,
상기 복수의 블록체인 노드는 상기 일부 블록체인 노드에 포함되지 않는 제2 블록체인 노드를 포함하고,
상기 제1 블록체인 노드가, 기 설정된 시간이 이후에 상기 데이터를 상기 제2 블록체인 노드와 공유하는 단계를 더 포함하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 방법.
The method of claim 15,
The plurality of blockchain nodes includes a second blockchain node that is not included in the partial blockchain node,
And sharing, by the first blockchain node, the data with the second blockchain node after a preset time.
Blockchain based transaction management method.
제14 항에 있어서,
상기 데이터를 제1 채널을 통해 공유되는 제1 블록체인 상에 저장하는 단계는,
상기 데이터의 크기가 임계 수치 이상이라는 판정에 응답하여, 상기 데이터를 상기 제1 블록체인 상에 저장하는 단계를 포함하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 방법.
The method of claim 14,
The storing of the data on the first blockchain shared through the first channel may include:
In response to determining that the size of the data is greater than or equal to a threshold value, storing the data on the first blockchain.
Blockchain based transaction management method.
제17 항에 있어서,
상기 제1 블록체인 노드가, 상기 데이터의 크기가 상기 임계 수치 미만이라는 판정에 응답하여, 상기 데이터를 상기 복수의 블록체인 노드로 전파하는 단계를 더 포함하는 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 방법.
The method of claim 17,
And propagating, by the first blockchain node, the data to the plurality of blockchain nodes in response to determining that the size of the data is less than the threshold value.
Blockchain based transaction management method.
복수의 블록체인 노드를 포함하는 블록체인 기반 트랜잭션 관리 시스템에서 수행되는 블록체인 기반의 트랜잭션 관리 방법에 있어서,
상기 복수의 블록체인 노드 중 제1 블록체인 노드가, 클라이언트 단말로부터 데이터의 조회를 요청하는 트랜잭션을 수신하는 단계;
상기 제1 블록체인 노드가, 상기 요청에 응답하여 상기 데이터에 대한 제1 메타데이터를 공용 블록체인으로부터 획득하되, 상기 제1 메타데이터는 상기 데이터의 저장 위치 정보를 포함하는 것인, 단계; 및
상기 제1 블록체인 노드가, 상기 저장 위치 정보를 이용하여 상기 데이터를 획득하는 단계를 포함하되,
상기 공용 블록체인은, 상기 복수의 블록체인 노드가 공용 채널을 통해 공유하는 블록체인인 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 방법.
In the blockchain-based transaction management method performed in a blockchain-based transaction management system comprising a plurality of blockchain nodes,
Receiving, by a first blockchain node of the plurality of blockchain nodes, a transaction requesting inquiry of data from a client terminal;
The first blockchain node obtaining first metadata for the data from a common blockchain in response to the request, wherein the first metadata includes storage location information of the data; And
Acquiring, by the first blockchain node, the data using the storage location information;
The shared blockchain is characterized in that the blockchain shared by the plurality of blockchain nodes via a shared channel,
Blockchain based transaction management method.
제19 항에 있어서,
상기 제1 블록체인 노드가, 상기 획득된 데이터를 제1 채널을 통해 공유되는 제1 블록체인 상에 저장하는 단계;
상기 제1 블록체인 노드가, 상기 데이터의 저장 위치 정보를 갱신하여, 상기 데이터에 대한 제2 메타데이터를 생성하는 단계; 및
상기 제1 블록체인 노드가, 상기 제2 메타데이터를 상기 공용 블록체인 상에 저장하는 단계를 더 포함하되,
상기 제1 블록체인은, 상기 복수의 블록체인 노드 중 일부 블록체인 노드에 의해 공유되는 블록체인인 것을 특징으로 하는,
블록체인 기반 트랜잭션 관리 방법.
The method of claim 19,
Storing, by the first blockchain node, the obtained data on a first blockchain shared through a first channel;
Generating, by the first blockchain node, updating storage location information of the data to generate second metadata for the data; And
Storing, by the first blockchain node, the second metadata on the shared blockchain;
The first blockchain is a blockchain shared by some blockchain nodes of the plurality of blockchain nodes,
Blockchain based transaction management method.
KR1020180057157A 2018-05-18 2018-05-18 System for managing transaction based on blockchain and operationg method thereof KR20190132009A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180057157A KR20190132009A (en) 2018-05-18 2018-05-18 System for managing transaction based on blockchain and operationg method thereof
PCT/KR2019/002991 WO2019221377A1 (en) 2018-05-18 2019-03-14 Blockchain-based transaction management system and operating method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180057157A KR20190132009A (en) 2018-05-18 2018-05-18 System for managing transaction based on blockchain and operationg method thereof

Publications (1)

Publication Number Publication Date
KR20190132009A true KR20190132009A (en) 2019-11-27

Family

ID=68540517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180057157A KR20190132009A (en) 2018-05-18 2018-05-18 System for managing transaction based on blockchain and operationg method thereof

Country Status (2)

Country Link
KR (1) KR20190132009A (en)
WO (1) WO2019221377A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102209852B1 (en) * 2020-02-12 2021-01-29 현수영 Transaction transfer realy method between compatible blockchain networks
KR20220058270A (en) * 2020-10-30 2022-05-09 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium
KR102532319B1 (en) * 2022-11-24 2023-05-17 주식회사 글로벌에이치알코리아 Method of operating multi-channel node based on cloud virtual machine using blockchain and system thereof
KR102554445B1 (en) * 2022-09-07 2023-07-11 주식회사 브로넥스 Artificial intelligence-based metaverse and blockchain mixed education system

Citations (1)

* Cited by examiner, † Cited by third party
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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120631B1 (en) * 2001-12-21 2006-10-10 Emc Corporation File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
US8224348B2 (en) * 2009-12-18 2012-07-17 Trueposition, Inc. Location intelligence management system
US10713654B2 (en) * 2016-01-21 2020-07-14 International Business Machines Corporation Enterprise blockchains and transactional systems
EP3411824B1 (en) * 2016-02-04 2019-10-30 Nasdaq Technology AB Systems and methods for storing and sharing transactional data using distributed computer systems
WO2017136527A1 (en) * 2016-02-05 2017-08-10 Manifold Technology, Inc. Blockchain-enhanced database

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102209852B1 (en) * 2020-02-12 2021-01-29 현수영 Transaction transfer realy method between compatible blockchain networks
KR20220058270A (en) * 2020-10-30 2022-05-09 주식회사 블록오디세이 Method of providing platform for mobile blockchain network, Mobile device and Recording medium
KR102554445B1 (en) * 2022-09-07 2023-07-11 주식회사 브로넥스 Artificial intelligence-based metaverse and blockchain mixed education system
KR102613069B1 (en) * 2022-09-07 2023-12-12 주식회사 브로넥스 Block chain network based failure response process management system
WO2024053789A1 (en) * 2022-09-07 2024-03-14 주식회사 브로넥스 Process management system using micro-service architecture based on blockchain network
KR102532319B1 (en) * 2022-11-24 2023-05-17 주식회사 글로벌에이치알코리아 Method of operating multi-channel node based on cloud virtual machine using blockchain and system thereof

Also Published As

Publication number Publication date
WO2019221377A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
US10789085B2 (en) Selectively providing virtual machine through actual measurement of efficiency of power usage
TWI694339B (en) Blockchain consensus method, equipment and system
KR20190132009A (en) System for managing transaction based on blockchain and operationg method thereof
US10078533B2 (en) Coordinated admission control for network-accessible block storage
CN103620578B (en) Local cloud computing via network segmentation
WO2016197994A1 (en) Capacity expansion method and device
US20180052709A1 (en) Dynamic usage balance of central processing units and accelerators
US20130332608A1 (en) Load balancing for distributed key-value store
US10235047B2 (en) Memory management method, apparatus, and system
US8635626B2 (en) Memory-aware scheduling for NUMA architectures
US9563453B2 (en) Decentralized management of virtualized hosts
US9489429B2 (en) Computer system, data management method, and program
US10853128B2 (en) Virtual machine management device and virtual machine management method
US10944645B2 (en) Node of a network and a method of operating the same for resource distribution
TW201738781A (en) Method and device for joining tables
TW201818244A (en) Method, apparatus and system for allocating resources of application clusters under cloud environment
WO2018158819A1 (en) Distributed database system and resource management method for distributed database system
CN113342477A (en) Container group deployment method, device, equipment and storage medium
CN105760391B (en) Method, data node, name node and system for dynamically redistributing data
WO2017113277A1 (en) Data processing method, device, and system
KR20200000583A (en) Method for managing data based on blockchain and apparatus thereof
US9483320B2 (en) Computing apparatus, method of controlling computing apparatus, and computer-readable storage medium having program for controlling computing apparatus stored therein to move processes to a same processor core for execution
Ashalatha et al. Dynamic load balancing methods for resource optimization in cloud computing environment
KR20200086393A (en) Providing method, apparatus and computer-readable medium of auto scaling of cloud server
CN106775942B (en) Cloud application-oriented solid-state disk cache management system and method