KR102447289B1 - Peer terminal and method for processing a block data at a peer terminal - Google Patents

Peer terminal and method for processing a block data at a peer terminal Download PDF

Info

Publication number
KR102447289B1
KR102447289B1 KR1020200127066A KR20200127066A KR102447289B1 KR 102447289 B1 KR102447289 B1 KR 102447289B1 KR 1020200127066 A KR1020200127066 A KR 1020200127066A KR 20200127066 A KR20200127066 A KR 20200127066A KR 102447289 B1 KR102447289 B1 KR 102447289B1
Authority
KR
South Korea
Prior art keywords
block data
information
processing
transaction information
processing operation
Prior art date
Application number
KR1020200127066A
Other languages
Korean (ko)
Other versions
KR20220007483A (en
Inventor
김판종
박규남
Original Assignee
주식회사 미디움
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 미디움 filed Critical 주식회사 미디움
Priority to PCT/KR2021/008775 priority Critical patent/WO2022010300A1/en
Publication of KR20220007483A publication Critical patent/KR20220007483A/en
Application granted granted Critical
Publication of KR102447289B1 publication Critical patent/KR102447289B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

본 발명은 하이퍼레저 패브릭 구조에서 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법에 관한 것이다.
본 발명의 일례에 따라, 제1 프로세싱 기능을 수행하는 제1 기능 부분 및 상기 제1 프로세싱과 다른 제2 프로세싱 기능을 수행하는 제2 기능 부분을 포함하는 프로세서를 포함하는 피어 단말기가 블록 데이터를 처리하는 방법은 상기 피어 단말기가 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 블록 데이터 수신 단계; 상기 제1 기능 부분이 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업 단계; 및 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계;를 포함하고, 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행된다.
The present invention relates to a peer terminal and a method for processing block data by a peer terminal in a Hyperledger Fabric architecture.
According to an example of the present invention, a peer terminal including a processor including a first functional part for performing a first processing function and a second functional part for performing a second processing function different from the first processing function processes block data The method comprising: receiving, by the peer terminal, block data including a plurality of transaction information; a pre-processing operation step of collecting, by the first functional part, index information of the plurality of transaction information and storing it in an index database; and a main processing operation step in which the second function part verifies the content information of the plurality of transaction information and stores it in a block chain storage unit, wherein the pre-processing operation step and the main processing operation step are performed simultaneously.

Description

피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법{Peer terminal and method for processing a block data at a peer terminal}Peer terminal and method for processing a block data at a peer terminal

본 발명은 하이퍼레저 패브릭 구조에서 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법에 관한 것이다.The present invention relates to a peer terminal and a method for processing block data by a peer terminal in a Hyperledger Fabric architecture.

블록 체인은 누구나 네크워크에 참여할 수 있는 퍼블릭(Public) 블록 체인과, 허락된 대상만 네크워크에 참여할 수 있는 프라이빗(Private) 블록 체인으로 구별될 수 있다. A block chain can be divided into a public block chain where anyone can participate in the network, and a private block chain where only authorized people can participate in the network.

하이퍼레저 패브릭은 허가형 프라이빗 블록체인(Permissioned Private Blockchain)의 형태를 가지며, 누구나 자유롭게 참여 가능한 퍼블릭 블록체인과 달리, 인증 관리 시스템에 의해 하락된 사용자만이 블록 체인 네트워크에 참여할 수 있다.Hyperledger Fabric has the form of a permissioned private blockchain, and unlike public blockchains where anyone can freely participate, only users who have been downgraded by the authentication management system can participate in the blockchain network.

따라서, 하이퍼레저 패브릭은 다른 퍼블릭 블록 체인보다 보안성이 뛰어 날 수 있으며, 하이퍼레저 패브릭 네크워크에 참여한 노드들은 이미 시스템에 의해 허가된, 신뢰를 가진 노드로 볼 수 있고, 퍼블릭 블록체인에서 사용하는 악의적인 노드를 검증하기 위한 복잡한 합의 알고리즘 등을 필요로 하지 않고, 단지 원장에 접근하려는 사용자가 허가된 노드인가, 그러한 권한이 있는가, 트랜잭션이 제대로 구성되어 있는가를 검증하는 정도로 충분하다. Therefore, Hyperledger Fabric can be more secure than other public blockchains, and nodes participating in the Hyperledger Fabric network can be seen as trusted nodes that have already been authorized by the system, and malicious malicious actors used in the public blockchain It does not require a complex consensus algorithm to verify the in-node, but it is sufficient to verify that the user who wants to access the ledger is an authorized node, has such authority, and whether the transaction is properly structured.

이와 같은 하이퍼레저 패브릭 네크워크 구조에서는 모든 노드가 블록체인 형태로 저장되는 동일한 원장으로 정보를 공유할 수 있고, 비즈니스 목적에 맞게 공유하고자 하는 노드 간에 별도의 채널을 생성하여 별도의 원장을 생성하는 것도 가능하다.In such a Hyperledger Fabric network structure, all nodes can share information with the same ledger stored in the form of a block chain, and it is also possible to create a separate ledger by creating a separate channel between nodes to be shared for business purposes. do.

이와 같은 하이퍼레저 패브릭 네트워크는 클라이언트(Client) 단말기, 피어(Peer) 단말기 및 오더러(Orderer) 단말기를 포함할 수 있으며, 피어 단말기는 네트워크의 각 노드를 형성하며, 하이퍼레저 패브릭 네트워크에서 인증되고, 참여가 허락된 단말기일 수 있다.Such a Hyperledger Fabric network may include a client terminal, a peer terminal, and an orderer terminal, and the peer terminals form each node of the network and are authenticated in the Hyperledger Fabric network, It may be a terminal that is allowed to participate.

클라이언트 단말기에서는 거래 내용이 포함되는 트랜잭션 정보를 생성하여, 네트워크의 각 피어 단말기로 전송하고, 각 피어 단말기에서는 클라이언트 단말기의 트랜잭션 정보를 인증한 서명 정보를 생성하고, 클라이언트 단말기는 각 트랜잭션 정보에 대한 각 피어 단말기들의 서명 정보를 결합하여 오더러 단말기로 전송할 수 있다.The client terminal generates transaction information including the transaction details and transmits it to each peer terminal in the network, each peer terminal generates signature information that authenticates the transaction information of the client terminal, and the client terminal receives each transaction information The signature information of the peer terminals may be combined and transmitted to the orderer terminal.

오더러 단말기에서는 클라이언트 단말기로부터 전송되는 복수의 트랜잭션 정보를 블록화하여 블록 데이터를 생성하고, 생성된 블록 데이터를 각 피어 단말기로 전송할 수 있다.The orderer terminal may block a plurality of transaction information transmitted from the client terminal to generate block data, and transmit the generated block data to each peer terminal.

각 피어 단말기에서는 오더러 단말기로부터 전송되는 블록 데이터를 커밋(Commit)하여 검증한 후, 저장부에 블록 체인 형태로 저장할 수 있다.In each peer terminal, the block data transmitted from the orderer terminal may be committed and verified, and then stored in the storage unit in the form of a block chain.

미국 공개 US 2020/0034353US public US 2020/0034353

본 발명은 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법을 제공하는데, 그 목적이 있다.An object of the present invention is to provide a peer terminal and a method for the peer terminal to process block data.

본 발명의 일례에 따라, 제1 프로세싱 기능을 수행하는 제1 기능 부분 및 상기 제1 프로세싱과 다른 제2 프로세싱 기능을 수행하는 제2 기능 부분을 포함하는 프로세서를 포함하는 피어 단말기가 블록 데이터를 처리하는 방법은 상기 피어 단말기가 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 블록 데이터 수신 단계; 상기 제1 기능 부분이 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업 단계; 및 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계;를 포함하고, 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행된다.According to an example of the present invention, a peer terminal including a processor including a first functional part for performing a first processing function and a second functional part for performing a second processing function different from the first processing function processes block data The method comprising: receiving, by the peer terminal, block data including a plurality of transaction information; a pre-processing operation step of collecting, by the first functional part, index information of the plurality of transaction information and storing it in an index database; and a main processing operation step in which the second function part verifies the content information of the plurality of transaction information and stores it in a block chain storage unit, wherein the pre-processing operation step and the main processing operation step are performed simultaneously.

상기 전처리 작업 단계에서, 상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장할 수 있다.In the pre-processing step, the first function part may collect and store index information of the plurality of transaction information according to a predetermined order.

상기 본처리 작업 단계에서, 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장할 수 있다.In the main processing operation step, the second function part may verify and store the content information of the plurality of transaction information according to a predetermined order.

상기 제1 기능 부분이 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 단계를 더 포함할 수 있다.The method may further include, by the first function part, collecting history information from the plurality of transaction information and storing the history information in a history database.

상기 히스토리 데이터 베이스에 저장하는 단계는 상기 전처리 작업 단계가 종료된 이후에 수행할 수 있다.The storing in the history database may be performed after the pre-processing step is finished.

상기 제1 기능 부분이 상기 전처리 작업 단계를 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업 단계를 수행하는데 사용될 수 있다.After the first functional part completes the pre-processing operation step, the first functional part may be used to perform the main processing operation step.

상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing) 작업을 수행하는 전처리부이고, 상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부일 수 있다.The first functional part is a preprocessing part that performs a preprocessing operation to store the block data, and the second functional part verifies the content information of the plurality of transaction information to store the block data. It may be a main processing unit that commits.

