WO2022010300A1 - 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법 - Google Patents

피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법 Download PDF

Info

Publication number
WO2022010300A1
WO2022010300A1 PCT/KR2021/008775 KR2021008775W WO2022010300A1 WO 2022010300 A1 WO2022010300 A1 WO 2022010300A1 KR 2021008775 W KR2021008775 W KR 2021008775W WO 2022010300 A1 WO2022010300 A1 WO 2022010300A1
Authority
WO
WIPO (PCT)
Prior art keywords
block data
processing
transaction information
functional part
information
Prior art date
Application number
PCT/KR2021/008775
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020200127066A external-priority patent/KR102447289B1/ko
Application filed by 주식회사 미디움 filed Critical 주식회사 미디움
Publication of WO2022010300A1 publication Critical patent/WO2022010300A1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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

Definitions

  • An object of the present invention is to provide a peer terminal and a method for the peer terminal to process block data.
  • 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.
  • 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.
  • the client terminal 200 may generate the transaction information Tx and transmit it to each of the plurality of peer terminals 100 .
  • each transaction information Tx and signature information may be combined and transmitted to the orderer terminal 300 .
  • 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).
  • Each of the plurality of peer terminals 100 can 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 .
  • orderer terminal 300 is illustrated in FIG. 1 as an example, the orderer terminal 300 is not necessarily limited thereto, and there may be at least one orderer terminal 300 .
  • the plurality of peer terminals 100 include a communication unit 110 , a processor 120 , an index database 130 , a history database 140 , and a block chain storage unit. (150).
  • the processor 120 since the processor 120 must sequentially process the plurality of block data 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 uncommitted block data are accumulated in the buffer memory may occur.
  • 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.
  • each technical feature will be mainly described, but unless the technical features are incompatible with each other, they may be merged and applied.

Abstract

본 발명은 하이퍼레저 패브릭 구조에서 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법에 관한 것이다. 본 발명의 일례에 따라, 제1 프로세싱 기능을 수행하는 제1 기능 부분 및 상기 제1 프로세싱과 다른 제2 프로세싱 기능을 수행하는 제2 기능 부분을 포함하는 프로세서를 포함하는 피어 단말기가 블록 데이터를 처리하는 방법은 상기 피어 단말기가 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 블록 데이터 수신 단계; 상기 제1 기능 부분이 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업 단계; 및 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계;를 포함하고, 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행된다.

Description

