KR102382127B1 - System for processing data based on blockchain and Operating method thereof - Google Patents

System for processing data based on blockchain and Operating method thereof Download PDF

Info

Publication number
KR102382127B1
KR102382127B1 KR1020170109266A KR20170109266A KR102382127B1 KR 102382127 B1 KR102382127 B1 KR 102382127B1 KR 1020170109266 A KR1020170109266 A KR 1020170109266A KR 20170109266 A KR20170109266 A KR 20170109266A KR 102382127 B1 KR102382127 B1 KR 102382127B1
Authority
KR
South Korea
Prior art keywords
blockchain
block
node
processing system
data processing
Prior art date
Application number
KR1020170109266A
Other languages
Korean (ko)
Other versions
KR20180113140A (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 US15/933,680 priority Critical patent/US11095432B2/en
Priority to SG10201802603QA priority patent/SG10201802603QA/en
Priority to CN201810299757.3A priority patent/CN108694665B/en
Publication of KR20180113140A publication Critical patent/KR20180113140A/en
Application granted granted Critical
Publication of KR102382127B1 publication Critical patent/KR102382127B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

블록체인 어플리케이션의 성능을 향상시키기 위해 고안된 블록체인 기반의 데이터 처리 시스템이 제공된다. 본 발명의 일 실시예에 따른 블록체인 기반의 데이터 처리 시스템은, 퍼미션 기반 블록체인 네트워크(permission based blockchain network)를 구성하고, 블록체인 데이터를 분산하여 관리하는 복수의 블록체인 노드 및 상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 포함하되, 상기 복수의 블록체인 노드는, 블록을 생성하고, 상기 생성된 블록을 상기 블록체인 네트워크 상의 다른 블록체인 노드로 전파하는 블록 생성 노드를 포함하고, 상기 블록체인 관리 장치는, 현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어하는 블록 생성 순서 제어부를 포함할 수 있다.A blockchain-based data processing system designed to improve the performance of blockchain applications is provided. A blockchain-based data processing system according to an embodiment of the present invention comprises a permission-based blockchain network, a plurality of blockchain nodes that distribute and manage blockchain data, and the blockchain network a block chain management device for managing The chain management device controls so that a new block cannot be created when a block generated by the corresponding block generating node exists in a unit section including a preset number of blocks based on the block corresponding to the current block height. It may include a block generation order control unit.

Description

블록체인 기반의 데이터 처리 시스템 및 그 동작 방법{System for processing data based on blockchain and Operating method thereof}Blockchain-based data processing system and its operating method {System for processing data based on blockchain and Operating method thereof}

본 발명은 블록체인 기반의 데이터 처리 시스템에 관한 것이다. 보다 자세하게는, 고속의 데이터 처리를 통해, 블록체인 기반 어플리케이션의 성능을 향상시킬 수 있는 시스템 및 그 시스템의 동작 방법에 관한 것이다.The present invention relates to a blockchain-based data processing system. More specifically, it relates to a system capable of improving the performance of a blockchain-based application through high-speed data processing and a method of operating the system.

블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드는 상기 블록을 체인처럼 연결하여 관리하는 데이터 관리 기술 또는 상기 블록이 체인처럼 연결된 데이터 그 자체를 의미하며, 상기 체인처럼 연결된 데이터는 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.A blockchain records continuously increasing data in a specific unit of block, and each node constituting a peer-to-peer (P2P) network connects and manages the block like a chain. Block refers to the data itself connected like a chain, and the data connected like the chain is operated in the form of a distributed ledger at each node without a central system.

블록체인 네트워크를 구성하는 각각의 노드는 도 1에 도시된 구조는 갖는 블록들을 관리한다. 각 블록에는 이전 블록에 대한 해시 값이 기록되며, 상기 해시 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 트랜잭션 데이터의 위변조는 어려워지고, 각 블록에 기록된 데이터의 신뢰도는 향상될 수 있다.Each node constituting the blockchain network manages blocks having the structure shown in FIG. 1 . A hash value of the previous block is recorded in each block, and the previous block can be referenced through the hash value. Accordingly, as blocks are accumulated, forgery of transaction data recorded in the block becomes difficult, and the reliability of data recorded in each block can be improved.

블록체인 네트워크를 구성하는 각각의 노드는 동일한 내용의 분산 원장을 유지함으로써 트랜잭션 데이터의 정합성 및 무결성을 유지한다. 각 노드 간 보유한 분산 원장의 내용이 상이할 경우에는 가장 길게 연결된 체인의 내용을 신뢰하게 된다. 이와 같은 이유로 특정 노드가 신규 블록을 다른 노드들보다 지속적으로 먼저 생성하여 가장 긴 체인을 유지한다면 트랜잭션 데이터를 임의로 변조하는 것이 가능하게 되므로, 이를 방지하기 위해 합의 알고리즘(consensus algorithm)이 적용된다.Each node constituting the blockchain network maintains the consistency and integrity of transaction data by maintaining a distributed ledger of the same content. If the contents of the distributed ledger held between each node are different, the contents of the longest connected chain are trusted. For this reason, if a specific node continuously generates new blocks before other nodes and maintains the longest chain, it is possible to arbitrarily modulate transaction data, so a consensus algorithm is applied to prevent this.

비트코인 계열의 블록체인은 작업 증명(proof of work; PoW) 방식을 채택하고 있는데, 이는 목표 해시 값이 만족되는 넌스(nonce)를 구하는 연산을 강제함으로써 특정 노드의 블록 생성 독점을 방지하는 방법이다.The Bitcoin-based blockchain adopts the proof of work (PoW) method, which is a method to prevent a specific node from monopolizing block generation by forcing an operation to obtain a nonce that satisfies the target hash value. .

그러나, 작업 증명 등의 합의 알고리즘이 이용되는 경우, 다수의 노드에서 동시다발적으로 블록이 생성되더라도 최종적으로 단 하나의 블록만이 블록체인 상의 분산 원장에 포함되므로, 블록체인 기반 시스템의 전체 처리량은 하나의 블록에 담기는 거래의 양으로 제한되는 문제가 있다.However, when a consensus algorithm such as proof of work is used, even if blocks are generated simultaneously from multiple nodes, only one block is ultimately included in the distributed ledger on the block chain, so the overall throughput of the block chain-based system is There is a problem in that the amount of transactions contained in one block is limited.

예를 들어, 비트코인의 경우, 평균 10분에 한 개의 블록이 생성되며, 한 블록의 크기는 1MB로 제한되므로, 초당 7건 내외로 처리량 수준이 제한된다.For example, in the case of Bitcoin, one block is generated on average every 10 minutes, and the size of one block is limited to 1 MB, so the throughput level is limited to around 7 transactions per second.

한국공개특허 제2016-0150278호 (2016.12.29 공개)Korea Patent Publication No. 2016-0150278 (published on December 29, 2016)

본 발명이 해결하고자 하는 기술적 과제는, 고속의 데이터 처리 성능을 제공하는 블록체인 기반 데이터 처리 시스템을 제공하는 것이다.The technical problem to be solved by the present invention is to provide a blockchain-based data processing system that provides high-speed data processing performance.

본 발명이 해결하고자 하는 다른 기술적 과제는, 상기 블록체인 기반 데이터 처리 시스템을 이용하여, 인스턴트 트랜잭션(instant transaction)을 처리하는 방법을 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a method for processing an instant transaction by using the block chain-based data processing system.

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

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 블록체인 기반의 데이터 처리 시스템은, 퍼미션 기반 블록체인 네트워크(permission based blockchain network)를 구성하고, 블록체인 데이터를 분산하여 관리하는 복수의 블록체인 노드 및 상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 포함하되, 상기 복수의 블록체인 노드는, 블록을 생성하고, 상기 생성된 블록을 상기 블록체인 네트워크 상의 다른 블록체인 노드로 전파하는 블록 생성 노드를 포함하고, 상기 블록체인 관리 장치는, 현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어하는 블록 생성 순서 제어부를 포함할 수 있다.In order to solve the above technical problem, a block chain-based data processing system according to an embodiment of the present invention configures a permission based blockchain network and distributes and manages a plurality of block chain data. A block comprising a block chain node and a block chain management device for managing the block chain network, wherein the plurality of block chain nodes generate blocks and propagate the generated blocks to other block chain nodes on the block chain network Including a generating node, the block chain management device, based on the block corresponding to the current block height, when a block generated by the corresponding block generating node exists on a unit section including a preset number of blocks, a new It may include a block generation order control unit for controlling that blocks cannot be generated.

일 실시예에서, 각각의 블록체인 노드가 상기 퍼미션 기반 블록체인 네트워크에 참여할 때, 제1 퍼미션을 기준으로 상기 각각의 블록체인 노드의 퍼미션에 대한 제1 검증이 수행되고, 상기 각각의 블록체인 노드가 신규 블록을 수신할 때, 제2 퍼미션을 기준으로 상기 신규 블록을 생성한 블록 생성 노드의 퍼미션에 대한 제2 검증이 수행될 수 있다.In one embodiment, when each blockchain node participates in the permission-based blockchain network, a first verification of the permission of each blockchain node is performed based on the first permission, and each blockchain node Upon receiving the new block, a second verification of the permission of the block generating node that generated the new block may be performed based on the second permission.

일 실시예에서, 상기 블록 생성 순서 제어부는, 0 내지 1 범위의 값을 갖는 제어 파라미터를 설정하여, 상기 블록 생성 노드의 블록 생성을 제어하되, 상기 기 설정된 개수는, 상기 제어 파라미터에 설정된 값 및 상기 블록 생성 노드의 개수를 기초로 결정될 수 있다.In an embodiment, the block generation order control unit controls block generation of the block generation node by setting a control parameter having a value in the range of 0 to 1, wherein the preset number includes a value set in the control parameter and It may be determined based on the number of the block generating nodes.

일 실시예에서, 상기 블록체인 관리 장치는, 블록 생성 난이도를 조절하여, 블록 생성 주기를 가변적으로 제어하는 블록 생성 주기 제어부를 더 포함할 수 있다.In an embodiment, the block chain management apparatus may further include a block generation cycle control unit for variably controlling the block generation cycle by adjusting the block generation difficulty.

일 실시예에서, 상기 블록체인 관리 장치는, 상기 생성된 블록의 크기를 가변적으로 제어하는 블록 크기 제어부를 더 포함할 수 있다.In an embodiment, the block chain management apparatus may further include a block size control unit for variably controlling the size of the generated block.

상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 블록체인 기반의 데이터 처리 시스템은, 제1 블록체인 네트워크(blockchain network)를 구성하고, 제1 블록체인 데이터를 분산하여 관리하는 복수의 제1 블록체인 노드, 제2 블록체인 네트워크를 구성하고, 제2 블록체인 데이터를 분산하여 관리하는 복수의 제2 블록체인 노드 및 사용자의 전자 지갑 생성 요청에 응답하여, 상기 사용자의 가상 화폐를 보관하는 제1 전자 지갑 및 제2 전자 지갑을 생성하되, 상기 사용자가 보유한 가상 화폐의 잔고는 상기 제1 전자 지갑에 보관된 가상 화폐와 상기 제2 전자 지갑에 보관된 가상 화폐의 합인 것인, 전자 지갑 관리부와 상기 사용자의 트랜잭션 처리 요청에 응답하여, 상기 제1 전자 지갑 또는 상기 제2 전자 지갑 중 적어도 하나의 전자 지갑에 보관된 가상 화폐에 대한 트랜잭션을 처리하는 트랜잭션 처리부를 포함하는 사용자 단말을 포함하되, 상기 제1 전자 지갑에 대한 트랜잭션은 상기 제1 블록체인 네트워크에 기초하여 처리되고, 상기 제2 전자 지갑에 대한 트랜잭션은 상기 제2 블록체인 네트워크에 기초하여 처리될 수 있다.A block chain-based data processing system according to another embodiment of the present invention for solving the above-described technical problem comprises a first block chain network and a plurality of distributed and managed first block chain data. A plurality of second blockchain nodes that configure the first blockchain node and the second blockchain network, distribute and manage the second blockchain data, and respond to the user's e-wallet creation request, and store the user's virtual currency create a first electronic wallet and a second electronic wallet, wherein the balance of the virtual currency held by the user is the sum of the virtual currency stored in the first electronic wallet and the virtual currency stored in the second electronic wallet A user terminal including a wallet management unit and a transaction processing unit for processing a transaction for virtual currency stored in at least one of the first electronic wallet and the second electronic wallet in response to the user's request for transaction processing However, the transaction for the first electronic wallet may be processed based on the first blockchain network, and the transaction for the second electronic wallet may be processed based on the second blockchain network.

상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 블록체인 기반의 인스턴트 트랜잭션 처리 방법은, 복수의 블록체인 노드를 포함하는 블록체인 기반의 트랜잭션 처리 시스템에서 수행되는 인스턴트 트랜잭션(instant transaction) 처리 방법에 있어서, 상기 복수의 블록체인 노드 중 제1 블록체인 노드가, 제1 사용자를 송신자로 하고 제2 사용자를 수신자로 하는 처리 대상 트랜잭션의 처리 요청을 수신하는 단계, 상기 처리 대상 트랜잭션의 처리 요청에 응답하여, 상기 제1 블록체인 노드가, 상기 처리 대상 트랜잭션의 유효성을 검증하는 단계, 상기 처리 대상 트랜잭션이 유효한 경우, 상기 제1 블록체인 노드가, 상기 제2 사용자의 단말로 상기 검증된 처리 대상 트랜잭션에 대한 처리 완료를 통지하는 단계, 상기 제1 블록체인 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 복수의 블록체인 노드 중에서 신규 블록을 생성한 블록 생성 노드로 전달하는 단계 및 상기 블록 생성 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 신규 블록에 기록하고, 상기 신규 블록을 블록체인 데이터를 분산 관리하는 복수의 블록 체인 노드로 전파하는 단계를 포함할 수 있다.A block chain-based instant transaction processing method according to another embodiment of the present invention for solving the above technical problem is an instant transaction performed in a block chain-based transaction processing system including a plurality of block chain nodes. ) in the processing method, the first blockchain node among the plurality of blockchain nodes receiving a processing request for a transaction to be processed with a first user as a sender and a second user as a receiver; In response to the processing request, the first blockchain node verifies the validity of the transaction to be processed; if the transaction to be processed is valid, the first blockchain node performs the verification with the terminal of the second user Notifying the completion of processing for the transaction to be processed; transmitting, by the first blockchain node, the verified transaction to be processed to a block generating node that generated a new block among the plurality of blockchain nodes; and the block It may include, by the generating node, recording the verified transaction to be processed in the new block, and propagating the new block to a plurality of block chain nodes that distribute and manage block chain data.