상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업 단계와 상기 본처리 작업 단계로 분류하여 수행할 수 있다. In addition to the operation of storing the index information and the content information for the block data, an operation to be additionally performed may be classified into the pre-processing operation step and the main processing operation step and performed.

여기서, 상기 추가로 수행해야할 작업에 대한 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행될 수 있다.Here, the pre-processing operation step and the main processing operation step for the additionally to be performed may be performed simultaneously.

본 발명의 일례에 따른 피어 단말기는 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 통신부; 및 상기 블록 데이터를 저장하는 프로세서;를 포함하고, 상기 프로세서는 상기 블록 데이터를 저장하기 위한 제1 프로세싱 기능을 수행하는 제1 기능 부분; 및 상기 블록 데이터를 저장하기 위한 제2 프로세싱 기능을 수행하는 제2 기능 부분;을 포함하되, 상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업(Task)을 수행하고, 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업을 수행하되, 상기 전처리 작업과 상기 본처리 작업은 동시에 수행될 수 있다.A peer terminal according to an example of the present invention includes: a communication unit for receiving block data including a plurality of transaction information; and a processor configured to store the block data, wherein the processor includes: a first functional portion configured to perform a first processing function for storing the block data; and a second functional part for performing a second processing function for storing the block data, wherein the first functional part collects index information of the plurality of transaction information and stores it in an index database. (Task), the second function part verifies the content information of the plurality of transaction information, and performs the main processing operation of storing it in the block chain storage unit, but the pre-processing operation and the main processing operation are performed at the same time can be

상기 제1 기능 부분은 상기 전처리 작업에 대해 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장하고, 상기 제2 기능 부분이 상기 본처리 작업에 대해 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장할 수 있다.The first functional part collects and stores index information of the plurality of transaction information for the pre-processing job in a predetermined order, and the second functional part collects and stores the index information of the plurality of transaction information for the main processing job can be verified and stored in a predetermined order.

상기 제1 기능 부분은 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 히스토리 저장 작업을 더 수행할 수 있다.The first function part may further perform a history storage operation of collecting history information from the plurality of transaction information and storing the history information in a history database.

여기서, 상기 히스토리 저장 작업은 상기 전처리 작업이 종료된 이후에 수행될 수 있다.Here, the history storage operation may be performed after the pre-processing operation is finished.

상기 제1 기능 부분이 상기 전처리 작업을 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업을 수행하는데 사용될 수 있다.After the first functional part completes the pre-processing operation, the first functional part may be used to perform the main processing operation.

상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing)하는 전처리부이고, 상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부일 수 있다.The first functional part is a preprocessing part that preprocesses to store the block data, and the second functional part verifies the content information of the plurality of transaction information and commits to store the block data. ) may be the main processing unit.

상기 프로세서는 상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업과 상기 본처리 작업으로 분류하여 수행할 수 있다.The processor may classify and perform a task to be additionally performed in addition to the task of storing the index information and the content information for the block data into the pre-processing task and the main processing task.

상기 추가로 수행해야할 작업에 대한 상기 전처리 작업과 상기 본처리 작업은 동시에 수행될 수 있다.The pre-processing operation and the main processing operation for the additionally to be performed may be simultaneously performed.

본 발명의 일례에 따른 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법은 복수의 트랜잭션 정보의 인덱스 정보를 저장하는 전처리 작업 단계와 복수의 트랜잭션 정보의 내용 정보를 저장하는 본처리 작업 단계가 동시에 수행되도록 함으로써, 피어 단말기의 처리 속도를 향상시킬 수 있다.A peer terminal and a method for the peer terminal to process block data according to an example of the present invention include a pre-processing step of storing index information of a plurality of transaction information and a main processing step of storing content information of a plurality of transaction information are performed at the same time By doing so, the processing speed of the peer terminal can be improved.

도 1은 본 발명의 일례에 따른 하이퍼레저 패브릭 구조를 구성하는 단말기의 일례를 설명하기 위한 도이다.
도 2는 도 1에 도시된 클라이언트 단말기(200), 피어 단말기(100) 및 오더러 단말기(300) 사이의 정보 흐름을 설명하기 위한 도이다.
도 3은 도 2에서 도시된 피어 단말기(100)의 일례를 설명하기 위한 도이다.
도 4는 본 발명의 일례에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 비동기 방식으로 처리하는 방법의 일례를 설명하기 위한 도이다.
도 5는 본 발명의 일례에 따른 피어 단말기가 전처리 작업과 본처리 작업을 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리하는 방법의 일례를 설명하기 위한 도이다.
1 is a diagram for explaining an example of a terminal constituting a hyperledger fabric structure according to an example of the present invention.
FIG. 2 is a diagram for explaining information flow between the client terminal 200, the peer terminal 100, and the orderer terminal 300 illustrated in FIG. 1 .
FIG. 3 is a diagram for explaining an example of the peer terminal 100 shown in FIG. 2 .
4 is a diagram for explaining an example of a method in which a peer terminal processes a pre-processing operation and a main processing operation in an asynchronous manner in order to process block data according to an example of the present invention.
5 is a diagram for explaining an example of a method in which a peer terminal divides a pre-processing task and a main-processing task into a parallel processing target and a serial processing target according to an example of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that adding a detailed description of a technique or configuration already known in the relevant field may obscure the gist of the present invention, it will be partially omitted from the detailed description. In addition, the terms used in this specification are terms used to properly express the embodiments of the present invention, which may vary according to a person or custom in the relevant field. Accordingly, definitions of these terms should be made based on the content throughout this specification.

여기서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 ‘포함하는’의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.The terminology used herein is for the purpose of referring to specific embodiments only, and is not intended to limit the invention. As used herein, the singular forms also include the plural forms unless the phrases clearly indicate the opposite. As used herein, the meaning of 'comprising' specifies a particular characteristic, region, integer, step, operation, element and/or component, and other specific characteristic, region, integer, step, operation, element, component, and/or group. It does not exclude the existence or addition of

이하, 첨부된 도면들을 참조하여 본 발명에 대해 설명한다.Hereinafter, the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 일례에 따른 하이퍼레저 패브릭 구조를 구성하는 단말기의 일례를 설명하기 위한 도이고, 도 2는 도 1에 도시된 클라이언트 단말기(200), 피어 단말기(100) 및 오더러 단말기(300) 사이의 정보 흐름을 설명하기 위한 도이다.1 is a diagram for explaining an example of a terminal constituting a hyperledger fabric structure according to an example of the present invention, and FIG. 2 is a client terminal 200, a peer terminal 100, and an orderer terminal ( 300) is a diagram for explaining the flow of information.

도 1에 도시된 바와 같이, 본 발명의 일례에 따른 하이퍼레저 패브릭 구조(Hyperledger fabric Architecture)를 구성하는 단말기는 클라이언트(client) 단말기(200), 피어(Peer) 단말기(100) 및 오더러(Orderer) 단말기(300)를 포함할 수 있다. 이와 같은 클라이언트 단말기(200), 피어 단말기(100) 오더러 단말기(300)는 하이퍼레저 패브릭 네트워크의 각 노드(node)를 구성할 수 있다.As shown in Fig. 1, the terminals constituting the Hyperledger fabric architecture according to an example of the present invention are a client terminal 200, a peer terminal 100, and an orderer (Orderer). ) may include a terminal 300 . The client terminal 200 , the peer terminal 100 , and the orderer terminal 300 may configure each node of the Hyperledger Fabric network.

클라이언트 단말기(200)는 하이퍼레저 패브릭 네트워크에 접근하기 위해 필요한 노드로, 거래 정보에 대한 내용을 포함하는 트랜잭션(transaction) 정보(Tx)를 생성할 수 있다. 도 1에서는 클라이언트 단말기(200)가 복수 개인 경우를 일례로 도시하였으나, 클라이언트 단말기(200)는 적어도 하나 이상일 수 있고, 클라이언트 단말기(200)가 하나인 경우도 가능하다.The client terminal 200 is a node required to access the Hyperledger Fabric network and may generate transaction information (Tx) including the contents of the transaction information. Although FIG. 1 illustrates a case in which there are a plurality of client terminals 200 as an example, there may be at least one client terminal 200 , and a case in which there is one client terminal 200 is also possible.