피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법
본 발명은 하이퍼레저 패브릭 구조에서 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법에 관한 것이다.
블록 체인은 누구나 네크워크에 참여할 수 있는 퍼블릭(Public) 블록 체인과, 허락된 대상만 네크워크에 참여할 수 있는 프라이빗(Private) 블록 체인으로 구별될 수 있다.
하이퍼레저 패브릭은 허가형 프라이빗 블록체인(Permissioned Private Blockchain)의 형태를 가지며, 누구나 자유롭게 참여 가능한 퍼블릭 블록체인과 달리, 인증 관리 시스템에 의해 하락된 사용자만이 블록 체인 네트워크에 참여할 수 있다.
따라서, 하이퍼레저 패브릭은 다른 퍼블릭 블록 체인보다 보안성이 뛰어 날 수 있으며, 하이퍼레저 패브릭 네크워크에 참여한 노드들은 이미 시스템에 의해 허가된, 신뢰를 가진 노드로 볼 수 있고, 퍼블릭 블록체인에서 사용하는 악의적인 노드를 검증하기 위한 복잡한 합의 알고리즘 등을 필요로 하지 않고, 단지 원장에 접근하려는 사용자가 허가된 노드인가, 그러한 권한이 있는가, 트랜잭션이 제대로 구성되어 있는가를 검증하는 정도로 충분하다.
이와 같은 하이퍼레저 패브릭 네크워크 구조에서는 모든 노드가 블록체인 형태로 저장되는 동일한 원장으로 정보를 공유할 수 있고, 비즈니스 목적에 맞게 공유하고자 하는 노드 간에 별도의 채널을 생성하여 별도의 원장을 생성하는 것도 가능하다.
이와 같은 하이퍼레저 패브릭 네트워크는 클라이언트(Client) 단말기, 피어(Peer) 단말기 및 오더러(Orderer) 단말기를 포함할 수 있으며, 피어 단말기는 네트워크의 각 노드를 형성하며, 하이퍼레저 패브릭 네트워크에서 인증되고, 참여가 허락된 단말기일 수 있다.
클라이언트 단말기에서는 거래 내용이 포함되는 트랜잭션 정보를 생성하여, 네트워크의 각 피어 단말기로 전송하고, 각 피어 단말기에서는 클라이언트 단말기의 트랜잭션 정보를 인증한 서명 정보를 생성하고, 클라이언트 단말기는 각 트랜잭션 정보에 대한 각 피어 단말기들의 서명 정보를 결합하여 오더러 단말기로 전송할 수 있다.
오더러 단말기에서는 클라이언트 단말기로부터 전송되는 복수의 트랜잭션 정보를 블록화하여 블록 데이터를 생성하고, 생성된 블록 데이터를 각 피어 단말기로 전송할 수 있다.
각 피어 단말기에서는 오더러 단말기로부터 전송되는 블록 데이터를 커밋(Commit)하여 검증한 후, 저장부에 블록 체인 형태로 저장할 수 있다.
본 발명은 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법을 제공하는데, 그 목적이 있다.
본 발명의 일례에 따라, 제1 프로세싱 기능을 수행하는 제1 기능 부분 및 상기 제1 프로세싱과 다른 제2 프로세싱 기능을 수행하는 제2 기능 부분을 포함하는 프로세서를 포함하는 피어 단말기가 블록 데이터를 처리하는 방법은 상기 피어 단말기가 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 블록 데이터 수신 단계; 상기 제1 기능 부분이 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업 단계; 및 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계;를 포함하고, 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행된다.
상기 전처리 작업 단계에서, 상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장할 수 있다.
상기 본처리 작업 단계에서, 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장할 수 있다.
상기 제1 기능 부분이 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 단계를 더 포함할 수 있다.
상기 히스토리 데이터 베이스에 저장하는 단계는 상기 전처리 작업 단계가 종료된 이후에 수행할 수 있다.
상기 제1 기능 부분이 상기 전처리 작업 단계를 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업 단계를 수행하는데 사용될 수 있다.
상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing) 작업을 수행하는 전처리부이고, 상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부일 수 있다.
상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업 단계와 상기 본처리 작업 단계로 분류하여 수행할 수 있다.
여기서, 상기 추가로 수행해야할 작업에 대한 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행될 수 있다.
본 발명의 일례에 따른 피어 단말기는 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 통신부; 및 상기 블록 데이터를 저장하는 프로세서;를 포함하고, 상기 프로세서는 상기 블록 데이터를 저장하기 위한 제1 프로세싱 기능을 수행하는 제1 기능 부분; 및 상기 블록 데이터를 저장하기 위한 제2 프로세싱 기능을 수행하는 제2 기능 부분;을 포함하되, 상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업(Task)을 수행하고, 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업을 수행하되, 상기 전처리 작업과 상기 본처리 작업은 동시에 수행될 수 있다.
상기 제1 기능 부분은 상기 전처리 작업에 대해 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장하고, 상기 제2 기능 부분이 상기 본처리 작업에 대해 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장할 수 있다.
상기 제1 기능 부분은 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 히스토리 저장 작업을 더 수행할 수 있다.
여기서, 상기 히스토리 저장 작업은 상기 전처리 작업이 종료된 이후에 수행될 수 있다.
상기 제1 기능 부분이 상기 전처리 작업을 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업을 수행하는데 사용될 수 있다.
상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing)하는 전처리부이고, 상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부일 수 있다.
상기 프로세서는 상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업과 상기 본처리 작업으로 분류하여 수행할 수 있다.
상기 추가로 수행해야할 작업에 대한 상기 전처리 작업과 상기 본처리 작업은 동시에 수행될 수 있다.
본 발명의 일례에 따른 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법은 복수의 트랜잭션 정보의 인덱스 정보를 저장하는 전처리 작업 단계와 복수의 트랜잭션 정보의 내용 정보를 저장하는 본처리 작업 단계가 동시에 수행되도록 함으로써, 피어 단말기의 처리 속도를 향상시킬 수 있다.
도 1은 본 발명의 일례에 따른 하이퍼레저 패브릭 구조를 구성하는 단말기의 일례를 설명하기 위한 도이다.
도 2는 도 1에 도시된 클라이언트 단말기(200), 피어 단말기(100) 및 오더러 단말기(300) 사이의 정보 흐름을 설명하기 위한 도이다.
도 3은 도 2에서 도시된 피어 단말기(100)의 일례를 설명하기 위한 도이다.
도 4는 본 발명의 일례에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 비동기 방식으로 처리하는 방법의 일례를 설명하기 위한 도이다.
도 5는 본 발명의 일례에 따른 피어 단말기가 전처리 작업과 본처리 작업을 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리하는 방법의 일례를 설명하기 위한 도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
여기서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 ‘포함하는’의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.
이하, 첨부된 도면들을 참조하여 본 발명에 대해 설명한다.
도 1은 본 발명의 일례에 따른 하이퍼레저 패브릭 구조를 구성하는 단말기의 일례를 설명하기 위한 도이고, 도 2는 도 1에 도시된 클라이언트 단말기(200), 피어 단말기(100) 및 오더러 단말기(300) 사이의 정보 흐름을 설명하기 위한 도이다.
도 1에 도시된 바와 같이, 본 발명의 일례에 따른 하이퍼레저 패브릭 구조(Hyperledger fabric Architecture)를 구성하는 단말기는 클라이언트(client) 단말기(200), 피어(Peer) 단말기(100) 및 오더러(Orderer) 단말기(300)를 포함할 수 있다. 이와 같은 클라이언트 단말기(200), 피어 단말기(100) 오더러 단말기(300)는 하이퍼레저 패브릭 네트워크의 각 노드(node)를 구성할 수 있다.
클라이언트 단말기(200)는 하이퍼레저 패브릭 네트워크에 접근하기 위해 필요한 노드로, 거래 정보에 대한 내용을 포함하는 트랜잭션(transaction) 정보(Tx)를 생성할 수 있다. 도 1에서는 클라이언트 단말기(200)가 복수 개인 경우를 일례로 도시하였으나, 클라이언트 단말기(200)는 적어도 하나 이상일 수 있고, 클라이언트 단말기(200)가 하나인 경우도 가능하다.
클라이언트 단말기(200)는 스마트 컨트랙트가 설치되거나 호출될 때, 채널을 생성하거나 특정 피어 단말기(100)를 채널에 참가하게 하는 등 하이퍼레저 패브릭 네트워크에서 비즈니스 로직을 수행하기 위한 요청들에 대한 트랜잭션 정보(Tx)를 생성할 수 있다.
이와 같이 클라이언트 단말기(200)는 트랜잭션 정보(Tx)를 생성하여, 복수의 피어 단말기(100) 각각에 전송할 수 있다. 클라이언트 단말기(200)가 복수의 피어 단말기(100)로부터 트랜잭션 정보(Tx)를 인증한 서명 정보를 받으면, 각 트랜잭션 정보(Tx)와 서명 정보를 결합하여 오더러 단말기(300)로 전송할 수 있다.
복수의 피어 단말기(100) 각각은 하이퍼레저 패브릭 구조에서 가장 기본이 되는 노드로, 피어 단말기(100) 내에 원장(ledger)를 가지며, 체인코드(smart contract)를 구비할 수 있다.
이와 같은 복수의 피어 단말기(100) 각각은 수신된 트랜잭션 정보(Tx)를 검증하고 전파할 수 있으며, 오더러 단말기(300)로부터 트랜잭션 정보(Tx)가 블록화된 블록 데이터를 수신하면, 피어 단말기(100)는 블록 체인 형태로 저장된 원장을 업데이트할 수 있다. 이후 블록 체인이 업데이트되면, 피어 단말기(100)는 블록 체인이 업데이트되었다는 정보를 클라이언트 단말기(200)로 전송할 수 있다.
오더러 단말기(300)는 도 1에서는 오더러 단말기(300)가 하나인 경우를 일례로 도시하였으나, 오더러 단말기(300)는 반드시 이에 한정되는 것은 아니고, 적어도 하나 이상일 수 있다.
만약, 오더러 단말기(300)는 복수 개인 경우, 복수의 오더러 단말기(300)가 마치 하나의 서비스 노드처럼 동작될 수도 있다. 일례로 오더러 단말기(300)가 OSN(Ordering Service Node) 형태로 구비될 수 있다.
이와 같은 오더러 단말기(300)는 검증된 트랜잭션 정보(Tx)들을 이용하여, 트랜잭션 정보(Tx)들이 블록화된 블록 데이터를 생성할 수 있다. 즉, 오더러 단말기(300)는 클라이언트들로부터 전송되는 복수의 트랜잭션 정보(Tx)들을 순서화하여, 블록 데이터를 생성할 수 있다. 이와 같이, 오더러 단말기(300)에서 생성된 블록 데이터는 복수의 피어 단말기(100) 각각으로 전송되어, 각 피어 단말기(100)에 구비된 블록 체인에 업데이트될 수 있다.
본 발명의 일례에 따른 하이퍼레저 패브릭 구조(Hyperledger fabric Architecture)에서 적어도 하나의 클라이언트 단말기(200), 복수의 피어 단말기(100) 및 적어도 하나의 오더러 단말기(300)가 동작되는 방법의 일례에 대해 설명하면 다음과 같다.
먼저, 적어도 하나의 클라이언트 단말기(200)는 트랜잭션 정보(Tx)를 생성(S1)하여, 생성된 트랜잭션 정보(Tx)를 복수의 피어 단말기(100)로 전송(S2)하여 트랜잭션 정보(Tx)에 대한 인증을 요청할 수 있다.
복수의 피어 단말기(100) 각각이 적어도 하나의 클라이언트(client) 단말기(200)에서 생성되는 각각의 트랜잭션 정보(Tx)에 대한 인증 요청을 수신받으면, 복수의 피어 단말기(100)는 적어도 하나의 클라이언트 단말기(200)로부터 전송된 트랜잭션 정보(Tx)를 확인하고 검증하여, 수신된 트랜잭션 정보(Tx)를 인증하는 서명 정보를 생성(S3)하고, 적어도 하나의 클라이언트 단말기(200)의 인증 요청에 대한 응답(Response)으로, 서명 정보를 전송(S4)할 수 있다.
이에 따라, 클라이언트 단말기(200)는 각 트랜잭션 정보(Tx)에 대해 복수의 피어 단말기(100)의 개수만큼의 서명 정보를 전송받을 수 있다.
클라이언트 단말기(200)는 복수의 피어 단말기(100)로부터 받은 복수의 서명 정보를 각각의 트랜잭션 정보(Tx)에 결합(S5)하여, 복수의 서명 정보와 함께 트랜잭션 정보(Tx)를 적어도 하나의 오더러 단말기(300)로 전송(S6)할 수 있다.
적어도 하나의 오더러 단말기(300)는 클라이언트 단말기(200)로부터 수신받은 복수의 서명 정보와 트랜잭션 정보(Tx)를 전송받되, 트랜잭션 정보(Tx)를 미리 정해진 개수만큼 클라이언트 단말기(200)로부터 수신 받으면, 수신받은 복수의 트랜잭션 정보(Tx)들을 정렬 및 순서화하고, 하이퍼레저 패브릭 구조의 네트워크 상에서 합의된 알고리즘에 의해, 수신받은 복수의 트랜잭션 정보(Tx)들을 블록화하여 블록 데이터를 생성(S7)할 수 있다. 오더러 단말기(300)는 생성된 블록 데이터를 복수의 피어 단말기(100) 각각으로 전송(S8)할 수 있다.
복수의 피어 단말기(100) 각각은 적어도 하나의 오더러 단말기(300)로부터 블록 데이터를 전송받으면, 블록 데이터를 확인 및 검증(S9)하는 커밋(Commit)을 수행하고, 피어 단말기(100) 내에 블록 체인 형태로 저장되는 원장(Ledger)에 연결하여 블록 체인을 업데이트할 수 있고, 블록 체인이 업데이트되었음을 클라이언트 단말기(200)로 전송할 수 있다.
아울러, 이후에, 복수의 피어 단말기(100) 각각은 클라이언트 단말기(200)로부터 블록 데이터에 대한 요청이 수신(S11)되면, 클라이언트 단말기(200)로 블록 데이터를 전송(S12)할 수 있다.
한편, 본 발명에서는, 복수의 피어 단말기(100) 각각은 오더러 단말기(300)로부터 수신받은 블록 데이터를 원장이 저장되는 블록체인 저장부에 저장하기 위해, 전처리 작업과 본처리 작업이 수행될 수 있다.
전처리 작업에서는 블록 데이터에 포함되는 복수의 트랜잭션 정보의 인덱스 정보를 저장할 수 있으며, 본처리 작업에서는 블록 데이터에 포함되는 복수의 트랜잭션 정보의 내용 정보를 저장할 수 있다.
이와 같이, 본 발명의 일례에 따른 피어 단말기는 전처리 작업과 본처리 작업을 수행하여 블록 데이터를 저장할 수 있으며, 이를 위하여, 다음과 같은 구조를 구비할 수 있다.
도 3은 본 발명의 일례에 따른 피어 단말기(100)의 일례를 설명하기 위한 도이다.
본 발명의 일례에 따른 복수의 피어 단말기(100)은 도 3에 도시된 바와 같이, 통신부(110), 프로세서(120), 인덱스 데이터 베이스(130), 히스토리 데이터 베이스(140) 및 블록체인 저장부(150)를 포함할 수 있다.
통신부(110)는 클라이언트 단말기(200), 오더러 단말기(300) 및 다른 피어 단말기(100)와 통신을 수행할 수 있다. 이와 같은 통신부(110)는 클라이언트 단말기(200)로부터 트랜잭션 정보(Tx)를 수신할 수 있으며, 오더러 단말기(300)로부터 복수의 트랜잭션 정보(Tx)와 복수의 서명 정보가 블록화된 블록 데이터를 수신받을 수 있으며, 피어 단말기(100)의 저장부(150)에 블록 체인 형태로 저장되는 원장(ledger)이 업데이트되면, 업데이트 이벤트를 클라이언트 단말기(200)로 전송할 수 있다.
오더러 단말기(300)로부터 수신되는 블록 데이터에는 전술한 복수의 트랜잭션 정보(Tx)에 대한 인덱스 정보가 더 포함될 수 있으며, 경우에 따라 선택적으로 복수의 트랜잭션 정보에 대한 히스토리 정보도 포함될 수 있다.
프로세서(120)는 통신부를 통해 수신받은 블록 데이터를 검증하여 블록체인 저장부(150)에 저장할 수 있다. 프로세서(120)가 블록 데이터를 저장하기 위해, 제1 프로세싱 기능을 수행하는 제1 기능 부분(121)과, 제2 프로세싱 기능을 수행하는 제2 기능 부분(123)을 포함할 수 있다.
제1 기능 부분(121)은 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스(130)에 저장하는 전처리 작업(Task)을 수행할 수 있다. 이와 같이, 제1 기능 부분(121)이 전처리 작업에 대해 수행할 때, 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장할 수 있다.
일례로, 프로세서(120)의 제1 기능 부분(121)은 수신받은 블록 데이터에 포함된 복수의 트랜잭션 정보에 대해, 처리 순서가 정해져 있는 경우, 제1 기능 부분(121)은 각 트랜잭션 정보에 대해 정해진 처리 순서에 따라 각 트랜잭션 정보에 대한 인덱스 정보를 수집하고 인덱스 데이터 베이스(130)에 저장할 수 있다.
이와 같은 제1 기능 부분(121)은 블록 데이터를 저장하기 위해 전처리(preprocessing) 작업을 수행하는 전처리부일 수 있다.
아울러, 제1 기능 부분(121)은 전술한 전처리 작업 중 일례로 설명한 인덱스 정보 수집 및 저장 기능 이외에 블록 데이터에 포함된 복수의 트랜잭션 정보로부터, 다른 전처리 작업인 히스토리 정보를 수집하여, 히스토리 데이터 베이스(140)에 저장할 수 있다.
제1 기능 부분(121)이 히스토리 정보를 수집 및 저장하는 기능은 전처리 작업이 종료된 이후에 수행될 수 있다.
제2 기능 부분(123)은 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업을 수행할 수 있다. 제2 기능 부분(123)이 본처리 작업에 대해 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장할 수 있다.
아울러, 프로세서(120)의 제2 기능 부분(123)은 수신받은 블록 데이터에 포함된 복수의 트랜잭션 정보에 대해, 처리 순서가 정해져 있는 경우, 제2 기능 부분(123)은 각 트랜잭션 정보에 대해 정해진 처리 순서에 따라 각 트랜잭션 정보의 내용 정보를 검증하고 블록체인 저장부(150)에 저장할 수 있다.
이와 같은 제2 기능 부분(123)은 블록 데이터를 저장하기 위해, 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부일 수 있다.
이와 같이, 제1 기능 부분(121)이 전처리 작업을 수행하고, 제2 기능 부분(123)이 본처리 작업을 수행하는데 있어서, 전처리 작업과 본처리 작업이 동시에 수행되도록 할 수 있다.
즉, 본 발명의 프로세서(120)는 전처리 작업과 본처리 작업을 비동기(Async) 방식으로 수행할 수 있다. 즉, 본 발명의 프로세서(120)가 전처리 작업을 수행하거나 본처리 작업을 수행할 때에, 프로세서(120)의 제1 기능 부분(121)과 제2 기능 부분(123)을 통하여 전처리 작업과 본처리 작업을 함께 수행할 수 있다. 이에 대한 보다 상세한 설명은 도 4를 참조하여 후술한다.
아울러, 제1 기능 부분(121)이 수행하는 전처리 작업은 데이터 처리량이 제1 기능 부분(121)이 수행하는 본처리 작업에 비하여 상대적으로 데이터 처리량이 작을 수 있다. 이에 따라, 하나의 블록 데이터에 대해 제1 기능 부분(121)이 처리하는 전처리 작업 시간은 제2 기능 부분(123)이 처리하는 본처리 작업 시간보다 상대적으로 짧을 수 있고, 제1 기능 부분(121)의 전처리 작업은 제2 기능 부분(123)의 본처리 작업보다 상대적으로 일찍 종료될 수 있다.
이에 따라, 제1 기능 부분(121)이 전처리 작업을 완료한 이후에는, 제1 기능 부분(121)이 본처리 작업 단계를 수행하는데 사용될 수도 있다.
아울러, 프로세서(120)는 블록 데이터에 대한 인덱스 정보 및 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 전처리 작업과 본처리 작업으로 분류하여 수행할 수 있다.
인덱스 데이터 베이스(130)는 메모리를 포함할 수 있으며, 프로세서(120)의 제1 기능 부분(121)에 의해 전처리 작업이 수행되어, 블록 데이터로부터 수집된 트랜잭션 정보의 인덱스 정보가 저장될 수 있다.
히스토리 데이터 베이스(140)는 메모리를 포함할 수 있으며, 프로세서(120)의 제1 기능 부분(121)에 의해 전처리 작업이 수행되어, 블록 데이터로부터 수집된 트랜잭션 정보의 히스토리 정보가 저장될 수 있다.
블록체인 저장부(150)는 SSD(Solid State Drive) 및 HDD(Hard Disk Drive) 중 적어도 하나의 형태로 구비될 수 있으며, 블록 데이터의 트랜잭션 정보의 내용 정보가 블록 체인 형태로 저장되는 원장(ledger)을 포함할 수 있다. 따라서, 블록체인 저장부(150)에는 프로세서(120)의 제2 기능 부분(123)이 본처리 작업을 수행하여, 검증된 트랜잭션 정보의 내용 정보가 블록 체인 형태로 저장될 수 있다.
한편, 본 발명에 따른 프로세서(120)는 제1 기능 부분(121)과 제2 기능 부분(123)으로 분류되어 블록 데이터에 대한 전처리 작업과 본처리 작업이 동시에 수행될 수 있으며, 블록 데이터에 대한 전처리 작업과 본처리 작업시 직렬적으로 작업을 처리하는 것이 아니라, 전처리 작업과 본처리 작업을 병렬적으로 처리할 수 있는 대상과 직렬적으로 처리할 수 있는 작업으로 구분하여, 프로세서(120)의 작업 처리 속도가 빨라지도록 할 수 있다.
이에 대해 다음의 도 4 및 도 5를 통하여 보다 구체적으로 설명한다.
도 4는 본 발명의 일례에 따른 피어 단말기의 프로세서(120)가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 비동기 방식으로 처리하는 방법의 일례를 설명하기 위한 도이다.
도 4의 (a)는 비교예에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 처리하는 방법을 설명하기 위한 도이고, 도 4의 (b)는 본 발명에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 비동기 방식으로 처리하는 방법의 일례를 설명하기 위한 도이다.
먼저, 비교예에 따른 피어 단말기의 프로세서(120)는 도 4의 (a)와 같이, 블록 데이터에 포함된 복수의 트랜잭션 졍보를 처리하기 위해, 전처리 작업과 본처리 작업을 수행함에 있어, 동기화된 방식을 사용한다.
구체적으로, 비교예에서는, 제1 트랜잭션 정보를 처리하기 위해, 블록 데이터로부터 제1 트랜잭션 정보의 인덱스 정보를 수집하여 인덱스 데이터 베이스(130)에 저장하는 전처리 작업을 수행하고, 제1 트랜잭션 정보에 대한 전처리 작업이 완료될 때까지 프로세서(120)는 제1 트랜잭션 정보의 내용 정보를 저장하지 않고 대기 상태에 있다가, 제1 트랜잭션 정보의 인덱스 정보의 저장이 완료된 이후 제1 트랜잭션 정보의 내용 정보를 저장하는 본처리 작업을 수행하였다.
이후, 제1 트랜잭션 정보의 본처리 작업이 완료될 때까지 프로세서(120)는 대기하고 있다가. 제1 트랜잭션 정보의 본처리 작업이 완료된 이후 제2 트랜잭션 정보의 인덱스 정보를 저장하는 전처리 작업을 수행하고, 제2 트랜잭션 정보의 전처리 작업이 완료될 때까지 대기 상태에 있다가, 제2 트랜잭션 정보의 전처리 작업이 완료된 이후, 제2 트랜잭션 정보의 내용 정보를 저장하는 본처리 작업을 수행하였다.
이와 같이, 비교예에 따른 프로세서(120)는 블록 데이터에 포함된 복수의 트랜잭션 정보를 처리함에 있어, 정해진 순서에 따라, 복수의 트랜잭션 정보 각각에 대한 전처리 작업과 본처리 작업을 순차적으로 수행함에 있어, 어느 하나의 전처리 작업 또는 본처리 작업이 완료될 때까지 다른 작업을 수행하지 않고 대기 상태에 있다가, 해당 작업이 완료된 이후 다음 작업을 수행하였다.
이와 같은 비교예의 경우, 어느 하나의 전처리 작업 또는 본처리 작업이 종료될 때까지, 프로세서(120)는 동작을 정지하고 대기를 해야하므로, 프로세서(120)의 응답 처리 속도가 지연되어, 블록 데이터를 처리함에 있어서 병목 현상이 발생하는 문제점이 있었다.
그러나, 본 발명의 일례에 따른 피어 단말기가 블록 데이터를 처리하기 위해 전처리 작업과 본처리 작업을 수행하는 방법은 도 4의 (b)와 같이, 각 트랜잭션에 대한 전처리 작업과 본처리 작업을 비동기(Async)화 하여 수행하므로, 전술한 바와 같은 병목 현상을 최소화할 수 있다.
보다 구체적으로, 본 발명의 일례에 따른 피어 단말기는 프로세서(120)가 제1 기능 부분(121)과 제2 기능 부분(123)을 구비하여, 제1 기능 부분(121)이 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스(130)에 저장하는 전처리 작업 단계를 수행하고, 제2 기능 부분(123)이 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계를 수행하되, 도 4의 (b)와 같이, 전처리 작업 단계와 본처리 작업 단계는 동시에 수행되도록 할 수 있다.
보다 구체적으로, 도 4의 (b)와 같이, 프로세서(120)의 제1 기능 부분(121)이 복수의 트랜잭션 정보(일례로, Tx1 내지 Tx5)에 대한 전처리 작업을 수행함에 있어, 각 트랜잭션 정보에 대해 미리 정해진 순서에 따라 해당 트랜잭션 정보의 인덱스 정보를 수집하고 저장할 수 있고, 프로세선의 제2 기능 부분(123)이 복수의 트랜잭션 정보(일례로, Tx1 내지 Tx5)에 대한 본처리 작업을 수행함에 있어, 각 트랜잭션 정보에 대해 미리 정해진 순서에 따라 해당 트랜잭션 정보의 내용 정보를 수집하고 저장할 수 있다.
이때, 프로세서(120)의 제1 기능 부분(121)과 제2 기능 부분(123)은 서로 독립적으로 해당 트랜잭션 정보에 대한 전처리 작업과 본처리 작업을 동시에 수행할 수 있다.
이에 따라, 일례로, 제2 트랜잭션 정보의 전처리 작업은 제1 트랜잭션 정보의 본처리 작업이 종료되기까지 대기하지 않고, 제1 트랜잭션 정보의 본처리 작업이 시작 또는 종료되기 전에 미리 수행될 수 있다.
이와 같이, 본 발명에 따른 피어 단말기가 블록 데이터를 처리하는 방법은 블록 데이터에 대한 전처리 작업과 본처리 작업을 프로세서(120)가 비동기 방식으로 수행하도록 함으로써, 프로세서(120)의 응답 처리 속도를 보다 향상시킬 수 있다.
아울러, 블록 데이터에 대한 전처리 작업에 트랜잭션 정보의 히스토리 정보에 대한 처리가 포함되는 경우, 프로세서(120)의 제1 기능 부분(121)이 히스토리 정보에 대한 전처리 작업을 수행함에 있어, 트랜잭션 정보에 대한 본처리 작업이 완료될 때까지 대기하지 않고, 제2 기능 부분(123)과 독립적으로 작업을 처리하도록 함으로써, 프로세서(120)의 응답 처리 속도를 보다 향상시킬 수 있다.
아울러, 본 발명에 따른 프로세서(120)에서는 제1 기능 부분(121)이 반드시 전처리 작업만 수행하는 것으로 한정하지 않고, 제1 기능 부분(121)이 블록 데이터에 포함된 복수의 트랜잭션 정보에 대한 전처리 작업을 완료한 이후에는 제2 기능 부분(123)이 수행하는 본처리 작업을 수행하도록 할 수 있다. 이에 따라 본 발명은 블록 데이터에 대한 처리 속도를 더욱 향상시킬 수 있다.
아울러, 도 4의 (b)에서는 프로세서(120)가 수신된 블록 데이터를 저장하는 쓰기 기능을 수행하는 경우를 일례로 설명하였으나, 이와 다르게 클라이언트 단말기로 블록 데이터에 대한 정보를 전송하기 위해 프로세서(120)가 인덱스 데이터 베이스(130) 및 블록체인 저장부(150)로부터 트랜잭션 정보를 읽을 때에도, 프로세서(120)의 제1 기능 부분(121)과 제2 기능 부분(123)이 동시에 인덱스 데이터 베이스(130) 및 블록체인 저장부(150)로부터 비동기 방식으로 인덱스 정보와 트랜잭션 정보를 읽도록 할 수 있다.
아울러, 본 발명의 일례에 따른 피어 단말기의 프로세서(120)는 블록 데이터에 대한 작업을 처리함에 있어, 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리하여, 프로세서(120)의 처리 속도를 보다 향상시킬 수 있다. 이에 대해 보다 자세히 설명하면 다음과 같다.
도 5는 본 발명의 일례에 따른 피어 단말기의 프로세서(120)가 블록 데이터에 대한 작업을 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리하는 방법의 일례를 설명하기 위한 도이다.
도 5의 (a)는 비교예에 따른 피어 단말기가 블록 데이터를 처리하는 방법의 일례를 설명하기 위한 도이고, 도 5의 (b)는 본 발명의 일례에 따른 피어 단말기가 블록 데이터를 처리하는 방법의 일례를 설명하기 위한 도이다.
오더러 단말기로부터 복수의 블록 데이터를 수신하는 경우, 피어 단말기는 수신한 복수의 블록 데이터를 버퍼 메모리(Buffer Memory)에 저장하고, 수신하는 복수의 블록 데이터의 번호에 따라 도 5의 (a)에 도시된 바와 같이, 순차적으로 직렬 처리될 수 있다.
그러나, 이와 같은 경우, 프로세서(120)는 복수의 블록 데이터의 번호에 따라 순차적으로 직렬 처리해야 하므로, 단일 작업의 범위가 넓게 설정될 수 있어, 복수의 블록 데이터를 처리하기 위한 전체 작업 측면에서 불필요한 소요 시간이 발생할 수 있고, 아직 커밋(Commit)되지 않은 블록 데이터에 대한 패이로드 블록(Payload Block)이 버퍼 메모리에 쌓이는 병목 현상이 발생할 수 있다.
그러나, 본 발명의 일례에 따른 피어 단말기의 프로세서(120)는 버퍼 메모리에 있는 복수의 블록 데이터에 대한 패이로드 블록(Payload Block)를 커밋(Commit)하기 위해 수행해야 할 처리 대상 작업에 대해, 도 5의 (b)와 같이, 병렬 처리 대상과 직렬 처리 대상으로 구분하여 처리할 수 있다.
이와 같이, 프로세서(120)는 버퍼 메모리에 있는 복수의 블록 데이터를 커밋하기 위해 처리해야할 작업에 대해 병렬 처리 대상과 직렬 처리 대상으로 구분한 이후, 병렬 처리 대상과 직렬 처리 대상을 각각 동시에 처리할 수 있다.
예를 들어, 커밋 프로세서(120)(Commit process) 중에서 사전에 처리될 수 있는 프로세스들을 전처리 작업(Preprocessing)을 수행하되, 병렬 처리 가능한 병렬 처리 대상 작업에 대해서는 병렬 처리를 수행하고, 직렬 처리 대상 작업에 대해서는 직렬 처리를 수행하여, 처리 속도를 보다 향상시킬 수 있다.
여기서, 일례로, 병렬 처리 대상 작업은 본 발명의 프로세서(120)에서 제1 기능 부분(121)에 의해 수행될 수 있으며, 직렬 처리 대상 작업은 본 발명의 프로세서(120)에서 제2 기능 부분(123)에 의해 수행될 수 있다.
이에 따라, 수신된 블록 데이터는 프로세서(120)의 제1 기능 부분(121)에 의한 전처리 작업과 프로세서(120)의 제2 기능 부분(123)에 의한 본처리 작업으로 구분되어 동시에 병렬 처리될 수 있다.
이와 같이, 본 발명의 일례에 따른 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법은 블록 데이터의 복수의 트랜잭션 정보를 전처리 작업과 본처리 작업으로 구분하여, 동시에 병렬 처리하도록 함으로써, 피어 단말기의 처리 속도를 향상시킬 수 있다.
본 발명의 각 실시예에 개시된 기술적 특징들은 해당 실시예에만 한정되는 것은 아니고, 서로 양립 불가능하지 않은 이상, 각 실시예에 개시된 기술적 특징들은 서로 다른 실시예에 병합되어 적용될 수 있다.
따라서, 각 실시예에서는 각각의 기술적 특징을 위주로 설명하지만, 각 기술적 특징이 서로 양립 불가능하지 않은 이상, 서로 병합되어 적용될 수 있다.
본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (18)

  1. 제1 프로세싱 기능을 수행하는 제1 기능 부분 및 상기 제1 프로세싱과 다른 제2 프로세싱 기능을 수행하는 제2 기능 부분을 포함하는 프로세서를 포함하는 피어 단말기가 블록 데이터를 처리하는 방법에 있어서,
    상기 피어 단말기가 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 블록 데이터 수신 단계;
    상기 제1 기능 부분이 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업 단계; 및
    상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업 단계;를 포함하고,
    상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행되는
    피어 단말기가 블록 데이터를 처리하는 방법.
  2. 제1 항에 있어서,
    상기 전처리 작업 단계에서, 상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장하는
    피어 단말기가 블록 데이터를 처리하는 방법.
  3. 제1 항에 있어서,
    상기 본처리 작업 단계에서, 상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장하는
    피어 단말기가 블록 데이터를 처리하는 방법.
  4. 제1 항에 있어서,
    상기 제1 기능 부분이 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 단계를 더 포함하는
    피어 단말기가 블록 데이터를 처리하는 방법.
  5. 제4 항에 있어서,
    상기 히스토리 데이터 베이스에 저장하는 단계는 상기 전처리 작업 단계가 종료된 이후에 수행하는 것
    피어 단말기가 블록 데이터를 처리하는 방법.
  6. 제1 항에 있어서,
    상기 제1 기능 부분이 상기 전처리 작업 단계를 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업 단계를 수행하는데 사용되는
    피어 단말기가 블록 데이터를 처리하는 방법.
  7. 제1 항에 있어서,
    상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing) 작업을 수행하는 전처리부이고,
    상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부인
    피어 단말기가 블록 데이터를 처리하는 방법.
  8. 제1 항에 있어서,
    상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업 단계와 상기 본처리 작업 단계로 분류하여 수행하는
    피어 단말기가 블록 데이터를 처리하는 방법.
  9. 제8 항에 있어서,
    상기 추가로 수행해야할 작업에 대한 상기 전처리 작업 단계와 상기 본처리 작업 단계는 동시에 수행되는
    피어 단말기가 블록 데이터를 처리하는 방법.
  10. 복수의 트랜잭션 정보를 포함하는 블록 데이터를 수신하는 통신부; 및
    상기 블록 데이터를 저장하는 프로세서;를 포함하고,
    상기 프로세서는
    상기 블록 데이터를 저장하기 위한 제1 프로세싱 기능을 수행하는 제1 기능 부분; 및
    상기 블록 데이터를 저장하기 위한 제2 프로세싱 기능을 수행하는 제2 기능 부분;을 포함하되,
    상기 제1 기능 부분은 상기 복수의 트랜잭션 정보의 인덱스 정보를 수집하고, 인덱스 데이터 베이스에 저장하는 전처리 작업(Task)을 수행하고,
    상기 제2 기능 부분이 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여, 블록 체인 저장부에 저장하는 본처리 작업을 수행하되,
    상기 전처리 작업과 상기 본처리 작업은 동시에 수행되는 피어 단말기.
  11. 제10 항에 있어서,
    상기 제1 기능 부분은 상기 전처리 작업에 대해 상기 복수의 트랜잭션 정보의 인덱스 정보를 미리 정해진 순서에 따라 수집하고 저장하는 피어 단말기.
  12. 제10 항에 있어서,
    상기 제2 기능 부분이 상기 본처리 작업에 대해 상기 복수의 트랜잭션 정보의 내용 정보를 미리 정해진 순서에 따라 검증하여 저장하는 피어 단말기.
  13. 제10 항에 있어서,
    상기 제1 기능 부분은 상기 복수의 트랜잭션 정보로부터 히스토리 정보를 수집하여, 히스토리 데이터 베이스에 저장하는 히스토리 저장 작업을 더 수행하는 피어 단말기.
  14. 제13 항에 있어서,
    상기 히스토리 저장 작업은 상기 전처리 작업이 종료된 이후에 수행하는 피어 단말기.
  15. 제10 항에 있어서,
    상기 제1 기능 부분이 상기 전처리 작업을 완료한 이후에는, 상기 제1 기능 부분이 상기 본처리 작업을 수행하는데 사용되는 피어 단말기.
  16. 제10 항에 있어서,
    상기 제1 기능 부분은 상기 블록 데이터를 저장하기 위해 전처리(preprocessing)하는 전처리부이고,
    상기 제2 기능 부분은 상기 블록 데이터를 저장하기 위해, 상기 복수의 트랜잭션 정보의 내용 정보를 검증하여 커밋(commit)하는 본처리부인 피어 단말기.
  17. 제10 항에 있어서,
    상기 프로세서는 상기 블록 데이터에 대한 상기 인덱스 정보 및 상기 내용 정보를 저장하는 작업 이외에 추가로 수행해야할 작업에 대해서는 상기 전처리 작업과 상기 본처리 작업으로 분류하여 수행하는 피어 단말기.
  18. 제17 항에 있어서,
    상기 추가로 수행해야할 작업에 대한 상기 전처리 작업과 상기 본처리 작업은 동시에 수행되는 피어 단말기.
