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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
본 발명은 블록체인 기반의 데이터 처리 시스템에 관한 것이다. 보다 자세하게는, 고속의 데이터 처리를 통해, 블록체인 기반 어플리케이션의 성능을 향상시킬 수 있는 시스템 및 그 시스템의 동작 방법에 관한 것이다.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.
본 발명이 해결하고자 하는 기술적 과제는, 고속의 데이터 처리 성능을 제공하는 블록체인 기반 데이터 처리 시스템을 제공하는 것이다.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
블록체인 데이터 상에 형성된 분기에 따른 문제는 이후 신규 블록이 추가됨에 따라 해소될 수 있다. 예를 들어, 블록체인 노드 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
그러나, 위와 같은 과정에서, 블록 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
상기 제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
블록 생성 노드 영역의 경우, 신규 블록에 대한 퍼미션 검증이 수행될 수 있다. 예를 들어, 각 블록체인 노드는 퍼미션이 검증된 블록 생성 노드가 생성한 신규 블록만을 블록체인 데이터에 추가할 수 있다. 이때, 상기 퍼미션의 검증은 상기 블록체인 노드 영역에서 설명한 바와 동일하게 수행될 수 있다. 또는, 블록 생성 노드가 신규 블록 생성 시 상기 신규 블록에 자신의 전자 서명을 기록하도록 강제하고, 다른 블록체인 노드는 상기 전자 서명을 검증함으로써 퍼미션 검증이 수행될 수도 있다.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
본 발명의 실시예에 따르면, 블록체인 관리 장치(100)는 블록체인 기반 데이터 처리 시스템의 처리량을 향상시키기 위해 블록 크기, 블록 생성 주기 등을 가변적으로 제어할 수 있다. 예를 들어, 블록체인 관리 장치(100)는 각 블록에 기록되는 트랜잭션의 개수를 늘리기 위해 블록의 크기를 더 큰 값으로 설정할 수 있다. 다른 예를 들어, 블록체인 관리 장치(100)는 블록 생성 속도를 빠르게 하기 위해, 블록 생성 주기가 더 작은 값이 되도록 제어할 수 있다. 이에 대한 설명은 도 7을 참조하여 후술하도록 한다.According to an embodiment of the present invention, the block
또한, 블록체인 관리 장치(100)는 각 블록 생성 노드가 공평하게 블록을 생성할 수 있도록 블록 생성 순서를 제어할 수 있다. 이에 대한 설명은 도 7 및 도 8을 참조하여 후술하도록 한다.In addition, the block
또한, 블록체인 관리 장치(100)는 블록체인 데이터 상의 분기 발생 여부, 각 블록체인 노드의 상태, 블록체인 네트워크 상에 전파되는 신규 블록 등의 블록체인 네트워크 관리에 이용되는 각종 정보를 수집할 수 있다. 예를 들어, 블록체인 관리 장치(100)는 블록체인 네트워크를 구성하는 블록체인 노드 중 하나인 모니터링 노드로부터 상기 각종 정보를 수집할 수 있다. 상기 모니터링 노드는 블록체인 네트워크 상에서 각 블록체인 노드의 동작을 모니터링하는 특수한 유형의 노드로 이해될 수 있다. 모니터링 노드는 예를 들어 블록체인 네트워크 상에서 주고 받는 각종 정보를 인터셉트(intercept)하여 블록체인 관리 장치(100)로 전달할 수 있으나, 모니터링 노드의 동작 방식은 어떠한 방식이 되더라도 무방하다.In addition, the block
상기 제1 실시예에서, 사용자 단말(300)은 블록체인 어플리케이션 서비스를 제공받는 사용자가 이용하는 단말로, 전자 지갑과 같은 블록체인 어플리케이션이 탑재된 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop), 스마트폰(smartphone) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.In the first embodiment, the
사용자는 사용자 단말(300)에 탑재된 전자 지갑을 이용하여 다른 사용자와 가상 화폐를 거래할 수 있고, 사용자 단말(300)은 사용자의 가상 화폐 거래 요청에 의해 발생된 트랜잭션 데이터를 블록체인 네트워크(200)를 통해 처리할 수 있다.A user may transact virtual currency with another user using an electronic wallet mounted on the
본 발명의 실시예에 따르면, 퍼미션 기반으로 블록체인 네트워크(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
본 발명의 몇몇 실시예에 따른 블록체인 기반 데이터 처리 시스템에서, 각각의 구성 요소는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(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
상기 제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
도 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
본 발명의 실시예에 따르면, 도 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
또한, 본 발명의 실시예에 따르면, 사용자에 의해 요청된 트랜잭션은 소정의 기준에 따라 제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
일 예로, 상기 트랜잭션은 가상 화폐의 잔고가 가장 많은 전자 지갑에서 처리될 수 있다. 다른 예로, 상기 트랜잭션은 복수의 트랜잭션으로 분할되어 각 전자 지갑(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
본 발명의 실시예에 따르면, 특정 블록체인 네트워크(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
먼저, 본 발명의 실시예에 따른 블록체인 관리 장치(100)의 구성 및 동작에 대하여 도 7 내지 도 9를 참조하여 설명한다.First, the configuration and operation of the block
도 7은 블록체인 관리 장치(100)를 나타내는 블록도이다.7 is a block diagram illustrating the block
도 7을 참조하면, 블록체인 관리 장치(100)는 블록 생성 주기 제어부(110), 블록 생성 순서 제어부(130) 및 블록 크기 제어부(150)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 7에 도시된 블록체인 관리 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 7 , the block
각 구성 요소를 살펴보면, 블록 생성 주기 제어부(110)는 블록체인 네트워크를 구성하는 블록체인 노드의 블록 생성 주기를 가변적으로 제어한다. 블록 생성을 위해 작업 증명 알고리즘을 이용하는 경우, 블록 생성에 소요되는 평균 시간(average time)은 하기의 수학식 1과 같이 계산될 수 있다. 하기의 수학식 1에서, 난이도(difficulty)는 목표 값에 부합하는 넌스 값을 찾기 위한 난이도를 가리키며, 해시레이트(hash rate)는 초당 수행되는 해시 연산의 수로 블록 생성 노드의 컴퓨팅 파워를 가리키는 것으로 이해될 수 있다.Looking at each component, the block generation
상기 수학식 1이 참조하여, 블록 생성 주기 제어부(110)는 블록 생성의 난이도를 높이거나 낮춤으로써 블록 생성 주기를 제어할 수 있다.Referring to
본 발명의 실시예에 따르면, 블록 생성 주기 제어부(110)는 소정의 기간 동안 블록체인 데이터 상의 분기 발생 빈도를 기초로 블록 생성 주기를 가변적으로 제어할 수 있다. 예를 들어, 소정의 기간 동안의 분기 발생 빈도가 기 설정된 임계 값을 초과하는 경우, 블록 생성 주기 제어부(110)는 블록 생성 난이도를 높임으로써 블록 생성 주기가 길어지도록 제어할 수 있다. 여기서, 상기 분기 발생 빈도는, 블록체인 네트워크를 구성하는 특수 노드인 모니터링 노드로부터 수신된 분기 발생 여부에 대한 정보를 기초로 산출될 수 있다. 또한, 도 7에는 도시되어 있지 않으나, 블록체인 관리 장치(100)는 상기 분기 발생 여부에 대한 정보를 상기 모니터링 노드로부터 수신하는 모니터링부(미도시)를 더 포함할 수 있다.According to an embodiment of the present invention, the block generation
다음으로, 블록 생성 순서 제어부(130)는 블록 생성 노드 간에 공평하게 블록이 생성될 수 있도록 제어한다. 구체적으로, 블록 생성 순서 제어부(130)는 현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어한다. 이해의 편의를 제공하기 위해, 블록 생성 순서 제어부(130)에 대하여 도 8을 참조하여 부연 설명하도록 한다.Next, the block generation
도 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
이와 반대로, 블록 생성 노드 B(203)의 경우를 살펴보면, 단위 구간 상에 블록 생성 노드 B(203)이 생성한 블록 3이 존재하므로, 블록 생성 노드 B(203)에 의해 생성된 신규 블록 6은 블록체인 데이터 상에 추가될 수 없고 거부된다.On the contrary, looking at the case of the block generating node B 203 , since
본 발명의 실시예에 따르면, 단위 구간에 포함된 블록의 개수는 블록 생성 노드의 개수가 증가할수록 큰 값으로 갱신될 수 있다. 본 발명의 일 구현예에 따르면, 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
또한, 본 발명의 실시예에 따르면, 상기 제어 파라미터는 블록 생성 노드의 개수에 따라 변동되는 변동 값일 수 있다. 예를 들어, 블록 생성 노드의 개수가 많아질수록 상기 제어 파라미터의 값은 작은 값으로 갱신될 수 있다.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
또한, 본 발명의 실시예에 따르면, 블록 생성 순서 제어부(130)는 블록 생성 노드 간의 컴퓨팅 성능 차이를 기초로 블록 생성 순서를 제어할 수도 있다. 예를 들어, 블록 생성 노드의 컴퓨팅 성능이 비슷한 경우에는, 단위 구간에 포함된 블록의 개수 또는 제어 파라미터를 큰 값으로 설정하거나, 블록 생성 순서에 대한 제어를 수행하지 않을 수 있다. 컴퓨팅 성능이 비슷하다면, 별도의 제어가 없더라도 공평하게 블록이 생성될 확률이 높기 때문이다.Also, according to an embodiment of the present invention, the block generation
다시 도 7을 참조하면, 블록 크기 제어부(150)는 블록의 크기를 가변적으로 제어한다. 구체적으로, 블록 크기 제어부(150)는 현재 시점 이후로 생성된 신규 블록의 크기를 가변적으로 제어할 수 있다. 블록 크기 제어부(150)가 블록의 크기를 큰 값으로 설정하는 경우, 각 블록에 기록되는 트랜잭션 데이터의 개수가 증가되므로 블록체인 기반의 데이터 처리 시스템의 처리량이 향상될 수 있다.Referring again to FIG. 7 , the
본 발명의 실시예에 따르면, 블록 크기 제어부(150)는 네트워크의 가용 대역폭에 기초하여 블록 크기를 가변적으로 설정할 수 있다. 예를 들어, 블록 크기 제어부(150)는 상기 가용 대역폭이 임계 값 이하인 경우, 블록 크기를 작은 값으로 설정할 수 있다. 가용 대역폭이 충분하지 않은 경우, 블록 크기를 크게 하면, 블록 전파에 따른 전송 지연으로 전체적인 시스템의 성능이 저하될 수 있기 때문이다.According to an embodiment of the present invention, the block
지금까지 설명한, 도 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
도 8을 참조하면, 블록체인 관리 장치(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 블록체인 기반의 데이터 처리 소프트웨어(109a)를 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 8에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 8에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 8 , the block
프로세서(101)는 블록체인 관리 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 블록체인 관리 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.The
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 인스턴트 트랜잭션 처리 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 8에서 메모리(103)의 예시로 RAM이 도시되었다.The
버스(105)는 블록체인 관리 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The
네트워크 인터페이스(107)는 블록체인 관리 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The
스토리지(109)는 상기 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 8에서 상기 하나 이상의 프로그램(109a)의 예시로 블록체인 기반의 데이터 처리 소프트웨어(109a)가 도시되었다.The
스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
블록체인 관리 소프트웨어(109a)는 본 발명의 실시예에 따라 블록체인 기반의 데이터 처리 시스템의 동작을 제어 및/또는 관리할 수 있다.The
구체적으로, 블록체인 기반의 데이터 처리 소프트웨어(109a)는 메모리(103)에 로드되어, 하나 이상의 프로세서(101)에 의해, 블록 생성 주기를 제어하는 일련의 인스트럭션(instruction), 블록 생성 순서를 제어하는 일련의 인스트럭션, 블록 크기를 제어하는 일련의 인스트럭션 등을 실행할 수 있다.Specifically, the block chain-based
지금까지, 도 7 내지 도 9을 참조하여, 본 발명의 실시예에 따른 블록체인 기반 데이터 처리 시스템의 일 구성 요소인 블록체인 관리 장치(100)에 대하여 설명하였다. 다음으로, 도 10을 참조하여, 상기 블록체인 기반 데이터 처리 시스템의 다른 일 구성 요소인 사용자 단말(300)에 대하여 설명하도록 한다.So far, with reference to FIGS. 7 to 9 , the block
도 10은 사용자 단말(300)을 나타내는 블록도이다.10 is a block diagram illustrating the
도 10을 참조하면, 사용자 단말(300)은 전자 지갑(310), 전자 지갑 관리부(330) 및 트랜잭션 처리부(350)를 포함할 수 있다. 다만, 도 10에는 본 발명의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 10에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 10에 도시된 블록체인 관리 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 10 , the
각 구성 요소에 대하여 살펴보면, 전자 지갑(310)은 사용자의 가상 화폐를 관리한다. 본 발명의 실시예에 따르면, 전자 지갑(310)은 계층적인 구조로 구성될 수 있다. 이에 대한 설명은 도 5를 참조하여 전술한 바 더 이상의 설명은 생략하도록 한다.Looking at each component, the
전자 지갑 관리부(330)는 사용자의 요청에 응답하여 전자 지갑(310)을 생성하거나 관리한다. 구체적으로, 전자 지갑 관리부(330)는 사용자의 전자 지갑 생성 요청에 응답하여, 도 5에 도시된 계층적 구조의 전자 지갑(310)을 생성할 수 있다.The electronic
트랜잭션 처리부(350)는 사용자의 트랜잭션 처리 요청에 응답하여 전자 지갑(310)에 보관된 가상 화폐에 대한 트랜잭션을 처리할 수 있다. 구체적으로, 트랜잭션 처리부(350)는 전자 지갑(310)과 연동된 블록체인 네트워크를 통해서 가상 화폐를 송금하는 사용자의 트랜잭션을 처리할 수 있다.The
지금까지 설명한, 도 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
이하에서 후술할, 본 발명의 실시예에 따른 인스턴트 트랜잭션 처리 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 블록체인 기반 데이터 처리 시스템을 구성하는 적어도 하나의 컴퓨팅 장치일 수 있다. 다만, 설명의 편의를 위해, 상기 인스턴트 트랜잭션 처리 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 인스턴트 트랜잭션 처리 방법의 각 단계는 상기 적어도 하나의 컴퓨팅 장치에 탑재된 프로세서에 의해 수행되는 오퍼레이션으로 구현될 수 있다.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)
상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 포함하되,
상기 복수의 블록체인 노드는,
블록을 생성하고, 상기 생성된 블록을 상기 블록체인 네트워크 상의 다른 블록체인 노드로 전파하는 블록 생성 노드를 포함하고,
상기 블록체인 관리 장치는,
현재 블록 높이에 해당하는 블록을 기준으로, 기 설정된 개수의 블록이 포함된 단위 구간 상에 해당 블록 생성 노드가 생성한 블록이 존재하는 경우, 신규 블록을 생성할 수 없도록 제어하는 블록 생성 순서 제어부를 포함하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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 검증이 수행되고,
상기 각각의 블록체인 노드가 신규 블록을 수신할 때, 제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 퍼미션은,
상기 제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.
상기 퍼미션 기반 블록체인 네트워크를 구성하는 각각의 블록체인 노드에 대한 검증은, 상기 블록체인 데이터에 기록된 상기 각각의 블록체인 노드에 대한 퍼미션 정보를 이용하여 수행되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
상기 기 설정된 개수는,
상기 블록 생성 노드의 개수가 증가할수록 큰 값으로 갱신되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
상기 블록 생성 순서 제어부는,
상기 블록 생성 노드의 개수가 기 설정된 임계 값 이하인 경우에 한하여, 블록 생성 순서에 대한 제어를 수행하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
상기 블록 생성 순서 제어부는,
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.
상기 블록체인 관리 장치는,
블록 생성 난이도를 조절하여, 블록 생성 주기를 가변적으로 제어하는 블록 생성 주기 제어부를 더 포함하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
상기 블록 생성 주기 제어부는,
기 설정된 기간 동안 상기 블록체인 데이터 상의 분기 발생 빈도를 기초로 상기 블록 생성 주기를 가변적으로 제어하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
상기 퍼미션 기반 블록체인 네트워크는,
상기 블록체인 데이터 상의 분기 발생 여부를 모니터링하는 모니터링 노드를 더 포함하고,
상기 블록체인 관리 장치는,
상기 모니터링 노드로부터, 상기 분기 발생 여부에 대한 정보를 수신하는 모니터링부를 더 포함하되,
상기 분기 발생 빈도는,
상기 분기 발생 여부에 대한 정보를 기초로 산출되는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
상기 블록체인 관리 장치는,
상기 생성된 블록의 크기를 가변적으로 제어하는 블록 크기 제어부를 더 포함하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
상기 블록체인 데이터는 분산형 데이터베이스를 구성하는 복수의 외부 스토리지 노드에 보관되고,
상기 복수의 블록체인 노드는,
상기 복수의 외부 스토리지 노드에 접근하여, 상기 블록체인 데이터를 관리하는 것을 특징으로 하는,
블록체인 기반의 데이터 처리 시스템.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.
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)
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 |
US11750700B2 (en) | 2018-10-24 | 2023-09-05 | Samsung Electronics Co., Ltd. | Method, device, computer-readable medium, and system for managing transactions |
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)
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)
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 |
-
2017
- 2017-08-29 KR KR1020170109266A patent/KR102382127B1/en active IP Right Grant
-
2018
- 2018-03-28 SG SG10201802603QA patent/SG10201802603QA/en unknown
Patent Citations (3)
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 |
---|---|
SG10201802603QA (en) | 2018-11-29 |
KR20180113140A (en) | 2018-10-15 |
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 | |
KR102384340B1 (en) | Method for processing blockchain based real-time transaction and system thereof | |
US10762479B2 (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 | |
US20180293557A1 (en) | Method of charging electronic currency automatically based on blockchain and system thereof | |
EP3610436B1 (en) | Rapid distributed consensus on blockchain | |
EP4344130A2 (en) | Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network | |
US9495668B1 (en) | Computing solutions to a problem involving inversion of a one-way function | |
KR101827373B1 (en) | Block window module having agreement algorithm for limiting mining, managing server and virtual money exchange system and method | |
US20190303622A1 (en) | Bicameral framework for fast and tamper-resistant blockchain validation | |
KR102407187B1 (en) | Method for charging electronic money automatically based on blockchain and system thereof | |
EP3739538A1 (en) | System and method of supporting reflection of transactions between blockchain networks | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
CN104247329A (en) | Secure remediation of devices requesting cloud services | |
JP7494205B2 (en) | Preventing the accidental transmission of copies of data records to the distributed ledger system | |
EP3839791A1 (en) | Identification and authorization of transactions via smart contracts | |
Kim et al. | A study on an energy-effective and secure consensus algorithm for private blockchain systems (PoM: Proof of Majority) | |
EP3970048A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
US9544153B1 (en) | Compression of cryptographic chaining certificates | |
Yánez et al. | Architecting internet of things systems with blockchain: A catalog of tactics | |
CN113544665B (en) | Execution of measurements of trusted agents in resource-constrained environments using proof of work | |
Jing et al. | The research of the data security for cloud disk based on the Hadoop framework | |
CN110825806A (en) | Distributed data storage |
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 |