클라이언트 단말기(200)는 스마트 컨트랙트가 설치되거나 호출될 때, 채널을 생성하거나 특정 피어 단말기(100)를 채널에 참가하게 하는 등 하이퍼레저 패브릭 네트워크에서 비즈니스 로직을 수행하기 위한 요청들에 대한 트랜잭션 정보(Tx)를 생성할 수 있다. When a smart contract is installed or invoked, the client terminal 200 provides transaction information ( Tx) can be created.

이와 같이 클라이언트 단말기(200)는 트랜잭션 정보(Tx)를 생성하여, 복수의 피어 단말기(100) 각각에 전송할 수 있다. 클라이언트 단말기(200)가 복수의 피어 단말기(100)로부터 트랜잭션 정보(Tx)를 인증한 서명 정보를 받으면, 각 트랜잭션 정보(Tx)와 서명 정보를 결합하여 오더러 단말기(300)로 전송할 수 있다.As described above, the client terminal 200 may generate the transaction information Tx and transmit it to each of the plurality of peer terminals 100 . When the client terminal 200 receives the signature information for authenticating the transaction information Tx from the plurality of peer terminals 100 , the respective transaction information Tx and the signature information may be combined and transmitted to the orderer terminal 300 .

복수의 피어 단말기(100) 각각은 하이퍼레저 패브릭 구조에서 가장 기본이 되는 노드로, 피어 단말기(100) 내에 원장(ledger)를 가지며, 체인코드(smart contract)를 구비할 수 있다. Each of the plurality of peer terminals 100 is the most basic node in the Hyperledger Fabric structure, has a ledger in the peer terminal 100, and may include a chaincode (smart contract).

이와 같은 복수의 피어 단말기(100) 각각은 수신된 트랜잭션 정보(Tx)를 검증하고 전파할 수 있으며, 오더러 단말기(300)로부터 트랜잭션 정보(Tx)가 블록화된 블록 데이터를 수신하면, 피어 단말기(100)는 블록 체인 형태로 저장된 원장을 업데이트할 수 있다. 이후 블록 체인이 업데이트되면, 피어 단말기(100)는 블록 체인이 업데이트되었다는 정보를 클라이언트 단말기(200)로 전송할 수 있다.Each of the plurality of peer terminals 100 may verify and propagate the received transaction information Tx, and when receiving block data in which the transaction information Tx is blocked from the orderer terminal 300, the peer terminal ( 100) can update the stored ledger in the form of a block chain. Thereafter, when the block chain is updated, the peer terminal 100 may transmit information indicating that the block chain is updated to the client terminal 200 .

오더러 단말기(300)는 도 1에서는 오더러 단말기(300)가 하나인 경우를 일례로 도시하였으나, 오더러 단말기(300)는 반드시 이에 한정되는 것은 아니고, 적어도 하나 이상일 수 있다. Although one orderer terminal 300 is illustrated as an example in FIG. 1 , the orderer terminal 300 is not necessarily limited thereto, and there may be at least one orderer terminal 300 .

만약, 오더러 단말기(300)는 복수 개인 경우, 복수의 오더러 단말기(300)가 마치 하나의 서비스 노드처럼 동작될 수도 있다. 일례로 오더러 단말기(300)가 OSN(Ordering Service Node) 형태로 구비될 수 있다.If there are a plurality of orderer terminals 300 , the plurality of orderer terminals 300 may operate as if one service node. For example, the orderer terminal 300 may be provided in the form of an ordering service node (OSN).

이와 같은 오더러 단말기(300)는 검증된 트랜잭션 정보(Tx)들을 이용하여, 트랜잭션 정보(Tx)들이 블록화된 블록 데이터를 생성할 수 있다. 즉, 오더러 단말기(300)는 클라이언트들로부터 전송되는 복수의 트랜잭션 정보(Tx)들을 순서화하여, 블록 데이터를 생성할 수 있다. 이와 같이, 오더러 단말기(300)에서 생성된 블록 데이터는 복수의 피어 단말기(100) 각각으로 전송되어, 각 피어 단말기(100)에 구비된 블록 체인에 업데이트될 수 있다.The orderer terminal 300 may generate block data in which the transaction information Tx is blocked by using the verified transaction information Tx. That is, the orderer terminal 300 may generate block data by sequencing a plurality of transaction information Tx transmitted from clients. In this way, the block data generated in the orderer terminal 300 may be transmitted to each of the plurality of peer terminals 100 and updated in the block chain provided in each peer terminal 100 .

본 발명의 일례에 따른 하이퍼레저 패브릭 구조(Hyperledger fabric Architecture)에서 적어도 하나의 클라이언트 단말기(200), 복수의 피어 단말기(100) 및 적어도 하나의 오더러 단말기(300)가 동작되는 방법의 일례에 대해 설명하면 다음과 같다.An example of a method in which at least one client terminal 200, a plurality of peer terminals 100, and at least one orderer terminal 300 are operated in a Hyperledger fabric architecture according to an example of the present invention The explanation is as follows.

먼저, 적어도 하나의 클라이언트 단말기(200)는 트랜잭션 정보(Tx)를 생성(S1)하여, 생성된 트랜잭션 정보(Tx)를 복수의 피어 단말기(100)로 전송(S2)하여 트랜잭션 정보(Tx)에 대한 인증을 요청할 수 있다. First, at least one client terminal 200 generates transaction information Tx (S1), transmits the generated transaction information Tx to a plurality of peer terminals 100 (S2), and stores the transaction information Tx. You can request certification.

복수의 피어 단말기(100) 각각이 적어도 하나의 클라이언트(client) 단말기(200)에서 생성되는 각각의 트랜잭션 정보(Tx)에 대한 인증 요청을 수신받으면, 복수의 피어 단말기(100)는 적어도 하나의 클라이언트 단말기(200)로부터 전송된 트랜잭션 정보(Tx)를 확인하고 검증하여, 수신된 트랜잭션 정보(Tx)를 인증하는 서명 정보를 생성(S3)하고, 적어도 하나의 클라이언트 단말기(200)의 인증 요청에 대한 응답(Response)으로, 서명 정보를 전송(S4)할 수 있다. When each of the plurality of peer terminals 100 receives an authentication request for each transaction information Tx generated by at least one client terminal 200 , the plurality of peer terminals 100 transmits the at least one client terminal 200 . The transaction information (Tx) transmitted from the terminal 200 is checked and verified, and signature information for authenticating the received transaction information (Tx) is generated (S3), and at least one client terminal 200 responds to the authentication request. As a response, signature information may be transmitted (S4).

이에 따라, 클라이언트 단말기(200)는 각 트랜잭션 정보(Tx)에 대해 복수의 피어 단말기(100)의 개수만큼의 서명 정보를 전송받을 수 있다.Accordingly, the client terminal 200 may receive as many signature information as the number of the plurality of peer terminals 100 for each transaction information Tx.

클라이언트 단말기(200)는 복수의 피어 단말기(100)로부터 받은 복수의 서명 정보를 각각의 트랜잭션 정보(Tx)에 결합(S5)하여, 복수의 서명 정보와 함께 트랜잭션 정보(Tx)를 적어도 하나의 오더러 단말기(300)로 전송(S6)할 수 있다.The client terminal 200 combines the plurality of signature information received from the plurality of peer terminals 100 with each transaction information Tx (S5), and stores the transaction information Tx together with the plurality of signature information into at least one false message. Some may be transmitted to the terminal 300 (S6).

적어도 하나의 오더러 단말기(300)는 클라이언트 단말기(200)로부터 수신받은 복수의 서명 정보와 트랜잭션 정보(Tx)를 전송받되, 트랜잭션 정보(Tx)를 미리 정해진 개수만큼 클라이언트 단말기(200)로부터 수신 받으면, 수신받은 복수의 트랜잭션 정보(Tx)들을 정렬 및 순서화하고, 하이퍼레저 패브릭 구조의 네트워크 상에서 합의된 알고리즘에 의해, 수신받은 복수의 트랜잭션 정보(Tx)들을 블록화하여 블록 데이터를 생성(S7)할 수 있다. 오더러 단말기(300)는 생성된 블록 데이터를 복수의 피어 단말기(100) 각각으로 전송(S8)할 수 있다.At least one orderer terminal 300 receives a plurality of signature information and transaction information Tx received from the client terminal 200 , and when a predetermined number of transaction information Tx is received from the client terminal 200 , , it is possible to sort and order the received plurality of transaction information (Tx) and block the received plurality of transaction information (Tx) by an algorithm agreed on on the network of the Hyperledger Fabric structure to generate block data (S7) have. The orderer terminal 300 may transmit the generated block data to each of the plurality of peer terminals 100 ( S8 ).