PCT/KR2021/008775 2020-07-10 2021-07-09 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법 WO2022010300A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2020-0085737 2020-07-10
KR20200085737 2020-07-10
KR1020200127066A KR102447289B1 (ko) 2020-07-10 2020-09-29 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법
KR10-2020-0127066 2020-09-29

Publications (1)

Publication Number Publication Date
WO2022010300A1 true WO2022010300A1 (ko) 2022-01-13

Family

ID=79553418

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/008775 WO2022010300A1 (ko) 2020-07-10 2021-07-09 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법

Country Status (1)

Country Link
WO (1) WO2022010300A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019021107A1 (en) * 2017-07-24 2019-01-31 nChain Holdings Limited COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR MANAGING A LARGE MEMORY GROUP DISTRIBUTED IN A BLOCK CHAIN NETWORK
WO2019243235A1 (en) * 2018-06-19 2019-12-26 Radix Dlt Limited Distributed ledger technology
US20200005292A1 (en) * 2018-06-29 2020-01-02 Arcblock, Inc. Blockchain adapter, protocol, and access layer
US20200193538A1 (en) * 2016-08-31 2020-06-18 Zweispace Japan Corp. Real estate management system, method, and program

Patent Citations (4)

* 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
WO2019021107A1 (en) * 2017-07-24 2019-01-31 nChain Holdings Limited COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR MANAGING A LARGE MEMORY GROUP DISTRIBUTED IN A BLOCK CHAIN NETWORK
WO2019243235A1 (en) * 2018-06-19 2019-12-26 Radix Dlt Limited Distributed ledger technology
US20200005292A1 (en) * 2018-06-29 2020-01-02 Arcblock, Inc. Blockchain adapter, protocol, and access layer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KHAN DODO, JUNG LOW TANG, HASHMANI MANZOOR AHMED, CHEONG MOKE KWAI: "Empirical Performance Analysis of Hyperledger LTS for Small and Medium Enterprises", SENSORS, vol. 22, no. 3, pages 915, XP055886490, DOI: 10.3390/s22030915 *