상술한 본 발명에 따르면, 퍼미션 기반의 블록체인 네트워크를 이용하고, 블록의 크기 및/또는 생성 주기가 가변적으로 제어될 수 있다. 이에 따라, 블록체인 기반 데이터 처리 시스템 또는 상기 데이터 처리 시스템에 기반한 블록체인 어플리케이션의 응답 속도 및 처리량이 크게 향상될 수 있다.According to the present invention described above, a permission-based blockchain network is used, and the size and/or generation cycle of blocks can be variably controlled. Accordingly, the response speed and throughput of a blockchain-based data processing system or a blockchain application based on the data processing system can be greatly improved.

또한, 계층적으로 구성된 전자 지갑 각각에 대응되는 복수의 블록체인 네트워크를 이용하여, 병렬적인 블록 생성이 수행될 수 있다. 이에 따라, 트랜잭션 처리 또한 병렬적으로 수행될 수 있는 바, 블록체인 기반 데이터 처리 시스템의 응답 속도 및 처리량이 더욱 향상될 수 있다.In addition, parallel block generation may be performed using a plurality of block chain networks corresponding to each of the hierarchically configured electronic wallets. Accordingly, since transaction processing can also be performed in parallel, the response speed and throughput of the blockchain-based data processing system can be further improved.

또한, 퍼미션 기반 블록체인 네트워크를 기반으로 가상 화폐의 거래 당사자 간에 인스턴트 트랜잭션 서비스가 제공될 수 있다. 이에 따라, 블록체인 어플리케이션 서비스를 이용하는 사용자들의 만족도가 제고될 수 있다.In addition, an instant transaction service can be provided between the parties to the virtual currency transaction based on the permission-based blockchain network. Accordingly, the satisfaction of users using the blockchain application service can be improved.

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

도 1은 블록체인 네트워크를 구성하는 각 노드에 의해 유지되는 블록체인 데이터의 구조를 설명하기 위한 도면이다.
도 2는 작업 증명 방식의 합의 알고리즘 및 상기 합의 알고리즘에 따른 성능 저하 문제를 설명하기 위한 도면이다.
도 3은 본 발명의 제1 실시예에 따른 블록체인 기반의 데이터 처리 시스템의 구성도이다.
도 4는 본 발명의 제2 실시예에 따른 블록체인 기반의 데이터 처리 시스템의 구성도이다.
도 5 및 도 6은 본 발명의 제3 실시예에 따른 블록체인 기반의 데이터 처리 시스템을 설명하기 위한 도면이다.
도 7은 블록체인 기반의 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치를 나타내는 블록도이다.
도 8은 블록체인 관리 장치의 일 구성 요소인 블록 생성 순서 제어부를 설명하기 위한 도면이다.
도 9는 블록체인 기반의 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치의 하드웨어 구성도이다.
도 10은 블록체인 기반의 데이터 처리 시스템의 일 구성 요소인 사용자 단말을 나타내는 블록도이다.
도 11은 본 발명의 다른 실시예에 따른 블록체인 기반의 인스턴트 트랜잭션 처리 방법을 설명하기 위한 도면이다.
1 is a diagram for explaining the structure of block chain data maintained by each node constituting a block chain network.
2 is a diagram for explaining a consensus algorithm of a proof-of-work method and a performance degradation problem according to the consensus algorithm.
3 is a block diagram of a block chain-based data processing system according to the first embodiment of the present invention.
4 is a block diagram of a block chain-based data processing system according to a second embodiment of the present invention.
5 and 6 are diagrams for explaining a block chain-based data processing system according to a third embodiment of the present invention.
7 is a block diagram illustrating a block chain management device that is a component of a block chain-based data processing system.
8 is a diagram for explaining a block generation order control unit, which is a component of a block chain management device.
9 is a hardware configuration diagram of a block chain management device, which is a component of a block chain-based data processing system.
10 is a block diagram illustrating a user terminal, which is a component of a block chain-based data processing system.
11 is a diagram for explaining a block chain-based instant transaction processing method according to another embodiment of the present invention.

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

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

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

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

본 명세서에서, 블록체인 데이터란 블록체인 네트워크를 구성하는 각각의 노드가 유지하는 데이터로, 적어도 하나의 블록이 체인 형태로 연결된 데이터를 의미한다. 각 블록에 기록된 데이터가 트랜잭션 데이터인 경우, 상기 블록체인 데이터는 분산 원장을 의미하는 것일 수 있다. 다만, 각 블록에 기록되는 데이터는 어떠한 종류라도 무방하다. 상기 블록체인 데이터의 구조는 도 1을 참조하도록 한다.In this specification, blockchain data is data maintained by each node constituting a blockchain network, and refers to data in which at least one block is connected in a chain form. When the data recorded in each block is transaction data, the block chain data may mean a distributed ledger. However, any type of data recorded in each block may be used. Refer to FIG. 1 for the structure of the block chain data.

본 명세서에서, 블록체인 네트워크란, 블록체인 알고리즘에 따라 동작하는 복수의 노드에 의해 구성되는 P2P 구조의 네트워크를 의미한다.In this specification, a blockchain network refers to a network of a P2P structure configured by a plurality of nodes operating according to a blockchain algorithm.

본 명세서에서, 블록체인 노드란, 블록체인 네트워크를 구성하고 블록체인 알고리즘에 따라 블록체인 데이터를 유지하고 관리하는 주체를 의미한다. 상기 블록체인 노드는 단일 컴퓨팅 장치로 구현될 수 있으나, 가상 머신(virtual machine) 등으로 구현되는 경우, 단일 컴퓨팅 장치에 복수의 노드가 존재할 수도 있다.In this specification, a blockchain node means a subject that configures a blockchain network and maintains and manages blockchain data according to a blockchain algorithm. The blockchain node may be implemented as a single computing device, but when implemented as a virtual machine or the like, a plurality of nodes may exist in a single computing device.

본 명세서에서, 블록 생성 노드란, 블록체인 네트워크를 구성하는 블록체인 노드 중 채굴(mining)을 통해 블록을 생성하는 노드를 의미한다.As used herein, a block generating node refers to a node that generates a block through mining among the block chain nodes constituting the block chain network.

본 명세서에서, 퍼미션(permission)은 인증(authentication)과 인가(authorization)을 포함하는 포괄적인 개념으로 이해될 수 있다.In this specification, permission may be understood as a comprehensive concept including authentication (authentication) and authorization (authorization).

본 발명의 몇몇 실시예에 대한 설명에 앞서, 이해의 편의를 제공하기 위해, 도 2를 참조하여 작업 증명 방식의 합의 알고리즘 및 그에 따른 성능 저하 문제를 간략하게 설명하도록 한다. 이하, 블록체인 데이터에 기록되는 데이터의 유형은 다른 언급이 없는 한 트랜잭션 데이터인 것으로 가정한다. 단, 본 발명의 범위가 데이터의 유형에 국한되는 것은 아니다.Prior to the description of some embodiments of the present invention, in order to provide convenience of understanding, the consensus algorithm of the proof-of-work method and the resulting performance degradation problem will be briefly described with reference to FIG. 2 . Hereinafter, it is assumed that the type of data recorded in the blockchain data is transaction data unless otherwise stated. However, the scope of the present invention is not limited to the type of data.

도 2를 참조하면, 블록체인 네트워크에 참여하는 각 블록체인 노드는 인증되지 않은 불특정 노드이기 때문에, 블록 생성에 대한 정당성을 입증하여야 한다. 작업 증명 알고리즘은 상기 정당성을 입증하기 위한 합의 알고리즘 중 하나로 구체적인 동작은 다음과 같다. 각각의 블록체인 노드는 무작위로 해시 값을 대입하고, 주어진 목표 해시 값을 만족시키는 넌스를 찾는 과정에서 그에 상응하는 컴퓨팅 비용을 제공하게 되며, 상기 컴퓨팅 비용에 근거하여 해당 블록체인 노드의 정당성이 입증된다.Referring to FIG. 2, since each blockchain node participating in the blockchain network is an unauthenticated, unspecified node, the legitimacy of block generation must be proven. The proof-of-work algorithm is one of the consensus algorithms for proving the validity, and the specific operation is as follows. Each blockchain node randomly substitutes a hash value and provides a corresponding computing cost in the process of finding a nonce that satisfies the given target hash value, and the validity of the corresponding blockchain node is proven based on the computing cost do.

목표 해시 값을 만족시키는 넌스를 찾았을 때, 블록의 생성이 이루어진다. 예를 들어, 블록체인 노드 D가 상기 넌스 값을 찾았을 때, 블록 3'이 생성되고(①), 블록 3' 의 크기가 허용하는 만큼 트랜잭션 데이터가 기록될 수 있다.When a nonce that satisfies the target hash value is found, a block is created. For example, when blockchain node D finds the nonce value, block 3' is created (①), and transaction data can be recorded as much as the size of block 3' allows.

블록체인 네트워크에서, 신규 블록의 생성은 동시다발적으로 발생할 수 있다. 예를 들어, 블록 3'이 블록 3과 동시에 발생하여 도 2에 도시된 바와 같이 블록체인 노드 D가 관리하는 블록체인 데이터에 분기가 형성될 수 있다.In a blockchain network, the creation of new blocks can occur simultaneously. For example, block 3' may occur at the same time as block 3, and a branch may be formed in the blockchain data managed by the blockchain node D as shown in FIG.