복수의 피어 단말기(100) 각각은 적어도 하나의 오더러 단말기(300)로부터 블록 데이터를 전송받으면, 블록 데이터를 확인 및 검증(S9)하는 커밋(Commit)을 수행하고, 피어 단말기(100) 내에 블록 체인 형태로 저장되는 원장(Ledger)에 연결하여 블록 체인을 업데이트할 수 있고, 블록 체인이 업데이트되었음을 클라이언트 단말기(200)로 전송할 수 있다.When each of the plurality of peer terminals 100 receives block data from at least one orderer terminal 300 , it performs a commit of confirming and verifying the block data ( S9 ), and blocks in the peer terminal 100 . It is possible to update the block chain by connecting to a ledger stored in the form of a chain, and transmit that the block chain is updated to the client terminal 200 .

아울러, 이후에, 복수의 피어 단말기(100) 각각은 클라이언트 단말기(200)로부터 블록 데이터에 대한 요청이 수신(S11)되면, 클라이언트 단말기(200)로 블록 데이터를 전송(S12)할 수 있다.In addition, thereafter, when a request for block data is received from the client terminal 200 ( S11 ), each of the plurality of peer terminals 100 may transmit the block data to the client terminal 200 ( S12 ).

한편, 본 발명에서는, 복수의 피어 단말기(100) 각각은 오더러 단말기(300)로부터 수신받은 블록 데이터를 원장이 저장되는 블록체인 저장부에 저장하기 위해, 전처리 작업과 본처리 작업이 수행될 수 있다.Meanwhile, in the present invention, each of the plurality of peer terminals 100 may perform a pre-processing operation and a main processing operation to store the block data received from the orderer terminal 300 in the block chain storage unit where the ledger is stored. have.

전처리 작업에서는 블록 데이터에 포함되는 복수의 트랜잭션 정보의 인덱스 정보를 저장할 수 있으며, 본처리 작업에서는 블록 데이터에 포함되는 복수의 트랜잭션 정보의 내용 정보를 저장할 수 있다.In the pre-processing operation, index information of a plurality of transaction information included in block data may be stored, and in the main processing operation, content information of a plurality of transaction information included in the block data may be stored.

이와 같이, 본 발명의 일례에 따른 피어 단말기는 전처리 작업과 본처리 작업을 수행하여 블록 데이터를 저장할 수 있으며, 이를 위하여, 다음과 같은 구조를 구비할 수 있다.As described above, the peer terminal according to an example of the present invention may store block data by performing a pre-processing operation and a main processing operation. For this, the peer terminal may have the following structure.

도 3은 본 발명의 일례에 따른 피어 단말기(100)의 일례를 설명하기 위한 도이다.3 is a diagram for explaining an example of the peer terminal 100 according to an example of the present invention.

본 발명의 일례에 따른 복수의 피어 단말기(100)은 도 3에 도시된 바와 같이, 통신부(110), 프로세서(120), 인덱스 데이터 베이스(130), 히스토리 데이터 베이스(140) 및 블록체인 저장부(150)를 포함할 수 있다. As shown in FIG. 3 , the plurality of peer terminals 100 according to an example of the present invention include a communication unit 110 , a processor 120 , an index database 130 , a history database 140 , and a block chain storage unit. (150).

통신부(110)는 클라이언트 단말기(200), 오더러 단말기(300) 및 다른 피어 단말기(100)와 통신을 수행할 수 있다. 이와 같은 통신부(110)는 클라이언트 단말기(200)로부터 트랜잭션 정보(Tx)를 수신할 수 있으며, 오더러 단말기(300)로부터 복수의 트랜잭션 정보(Tx)와 복수의 서명 정보가 블록화된 블록 데이터를 수신받을 수 있으며, 피어 단말기(100)의 저장부(150)에 블록 체인 형태로 저장되는 원장(ledger)이 업데이트되면, 업데이트 이벤트를 클라이언트 단말기(200)로 전송할 수 있다.The communication unit 110 may communicate with the client terminal 200 , the orderer terminal 300 , and other peer terminals 100 . The communication unit 110 may receive the transaction information Tx from the client terminal 200 , and receive block data in which a plurality of transaction information Tx and a plurality of signature information are blocked from the orderer terminal 300 . If the ledger stored in the block chain form in the storage unit 150 of the peer terminal 100 is updated, the update event may be transmitted to the client terminal 200 .

오더러 단말기(300)로부터 수신되는 블록 데이터에는 전술한 복수의 트랜잭션 정보(Tx)에 대한 인덱스 정보가 더 포함될 수 있으며, 경우에 따라 선택적으로 복수의 트랜잭션 정보에 대한 히스토리 정보도 포함될 수 있다.The block data received from the orderer terminal 300 may further include index information for the aforementioned plurality of transaction information Tx, and in some cases, optionally also history information for a plurality of transaction information.

프로세서(120)는 통신부를 통해 수신받은 블록 데이터를 검증하여 블록체인 저장부(150)에 저장할 수 있다. 프로세서(120)가 블록 데이터를 저장하기 위해, 제1 프로세싱 기능을 수행하는 제1 기능 부분(121)과, 제2 프로세싱 기능을 수행하는 제2 기능 부분(123)을 포함할 수 있다.The processor 120 may verify the block data received through the communication unit and store it in the block chain storage unit 150 . The processor 120 may include a first functional part 121 performing a first processing function and a second functional part 123 performing a second processing function in order to store block data.

제1 기능 부분(121)은 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스(130)에 저장하는 전처리 작업(Task)을 수행할 수 있다. 이와 같이, 제1 기능 부분(121)이 전처리 작업에 대해 수행할 때, 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장할 수 있다.The first function part 121 may perform a pre-processing task of collecting index information of a plurality of transaction information and storing the index information in the index database 130 . As such, when the first functional part 121 performs the preprocessing task, index information of a plurality of transaction information may be collected and stored according to a predetermined order.

일례로, 프로세서(120)의 제1 기능 부분(121)은 수신받은 블록 데이터에 포함된 복수의 트랜잭션 정보에 대해, 처리 순서가 정해져 있는 경우, 제1 기능 부분(121)은 각 트랜잭션 정보에 대해 정해진 처리 순서에 따라 각 트랜잭션 정보에 대한 인덱스 정보를 수집하고 인덱스 데이터 베이스(130)에 저장할 수 있다.For example, when the processing order is determined for a plurality of transaction information included in the received block data, the first functional part 121 of the processor 120 performs the first functional part 121 for each transaction information. According to a predetermined processing order, index information for each transaction information may be collected and stored in the index database 130 .

이와 같은 제1 기능 부분(121)은 블록 데이터를 저장하기 위해 전처리(preprocessing) 작업을 수행하는 전처리부일 수 있다.The first functional part 121 may be a preprocessing unit that performs a preprocessing operation to store block data.

아울러, 제1 기능 부분(121)은 전술한 전처리 작업 중 일례로 설명한 인덱스 정보 수집 및 저장 기능 이외에 블록 데이터에 포함된 복수의 트랜잭션 정보로부터, 다른 전처리 작업인 히스토리 정보를 수집하여, 히스토리 데이터 베이스(140)에 저장할 수 있다. In addition, the first function part 121 collects history information, which is another pre-processing operation, from a plurality of transaction information included in block data in addition to the index information collection and storage function described as an example of the aforementioned pre-processing operations, 140) can be stored.

제1 기능 부분(121)이 히스토리 정보를 수집 및 저장하는 기능은 전처리 작업이 종료된 이후에 수행될 수 있다.The function of collecting and storing the history information of the first function part 121 may be performed after the pre-processing operation is finished.

제2 기능 부분(123)은 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업을 수행할 수 있다. 제2 기능 부분(123)이 본처리 작업에 대해 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장할 수 있다.The second functional part 123 may verify the content information of the plurality of transaction information and perform the main processing operation of storing the information in the block chain storage unit. The second functional part 123 may verify and store the content information of a plurality of transaction information for the main processing operation according to a predetermined order.

아울러, 프로세서(120)의 제2 기능 부분(123)은 수신받은 블록 데이터에 포함된 복수의 트랜잭션 정보에 대해, 처리 순서가 정해져 있는 경우, 제2 기능 부분(123)은 각 트랜잭션 정보에 대해 정해진 처리 순서에 따라 각 트랜잭션 정보의 내용 정보를 검증하고 블록체인 저장부(150)에 저장할 수 있다.In addition, when a processing order is determined for a plurality of transaction information included in the received block data, the second functional part 123 of the processor 120 sets the second functional part 123 for each transaction information. According to the processing order, the content information of each transaction information may be verified and stored in the block chain storage unit 150 .