Similar Documents

Publication Publication Date Title
WO2018043865A2 (ko) 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
WO2021002692A1 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
JP3441726B2 (ja) 通信装置及び通信方法
WO2020251142A1 (ko) 업무 담당자의 인사 평가를 수행하는 장치 및 방법
WO2021150032A1 (en) Method for providing authentication service by using decentralized identity and server using the same
WO2019198885A1 (ko) 블록체인 기반의 다수의 서비스 노드를 사용하는 탈중앙화 서비스 플랫폼
WO2021145555A1 (ko) 블록 체인을 기반으로 한 다중 노드 인증 방법 및 이를 위한 장치
WO2020149586A1 (ko) 복수의 사용자의 동의 여부를 판단하여 하나의 서비스를 제공하는 서비스 제공 방법 및 장치
WO2020013560A1 (ko) 블록체인 기반의 분산형 자율 주행 정보 관리 장치 및 방법
WO2014069827A1 (en) System and method for providing data analysis service in a cloud environment
WO2019125041A1 (ko) 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
WO2018035929A1 (zh) 一种验证码的处理方法及装置
WO2013085217A1 (ko) 다수의 중계 서버를 갖는 보안관리 시스템 및 보안관리 방법
WO2021162341A1 (ko) 블록체인 송금 서비스 시스템의 동작 방법과 송금을 위한 전자 지갑
WO2022177204A1 (ko) Did 기반의 탈중앙화된 사용자 데이터 저장 및 공유 시스템
WO2023182724A1 (ko) 인력 매칭 시스템
WO2011065660A4 (ko) 계산 시뮬레이션 모사 시스템 및 그 방법
WO2019125069A1 (ko) 블록체인을 이용한 개인정보 분리 후 조합을 통한 인증 시스템
WO2020158973A1 (ko) 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법
WO2022010300A1 (ko) 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법
WO2023149660A1 (ko) 그룹 서명 기반 연합학습 방법 및 시스템, 이를 수행하기 위한 기록 매체
WO2022139565A1 (ko) 블록체인을 활용한 re100 에너지 거래 시스템 및 방법
WO2021242000A1 (ko) 데이터 적재 및 처리 시스템 및 그 방법
WO2021225329A1 (ko) 사용자 식별자 및 서명 수집을 이용한 모바일 애플리케이션 위변조 탐지 방법 및 시스템
WO2021107408A1 (ko) 리더가 없는 블록 체인 합의 방법 및 그 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21838641

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21.06.2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21838641

Country of ref document: EP

Kind code of ref document: A1