블록체인 데이터 상에 형성된 분기에 따른 문제는 이후 신규 블록이 추가됨에 따라 해소될 수 있다. 예를 들어, 블록체인 노드 E가 블록 4를 생성하고, 블록 4가 네트워크 상의 다른 블록체인 노드에 전파되면(②, ③), 블록체인 노드 D는 길이가 긴 체인을 기준으로 블록체인 데이터를 갱신함으로써, 형성된 분기는 소멸될 수 있다(④).The problem of branching formed on the blockchain data can be resolved as new blocks are added later. For example, when blockchain node E creates block 4, and block 4 propagates to other blockchain nodes on the network (②, ③), blockchain node D updates the blockchain data based on the long chain By doing so, the formed branch can be destroyed (④).

그러나, 위와 같은 과정에서, 블록 3'은 버려지기 때문에, 블록체인 노드 D의 컴퓨팅 파워는 무의미하게 소모된 것이 되고, 블록 3'에 기록된 트랜잭션 데이터 또한 확정은 지연되게 된다. 즉, 작업 증명 방식을 이용하는 경우, 복수의 블록이 동시다발적으로 생성되더라도 최종적으로 1개의 블록만이 유의미한 블록으로 인정되기 때문에, 시스템의 처리량은 크게 저하된다. 또한, 버려지는 블록에 기록된 트랜잭션의 확정이 지연되기 때문에, 트랜잭션 처리 시간은 증가되고, 블록체인 노드의 컴퓨팅 자원이 무의미하게 낭비되는 문제가 있다.However, in the above process, since block 3' is discarded, the computing power of blockchain node D is meaninglessly consumed, and the transaction data recorded in block 3' is also delayed. That is, in the case of using the proof-of-work method, even if a plurality of blocks are generated simultaneously, only one block is finally recognized as a meaningful block, so the throughput of the system is greatly reduced. In addition, since the confirmation of the transaction recorded in the discarded block is delayed, the transaction processing time is increased, and there is a problem in that the computing resources of the block chain node are meaninglessly wasted.

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

도 3 내지 도 6은 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템을 설명하기 위한 도면이다.3 to 6 are diagrams for explaining a blockchain-based data processing system according to some embodiments of the present invention.

블록체인 기반 데이터 처리 시스템은 블록체인 어플리케이션(e.g. 전자 지갑)에 의해 발생되는 데이터를 고속으로 처리하는 시스템이다. 예를 들어, 상기 데이터 처리 시스템은 전자 지갑이 탑재된 사용자 단말 간에 발생되는 트랜잭션 데이터를 고속으로 처리하는 시스템일 수 있으나, 이에 국한되는 것은 아니다. 다만, 설명의 편의를 위해, 이하 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템은 상기 트랜잭션 데이터 처리 시스템인 것으로 가정하여 설명하도록 한다.A blockchain-based data processing system is a system that processes data generated by blockchain applications (e.g. electronic wallets) at high speed. For example, the data processing system may be a high-speed processing system for transaction data generated between user terminals equipped with an electronic wallet, but is not limited thereto. However, for convenience of description, the following description will be made assuming that the block chain-based data processing system according to some embodiments of the present invention is the transaction data processing system.

먼저, 도 3은 본 발명의 제1 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성도이다.First, Figure 3 is a block diagram of a block chain-based data processing system according to a first embodiment of the present invention.

제1 실시예에 따른 블록체인 기반 데이터 처리 시스템은 복수의 블록체인 노드로 구성된 블록체인 네트워크(200), 블록체인 관리 장치(100) 및 사용자 단말(300)을 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 3에 도시된 블록체인 기반의 데이터 처리 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 블록체인 관리 장치(100) 및 또는 사용자 단말(300)은 블록체인 네트워크(200)를 구성하는 블록체인 노드 중 하나로 구현될 수도 있다. 이하, 본 시스템의 구성 요소에 대하여 설명하도록 한다.The block chain-based data processing system according to the first embodiment may be configured to include a block chain network 200 composed of a plurality of block chain nodes, a block chain management device 100 , and a user terminal 300 . However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some components may be added or deleted as needed. In addition, each component of the block chain-based data processing system shown in FIG. 3 represents functionally distinct functional elements, and at least one component may be implemented in a form that is integrated with each other in an actual physical environment. Take note. For example, the block chain management device 100 and/or the user terminal 300 may be implemented as one of the block chain nodes constituting the block chain network 200 . Hereinafter, the components of the present system will be described.

상기 제1 실시예에서, 블록체인 네트워크(200)는 복수의 블록체인 노드로 구성된 P2P 구조의 네트워크이다. 블록체인 네트워크(200)를 구성하는 블록체인 노드는 블록체인 알고리즘에 기초하여 블록 생성, 전파, 검증, 기록 등의 동작을 수행한다. 또한, 각각의 블록체인 노드는 동일한 블록체인 데이터를 유지한다.In the first embodiment, the blockchain network 200 is a P2P structure network composed of a plurality of blockchain nodes. The block chain nodes constituting the block chain network 200 perform operations such as block creation, propagation, verification, and recording based on the block chain algorithm. In addition, each blockchain node maintains the same blockchain data.

본 발명의 실시예에 따르면, 블록체인 네트워크(200)는 퍼미션(permission) 기반 블록체인 네트워크일 수 있다. 즉, 블록체인 네트워크(200)는 허가된 블록체인 노드만이 참여하는 네트워크일 수 있다. 여기서, 상기 퍼미션 기반 블록체인 네트워크는 당해 기술 분야에서 사설 블록체인 네트워크(private blockchain network) 등의 용어와 혼용되어 사용될 수 있으나, 동일한 의미를 지칭할 수 있다. 본 실시예에 따르면, 불특정 노드의 참여가 배제되기 때문에, 블록 생성에 소요되는 과도한 작업 증명이 요구될 필요가 없다. 따라서, 불필요한 컴퓨팅 자원 및 시간 낭비가 최소화될 수 있고, 이에 따라 블록체인 네트워크를 이용하는 전체 시스템 성능이 향상될 수 있다.According to an embodiment of the present invention, the blockchain network 200 may be a permission-based blockchain network. That is, the blockchain network 200 may be a network in which only authorized blockchain nodes participate. Here, the permission-based blockchain network may be used interchangeably with terms such as a private blockchain network in the technical field, but may refer to the same meaning. According to this embodiment, since participation of unspecified nodes is excluded, excessive proof of work required for block generation is not required. Therefore, unnecessary computing resources and time waste can be minimized, and thus the overall system performance using the blockchain network can be improved.

본 발명의 실시예에 따르면, 퍼미션 기반으로 블록체인 네트워크를 구성하기 위해 블록체인 어플리케이션 서비스의 사용자 영역, 블록체인 노드 영역 및 블록 생성 노드 영역 각각에 대하여 퍼미션 검증이 수행될 수 있다. 이하, 각각의 영역에서 수행되는 퍼미션 검증 방법에 대하여 간략하게 설명한다.According to an embodiment of the present invention, permission verification may be performed for each of the user area, the block chain node area, and the block generation node area of the block chain application service to configure the block chain network based on the permission. Hereinafter, the permission verification method performed in each area will be briefly described.

블록체인 어플리케이션 서비스의 사용자 영역의 경우, 서비스 사용자에 대한 인증 및/또는 권한 관리가 수행될 수 있다. 예를 들어, API 레벨에서 ACL(access control list)을 통해 접근 제어가 수행되거나, 트랜잭션 요청에 이용되는 사용자의 전자 서명을 이용하여 해당 사용자에 대한 퍼미션 검증이 수행될 수 있다.In the case of the user area of the blockchain application service, authentication and/or authority management for service users may be performed. For example, access control may be performed through an access control list (ACL) at the API level, or permission verification for a corresponding user may be performed using a user's electronic signature used for a transaction request.

블록체인 노드 영역의 경우, 각 블록체인 노드가 블록체인 네트워크 참여하기 위해 기동하는 시점에 각 노드에 기 저장된 퍼미션 정보(e.g. 환경 설정 파일에 기록된 퍼미션 정보)를 이용하여 검증이 수행될 수 있다. 여기서, 상기 퍼미션 정보는 실시예에 따라 블록체인 관리 장치(100)에 의해 제어되거나 주기적으로 갱신되는 정보일 수 있다. 또는, 각 블록체인 노드가 다른 블록체인 노드가 P2P 통신을 셋업하는 단계에서 노드 간 상호 퍼미션 검증이 수행될 수도 있다. 이때, 상호 퍼미션 검증은 예를 들어 블록체인 데이터 상에 저장된 퍼미션 정보(e.g. 허가된 블록체인 노드 정보가 포함된 화이트 리스트 등)를 이용하여 수행될 수 있다. 상기 블록체인 데이터 상에 퍼미션 정보가 저장되는 경우, 퍼미션 정보의 위변조가 예방되는 효과가 있을 수 있다. 상기 퍼미션 정보는 예를 들어 블록 체인 관리 장치(100)에 의해 설정되는 정보일 수 있다.In the case of the blockchain node area, verification can be performed using the permission information (e.g. permission information recorded in the configuration file) pre-stored in each node at the time each blockchain node starts up to participate in the blockchain network. Here, the permission information may be information controlled by the block chain management device 100 or periodically updated according to an embodiment. Alternatively, mutual permission verification between nodes may be performed when each blockchain node sets up peer-to-peer communication with other blockchain nodes. In this case, mutual permission verification may be performed using, for example, permission information stored on the blockchain data (e.g., a white list including permissioned blockchain node information, etc.). When permission information is stored on the block chain data, there may be an effect of preventing forgery and falsification of permission information. The permission information may be, for example, information set by the block chain management apparatus 100 .

블록 생성 노드 영역의 경우, 신규 블록에 대한 퍼미션 검증이 수행될 수 있다. 예를 들어, 각 블록체인 노드는 퍼미션이 검증된 블록 생성 노드가 생성한 신규 블록만을 블록체인 데이터에 추가할 수 있다. 이때, 상기 퍼미션의 검증은 상기 블록체인 노드 영역에서 설명한 바와 동일하게 수행될 수 있다. 또는, 블록 생성 노드가 신규 블록 생성 시 상기 신규 블록에 자신의 전자 서명을 기록하도록 강제하고, 다른 블록체인 노드는 상기 전자 서명을 검증함으로써 퍼미션 검증이 수행될 수도 있다.In the case of the block generation node region, permission verification for a new block may be performed. For example, each blockchain node can only add new blocks created by block generating nodes whose permission has been verified to the blockchain data. In this case, the verification of the permission may be performed in the same manner as described in the block chain node area. Alternatively, permission verification may be performed by forcing a block generating node to record its electronic signature in the new block when creating a new block, and other blockchain nodes verifying the electronic signature.

본 발명의 실시예에 따르면, 블록 생성 노드의 선의 여부가 블록체인 네트워크의 신뢰성에 큰 영향을 미치므로, 블록체인 노드의 퍼미션 검증 기준인 제1 퍼미션보다 블록 생성 노드의 퍼미션 검증 기준인 제2 퍼미션이 더 높은 퍼미션으로 설정될 수 있다.According to an embodiment of the present invention, since the goodness of the block generating node has a great influence on the reliability of the block chain network, the second permission, which is the permission verification standard of the block generating node, rather than the first permission, which is the permission verification standard of the block chain node This can be set to higher permissions.

상기 제1 실시예에서, 블록체인 관리 장치(100)는 블록체인 네트워크를 구성하는 각각의 블록체인 노드의 동작을 제어 또는 관리하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.In the first embodiment, the block chain management device 100 is a computing device that controls or manages the operation of each block chain node constituting the block chain network. Here, the computing device may be a notebook computer, a desktop computer, a laptop computer, etc., but is not limited thereto, and may include all types of devices equipped with calculation means and communication means.