이와 같은 제2 기능 부분(123)은 블록 데이터를 저장하기 위해, 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부일 수 있다.The second functional part 123 may be a main processing unit that verifies and commits content information of a plurality of transaction information in order to store block data.

이와 같이, 제1 기능 부분(121)이 전처리 작업을 수행하고, 제2 기능 부분(123)이 본처리 작업을 수행하는데 있어서, 전처리 작업과 본처리 작업이 동시에 수행되도록 할 수 있다. As such, when the first functional part 121 performs the pre-processing operation and the second functional part 123 performs the main processing operation, the pre-processing operation and the main processing operation may be simultaneously performed.

즉, 본 발명의 프로세서(120)는 전처리 작업과 본처리 작업을 비동기(Async) 방식으로 수행할 수 있다. 즉, 본 발명의 프로세서(120)가 전처리 작업을 수행하거나 본처리 작업을 수행할 때에, 프로세서(120)의 제1 기능 부분(121)과 제2 기능 부분(123)을 통하여 전처리 작업과 본처리 작업을 함께 수행할 수 있다. 이에 대한 보다 상세한 설명은 도 4를 참조하여 후술한다.That is, the processor 120 of the present invention may perform the pre-processing operation and the main processing operation in an asynchronous (Async) manner. That is, when the processor 120 of the present invention performs the pre-processing operation or the main processing operation, the pre-processing operation and the main processing are performed through the first functional part 121 and the second functional part 123 of the processor 120 . work can be done together. A more detailed description thereof will be described later with reference to FIG. 4 .

아울러, 제1 기능 부분(121)이 수행하는 전처리 작업은 데이터 처리량이 제1 기능 부분(121)이 수행하는 본처리 작업에 비하여 상대적으로 데이터 처리량이 작을 수 있다. 이에 따라, 하나의 블록 데이터에 대해 제1 기능 부분(121)이 처리하는 전처리 작업 시간은 제2 기능 부분(123)이 처리하는 본처리 작업 시간보다 상대적으로 짧을 수 있고, 제1 기능 부분(121)의 전처리 작업은 제2 기능 부분(123)의 본처리 작업보다 상대적으로 일찍 종료될 수 있다.In addition, in the pre-processing operation performed by the first functional part 121 , the data processing amount may be relatively small compared to the main processing operation performed by the first functional part 121 . Accordingly, the pre-processing operation time processed by the first functional part 121 for one block data may be relatively shorter than the main processing operation time processed by the second functional part 123, and the first functional part 121 ) may be finished relatively earlier than the main processing operation of the second functional part 123 .

이에 따라, 제1 기능 부분(121)이 전처리 작업을 완료한 이후에는, 제1 기능 부분(121)이 본처리 작업 단계를 수행하는데 사용될 수도 있다.Accordingly, after the first functional part 121 completes the pre-processing operation, the first functional part 121 may be used to perform the main processing operation step.

아울러, 프로세서(120)는 블록 데이터에 대한 인덱스 정보 및 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 전처리 작업과 본처리 작업으로 분류하여 수행할 수 있다.In addition, the processor 120 may classify and perform tasks to be additionally performed in addition to the tasks of storing index information and content information for block data into a pre-processing task and a main processing task.

인덱스 데이터 베이스(130)는 메모리를 포함할 수 있으며, 프로세서(120)의 제1 기능 부분(121)에 의해 전처리 작업이 수행되어, 블록 데이터로부터 수집된 트랜잭션 정보의 인덱스 정보가 저장될 수 있다. The index database 130 may include a memory, and a preprocessing operation may be performed by the first functional part 121 of the processor 120 to store index information of transaction information collected from block data.

히스토리 데이터 베이스(140)는 메모리를 포함할 수 있으며, 프로세서(120)의 제1 기능 부분(121)에 의해 전처리 작업이 수행되어, 블록 데이터로부터 수집된 트랜잭션 정보의 히스토리 정보가 저장될 수 있다.The history database 140 may include a memory, and a preprocessing operation may be performed by the first functional part 121 of the processor 120 to store history information of transaction information collected from block data.

블록체인 저장부(150)(150)는 SSD(Solid State Drive) 및 HDD(Hard Disk Drive) 중 적어도 하나의 형태로 구비될 수 있으며, 블록 데이터의 트랜잭션 정보의 내용 정보가 블록 체인 형태로 저장되는 원장(ledger)을 포함할 수 있다. 따라서, 블록체인 저장부(150)에는 프로세서(120)의 제2 기능 부분(123)이 본처리 작업을 수행하여, 검증된 트랜잭션 정보의 내용 정보가 블록 체인 형태로 저장될 수 있다.The block chain storage unit 150 and 150 may be provided in at least one form of a solid state drive (SSD) and a hard disk drive (HDD), and the content information of transaction information of block data is stored in a block chain form. It may include a ledger. Accordingly, in the block chain storage unit 150 , the second functional part 123 of the processor 120 performs the main processing operation, and the content information of the verified transaction information may be stored in a block chain form.

한편, 본 발명에 따른 프로세서(120)는 제1 기능 부분(121)과 제2 기능 부분(123)으로 분류되어 블록 데이터에 대한 전처리 작업과 본처리 작업이 동시에 수행될 수 있으며, 블록 데이터에 대한 전처리 작업과 본처리 작업시 직렬적으로 작업을 처리하는 것이 아니라, 전처리 작업과 본처리 작업을 병렬적으로 처리할 수 있는 대상과 직렬적으로 처리할 수 있는 작업으로 구분하여, 프로세서(120)의 작업 처리 속도가 빨라지도록 할 수 있다.On the other hand, the processor 120 according to the present invention is classified into a first functional part 121 and a second functional part 123 so that a pre-processing operation and a main processing operation for block data can be performed simultaneously, and for block data Instead of serially processing the preprocessing task and the main processing task, the preprocessing task and the main processing task are divided into a target that can be processed in parallel and a task that can be processed serially, and the It can speed up work processing.

이에 대해 다음의 도 4 및 도 5를 통하여 보다 구체적으로 설명한다.This will be described in more detail with reference to FIGS. 4 and 5 below.

도 4는 본 발명의 일례에 따른 피어 단말기의 프로세서(120)가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 비동기 방식으로 처리하는 방법의 일례를 설명하기 위한 도이다.4 is a diagram for explaining an example of a method in which the processor 120 of a peer terminal processes a pre-processing operation and a main processing operation in an asynchronous manner in order to process block data according to an example of the present invention.

도 4의 (a)는 비교예에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 처리하는 방법을 설명하기 위한 도이고, 도 4의 (b)는 본 발명에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 비동기 방식으로 처리하는 방법의 일례를 설명하기 위한 도이다.Fig. 4 (a) is a diagram for explaining a method for a peer terminal according to a comparative example to process a pre-processing operation and a main processing operation to process block data, and Fig. 4 (b) is a peer terminal according to the present invention. It is a diagram for explaining an example of a method of processing a pre-processing operation and a main processing operation in an asynchronous manner in order to process block data.

먼저, 비교예에 따른 피어 단말기의 프로세서(120)는 도 4의 (a)와 같이, 블록 데이터에 포함된 복수의 트랜잭션 졍보를 처리하기 위해, 전처리 작업과 본처리 작업을 수행함에 있어, 동기화된 방식을 사용한다.First, the processor 120 of the peer terminal according to the comparative example performs a pre-processing operation and a main processing operation in order to process a plurality of transaction reports included in block data, as shown in FIG. use the method

구체적으로, 비교예에서는, 제1 트랜잭션 정보를 처리하기 위해, 블록 데이터로부터 제1 트랜잭션 정보의 인덱스 정보를 수집하여 인덱스 데이터 베이스(130)에 저장하는 전처리 작업을 수행하고, 제1 트랜잭션 정보에 대한 전처리 작업이 완료될 때까지 프로세서(120)는 제1 트랜잭션 정보의 내용 정보를 저장하지 않고 대기 상태에 있다가, 제1 트랜잭션 정보의 인덱스 정보의 저장이 완료된 이후 제1 트랜잭션 정보의 내용 정보를 저장하는 본처리 작업을 수행하였다.Specifically, in the comparative example, in order to process the first transaction information, a pre-processing operation for collecting index information of the first transaction information from block data and storing it in the index database 130 is performed, and for the first transaction information The processor 120 is in a standby state without storing the content information of the first transaction information until the pre-processing operation is completed, and stores the content information of the first transaction information after the storage of the index information of the first transaction information is completed The main processing operation was performed.

이후, 제1 트랜잭션 정보의 본처리 작업이 완료될 때까지 프로세서(120)는 대기하고 있다가. 제1 트랜잭션 정보의 본처리 작업이 완료된 이후 제2 트랜잭션 정보의 인덱스 정보를 저장하는 전처리 작업을 수행하고, 제2 트랜잭션 정보의 전처리 작업이 완료될 때까지 대기 상태에 있다가, 제2 트랜잭션 정보의 전처리 작업이 완료된 이후, 제2 트랜잭션 정보의 내용 정보를 저장하는 본처리 작업을 수행하였다.Thereafter, the processor 120 waits until the main processing operation of the first transaction information is completed. After the main processing operation of the first transaction information is completed, a pre-processing operation of storing the index information of the second transaction information is performed, and the second transaction information is in a standby state until the pre-processing operation is completed. After the pre-processing operation was completed, the main processing operation of storing the content information of the second transaction information was performed.

이와 같이, 비교예에 따른 프로세서(120)는 블록 데이터에 포함된 복수의 트랜잭션 정보를 처리함에 있어, 정해진 순서에 따라, 복수의 트랜잭션 정보 각각에 대한 전처리 작업과 본처리 작업을 순차적으로 수행함에 있어, 어느 하나의 전처리 작업 또는 본처리 작업이 완료될 때까지 다른 작업을 수행하지 않고 대기 상태에 있다가, 해당 작업이 완료된 이후 다음 작업을 수행하였다.As such, in processing the plurality of transaction information included in the block data, the processor 120 according to the comparative example sequentially performs a pre-processing operation and a main processing operation for each of the plurality of transaction information in a predetermined order. , waits without performing any other work until the completion of any one pre-processing task or main processing task, and then performs the next task after the corresponding task is completed.

이와 같은 비교예의 경우, 어느 하나의 전처리 작업 또는 본처리 작업이 종료될 때까지, 프로세서(120)는 동작을 정지하고 대기를 해야하므로, 프로세서(120)의 응답 처리 속도가 지연되어, 블록 데이터를 처리함에 있어서 병목 현상이 발생하는 문제점이 있었다.In the case of this comparative example, the processor 120 stops and waits until any one of the pre-processing tasks or the main processing tasks is finished, so the response processing speed of the processor 120 is delayed, and block data There was a problem that a bottleneck occurred in processing.

그러나, 본 발명의 일례에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 수행하는 방법은 도 4의 (b)와 같이, 각 트랜잭션에 대한 전처리 작업과 본처리 작업을 비동기(Async)화 하여 수행하므로, 전술한 바와 같은 병목 현상을 최소화할 수 있다.However, in the method for the peer terminal according to an example of the present invention to perform a pre-processing operation and a main processing operation in order to process block data, the pre-processing operation and the main processing operation for each transaction are asynchronously ( Async), so that the bottleneck as described above can be minimized.

보다 구체적으로, 본 발명의 일례에 따른 피어 단말기는 프로세서(120)가 제1 기능 부분(121)과 제2 기능 부분(123)을 구비하여, 제1 기능 부분(121)이 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스(130)에 저장하는 전처리 작업 단계를 수행하고, 제2 기능 부분(123)이 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계를 수행하되, 도 4의 (b)와 같이, 전처리 작업 단계와 본처리 작업 단계는 동시에 수행되도록 할 수 있다.More specifically, in the peer terminal according to an example of the present invention, the processor 120 includes a first functional part 121 and a second functional part 123 , so that the first functional part 121 is configured to store a plurality of transaction information. This process of collecting index information, performing a pre-processing operation step of storing it in the index database 130, and the second function part 123 verifying the content information of a plurality of transaction information and storing it in the block chain storage unit However, as shown in (b) of FIG. 4, the pre-processing operation step and the main processing operation step may be performed at the same time.

보다 구체적으로, 도 4의 (b)와 같이, 프로세서(120)의 제1 기능 부분(121)이 복수의 트랜잭션 정보(일례로, Tx1 내지 Tx5)에 대한 전처리 작업을 수행함에 있어, 각 트랜잭션 정보에 대해 미리 정해진 순서에 따라 해당 트랜잭션 정보의 인덱스 정보를 수집하고 저장할 수 있고, 프로세선의 제2 기능 부분(123)이 복수의 트랜잭션 정보(일례로, Tx1 내지 Tx5)에 대한 본처리 작업을 수행함에 있어, 각 트랜잭션 정보에 대해 미리 정해진 순서에 따라 해당 트랜잭션 정보의 내용 정보를 수집하고 저장할 수 있다.More specifically, as shown in FIG. 4B , when the first functional part 121 of the processor 120 performs a pre-processing operation on a plurality of transaction information (eg, Tx1 to Tx5), each transaction information index information of the corresponding transaction information can be collected and stored in a predetermined order for In this case, content information of the corresponding transaction information may be collected and stored according to a predetermined order for each transaction information.

이때, 프로세서(120)의 제1 기능 부분(121)과 제2 기능 부분(123)은 서로 독립적으로 해당 트랜잭션 정보에 대한 전처리 작업과 본처리 작업을 동시에 수행할 수 있다.In this case, the first functional part 121 and the second functional part 123 of the processor 120 may simultaneously perform a pre-processing operation and a main processing operation on the corresponding transaction information independently of each other.

이에 따라, 일례로, 제2 트랜잭션 정보의 전처리 작업은 제1 트랜잭션 정보의 본처리 작업이 종료되기까지 대기하지 않고, 제1 트랜잭션 정보의 본처리 작업이 시작 또는 종료되기 전에 미리 수행될 수 있다.Accordingly, as an example, the pre-processing operation of the second transaction information may be performed in advance before the main processing operation of the first transaction information starts or ends, without waiting until the main processing operation of the first transaction information is finished.

이와 같이, 본 발명에 따른 피어 단말기가 블록 데이터를 처리하는 방법은 블록 데이터에 대한 전처리 작업과 본처리 작업을 프로세서(120)가 비동기 방식으로 수행하도록 함으로써, 프로세서(120)의 응답 처리 속도를 보다 향상시킬 수 있다.As described above, the method for the peer terminal to process block data according to the present invention allows the processor 120 to perform pre-processing and main processing on block data in an asynchronous manner, thereby increasing the response processing speed of the processor 120 . can be improved

아울러, 블록 데이터에 대한 전처리 작업에 트랜잭션 정보의 히스토리 정보에 대한 처리가 포함되는 경우, 프로세서(120)의 제1 기능 부분(121)이 히스토리 정보에 대한 전처리 작업을 수행함에 있어, 트랜잭션 정보에 대한 본처리 작업이 완료될 때까지 대기하지 않고, 제2 기능 부분(123)과 독립적으로 작업을 처리하도록 함으로써, 프로세서(120)의 응답 처리 속도를 보다 향상시킬 수 있다.In addition, when the processing of history information of transaction information is included in the pre-processing operation for block data, when the first functional part 121 of the processor 120 performs the pre-processing operation on the history information, The response processing speed of the processor 120 may be further improved by processing the task independently of the second functional part 123 without waiting until the main processing task is completed.

아울러, 본 발명에 따른 프로세서(120)에서는 제1 기능 부분(121)이 반드시 전처리 작업만 수행하는 것으로 한정하지 않고, 제1 기능 부분(121)이 블록 데이터에 포함된 복수의 트랜잭션 정보에 대한 전처리 작업을 완료한 이후에는 제2 기능 부분(123)이 수행하는 본처리 작업을 수행하도록 할 수 있다. 이에 따라 본 발명은 블록 데이터에 대한 처리 속도를 더욱 향상시킬 수 있다.In addition, in the processor 120 according to the present invention, the first functional part 121 is not limited to performing only the preprocessing operation, and the first functional part 121 preprocesses a plurality of transaction information included in the block data. After completing the operation, the main processing operation performed by the second functional part 123 may be performed. Accordingly, the present invention can further improve the processing speed for block data.

아울러, 도 4의 (b)에서는 프로세서(120)가 수신된 블록 데이터를 저장하는 쓰기 기능을 수행하는 경우를 일례로 설명하였으나, 이와 다르게 클라이언트 단말기로 블록 데이터에 대한 정보를 전송하기 위해 프로세서(120)가 인덱스 데이터 베이스(130) 및 블록체인 저장부(150)로부터 트랜잭션 정보를 읽을 때에도, 프로세서(120)의 제1 기능 부분(121)과 제2 기능 부분(123)이 동시에 인덱스 데이터 베이스(130) 및 블록체인 저장부(150)로부터 비동기 방식으로 인덱스 정보와 트랜잭션 정보를 읽도록 할 수 있다.In addition, although the case in which the processor 120 performs a write function to store the received block data has been described as an example in FIG. 4(b), in order to transmit block data information to the client terminal differently, the processor 120 ) even when reading transaction information from the index database 130 and the block chain storage unit 150, the first functional part 121 and the second functional part 123 of the processor 120 simultaneously perform the index database 130 ) and the block chain storage unit 150 to read index information and transaction information in an asynchronous manner.