본 발명의 실시예에 따르면, 블록체인 관리 장치(100)는 블록체인 기반 데이터 처리 시스템의 처리량을 향상시키기 위해 블록 크기, 블록 생성 주기 등을 가변적으로 제어할 수 있다. 예를 들어, 블록체인 관리 장치(100)는 각 블록에 기록되는 트랜잭션의 개수를 늘리기 위해 블록의 크기를 더 큰 값으로 설정할 수 있다. 다른 예를 들어, 블록체인 관리 장치(100)는 블록 생성 속도를 빠르게 하기 위해, 블록 생성 주기가 더 작은 값이 되도록 제어할 수 있다. 이에 대한 설명은 도 7을 참조하여 후술하도록 한다.According to an embodiment of the present invention, the block chain management apparatus 100 may variably control the block size, block generation period, etc. in order to improve the throughput of the block chain-based data processing system. For example, the block chain management apparatus 100 may set the block size to a larger value in order to increase the number of transactions recorded in each block. As another example, the block chain management apparatus 100 may control the block generation period to be a smaller value in order to speed up the block generation speed. This will be described later with reference to FIG. 7 .

또한, 블록체인 관리 장치(100)는 각 블록 생성 노드가 공평하게 블록을 생성할 수 있도록 블록 생성 순서를 제어할 수 있다. 이에 대한 설명은 도 7 및 도 8을 참조하여 후술하도록 한다.In addition, the block chain management apparatus 100 may control the block generation order so that each block generating node can generate blocks fairly. This will be described later with reference to FIGS. 7 and 8 .

또한, 블록체인 관리 장치(100)는 블록체인 데이터 상의 분기 발생 여부, 각 블록체인 노드의 상태, 블록체인 네트워크 상에 전파되는 신규 블록 등의 블록체인 네트워크 관리에 이용되는 각종 정보를 수집할 수 있다. 예를 들어, 블록체인 관리 장치(100)는 블록체인 네트워크를 구성하는 블록체인 노드 중 하나인 모니터링 노드로부터 상기 각종 정보를 수집할 수 있다. 상기 모니터링 노드는 블록체인 네트워크 상에서 각 블록체인 노드의 동작을 모니터링하는 특수한 유형의 노드로 이해될 수 있다. 모니터링 노드는 예를 들어 블록체인 네트워크 상에서 주고 받는 각종 정보를 인터셉트(intercept)하여 블록체인 관리 장치(100)로 전달할 수 있으나, 모니터링 노드의 동작 방식은 어떠한 방식이 되더라도 무방하다.In addition, the block chain management device 100 may collect various information used for block chain network management, such as whether a branch has occurred in block chain data, the state of each block chain node, and a new block propagated on the block chain network. . For example, the block chain management device 100 may collect the various information from a monitoring node that is one of the block chain nodes constituting the block chain network. The monitoring node can be understood as a special type of node that monitors the operation of each blockchain node on the blockchain network. The monitoring node may, for example, intercept various types of information sent and received on the block chain network and transmit it to the block chain management device 100 , but the operation method of the monitoring node may be any method.

상기 제1 실시예에서, 사용자 단말(300)은 블록체인 어플리케이션 서비스를 제공받는 사용자가 이용하는 단말로, 전자 지갑과 같은 블록체인 어플리케이션이 탑재된 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop), 스마트폰(smartphone) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.In the first embodiment, the user terminal 300 is a terminal used by a user who is provided with a block chain application service, and is a computing device equipped with a block chain application such as an electronic wallet. Here, the computing device may be a notebook, desktop, laptop, smartphone, etc., but is not limited thereto, and may include all kinds of devices equipped with calculation means and communication means. there is.

사용자는 사용자 단말(300)에 탑재된 전자 지갑을 이용하여 다른 사용자와 가상 화폐를 거래할 수 있고, 사용자 단말(300)은 사용자의 가상 화폐 거래 요청에 의해 발생된 트랜잭션 데이터를 블록체인 네트워크(200)를 통해 처리할 수 있다.A user may transact virtual currency with another user using an electronic wallet mounted on the user terminal 300, and the user terminal 300 transmits the transaction data generated by the user's request for a virtual currency transaction to the block chain network 200 ) can be dealt with.

본 발명의 실시예에 따르면, 퍼미션 기반으로 블록체인 네트워크(200)의 신뢰성이 담보됨에 따라, 사용자 단말(300) 간에 인스턴트 트랜잭션(instant transaction)이 수행될 수 있다. 예를 들어, 제1 사용자 단말의 전자 지갑으로부터 제2 사용자 단말의 전자 지갑으로 가상 화폐를 송금하는 트랜잭션 데이터가 발생된 경우, 상기 트랜잭션 데이터가 신규 블록에 기록되어 전파되기 전에, 트랜잭션 처리가 완료되어 가상 화폐 송금 처리가 완료될 수 있다. 본 실시예에 따르면, 트랜잭션 처리에 대한 응답 속도가 향상되어, 블록체인 어플리케이션 서비스를 이용하는 사용자의 만족도가 제고될 수 있다. 본 실시예에 대한 자세한 설명은 도 11을 참조하여 후술하도록 한다.According to an embodiment of the present invention, as the reliability of the block chain network 200 is guaranteed based on permission, an instant transaction may be performed between the user terminals 300 . For example, when transaction data for transferring virtual currency from the electronic wallet of the first user terminal to the electronic wallet of the second user terminal is generated, the transaction processing is completed before the transaction data is recorded and propagated in a new block Virtual currency remittance processing may be completed. According to this embodiment, the response speed to transaction processing is improved, and the user's satisfaction using the blockchain application service can be improved. A detailed description of this embodiment will be described later with reference to FIG. 11 .

본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템에서, 각각의 구성 요소는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.In the blockchain-based data processing system according to some embodiments of the present invention, each component may communicate through a network. Here, the network includes all types of wired/wireless networks such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, and a Wibro (Wireless Broadband Internet). can be implemented.

지금까지 도 3을 참조하여 본 발명의 제1 실시예에 따른 블록체인 기반의 데이터 처리 시스템에 대하여 설명하였다. 다음으로, 도 4를 참조하여 본 발명의 제2 실시예에 따른 블록체인 기반의 데이터 처리 시스템에 대하여 설명하도록 한다.So far, a block chain-based data processing system according to the first embodiment of the present invention has been described with reference to FIG. 3 . Next, a block chain-based data processing system according to a second embodiment of the present invention will be described with reference to FIG. 4 .

도 4는 본 발명의 제2 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성도이다.4 is a block diagram of a block chain-based data processing system according to a second embodiment of the present invention.

도 4를 참조하면, 상기 제2 실시예에 따른 블록체인 기반 데이터 처리 시스템은 외부의 분산 스토리지 시스템(400)을 더 포함하도록 구성될 수 있다. 도 4에서, 분산 스토리지 시스템(400)은 복수의 스토리지 노드(410, 430 등)을 포함하고, 샤딩(sharding) 기법을 이용한 분산 데이터베이스로 구현된 것을 예로 도시하였으나, 어떠한 방식으로 구현되더라도 무방하다.Referring to FIG. 4 , the blockchain-based data processing system according to the second embodiment may be configured to further include an external distributed storage system 400 . In FIG. 4 , the distributed storage system 400 includes a plurality of storage nodes 410 and 430 and is implemented as a distributed database using a sharding technique as an example. However, it may be implemented in any manner.

상기 제2 실시예에서, 블록체인 네트워크를 구성하는 적어도 하나의 블록체인 노드는 분산 스토리지 시스템(400)에 블록체인 데이터를 보관할 수 있다. 도 4에는 블록체인 노드 A 내지 노드 C(210 내지 230)의 블록체인 데이터가 분산 스토리지 시스템(400)에 보관된 것이 예로써 도시되었다. 본 실시예에 따르면, 각각의 블록체인 노드가 겪을 수 있는 물리적 공간 제약 문제가 해소될 수 있다.In the second embodiment, at least one blockchain node constituting the blockchain network may store blockchain data in the distributed storage system 400 . 4 shows, as an example, that the blockchain data of the blockchain nodes A to C (210 to 230) are stored in the distributed storage system 400 . According to this embodiment, the physical space constraint problem that each blockchain node may experience can be solved.

또한, 상기 제2 실시예에 따르면, 블록체인 데이터가 파일 시스템 기반으로 각 블록체인 노드에 저장되는 것이 아니라, 분산 스토리지 시스템(400)에 구축된 데이터베이스에 분산 저장됨으로써 시스템의 전반적인 데이터 처리 성능이 향상될 수 있다. 예를 들어, 데이터베이스가 제공하는 강력한 인덱스 기능을 활용함으로써, 데이터 입출력 속도가 향상될 수 있고, 이에 따라 시스템 성능이 향상될 수 있다. 데이터베이스의 인덱스는 예를 들어 전자 지갑 별 잔고(e.g. UTXO)에 바로 접근할 수 있도록 구축될 수 있다. 이외에도, 시스템의 데이터 접근 패턴에 따라 다양한 방식으로 인덱스가 구축될 수 있다.In addition, according to the second embodiment, the block chain data is not stored in each block chain node based on the file system, but is distributed and stored in the database built in the distributed storage system 400, thereby improving the overall data processing performance of the system can be For example, by utilizing the powerful index function provided by the database, data input/output speed may be improved, and thus system performance may be improved. An index in the database can be built to provide direct access to, for example, the balance of each electronic wallet (e.g. UTXO). In addition, indexes may be built in various ways according to the data access pattern of the system.

지금까지, 도 4를 참조하여, 본 발명의 제2 실시예에 따른 블록체인 기반 데이터 처리 시스템에 대하여 설명하였다. 다음으로, 도 5 및 도 6을 참조하여, 본 발명의 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템에 대하여 설명하도록 한다.So far, with reference to FIG. 4, the blockchain-based data processing system according to the second embodiment of the present invention has been described. Next, with reference to FIGS. 5 and 6, a block chain-based data processing system according to a third embodiment of the present invention will be described.

도 5는 본 발명의 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성도이다. 설명의 편의를 위해, 블록체인 관리 장치(100)의 도시는 생략되었다.5 is a block diagram of a block chain-based data processing system according to a third embodiment of the present invention. For convenience of description, the illustration of the block chain management device 100 is omitted.

도 5를 참조하면, 상기 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템에서, 블록체인 네트워크(200)는 제1 내지 제n 블록체인 네트워크(200a 내지 200n)으로 분할될 수 있다. 분할된 복수의 블록체인 네트워크(200a 내지 200n)를 활용함으로써, 블록 생성이 병렬로 처리될 수 있고, 이에 따라 시스템 전반의 처리량이 크게 증대될 수 있다.Referring to FIG. 5 , in the blockchain-based data processing system according to the third embodiment, the blockchain network 200 may be divided into first to nth blockchain networks 200a to 200n. By utilizing a plurality of divided block chain networks 200a to 200n, block generation can be processed in parallel, and thus the overall throughput of the system can be greatly increased.

구체적으로 살펴보면, 사용자 단말(300)에 탑재된 전자 지갑(310)은 내부적으로 통합 전자 지갑(310)과 제1 내지 제n 전자 지갑(310a 내지 310n)으로 구성될 수 있다. 이에 따라, 사용자가 보유한 가상 화폐의 총 잔고는 제1 내지 제n 전자 지갑에 보관된 가상 화폐의 합으로 결정될 수 있다. 또한, 제1 내지 제n 전자 지갑(310a 내지 310n)은 각각 제1 내지 제n 블록체인 네트워크(200a 내지 200n)와 연동되어 병렬적으로 트랜잭션 처리가 수행될 수 있다. 따라서, 트랜잭션 데이터 처리량이 크게 향상될 수 있다.Specifically, the electronic wallet 310 mounted on the user terminal 300 may be internally composed of an integrated electronic wallet 310 and first to n-th electronic wallets 310a to 310n. Accordingly, the total balance of the virtual currency held by the user may be determined as the sum of the virtual currencies stored in the first to nth electronic wallets. In addition, the first to nth electronic wallets 310a to 310n may be interlocked with the first to nth blockchain networks 200a to 200n, respectively, and transaction processing may be performed in parallel. Accordingly, transaction data throughput can be greatly improved.

본 발명의 실시예에 따르면, 도 6에 도시된 바와 같이, 제1 내지 제n 전자 지갑(310a 내지 310n)은 동일한 공개 키(311)에 기반할 수 있다. 본 실시예에 따르면, 하나의 공개 키(311)를 이용하여 각 블록체인 네트워크(200a 내지 200n)에 기록된 트랜잭션 데이터가 조회될 수 있다는 장점이 있고, 트랜잭션 데이터 관리의 용이성이 증대될 수 있다.According to an embodiment of the present invention, as shown in FIG. 6 , the first to n-th electronic wallets 310a to 310n may be based on the same public key 311 . According to this embodiment, there is an advantage that transaction data recorded in each block chain network 200a to 200n can be inquired using one public key 311, and the ease of transaction data management can be increased.