아울러, 본 발명의 일례에 따른 피어 단말기의 프로세서(120)는 블록 데이터에 대한 작업을 처리함에 있어, 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리하여, 프로세서(120)의 처리 속도를 보다 향상시킬 수 있다. 이에 대해 보다 자세히 설명하면 다음과 같다.In addition, the processor 120 of the peer terminal according to an example of the present invention processes the block data by dividing it into a parallel processing target and a serial processing target to further improve the processing speed of the processor 120 . can A more detailed description of this is as follows.

도 5는 본 발명의 일례에 따른 피어 단말기의 프로세서(120)가 블록 데이터에 대한 작업을 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리하는 방법의 일례를 설명하기 위한 도이다.FIG. 5 is a diagram for explaining an example of a method in which the processor 120 of a peer terminal divides a block data operation into a parallel processing target and a serial processing target according to an example of the present invention.

도 5의 (a)는 비교예에 따른 피어 단말기가 블록 데이터를 처리하는 방법의 일례를 설명하기 위한 도이고, 도 5의 (b)는 본 발명의 일례에 따른 피어 단말기가 블록 데이터를 처리하는 방법의 일례를 설명하기 위한 도이다.Figure 5 (a) is a diagram for explaining an example of a method of processing block data by a peer terminal according to a comparative example, Figure 5 (b) is a peer terminal according to an example of the present invention processing block data It is a figure for demonstrating an example of a method.

오더러 단말기로부터 복수의 블록 데이터를 수신하는 경우, 피어 단말기는 수신한 복수의 블록 데이터를 버퍼 메모리(Buffer Memory)에 저장하고, 수신하는 복수의 블록 데이터의 번호에 따라 도 5의 (a)에 도시된 바와 같이, 순차적으로 직렬 처리될 수 있다.When receiving a plurality of block data from the orderer terminal, the peer terminal stores the received plurality of block data in a buffer memory, and according to the number of the received plurality of block data, it is shown in (a) of FIG. As shown, they may be sequentially processed serially.

그러나, 이와 같은 경우, 프로세서(120)는 복수의 블록 데이터의 번호에 따라 순차적으로 직렬 처리해야 하므로, 단일 작업의 범위가 넓게 설정될 수 있어, 복수의 블록 데이터를 처리하기 위한 전체 작업 측면에서 불필요한 소요 시간이 발생할 수 있고, 아직 커밋(Commit)되지 않은 블록 데이터에 대한 패이로드 블록(Payload Block)이 버퍼 메모리에 쌓이는 병목 현상이 발생할 수 있다.However, in this case, since the processor 120 must serially process a plurality of block data sequentially according to the number of the block data, the scope of a single operation can be set widely, which is unnecessary in terms of the overall operation for processing the plurality of block data. Required time may occur, and a bottleneck in which payload blocks for block data that have not yet been committed are accumulated in the buffer memory may occur.

그러나, 본 발명의 일례에 따른 피어 단말기의 프로세서(120)는 버퍼 메모리에 있는 복수의 블록 데이터에 대한 패이로드 블록(Payload Block)를 커밋(Commit)하기 위해 수행해야 할 처리 대상 작업에 대해, 도 5의 (b)와 같이, 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리할 수 있다.However, the processor 120 of the peer terminal according to an example of the present invention relates to a processing target operation to be performed in order to commit a payload block for a plurality of block data in the buffer memory. As shown in (b) of 5, processing can be divided into a parallel processing target and a serial processing target.

이와 같이, 프로세서(120)는 버퍼 메모리에 있는 복수의 블록 데이터를 커밋하기 위해 처리해야할 작업에 대해 병렬 처리 대상과 직렬 처리 대상으로 구분한 이후, 병렬 처리 대상과 직렬 처리 대상을 각각 동시에 처리할 수 있다.In this way, the processor 120 divides the work to be processed in order to commit the plurality of block data in the buffer memory into a parallel processing target and a serial processing target, and then simultaneously processes the parallel processing target and the serial processing target. have.

예를 들어, 커밋 프로세서(120)(Commit process) 중에서 사전에 처리될 수 있는 프로세스들을 전처리 작업(Preprocessing)을 수행하되, 병렬 처리 가능한 병렬 처리 대상 작업에 대해서는 병렬 처리를 수행하고, 직렬 처리 대상 작업에 대해서는 직렬 처리를 수행하여, 처리 속도를 보다 향상시킬 수 있다.For example, preprocessing is performed on processes that can be processed in advance among the commit processor 120 (Commit process), but parallel processing is performed on a parallel processing target job that can be processed in parallel, and a serial processing target job The processing speed can be further improved by performing serial processing.

여기서, 일례로, 병렬 처리 대상 작업은 본 발명의 프로세서(120)에서 제1 기능 부분(121)에 의해 수행될 수 있으며, 직렬 처리 대상 작업은 본 발명의 프로세서(120)에서 제2 기능 부분(123)에 의해 수행될 수 있다.Here, as an example, the parallel processing target operation may be performed by the first functional part 121 in the processor 120 of the present invention, and the serial processing target operation is performed by the second functional part ( 123) can be carried out.

이에 따라, 수신된 블록 데이터는 프로세서(120)의 제1 기능 부분(121)에 의한 전처리 작업과 프로세서(120)의 제2 기능 부분(123)에 의한 본처리 작업으로 구분되어 동시에 병렬 처리될 수 있다.Accordingly, the received block data is divided into a pre-processing task by the first functional part 121 of the processor 120 and a main processing task by the second functional part 123 of the processor 120, and can be simultaneously processed in parallel. have.

이와 같이, 본 발명의 일례에 따른 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법은 블록 데이터의 복수의 트랜잭션 정보를 전처리 작업과 본처리 작업으로 구분하여, 동시에 병렬 처리하도록 함으로써, 피어 단말기의 처리 속도를 향상시킬 수 있다.As described above, in the peer terminal and the method of processing block data by the peer terminal according to an example of the present invention, a plurality of transaction information of block data is divided into a pre-processing operation and a main processing operation, and parallel processing is performed at the same time, thereby processing the peer terminal. speed can be improved.

본 발명의 각 실시예에 개시된 기술적 특징들은 해당 실시예에만 한정되는 것은 아니고, 서로 양립 불가능하지 않은 이상, 각 실시예에 개시된 기술적 특징들은 서로 다른 실시예에 병합되어 적용될 수 있다.The technical features disclosed in each embodiment of the present invention are not limited to the embodiment, and unless they are mutually incompatible, the technical features disclosed in each embodiment may be combined and applied to different embodiments.

따라서, 각 실시예에서는 각각의 기술적 특징을 위주로 설명하지만, 각 기술적 특징이 서로 양립 불가능하지 않은 이상, 서로 병합되어 적용될 수 있다.Accordingly, in each embodiment, each technical feature will be mainly described, but unless the technical features are incompatible with each other, they may be merged and applied.

본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.The present invention is not limited to the above-described embodiments and the accompanying drawings, and various modifications and variations will be possible from the point of view of those of ordinary skill in the art to which the present invention pertains. Accordingly, the scope of the present invention should be defined not only by the claims of the present specification, but also by those claims and their equivalents.

100: 피어 단말기(Peer terminal)
110: 통신부(Communication unit)
120: 프로세서(Processor)
121: 제1 기능 부분(First function part)
123: 제2 기능 부분(Second function part)
130: 인덱스 데이터 베이스(Index database)
140: 히스토리 데이터 베이스(History database)
150: 블록체인 저장부(History database)
200: 클라이언트 단말기(client terminal)
300: 오더러 단말기(orderer terminal)
100: peer terminal (Peer terminal)
110: communication unit (Communication unit)
120: Processor
121: First function part
123: Second function part
130: Index database
140: History database
150: Blockchain storage (History database)
200: client terminal (client terminal)
300: orderer terminal (orderer terminal)

Claims (18)

제1 프로세싱 기능을 수행하는 제1 기능 부분 및 상기 제1 프로세싱과 다른 제2 프로세싱 기능을 수행하는 제2 기능 부분을 포함하는 프로세서를 포함하는 피어 단말기가 블록 데이터를 처리하는 방법에 있어서,상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing) 작업을 수행하는 전처리부이고,
상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부이고,
상기 피어 단말기가 상기 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 블록 데이터 수신 단계;
상기 제1 기능 부분이 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업 단계; 및
상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계;를 포함하고,
상기 전처리 작업 단계에서, 상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장하고,
상기 본처리 작업 단계에서, 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장하고,
상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업 단계와 상기 본처리 작업 단계로 분류하여 수행하고,상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행되는
피어 단말기가 블록 데이터를 처리하는 방법.
A method for processing block data by a peer terminal including a processor including a first functional part performing a first processing function and a second functional part performing a second processing function different from the first processing function, 1 function part is a preprocessing unit that performs a preprocessing operation to store the block data,
The second functional part is a main processing unit that verifies and commits content information of a plurality of transaction information in order to store the block data,
a block data receiving step of receiving, by the peer terminal, block data including the plurality of transaction information;
a pre-processing operation step of collecting, by the first functional part, index information of the plurality of transaction information and storing it in an index database; and
The second function part verifies the content information of the plurality of transaction information and stores the information in the block chain storage unit;
In the pre-processing step, the first function part collects and stores index information of the plurality of transaction information in a predetermined order,
In the main processing step, the second function part verifies and stores the content information of the plurality of transaction information in a predetermined order,
In addition to the operation of storing the index information and the content information for the block data, the operation to be additionally performed is classified into the pre-processing operation step and the main processing operation step, and the pre-processing operation step and the main processing operation step is performed at the same time
How peer terminals process block data.
삭제delete 삭제delete 제1 항에 있어서,
상기 제1 기능 부분이 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 단계를 더 포함하는
피어 단말기가 블록 데이터를 처리하는 방법.
The method of claim 1,
The first function part further comprises the step of collecting history information from the plurality of transaction information and storing it in a history database
How peer terminals process block data.
제4 항에 있어서,
상기 히스토리 데이터 베이스에 저장하는 단계는 상기 전처리 작업 단계가 종료된 이후에 수행하는 것
피어 단말기가 블록 데이터를 처리하는 방법.
5. The method of claim 4,
The step of storing in the history database is performed after the pre-processing step is finished.
How peer terminals process block data.
제1 항에 있어서,
상기 제1 기능 부분이 상기 전처리 작업 단계를 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업 단계를 수행하는데 사용되는
피어 단말기가 블록 데이터를 처리하는 방법.
The method of claim 1,
After the first functional part completes the pre-processing operation step, the first functional part is used to perform the main processing operation step.
How peer terminals process block data.
삭제delete 삭제delete 제1 항에 있어서,
상기 추가로 수행해야할 작업에 대한 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행되는
피어 단말기가 블록 데이터를 처리하는 방법.
The method of claim 1,
The pre-processing operation step and the main processing operation step for the operation to be additionally performed are performed at the same time
How peer terminals process block data.
복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 통신부; 및
상기 블록 데이터를 저장하는 프로세서;를 포함하고,
상기 프로세서는
상기 블록 데이터를 저장하기 위한 제1 프로세싱 기능을 수행하는 제1 기능 부분; 및
상기 블록 데이터를 저장하기 위한 제2 프로세싱 기능을 수행하는 제2 기능 부분;을 포함하되,
상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing)하는 전처리부이고,
상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부이고,
상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업(Task)을 수행하고,
상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업을 수행하고,
상기 제1 기능 부분은 상기 전처리 작업에 대해 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장하고,
상기 제2 기능 부분이 상기 본처리 작업에 대해 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장하고,
상기 프로세서는 상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업과 상기 본처리 작업으로 분류하여 수행하고,
상기 전처리 작업과 상기 본처리 작업은 동시에 수행되는 피어 단말기.
a communication unit for receiving block data including a plurality of transaction information; and
Including; a processor for storing the block data;
the processor
a first functional portion performing a first processing function for storing the block data; and
a second functional part performing a second processing function for storing the block data;
The first functional part is a preprocessing unit that preprocesses to store the block data,
The second functional part is a main processing unit that verifies and commits content information of the plurality of transaction information in order to store the block data,
The first function part collects index information of the plurality of transaction information and performs a pre-processing task (Task) of storing it in an index database,
The second function part verifies the content information of the plurality of transaction information and performs the main processing operation of storing it in the block chain storage unit,
The first function part collects and stores index information of the plurality of transaction information in a predetermined order for the pre-processing task,
The second function part verifies and stores the content information of the plurality of transaction information in a predetermined order for the main processing operation,
The processor classifies and performs tasks to be additionally performed in addition to the task of storing the index information and the content information for the block data into the pre-processing task and the main processing task,
A peer terminal in which the pre-processing operation and the main processing operation are simultaneously performed.
삭제delete 삭제delete 제10 항에 있어서,
상기 제1 기능 부분은 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 히스토리 저장 작업을 더 수행하는 피어 단말기.
11. The method of claim 10,
The first functional part is a peer terminal that further performs a history storage operation of collecting history information from the plurality of transaction information and storing it in a history database.
제13 항에 있어서,
상기 히스토리 저장 작업은 상기 전처리 작업이 종료된 이후에 수행하는 피어 단말기.
14. The method of claim 13,
The history storage operation is performed after the pre-processing operation is finished.
제10 항에 있어서,
상기 제1 기능 부분이 상기 전처리 작업을 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업을 수행하는데 사용되는 피어 단말기.
11. The method of claim 10,
After the first functional part completes the pre-processing task, the first functional part is used to perform the main processing task.
삭제delete 삭제delete 제10 항에 있어서,
상기 추가로 수행해야할 작업에 대한 상기 전처리 작업과 상기 본처리 작업은 동시에 수행되는 피어 단말기.
11. The method of claim 10,
The pre-processing task and the main processing task for the additional task to be performed are simultaneously performed.
KR1020200127066A 2020-07-10 2020-09-29 Peer terminal and method for processing a block data at a peer terminal KR102447289B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2021/008775 WO2022010300A1 (en) 2020-07-10 2021-07-09 Peer terminal and method for processing block data by peer terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200085737 2020-07-10
KR20200085737 2020-07-10

Publications (2)

Publication Number Publication Date
KR20220007483A KR20220007483A (en) 2022-01-18
KR102447289B1 true KR102447289B1 (en) 2022-09-26

Family

ID=80052209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200127066A KR102447289B1 (en) 2020-07-10 2020-09-29 Peer terminal and method for processing a block data at a peer terminal

Country Status (1)

Country Link
KR (1) KR102447289B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019243235A1 (en) * 2018-06-19 2019-12-26 Radix Dlt Limited Distributed ledger technology
US20200193538A1 (en) * 2016-08-31 2020-06-18 Zweispace Japan Corp. Real estate management system, method, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169985B2 (en) 2018-07-27 2021-11-09 Oracle International Corporation System and method for supporting SQL-based rich queries in hyperledger fabric blockchains

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200193538A1 (en) * 2016-08-31 2020-06-18 Zweispace Japan Corp. Real estate management system, method, and program
WO2019243235A1 (en) * 2018-06-19 2019-12-26 Radix Dlt Limited Distributed ledger technology

Also Published As

Publication number Publication date
KR20220007483A (en) 2022-01-18

Similar Documents

Publication Publication Date Title
Fan et al. Performance evaluation of blockchain systems: A systematic survey
CN110442652B (en) Cross-chain data processing method and device based on block chain
Baird et al. Hedera: A public hashgraph network & governing council
CN112153085B (en) Data processing method, node and block chain system
CN109472572B (en) Contract system based on block chain main chain and parallel multiple sub-chains
Moreno-Sanchez et al. Privacy preserving payments in credit networks
JP7477576B2 (en) Method and system for consistent distributed memory pool in a blockchain network
Kaur et al. Scalability in blockchain: Challenges and solutions
CN112602076A (en) DAG-based transaction processing method and system in distributed ledger
CN110417558A (en) Verification method and device, the storage medium and electronic device of signature
EP3652885B1 (en) Secure token passing via blockchains
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
CN110851537A (en) Consensus method based on block chain fragmentation technology
CN109493052B (en) Cross-chain contract system based on main chain and parallel multiple sub-chains
JP2023532959A (en) A privacy-preserving architecture for permissioned blockchains
CN110505228B (en) Edge cloud architecture-based big data processing method, system, medium and device
KR102564106B1 (en) System and Method for Intelligent mediating based enhanced smart contract for privacy protection
CN114363352B (en) Cross-chain interaction method of Internet of things system based on block chain
CN114327827A (en) Task processing method and device and storage medium
CN111260475A (en) Data processing method, block chain node point equipment and storage medium
CN113037824B (en) Cloud computing-oriented high-performance block chain construction method
KR102447289B1 (en) Peer terminal and method for processing a block data at a peer terminal
CN114503143A (en) Unifying protocol consensus
CN116703601A (en) Data processing method, device, equipment and storage medium based on block chain network
US11704726B1 (en) Systems and methods for bartering services and goods using distributed ledger techniques

Legal Events

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