또한, 본 발명의 실시예에 따르면, 사용자에 의해 요청된 트랜잭션은 소정의 기준에 따라 제1 내지 제n 전자 지갑(310a 내지 310n) 중 적어도 하나의 전자 지갑에서 처리될 수 있다. 상기 소정의 기준은 트랜잭션 처리의 병렬성이 떨어지는 문제를 해결하기 위해 다양한 방식으로 설정될 수 있다. 즉, 특정 전자 지갑의 가상 화폐 잔고가 먼저 소진되면, 상기 특정 전자 지갑과 연동된 블록체인 네트워크에서 트랜잭션 처리가 수행될 수 없어, 트랜잭션 처리의 병렬성이 떨어지므로, 이를 해결하기 위해 다양한 방식으로 설정될 수 있다.Further, according to an embodiment of the present invention, a transaction requested by a user may be processed in at least one of the first to nth electronic wallets 310a to 310n according to a predetermined criterion. The predetermined criterion may be set in various ways in order to solve the problem of poor parallelism in transaction processing. That is, if the virtual currency balance of a specific e-wallet is exhausted first, transaction processing cannot be performed in the block chain network linked with the specific e-wallet, and the parallelism of transaction processing is lowered. can

일 예로, 상기 트랜잭션은 가상 화폐의 잔고가 가장 많은 전자 지갑에서 처리될 수 있다. 다른 예로, 상기 트랜잭션은 복수의 트랜잭션으로 분할되어 각 전자 지갑(310a 내지 310n)에 보관된 가상 화폐가 균등하게 차감되도록 수행될 수 있다. 실시예에 따라, 각 전자 지갑(310a 내지 310n)에 보관된 가상 화폐의 잔고 차이가 임계 값 이상이 되면, 잔고가 균등해지도록 조정될 수도 있다.For example, the transaction may be processed in an electronic wallet having the largest amount of virtual currency balance. As another example, the transaction may be divided into a plurality of transactions so that the virtual currency stored in each of the electronic wallets 310a to 310n is equally deducted. According to an embodiment, when the difference between the balances of the virtual currency stored in each of the electronic wallets 310a to 310n is equal to or greater than a threshold value, the balances may be adjusted to become equal.

본 발명의 실시예에 따르면, 특정 블록체인 네트워크(200a 내지 200n)가 기 설정된 조건(e.g. 스토리지 용량 한계 도달)을 만족하면, 블록체인 데이터를 외부 스토리지로 이관하고, 새로운 블록체인 데이터가 생성될 수 있다. 예를 들어, 제1 블록체인 네트워크(200a)가 기 설정된 조건을 만족하면, 제1 블록체인 데이터에 기록된 복수의 트랜잭션 데이터 중 각 사용자가 보유한 가상 화폐 잔고 데이터를 기초로 제네시스 블록(genesis block)이 생성되고, 상기 제1 블록체인 데이터는 외부의 저장소로 이관될 수 있다. 이후, 신규 트랜잭션은 상기 제네시스 블록에 따라 생성됨으로써 새로운 제2 블록체인 데이터가 생성되고, 기존 트랜잭션 조회는 상기 외부의 저장소에 보관된 상기 제1 블록체인 데이터를 통해 수행될 수 있다. 본 실시예에 따르면, 지속적으로 증가되는 블록체인 데이터가 효과적으로 관리될 수 있다.According to an embodiment of the present invention, when a specific blockchain network 200a to 200n meets a preset condition (eg, reaching the storage capacity limit), the blockchain data is transferred to external storage, and new blockchain data can be created. there is. For example, if the first blockchain network 200a satisfies a preset condition, a genesis block is generated based on the virtual currency balance data held by each user among a plurality of transaction data recorded in the first blockchain data. is created, and the first blockchain data may be transferred to an external storage. Thereafter, a new transaction is generated according to the genesis block to generate new second block chain data, and an existing transaction inquiry can be performed through the first block chain data stored in the external storage. According to this embodiment, continuously increasing block chain data can be effectively managed.

지금까지, 도 5 및 도 6을 참조하여, 본 발명의 제3 실시예에 따른 블록체인 기반 데이터 처리 시스템에 대하여 설명하였다. 이하에서는, 도 7 내지 도 10을 참조하여, 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템의 구성 요소인 블록체인 관리 장치(100) 및 사용자 단말(300)에 대하여 부연 설명하도록 한다.So far, with reference to FIGS. 5 and 6, a blockchain-based data processing system according to a third embodiment of the present invention has been described. Hereinafter, the block chain management apparatus 100 and the user terminal 300, which are components of a block chain-based data processing system according to some embodiments of the present invention, will be described in detail with reference to FIGS. 7 to 10 .

먼저, 본 발명의 실시예에 따른 블록체인 관리 장치(100)의 구성 및 동작에 대하여 도 7 내지 도 9를 참조하여 설명한다.First, the configuration and operation of the block chain management apparatus 100 according to an embodiment of the present invention will be described with reference to FIGS. 7 to 9 .

도 7은 블록체인 관리 장치(100)를 나타내는 블록도이다.7 is a block diagram illustrating the block chain management device 100 .

도 7을 참조하면, 블록체인 관리 장치(100)는 블록 생성 주기 제어부(110), 블록 생성 순서 제어부(130) 및 블록 크기 제어부(150)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 7에 도시된 블록체인 관리 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 7 , the block chain management apparatus 100 may include a block generation period control unit 110 , a block generation order control unit 130 , and a block size control unit 150 . However, only the components related to the embodiment of the present invention are illustrated in FIG. 7 . Accordingly, one of ordinary skill in the art to which the present invention pertains can know that other general-purpose components other than the components shown in FIG. 7 may be further included. In addition, as each component of the block chain management device 100 shown in FIG. 7 represents functionally distinct functional elements, at least one component may be implemented in a form that is integrated with each other in an actual physical environment. Take note.

각 구성 요소를 살펴보면, 블록 생성 주기 제어부(110)는 블록체인 네트워크를 구성하는 블록체인 노드의 블록 생성 주기를 가변적으로 제어한다. 블록 생성을 위해 작업 증명 알고리즘을 이용하는 경우, 블록 생성에 소요되는 평균 시간(average time)은 하기의 수학식 1과 같이 계산될 수 있다. 하기의 수학식 1에서, 난이도(difficulty)는 목표 값에 부합하는 넌스 값을 찾기 위한 난이도를 가리키며, 해시레이트(hash rate)는 초당 수행되는 해시 연산의 수로 블록 생성 노드의 컴퓨팅 파워를 가리키는 것으로 이해될 수 있다.Looking at each component, the block generation cycle control unit 110 variably controls the block generation cycle of the block chain nodes constituting the block chain network. When a proof-of-work algorithm is used for block generation, the average time required for block generation may be calculated as in Equation 1 below. In Equation 1 below, difficulty refers to the difficulty for finding a nonce value that matches a target value, and hash rate refers to the number of hash operations performed per second. It is understood as indicating the computing power of the block generating node can be

Figure 112017083521607-pat00001
Figure 112017083521607-pat00001

상기 수학식 1이 참조하여, 블록 생성 주기 제어부(110)는 블록 생성의 난이도를 높이거나 낮춤으로써 블록 생성 주기를 제어할 수 있다.Referring to Equation 1 above, the block generation cycle control unit 110 may control the block generation cycle by increasing or decreasing the difficulty of block generation.

본 발명의 실시예에 따르면, 블록 생성 주기 제어부(110)는 소정의 기간 동안 블록체인 데이터 상의 분기 발생 빈도를 기초로 블록 생성 주기를 가변적으로 제어할 수 있다. 예를 들어, 소정의 기간 동안의 분기 발생 빈도가 기 설정된 임계 값을 초과하는 경우, 블록 생성 주기 제어부(110)는 블록 생성 난이도를 높임으로써 블록 생성 주기가 길어지도록 제어할 수 있다. 여기서, 상기 분기 발생 빈도는, 블록체인 네트워크를 구성하는 특수 노드인 모니터링 노드로부터 수신된 분기 발생 여부에 대한 정보를 기초로 산출될 수 있다. 또한, 도 7에는 도시되어 있지 않으나, 블록체인 관리 장치(100)는 상기 분기 발생 여부에 대한 정보를 상기 모니터링 노드로부터 수신하는 모니터링부(미도시)를 더 포함할 수 있다.According to an embodiment of the present invention, the block generation cycle control unit 110 may variably control the block generation cycle based on the frequency of occurrence of branches in the block chain data for a predetermined period. For example, when the frequency of occurrence of branches for a predetermined period exceeds a preset threshold value, the block generation period controller 110 may control the block generation period to be lengthened by increasing the difficulty of block generation. Here, the branch occurrence frequency may be calculated based on information on whether branching occurs or not received from a monitoring node that is a special node constituting a block chain network. In addition, although not shown in FIG. 7 , the block chain management apparatus 100 may further include a monitoring unit (not shown) that receives information on whether the branch has occurred from the monitoring node.

다음으로, 블록 생성 순서 제어부(130)는 블록 생성 노드 간에 공평하게 블록이 생성될 수 있도록 제어한다. 구체적으로, 블록 생성 순서 제어부(130)는 현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어한다. 이해의 편의를 제공하기 위해, 블록 생성 순서 제어부(130)에 대하여 도 8을 참조하여 부연 설명하도록 한다.Next, the block generation order control unit 130 controls so that blocks are evenly generated among block generation nodes. Specifically, the block generation order control unit 130 generates a new block when a block generated by the corresponding block generation node exists in a unit section including a preset number of blocks based on a block corresponding to the current block height. control so that it cannot be created. For convenience of understanding, the block generation order control unit 130 will be described in more detail with reference to FIG. 8 .

도 8은 상기 기 설정된 개수가 "3"인 경우, 블록 생성이 제어되는 예를 도시하고 있다.8 illustrates an example in which block generation is controlled when the preset number is “3”.

도 8을 참조하면, 블록 생성 노드 A(201)의 블록체인 데이터에서 현재 블록 높이에 해당하는 블록은 블록 5이고, 상기 블록 5를 기준으로 단위 구간 상에 포함된 블록들은 블록 3 내지 블록 5인 것을 알 수 있다. 그러면, 3개의 블록이 포함된 단위 구간 상에 블록 생성 노드 A(201)가 생성한 블록은 존재하지 않으므로, 블록 생성 노드 A(201)에 의해 생성된 신규 블록 6은 블록체인 데이터 상에 추가될 수 있다.Referring to FIG. 8 , the block corresponding to the current block height in the block chain data of the block generating node A 201 is block 5, and blocks included in the unit section based on block 5 are blocks 3 to 5 it can be seen that Then, since there is no block generated by the block generating node A 201 on the unit section including three blocks, the new block 6 generated by the block generating node A 201 will be added to the block chain data. can

이와 반대로, 블록 생성 노드 B(203)의 경우를 살펴보면, 단위 구간 상에 블록 생성 노드 B(203)이 생성한 블록 3이 존재하므로, 블록 생성 노드 B(203)에 의해 생성된 신규 블록 6은 블록체인 데이터 상에 추가될 수 없고 거부된다.On the contrary, looking at the case of the block generating node B 203 , since block 3 generated by the block generating node B 203 exists in the unit section, the new block 6 generated by the block generating node B 203 is It cannot be added to the blockchain data and is rejected.

본 발명의 실시예에 따르면, 단위 구간에 포함된 블록의 개수는 블록 생성 노드의 개수가 증가할수록 큰 값으로 갱신될 수 있다. 본 발명의 일 구현예에 따르면, 0 내지 1 범위의 값을 갖는 소정의 제어 파라미터를 이용하여 본 실시예가 구현될 수 있다. 구체적으로, 블록 생성 순서 제어부(130)가 상기 제어 파라미터를 설정하면, 상기 단위 구간에 포함된 블록의 개수는 블록 생성 노드의 수에서 1을 제한 값과 상기 제어 파라미터의 곱의 내림 또는 올림 값으로 결정될 수 있다. 본 구현예에 따르면, 상기 제어 파라미터의 값이 1로 설정되면, 모든 블록 생성 노드가 순차적으로 1개의 블록을 생성하도록 제어될 수 있으며, 상기 제어 파라미터의 값이 0으로 설정되면, 블록 생성 순서에 대한 제어가 수행되지 않으므로, 각 블록 생성 노드는 연속적으로 블록을 생성할 수 있다. 참고로, 상기 제어 파라미터의 값이 1로 설정되고, 특정 블록 생성 노드에 장애가 발생하는 경우, 블록 생성이 무한 대기 상태에 빠질 수 있으므로, 상기 제어 파라미터의 값은 해당 시스템의 규모 및 자원 상황, 블록 생성 노드의 개수 등을 종합적으로 고려하여 설정되는 것이 바람직할 수 있다.According to an embodiment of the present invention, the number of blocks included in a unit section may be updated to a larger value as the number of block generating nodes increases. According to an embodiment of the present invention, this embodiment may be implemented using a predetermined control parameter having a value in the range of 0 to 1. Specifically, when the block generation order control unit 130 sets the control parameter, the number of blocks included in the unit section is a value obtained by subtracting 1 from the number of block generation nodes and the product of the control parameter rounded up or down. can be decided. According to this embodiment, when the value of the control parameter is set to 1, all block generating nodes can be controlled to sequentially generate one block, and when the value of the control parameter is set to 0, the block generation order Since no control is performed, each block generating node can continuously generate blocks. For reference, if the value of the control parameter is set to 1 and a failure occurs in a specific block generating node, block generation may fall into an infinite standby state. It may be desirable to set in consideration of the number of generation nodes, etc. comprehensively.

또한, 본 발명의 실시예에 따르면, 상기 제어 파라미터는 블록 생성 노드의 개수에 따라 변동되는 변동 값일 수 있다. 예를 들어, 블록 생성 노드의 개수가 많아질수록 상기 제어 파라미터의 값은 작은 값으로 갱신될 수 있다.Also, according to an embodiment of the present invention, the control parameter may be a variable value that varies according to the number of block generating nodes. For example, as the number of block generating nodes increases, the value of the control parameter may be updated to a smaller value.

또한, 본 발명의 실시예에 따르면, 블록 생성 순서 제어부(130)는 블록 생성 노드의 개수가 기 설정된 임계 값 이하인 경우에 한하여 블록 생성 순서를 제어할 수도 있다. 예를 들어, 전술한 구현예에서, 블록 생성 노드의 개수가 임계 값을 초과하면 제어 파라미터를 0으로 설정할 수 있다. 블록 생성 노드의 개수가 충분히 많은 경우에는 블록 생성 순서를 제어하지 않더라도 공평하게 블록을 생성할 확률이 높기 때문이다.Also, according to an embodiment of the present invention, the block generation order control unit 130 may control the block generation order only when the number of block generation nodes is less than or equal to a preset threshold value. For example, in the above-described implementation, the control parameter may be set to zero when the number of block generating nodes exceeds a threshold value. This is because, when the number of block generating nodes is sufficiently large, the probability of generating blocks fairly even if the block generation order is not controlled is high.

또한, 본 발명의 실시예에 따르면, 블록 생성 순서 제어부(130)는 블록 생성 노드 간의 컴퓨팅 성능 차이를 기초로 블록 생성 순서를 제어할 수도 있다. 예를 들어, 블록 생성 노드의 컴퓨팅 성능이 비슷한 경우에는, 단위 구간에 포함된 블록의 개수 또는 제어 파라미터를 큰 값으로 설정하거나, 블록 생성 순서에 대한 제어를 수행하지 않을 수 있다. 컴퓨팅 성능이 비슷하다면, 별도의 제어가 없더라도 공평하게 블록이 생성될 확률이 높기 때문이다.Also, according to an embodiment of the present invention, the block generation order control unit 130 may control the block generation order based on a difference in computing performance between block generation nodes. For example, when the computing performance of the block generating nodes is similar, the number of blocks included in the unit section or the control parameter may be set to a large value, or the block generation order may not be controlled. This is because, if computing performance is similar, there is a high probability that blocks will be created evenly even if there is no separate control.

다시 도 7을 참조하면, 블록 크기 제어부(150)는 블록의 크기를 가변적으로 제어한다. 구체적으로, 블록 크기 제어부(150)는 현재 시점 이후로 생성된 신규 블록의 크기를 가변적으로 제어할 수 있다. 블록 크기 제어부(150)가 블록의 크기를 큰 값으로 설정하는 경우, 각 블록에 기록되는 트랜잭션 데이터의 개수가 증가되므로 블록체인 기반의 데이터 처리 시스템의 처리량이 향상될 수 있다.Referring again to FIG. 7 , the block size controller 150 variably controls the size of a block. Specifically, the block size controller 150 may variably control the size of a new block generated after the current time point. When the block size control unit 150 sets the block size to a large value, the number of transaction data recorded in each block increases, so that the throughput of the block chain-based data processing system can be improved.

본 발명의 실시예에 따르면, 블록 크기 제어부(150)는 네트워크의 가용 대역폭에 기초하여 블록 크기를 가변적으로 설정할 수 있다. 예를 들어, 블록 크기 제어부(150)는 상기 가용 대역폭이 임계 값 이하인 경우, 블록 크기를 작은 값으로 설정할 수 있다. 가용 대역폭이 충분하지 않은 경우, 블록 크기를 크게 하면, 블록 전파에 따른 전송 지연으로 전체적인 시스템의 성능이 저하될 수 있기 때문이다.According to an embodiment of the present invention, the block size control unit 150 may variably set the block size based on the available bandwidth of the network. For example, when the available bandwidth is less than or equal to a threshold value, the block size controller 150 may set the block size to a small value. This is because, if the available bandwidth is insufficient, the overall system performance may be degraded due to transmission delay caused by block propagation if the block size is increased.

지금까지 설명한, 도 7의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.As described so far, each component of FIG. 7 may mean software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the above components are not meant to be limited to software or hardware, and may be configured to be in an addressable storage medium or configured to execute one or more processors. A function provided in the above components may be implemented by a more subdivided component, or may be implemented as a single component that performs a specific function by combining a plurality of components.

다음으로, 도 8을 참조하여, 블록체인 기반 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치(100))의 하드웨어 구성도에 대하여 설명하도록 한다.Next, with reference to FIG. 8, a hardware configuration diagram of the block chain management apparatus 100, which is one component of the block chain-based data processing system, will be described.

도 8을 참조하면, 블록체인 관리 장치(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 블록체인 기반의 데이터 처리 소프트웨어(109a)를 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 8에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 8에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 8 , the block chain management device 100 includes one or more processors 101 , a bus 105 , a network interface 107 , and a memory (loading) a computer program executed by the processor 101 ( 103) and a storage 109 for storing the blockchain-based data processing software 109a. However, only the components related to the embodiment of the present invention are illustrated in FIG. 8 . Accordingly, a person skilled in the art to which the present invention pertains can see that other general-purpose components other than the components shown in FIG. 8 may be further included.

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

메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 인스턴트 트랜잭션 처리 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 8에서 메모리(103)의 예시로 RAM이 도시되었다.The memory 103 stores various data, commands and/or information. The memory 103 may load one or more programs 109a from the storage 109 to execute the instant transaction processing method according to embodiments of the present invention. RAM is shown as an example of memory 103 in FIG. 8 .

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

네트워크 인터페이스(107)는 블록체인 관리 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 107 supports wired and wireless Internet communication of the block chain management device 100 . Also, the network interface 107 may support various communication methods other than Internet communication. To this end, the network interface 107 may be configured to include a communication module well known in the art.

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

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

블록체인 관리 소프트웨어(109a)는 본 발명의 실시예에 따라 블록체인 기반의 데이터 처리 시스템의 동작을 제어 및/또는 관리할 수 있다.The blockchain management software 109a may control and/or manage the operation of a blockchain-based data processing system according to an embodiment of the present invention.

구체적으로, 블록체인 기반의 데이터 처리 소프트웨어(109a)는 메모리(103)에 로드되어, 하나 이상의 프로세서(101)에 의해, 블록 생성 주기를 제어하는 일련의 인스트럭션(instruction), 블록 생성 순서를 제어하는 일련의 인스트럭션, 블록 크기를 제어하는 일련의 인스트럭션 등을 실행할 수 있다.Specifically, the block chain-based data processing software 109a is loaded into the memory 103, and by one or more processors 101, a series of instructions to control the block generation cycle, and the block generation sequence. It can execute a sequence of instructions, a sequence of instructions that control block size, and so on.

지금까지, 도 7 내지 도 9을 참조하여, 본 발명의 실시예에 따른 블록체인 기반 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치(100)에 대하여 설명하였다. 다음으로, 도 10을 참조하여, 상기 블록체인 기반 데이터 처리 시스템의 다른 일 구성 요소인 사용자 단말(300)에 대하여 설명하도록 한다.So far, with reference to FIGS. 7 to 9 , the block chain management apparatus 100 which is one component of the block chain-based data processing system according to an embodiment of the present invention has been described. Next, with reference to FIG. 10 , the user terminal 300 which is another component of the block chain-based data processing system will be described.

도 10은 사용자 단말(300)을 나타내는 블록도이다.10 is a block diagram illustrating the user terminal 300 .

도 10을 참조하면, 사용자 단말(300)은 전자 지갑(310), 전자 지갑 관리부(330) 및 트랜잭션 처리부(350)를 포함할 수 있다. 다만, 도 10에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 10에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 10에 도시된 블록체인 관리 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 10 , the user terminal 300 may include an electronic wallet 310 , an electronic wallet management unit 330 , and a transaction processing unit 350 . However, only the components related to the embodiment of the present invention are illustrated in FIG. 10 . Accordingly, a person skilled in the art to which the present invention pertains can know that other general-purpose components other than the components shown in FIG. 10 may be further included. In addition, each component of the block chain management device 100 shown in FIG. 10 represents functionally distinct functional elements, and at least one component may be implemented in a form that is integrated with each other in an actual physical environment. Take note.

각 구성 요소에 대하여 살펴보면, 전자 지갑(310)은 사용자의 가상 화폐를 관리한다. 본 발명의 실시예에 따르면, 전자 지갑(310)은 계층적인 구조로 구성될 수 있다. 이에 대한 설명은 도 5를 참조하여 전술한 바 더 이상의 설명은 생략하도록 한다.Looking at each component, the electronic wallet 310 manages the user's virtual currency. According to an embodiment of the present invention, the electronic wallet 310 may be configured in a hierarchical structure. A description of this has been described above with reference to FIG. 5, and further description thereof will be omitted.

전자 지갑 관리부(330)는 사용자의 요청에 응답하여 전자 지갑(310)을 생성하거나 관리한다. 구체적으로, 전자 지갑 관리부(330)는 사용자의 전자 지갑 생성 요청에 응답하여, 도 5에 도시된 계층적 구조의 전자 지갑(310)을 생성할 수 있다.The electronic wallet management unit 330 creates or manages the electronic wallet 310 in response to a user's request. Specifically, the electronic wallet management unit 330 may generate the electronic wallet 310 of the hierarchical structure shown in FIG. 5 in response to the user's request to create the electronic wallet.

트랜잭션 처리부(350)는 사용자의 트랜잭션 처리 요청에 응답하여 전자 지갑(310)에 보관된 가상 화폐에 대한 트랜잭션을 처리할 수 있다. 구체적으로, 트랜잭션 처리부(350)는 전자 지갑(310)과 연동된 블록체인 네트워크를 통해서 가상 화폐를 송금하는 사용자의 트랜잭션을 처리할 수 있다.The transaction processing unit 350 may process a transaction for virtual currency stored in the electronic wallet 310 in response to the user's request for processing the transaction. Specifically, the transaction processing unit 350 may process a user's transaction for remittance of virtual currency through a blockchain network interlocked with the electronic wallet 310 .

지금까지 설명한, 도 10의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.As described so far, each component of FIG. 10 may mean software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the above components are not meant to be limited to software or hardware, and may be configured to be in an addressable storage medium or configured to execute one or more processors. A function provided in the above components may be implemented by a more subdivided component, or may be implemented as a single component that performs a specific function by combining a plurality of components.

지금까지, 도 10을 참조하여, 본 발명의 실시예에 따른 블록체인 기반 데이터 처리 시스템의 일 구성 요소인 사용자 단말(300)에 대하여 설명하였다. 다음으로, 도 11을 참조하여, 본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템에서 수행될 수 있는 인스턴트 트랜잭션 처리 방법에 대하여 설명하도록 한다.So far, with reference to FIG. 10 , the user terminal 300 as one component of the block chain-based data processing system according to an embodiment of the present invention has been described. Next, with reference to FIG. 11 , an instant transaction processing method that can be performed in a blockchain-based data processing system according to some embodiments of the present invention will be described.

이하에서 후술할, 본 발명의 실시예에 따른 인스턴트 트랜잭션 처리 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 블록체인 기반 데이터 처리 시스템을 구성하는 적어도 하나의 컴퓨팅 장치일 수 있다. 다만, 설명의 편의를 위해, 상기 인스턴트 트랜잭션 처리 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 인스턴트 트랜잭션 처리 방법의 각 단계는 상기 적어도 하나의 컴퓨팅 장치에 탑재된 프로세서에 의해 수행되는 오퍼레이션으로 구현될 수 있다.Each step of the instant transaction processing method according to an embodiment of the present invention, which will be described below, may be performed by a computing device. For example, the computing device may be at least one computing device constituting a blockchain-based data processing system. However, for convenience of description, the description of the operating subject of each step included in the instant transaction processing method may be omitted. In addition, each step of the instant transaction processing method may be implemented as an operation performed by a processor mounted on the at least one computing device.

도 11은 본 발명의 실시예에 따른 블록체인 기반의 인스턴트 트랜잭션 처리 방법을 설명하기 위한 도면이다. 구체적으로, 도 11은 송신자인 제1 사용자가 수신자인 제2 사용자에게 가상 화폐(e.g. 포인트)를 송금하는 트랜잭션의 처리 과정을 도시하고 있다.11 is a diagram for explaining a block chain-based instant transaction processing method according to an embodiment of the present invention. Specifically, FIG. 11 illustrates a process of a transaction in which a first user, a sender, transfers virtual currency (e.g. points) to a second user, a receiver.

도 11을 참조하면, 복수의 블록체인 노드 중 제1 블록체인 노드가, 제1 사용자를 송신자로 하고 제2 사용자를 수신자로 하는 처리 대상 트랜잭션의 처리 요청을 수신한다(S10). 여기서, 상기 제1 블록체인 노드는 사용자 단말일 수 있으나, 사용자 단말이 블록체인 네트워크를 구성하지 않는 경우에는 상기 사용자 단말로부터 트랜잭션 처리 요청을 수신하는 블록체인 노드일 수 있다.Referring to FIG. 11 , a first block chain node among a plurality of block chain nodes receives a request for processing a transaction to be processed with a first user as a sender and a second user as a receiver ( S10 ). Here, the first block chain node may be a user terminal, but may be a block chain node that receives a transaction processing request from the user terminal when the user terminal does not constitute a block chain network.

다음으로, 상기 처리 대상 트랜잭션의 처리 요청에 응답하여, 상기 제1 블록체인 노드가, 상기 처리 대상 트랜잭션의 유효성을 검증한다(S20). 예를 들어, 송신자의 퍼미션 검증, 잔고 검증 등을 통해 상기 처리 대상 트랜잭션의 유효성이 검증될 수 있다. 본 단계(S20)에서 검증이 성공되면, 상기 처리 대상 트랜잭션은 임시 풀(temporary pool)에 기록될 수 있다. 상기 임시 풀은 블록에 트랜잭션 데이터가 기록되기 전에 임시로 트랜잭션 데이터가 보관되는 장소로 이해될 수 있다. 이는, 당해 기술 분야의 통상의 기술자에게 자명한 사항인 바 더 이상의 설명은 생략하도록 한다.Next, in response to the processing request of the transaction to be processed, the first blockchain node verifies the validity of the transaction to be processed ( S20 ). For example, the validity of the transaction to be processed may be verified through the sender's permission verification, balance verification, and the like. If verification is successful in this step S20, the transaction to be processed may be recorded in a temporary pool. The temporary pool may be understood as a place where transaction data is temporarily stored before transaction data is recorded in a block. This is obvious to those skilled in the art, and further description will be omitted.

다음으로, 상기 처리 대상 트랜잭션이 유효한 경우, 상기 제1 블록체인 노드는, 수신자인 제2 사용자의 단말로 상기 검증된 처리 대상 트랜잭션에 대한 처리 완료를 바로 통지한다(S30). 그러면, 상기 제2 사용자의 단말에서 트랜잭션이 즉시 처리되어 가상 화폐 송금 처리가 완료될 수 있다.Next, if the transaction to be processed is valid, the first block chain node notifies the terminal of the second user who is the recipient of the completion of the processing of the verified transaction to be processed (S30). Then, the transaction is immediately processed in the second user's terminal, so that the virtual currency remittance process can be completed.

다음으로, 상기 제1 블록체인 노드가, 상기 검증된 처리 대상 트랜잭션을 상기 복수의 블록체인 노드 중에서 신규 블록을 생성한 블록 생성 노드로 전달하고(S40), 상기 블록 생성 노드가 상기 검증된 처리 대상 트랜잭션을 상기 신규 블록에 기록하며(S50), 상기 신규 블록을 다른 블록 체인 노드로 전파한다(S60). 최종적으로, 상기 처리 대상 트랜잭션에 대한 데이터가 블록에 기록되고 블록체인 데이터 상에 추가되면, 특정 블록 체인 노드가 상기 제2 사용자의 단말로 처리 대상 트랜잭션의 확정을 통지한다(S70).Next, the first block chain node transmits the verified transaction to be processed to a block generating node that generated a new block among the plurality of block chain nodes (S40), and the block generating node is the verified processing target A transaction is recorded in the new block (S50), and the new block is propagated to other block chain nodes (S60). Finally, when the data for the transaction to be processed is recorded in the block and added to the block chain data, a specific block chain node notifies the second user's terminal of the confirmation of the transaction to be processed (S70).

상술한 인스턴트 트랜잭션 처리 방법에 따르면, 처리 대상 트랜잭션이 블록체인 데이터 상의 특정 블록에 기록되기 전에 거래 당사자의 단말에서 트랜잭션이 즉시 처리될 수 있다. 이에 따라, 트랜잭션 처리의 응답 속도가 크게 향상될 수 있고, 블록체인 기반 서비스 사용자의 만족도가 제고될 수 있다. 본 실시예에서, 인스턴트 트랜잭션 처리의 신뢰성은 퍼미션 기반 블록체인 네트워크로 구현된 블록체인 네트워크(200)에 의해 담보되는 것으로 이해될 수 있다.According to the instant transaction processing method described above, the transaction can be immediately processed in the terminal of the transaction party before the transaction to be processed is recorded in a specific block on the block chain data. Accordingly, the response speed of transaction processing can be greatly improved, and the satisfaction of users of blockchain-based services can be improved. In this embodiment, it can be understood that the reliability of instant transaction processing is guaranteed by the blockchain network 200 implemented as a permission-based blockchain network.

한편, 상술한 인스턴트 트랜잭션 처리 방법에 따르면, 신규 블록에 트랜잭션 데이터가 기록되기 전에 트랜잭션 처리가 완료되므로, 가상 화폐의 수신자인 제2 사용자가 제3 사용자에게 가상 화폐를 송금하는 경우 트랜잭션 유효성 검증 단계(S20)에서 오류가 발생될 수 있다. 구체적으로, 블록체인 데이터 상에 상기 제2 사용자가 수신한 가상 화폐가 기록되기 전인 경우, 잔고 부족으로 상기 제2 사용자가 요청한 트랜잭션이 유효하지 않은 트랜잭션으로 결정되는 문제가 발생될 수 있다.On the other hand, according to the instant transaction processing method described above, since the transaction processing is completed before transaction data is recorded in the new block, when the second user, who is the recipient of the virtual currency, remits the virtual currency to the third user, the transaction validation step ( In S20), an error may occur. Specifically, if the virtual currency received by the second user is before recorded on the block chain data, a problem may occur in which the transaction requested by the second user is determined as an invalid transaction due to insufficient balance.

위와 같은 문제를 해결하기 위하여, 본 발명의 실시예에 따르면, 블록체인 데이터에 기록된 가상 화폐 잔고 외에도 트랜잭션 유효성 검증 단계(S20)에서 임시 풀에 기록된 사용자의 가상 화폐 잔고까지 고려하여 트랜잭션에 대한 유효성 검증이 수행될 수 있다.In order to solve the above problem, according to an embodiment of the present invention, in addition to the virtual currency balance recorded in the block chain data, the user's virtual currency balance recorded in the temporary pool in the transaction validation step (S20) is taken into account for the transaction. Validation may be performed.

즉, 위와 같은 상황에서, 블록체인 데이터 상에 기록된 상기 제2 사용자의 가상 화폐 잔고와 임시 풀에 기록된 상기 제2 사용자의 가상 화폐 잔고의 총 합을 기초로, 상기 제2 사용자가 요청한 트랜잭션의 유효성이 검증될 수 있다.That is, in the above situation, based on the total sum of the second user's virtual currency balance recorded on the block chain data and the second user's virtual currency balance recorded in the temporary pool, the transaction requested by the second user can be validated.

지금까지, 도 11을 참조하여, 본 발명의 실시예에 따른 인스턴트 트랜잭션 처리 방법에 대하여 설명하였다.So far, an instant transaction processing method according to an embodiment of the present invention has been described with reference to FIG. 11 .

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

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

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (18)

퍼미션 기반 블록체인 네트워크(permission based blockchain network)를 구성하고, 블록체인 데이터를 분산하여 관리하는 복수의 블록체인 노드; 및
상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 포함하되,
상기 복수의 블록체인 노드는,
블록을 생성하고, 상기 생성된 블록을 상기 블록체인 네트워크 상의 다른 블록체인 노드로 전파하는 블록 생성 노드를 포함하고,
상기 블록체인 관리 장치는,
현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어하는 블록 생성 순서 제어부를 포함하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
a plurality of blockchain nodes that configure a permission based blockchain network and distribute and manage blockchain data; and
Including a block chain management device for managing the block chain network,
The plurality of blockchain nodes are
a block generating node that generates a block and propagates the generated block to other blockchain nodes on the blockchain network;
The blockchain management device is
Based on the block corresponding to the current block height, if a block generated by the corresponding block generation node exists in a unit section including a preset number of blocks, a block generation order control unit that controls so that a new block cannot be created; characterized in that it comprises
Blockchain-based data processing system.
제1 항에 있어서,
각각의 블록체인 노드가 상기 퍼미션 기반 블록체인 네트워크에 참여할 때, 제1 퍼미션을 기준으로 상기 각각의 블록체인 노드의 퍼미션에 대한 제1 검증이 수행되고,
상기 각각의 블록체인 노드가 신규 블록을 수신할 때, 제2 퍼미션을 기준으로 상기 신규 블록을 생성한 블록 생성 노드의 퍼미션에 대한 제2 검증이 수행되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
When each blockchain node participates in the permission-based blockchain network, a first verification of the permission of each blockchain node is performed based on the first permission,
characterized in that when each of the blockchain nodes receives the new block, a second verification of the permission of the block generating node that generated the new block is performed based on the second permission,
Blockchain-based data processing system.
제2 항에 있어서,
상기 제2 퍼미션은,
상기 제1 퍼미션보다 높은 퍼미션인 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
3. The method of claim 2,
The second permission is
characterized in that the permission is higher than the first permission,
Blockchain-based data processing system.
제1 항에 있어서,
상기 퍼미션 기반 블록체인 네트워크를 구성하는 각각의 블록체인 노드에 대한 검증은, 상기 블록체인 데이터에 기록된 상기 각각의 블록체인 노드에 대한 퍼미션 정보를 이용하여 수행되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
Verification of each blockchain node constituting the permission-based blockchain network is characterized in that it is performed using permission information for each blockchain node recorded in the blockchain data,
Blockchain-based data processing system.
제1 항에 있어서,
상기 기 설정된 개수는,
상기 블록 생성 노드의 개수가 증가할수록 큰 값으로 갱신되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
The preset number is
It is characterized in that it is updated to a larger value as the number of block generating nodes increases,
Blockchain-based data processing system.
제1 항에 있어서,
상기 블록 생성 순서 제어부는,
상기 블록 생성 노드의 개수가 기 설정된 임계 값 이하인 경우에 한하여, 블록 생성 순서에 대한 제어를 수행하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
The block generation order control unit,
Only when the number of the block generating nodes is less than or equal to a preset threshold, it characterized in that the control of the block generation order is performed,
Blockchain-based data processing system.
제1 항에 있어서,
상기 블록 생성 순서 제어부는,
0 내지 1 범위의 값을 갖는 제어 파라미터를 설정하여, 상기 블록 생성 노드의 블록 생성을 제어하되,
상기 기 설정된 개수는,
상기 제어 파라미터에 설정된 값 및 상기 블록 생성 노드의 개수를 기초로 결정되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
The block generation order control unit,
By setting a control parameter having a value in the range of 0 to 1, the block generation of the block generation node is controlled,
The preset number is
Characterized in that it is determined based on the value set in the control parameter and the number of the block generating nodes,
Blockchain-based data processing system.
제1 항에 있어서,
상기 블록체인 관리 장치는,
블록 생성 난이도를 조절하여, 블록 생성 주기를 가변적으로 제어하는 블록 생성 주기 제어부를 더 포함하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
The blockchain management device is
By adjusting the difficulty of block generation, it characterized in that it further comprises a block generation cycle control unit for variably controlling the block generation cycle,
Blockchain-based data processing system.
제8 항에 있어서,
상기 블록 생성 주기 제어부는,
기 설정된 기간 동안 상기 블록체인 데이터 상의 분기 발생 빈도를 기초로 상기 블록 생성 주기를 가변적으로 제어하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
9. The method of claim 8,
The block generation period control unit,
Characterized in that the block generation cycle is variably controlled based on the frequency of occurrence of branches in the block chain data for a preset period,
Blockchain-based data processing system.
제9 항에 있어서,
상기 퍼미션 기반 블록체인 네트워크는,
상기 블록체인 데이터 상의 분기 발생 여부를 모니터링하는 모니터링 노드를 더 포함하고,
상기 블록체인 관리 장치는,
상기 모니터링 노드로부터, 상기 분기 발생 여부에 대한 정보를 수신하는 모니터링부를 더 포함하되,
상기 분기 발생 빈도는,
상기 분기 발생 여부에 대한 정보를 기초로 산출되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
10. The method of claim 9,
The permission-based blockchain network is
Further comprising a monitoring node for monitoring whether a branch occurs on the block chain data,
The blockchain management device is
Further comprising a monitoring unit for receiving information on whether the branch has occurred from the monitoring node,
The branching frequency is
characterized in that it is calculated based on the information on whether the branch has occurred,
Blockchain-based data processing system.
제1 항에 있어서,
상기 블록체인 관리 장치는,
상기 생성된 블록의 크기를 가변적으로 제어하는 블록 크기 제어부를 더 포함하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
The blockchain management device is
Characterized in that it further comprises a block size control unit for variably controlling the size of the generated block,
Blockchain-based data processing system.
제1 항에 있어서,
상기 블록체인 데이터는 분산형 데이터베이스를 구성하는 복수의 외부 스토리지 노드에 보관되고,
상기 복수의 블록체인 노드는,
상기 복수의 외부 스토리지 노드에 접근하여, 상기 블록체인 데이터를 관리하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.
According to claim 1,
The blockchain data is stored in a plurality of external storage nodes constituting a distributed database,
The plurality of blockchain nodes are
Accessing the plurality of external storage nodes, characterized in that the block chain data is managed,
Blockchain-based data processing system.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020170109266A 2017-04-05 2017-08-29 System for processing data based on blockchain and Operating method thereof KR102382127B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/933,680 US11095432B2 (en) 2017-04-05 2018-03-23 System for processing data based on blockchain and operating method thereof
SG10201802603QA SG10201802603QA (en) 2017-04-05 2018-03-28 System for processing data based on blockchain and Operating method thereof
CN201810299757.3A CN108694665B (en) 2017-04-05 2018-04-04 Block chain management device, data processing system and instant transaction processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170044318 2017-04-05
KR1020170044318 2017-04-05

Publications (2)

Publication Number Publication Date
KR20180113140A KR20180113140A (en) 2018-10-15
KR102382127B1 true KR102382127B1 (en) 2022-04-04

Family

ID=63866026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170109266A KR102382127B1 (en) 2017-04-05 2017-08-29 System for processing data based on blockchain and Operating method thereof

Country Status (2)

Country Link
KR (1) KR102382127B1 (en)
SG (1) SG10201802603QA (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102384351B1 (en) * 2018-05-09 2022-04-06 삼성에스디에스 주식회사 Method for generating a block in a blockchain-based system
KR20200047412A (en) * 2018-10-24 2020-05-07 삼성전자주식회사 Method, device, computer readable medium, and system for managing transaction
KR101975822B1 (en) * 2018-10-26 2019-05-08 (주)리그시스템 Private blockchain network system and method for consensus based on blockchain
KR102448787B1 (en) * 2018-10-30 2022-09-28 삼성에스디에스 주식회사 System for providing retrieval service based on blockchain and method of the same
KR102293878B1 (en) 2018-11-06 2021-08-26 주식회사 팀그릿 Method and apparatus for generating quality-of-service support blockchain
KR102081159B1 (en) 2018-11-08 2020-02-25 엔에이치엔 주식회사 A Blockchain system and a method for a plurality of nodes in the Blockchain system to verify and propagate messages
KR102181136B1 (en) * 2018-11-15 2020-11-20 엔에이치엔 주식회사 A method and blockchain system for constructing a sub blockchain in a blockchain system comprising a distributed network of a plurality of nodes
KR101950856B1 (en) * 2018-11-20 2019-02-22 주식회사 윅스콘 System and method for managementing information using blockchain
KR102175949B1 (en) * 2018-12-10 2020-11-09 한국전자통신연구원 Method and apparatus for generating block in blockchain system
CN109785130B (en) * 2018-12-17 2021-05-28 金蝶软件(中国)有限公司 Block chain random consensus method and device, computer equipment and storage medium
KR102214849B1 (en) 2018-12-28 2021-02-10 연세대학교 산학협력단 Fault tolerance consensus method for eliminating interference factors in blockchain networks
CN111461468B (en) * 2019-01-02 2023-10-31 中国移动通信有限公司研究院 Data processing method and device, data node and storage medium
KR102206026B1 (en) * 2019-01-04 2021-01-22 주식회사 커먼컴퓨터 System and method for transaction of work requests and products based on blockchain
KR102195830B1 (en) * 2019-01-11 2020-12-28 (주)헬스허브 System for security enforced crypto currency based on block chain
KR102121147B1 (en) * 2019-01-25 2020-06-12 주식회사 카사코리아 Method for processing transaction via external node on blockchain and apparatus for performing the method
KR102036618B1 (en) * 2019-01-31 2019-10-28 주식회사그린존시큐리티 Integrity vertfication chain for verifying integrity of device and method for verifying integrity of device using the same
KR102165272B1 (en) * 2019-02-07 2020-10-13 아주대학교 산학협력단 Method and server for managing data stored in block chain
KR102139549B1 (en) * 2019-04-26 2020-08-11 에스지에이비엘씨 주식회사 A block-chain network system using division distributed operation of peers' cluster and the distributed operation method thereof
KR102229438B1 (en) * 2019-05-17 2021-03-18 군산대학교산학협력단 Cloud computing and blockchain based smart home system
KR102191803B1 (en) * 2019-05-31 2020-12-16 주식회사 엠티에스컴퍼니 Behavior information proof method by block chain
KR102090223B1 (en) * 2019-06-07 2020-03-17 쉬프트정보통신 주식회사 UI/UX development system applying blockchain for preventing data forgery/falsification and data forgery/falsification verification method using the same
KR102272810B1 (en) * 2019-06-12 2021-07-02 주식회사 위즈블 Method and system for operating blockchain real time ecosystem
KR102217776B1 (en) * 2019-06-25 2021-02-19 에스케이텔레콤 주식회사 Method and apparatus for processing transaction based on block chain
KR102111544B1 (en) * 2019-07-02 2020-05-15 (주)팍스넷 DAG-based blockchain with scalability
KR102288769B1 (en) * 2019-08-13 2021-08-12 광주과학기술원 Error-correction code based crypto currency system
KR102150210B1 (en) * 2019-09-16 2020-09-01 (주) 모로보기 Blockchain network
JP2021057887A (en) * 2019-09-29 2021-04-08 工藤 健司 data structure
CN110910883B (en) * 2019-12-03 2022-08-30 杭州龙纪科技有限公司 Method for acquiring block chain height based on intelligent sound box
CN112788106B (en) * 2020-12-28 2022-12-27 深圳前海益链网络科技有限公司 Block generation control method applied to block chain and related device
CN112801782A (en) * 2020-12-31 2021-05-14 北京知帆科技有限公司 Block chain information monitoring method and device and electronic equipment
KR102544899B1 (en) * 2021-06-16 2023-06-16 계명대학교 산학협력단 Embedding blockchain method and system using external storage media

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
KR101680540B1 (en) 2015-06-18 2016-11-30 주식회사 코인플러그 Financial institution document verification system that is based on the block chain
KR101701131B1 (en) 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101784219B1 (en) 2016-06-15 2017-10-12 주식회사 코인플러그 Financial institution document verification system that is based on the block chain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
KR101680540B1 (en) 2015-06-18 2016-11-30 주식회사 코인플러그 Financial institution document verification system that is based on the block chain
KR101701131B1 (en) 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type

Also Published As

Publication number Publication date
KR20180113140A (en) 2018-10-15
SG10201802603QA (en) 2018-11-29

Similar Documents

Publication Publication Date Title
KR102382127B1 (en) System for processing data based on blockchain and Operating method thereof
US11095432B2 (en) System for processing data based on blockchain and operating method thereof
US20180293556A1 (en) Method and system for processing blockchain-based real-time transaction
KR102417067B1 (en) Method and apparatus for generating blocks in node on a block-chain network
US11630808B2 (en) Proof of lottery (PoL) blockchain
EP3639469B1 (en) Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network
US11336634B2 (en) Identity management via a centralized identity management server device
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
EP3610436B1 (en) Rapid distributed consensus on blockchain
US9495668B1 (en) Computing solutions to a problem involving inversion of a one-way function
KR20180113145A (en) Method for processing blockchain based real-time transaction and system thereof
KR101827373B1 (en) Block window module having agreement algorithm for limiting mining, managing server and virtual money exchange system and method
KR102407187B1 (en) Method for charging electronic money automatically based on blockchain and system thereof
US20190303622A1 (en) Bicameral framework for fast and tamper-resistant blockchain validation
EP3739538A1 (en) System and method of supporting reflection of transactions between blockchain networks
WO2020139965A1 (en) Blockchain management system
CN104247329A (en) Secure remediation of devices requesting cloud services
US20200266971A1 (en) Re-encrypting data on a hash chain
JP7494205B2 (en) Preventing the accidental transmission of copies of data records to the distributed ledger system
EP3839791B1 (en) Identification and authorization of transactions via smart contracts
CN102316152A (en) The Distributed Services empowerment management
Kim et al. A study on an energy-effective and secure consensus algorithm for private blockchain systems (PoM: Proof of Majority)
US20220217004A1 (en) Systems and methods for non-parallelised mining on a proof-of-work blockchain network
US9544153B1 (en) Compression of cryptographic chaining certificates
CN113544665B (en) Execution of measurements of trusted agents in resource-constrained environments using proof of work

Legal Events

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