KR102384340B1 - Method for processing blockchain based real-time transaction and system thereof - Google Patents
Method for processing blockchain based real-time transaction and system thereof Download PDFInfo
- Publication number
- KR102384340B1 KR102384340B1 KR1020170126979A KR20170126979A KR102384340B1 KR 102384340 B1 KR102384340 B1 KR 102384340B1 KR 1020170126979 A KR1020170126979 A KR 1020170126979A KR 20170126979 A KR20170126979 A KR 20170126979A KR 102384340 B1 KR102384340 B1 KR 102384340B1
- Authority
- KR
- South Korea
- Prior art keywords
- blockchain
- block chain
- block
- transaction
- network
- Prior art date
Links
Images
Classifications
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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
- G06Q20/3825—Use of electronic signatures
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
블록체인 기반 실시간 거래 처리 방법이 제공된다. 블록체인 네트워크(blockchain network)를 구성하는 복수의 블록체인 노드 및 서비스 제공 서버를 포함하는 블록체인 기반 거래 처리 시스템에 의해 수행되는 블록체인 기반 실시간 거래 처리 방법에 있어서, 상기 서비스 제공 서버가, 지급인의 단말로부터 대상 거래의 처리 요청이 수신됨에 응답하여, 상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 대상 거래의 처리 요청을 전달하고, 상기 제1 블록체인 노드로부터 상기 대상 거래의 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 단계, 상기 대상 거래가 유효한 경우, 상기 서비스 제공 서버가, 상기 대상 거래에 따라 상기 지급인의 전자 지갑에서 수취인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하는 단계 및 상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 상기 대상 거래에 대한 데이터를 신규 블록에 기록하고, 상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행하는 단계를 포함할 수 있다. 이때, 상기 제2 프로세스 및 상기 제3 프로세스는 병렬로 처리될 수 있다.A blockchain-based real-time transaction processing method is provided. A blockchain-based real-time transaction processing method performed by a blockchain-based transaction processing system including a plurality of blockchain nodes constituting a blockchain network and a service providing server, wherein the service providing server includes: In response to receiving the target transaction processing request from the terminal, the target transaction processing request is transmitted to a first blockchain node among the plurality of blockchain nodes, and the result of validation of the target transaction from the first blockchain node performing a first process of obtaining and performing, by a second block chain node among the plurality of block chain nodes, a third process of recording the data for the target transaction in a new block and propagating the new block on the block chain network. may include In this case, the second process and the third process may be processed in parallel.
Description
본 발명은 블록체인 기반 실시간 거래 처리 방법 및 시스템에 관한 것이다. 보다 자세하게는, 블록체인 네트워크의 구조적 변경 없이 블록체인 기반으로 실시간 거래 처리 서비스를 제공하는 방법 및 상기 방법을 수행하는 시스템에 관한 것이다.The present invention relates to a blockchain-based real-time transaction processing method and system. More specifically, it relates to a method of providing a real-time transaction processing service based on a block chain without structural change of the block chain network, and a system for performing the method.
블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드들이 상기 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 상기 체인 형태의 자료 구조로 구성된 데이터 그 자체를 의미한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는, 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.Blockchain is a data management technology in which continuously increasing data is recorded in a specific unit of block, and each node constituting a peer-to-peer (P2P) network manages the block as a chain-type data structure. Or, it means the data itself composed of the chain-type data structure. At this time, blockchain data composed of a chain-type data structure is operated in the form of a distributed ledger at each node without a central system.
블록체인 네트워크를 구성하는 각각의 블록체인 노드는 도 1에 도시된 바와 같은 자료 구조로 블록들을 관리한다. 여기서, 각 블록에는 이전 블록에 대한 해시 값이 기록되며, 상기 해시 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 거래 데이터의 위변조는 어려워지고, 각 블록에 기록된 거래 데이터의 신뢰도는 향상되게 된다.Each block chain node constituting the block chain network manages blocks in the data structure shown in FIG. 1 . Here, in each block, a hash value for the previous block is recorded, and the previous block can be referenced through the hash value. Accordingly, as blocks are accumulated, forgery and falsification of the transaction data recorded in the block becomes difficult, and the reliability of the transaction data recorded in each block is improved.
상기와 같은 블록체인에 기반한 거래 처리 시스템은 예를 들어 도 2에 도시된 과정에 따라 요청된 거래를 처리한다. 도 2를 참조하면, 전자 화폐의 지급인 단말로부터 거래 처리 요청이 수신되면(①), 이중 지불 방지 등을 위해 거래의 유효성 검증이 수행되고(②), 유효한 경우 거래 데이터가 블록 생성 노드로 전달된다(③). 다음으로, 상기 블록 생성 노드가 해당 거래 데이터를 신규 블록에 기록하고(④), 상기 신규 블록을 블록체인 네트워크 상에 전파하여 분산 합의가 이루어지도록 한다(⑤). 상기 분산 합의에 따라 거래가 최종 확정되면, 소정의 전자 화폐가 지급인의 전자 지갑으로부터 수취인의 전자 지갑으로 이전된다(⑥).The transaction processing system based on the block chain as described above processes the requested transaction according to, for example, the process shown in FIG. 2 . Referring to FIG. 2 , when a transaction processing request is received from the terminal that is the payer of electronic money (①), validation of the transaction is performed to prevent double payment (②), and if valid, the transaction data is transmitted to the block generating node becomes (③). Next, the block generating node records the transaction data in a new block (④), and propagates the new block on the blockchain network to achieve a distributed consensus (⑤). When the transaction is finally confirmed according to the distributed agreement, the predetermined electronic money is transferred from the payer's electronic wallet to the payee's electronic wallet (⑥).
블록체인 기반 거래 처리 시스템은 위와 같은 과정을 통해 중앙 관리 시스템 없이도 거래 당사자 간에 안전한 거래 서비스를 제공할 수 있다는 장점이 있다. 그러나, 위의 과정에 따르는 경우, 채굴 프로세스를 통해 신규 블록이 생성되고 상기 신규 블록이 각 블록체인 노드에 의해 검증되기 전까지 해당 거래가 승인 및 확정되지 않기 때문에, 실시간 거래 처리 서비스가 제공될 수 없다는 문제가 있다.The blockchain-based transaction processing system has the advantage of being able to provide secure transaction services between transaction parties without a central management system through the above process. However, if the above process is followed, a real-time transaction processing service cannot be provided because a new block is created through the mining process and the transaction is not approved and confirmed until the new block is verified by each blockchain node. there is
예를 들어, 위의 과정에 따라 거래 처리 서비스를 제공하는 비트코인(bitcoin) 블록체인은 평균 블록 생성 시간이 10분 가량 되기 때문에, 경우에 따라 요청된 거래가 처리 완료될 때까지 10분 이상의 시간이 소요될 수 있다.For example, since the average block creation time of the Bitcoin blockchain that provides transaction processing services according to the above process is about 10 minutes, in some cases, it may take more than 10 minutes until the requested transaction is processed. may take
본 발명이 해결하고자 하는 기술적 과제는, 블록체인 기반 실시간 거래 처리 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.The technical problem to be solved by the present invention is to provide a blockchain-based real-time transaction processing method and a system for performing the method.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 블록체인 기반 실시간 거래 처리 방법은, 블록체인 네트워크(blockchain network)를 구성하는 복수의 블록체인 노드 및 서비스 제공 서버를 포함하는 블록체인 기반 거래 처리 시스템에 의해 수행되는 블록체인 기반 실시간 거래 처리 방법에 있어서, 상기 서비스 제공 서버가, 지급인의 단말로부터 대상 거래의 처리 요청이 수신됨에 응답하여, 상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 대상 거래의 처리 요청을 전달하고, 상기 제1 블록체인 노드로부터 상기 대상 거래의 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 단계, 상기 대상 거래가 유효한 경우, 상기 서비스 제공 서버가, 상기 대상 거래에 따라 상기 지급인의 전자 지갑에서 수취인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하는 단계 및 상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 상기 대상 거래에 대한 데이터를 신규 블록에 기록하고, 상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행하는 단계를 포함할 수 있다. 이때, 상기 제2 프로세스 및 상기 제3 프로세스는 병렬로 처리될 수 있다.In order to solve the above technical problem, a blockchain-based real-time transaction processing method according to an embodiment of the present invention is a blockchain-based method comprising a plurality of blockchain nodes constituting a blockchain network and a service providing server A blockchain-based real-time transaction processing method performed by a transaction processing system, wherein the service providing server responds to receiving a request for processing a target transaction from a terminal of a payer, a first blockchain node among the plurality of blockchain nodes transmitting a request for processing the target transaction to and performing a first process of obtaining a validation result of the target transaction from the first block chain node, if the target transaction is valid, the service providing server performing a second process of transferring electronic money from the payer's electronic wallet to the payee's electronic wallet according to the transaction, and a second block chain node among the plurality of block chain nodes updates the data for the target transaction performing a third process of writing to a block and propagating the new block on the blockchain network. In this case, the second process and the third process may be processed in parallel.
일 실시예에서, 상기 블록체인 네트워크는, 허가된 사용자 및 허가된 블록체인 노드만이 참여하는 퍼미션 기반 블록체인 네트워크(permission-based blockchain network)로 구현될 수 있다.In one embodiment, the blockchain network may be implemented as a permission-based blockchain network in which only authorized users and authorized blockchain nodes participate.
일 실시예에서, 상기 제1 프로세스를 수행하는 단계는, 상기 대상 거래의 처리 요청과 함께 상기 지급인의 식별 정보를 수신하는 단계, 상기 수신된 식별 정보를 이용하여, 상기 블록체인 네트워크를 통해 상기 지급인에 대한 퍼미션 검증을 수행하는 단계 및 상기 퍼미션 검증의 결과, 상기 지급인의 퍼미션이 유효한 경우에 한하여, 상기 대상 거래의 처리 요청을 상기 제1 블록체인 노드로 전달하는 단계를 포함하되, 상기 식별 정보에 대응되는 지급인의 퍼미션 정보는 상기 블록체인 네트워크 상에 분산 저장될 수 있다.In one embodiment, performing the first process includes: receiving identification information of the payer along with a request for processing the target transaction; using the received identification information, the payer via the blockchain network performing permission verification for , and as a result of the permission verification, only when the payer's permission is valid, transmitting a request for processing the target transaction to the first block chain node, Permission information of the corresponding payer may be distributed and stored on the blockchain network.
일 실시예에서, 상기 제1 프로세스를 수행하는 단계는, 상기 대상 거래의 처리 요청과 함께 상기 지급인의 단말에 탑재된 전자 지갑 어플리케이션의 API(application programming interface) 키 정보를 수신하는 단계, 상기 수신된 API 키 정보를 이용하여, 상기 블록체인 네트워크를 통해 상기 전자 지갑 어플리케이션에 대한 퍼미션 검증을 수행하는 단계 및 상기 퍼미션 검증의 결과, 상기 전자 지갑 어플리케이션의 퍼미션이 유효한 경우에 한하여, 상기 대상 거래의 처리 요청을 상기 제1 블록체인 노드로 전달하는 단계를 포함하되, 기 발급된 전자 지갑 어플리케이션의 API 키 정보는 상기 블록체인 네트워크 상에 분산 저장될 수 있다.In an embodiment, performing the first process includes: receiving application programming interface (API) key information of an electronic wallet application mounted on the payer's terminal together with a request for processing the target transaction; Performing permission verification for the electronic wallet application through the block chain network using API key information, and as a result of the permission verification, request processing of the target transaction only when the permission of the electronic wallet application is valid is transmitted to the first blockchain node, wherein the previously issued API key information of the electronic wallet application may be distributed and stored on the blockchain network.
일 실시예에서, 채굴 프로세스를 통해 상기 신규 블록을 생성하는 단계, 상기 신규 블록에 상기 대상 거래에 대한 데이터 및 상기 제2 블록체인 노드의 퍼미션 정보를 기록하는 단계 및 상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 단계를 포함하되, 상기 복수의 블록체인 노드 중 상기 신규 블록을 수신한 블록체인 노드는, 상기 복수의 블록체인 노드가 관리하는 블록체인 데이터에 기 저장된 퍼미션 정보와 상기 신규 블록에 기록된 퍼미션 정보의 비교 결과에 기초하여 상기 신규 블록의 추가 여부를 판정할 수 있다.In one embodiment, generating the new block through a mining process, recording the target transaction data and permission information of the second block chain node in the new block, and converting the new block into the block chain network and the step of propagating to the above, wherein the block chain node that has received the new block among the plurality of block chain nodes records the permission information and the new block previously stored in the block chain data managed by the plurality of block chain nodes. Whether to add the new block may be determined based on the comparison result of the permission information.
일 실시예에서, 블록체인 기반 거래 처리 시스템은, 상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 더 포함하고, 상기 블록체인 관리 장치가, 상기 블록체인 네트워크에서 신규 블록의 생성에 소요된 평균 블록 생성 시간을 산출하는 단계 및 상기 블록체인 관리 장치가, 상기 측정된 평균 시간에 기초하여 블록 생성의 난이도를 조정하는 단계를 더 포함할 수 있다.In one embodiment, the block chain-based transaction processing system further comprises a block chain management device for managing the block chain network, wherein the block chain management device is an average block required to generate a new block in the block chain network The method may further include calculating a generation time and adjusting, by the block chain management device, the difficulty of block generation based on the measured average time.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 블록체인 기반 실시간 거래 처리 시스템은, 블록체인 네트워크(blockchain network)를 구성하는 복수의 블록체인 노드 및 지급인의 단말로부터 대상 거래의 처리 요청이 수신됨에 응답하여, 상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 대상 거래의 처리 요청을 전달하고, 상기 제1 블록체인 노드로부터 상기 대상 거래의 유효성 검증 결과를 획득하는 제1 프로세스를 수행하고, 상기 대상 거래가 유효한 경우, 상기 대상 거래에 따라 상기 지급인의 전자 지갑에서 수취인인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하는 서비스 제공 서버를 포함하되, 상기 복수의 블록체인 노드 중 제2 블록체인 노드는, 상기 대상 거래에 대한 데이터를 신규 블록에 기록하고, 상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행할 수 있다. 이때, 상기 제2 프로세스 및 상기 제3 프로세스는 병렬로 처리될 수 있다.A block chain-based real-time transaction processing system according to another embodiment of the present invention for solving the above technical problem, a request for processing a target transaction from a plurality of block chain nodes constituting a block chain network and a terminal of a payer In response to this being received, a first process of transmitting a request for processing the target transaction to a first blockchain node among the plurality of blockchain nodes, and obtaining a validation result of the target transaction from the first blockchain node and a service providing server that performs a second process for transferring electronic money from the payer's electronic wallet to the payee's electronic wallet according to the target transaction when the target transaction is valid, wherein the plurality of block chains The second blockchain node among the nodes may perform a third process of recording the data for the target transaction in a new block and propagating the new block on the blockchain network. In this case, the second process and the third process may be processed in parallel.
상술한 본 발명에 따르면, 퍼미션 기반 블록체인 네트워크를 이용함으로써 거래 처리 서비스를 이용하는 사용자, 거래 처리를 수행하는 블록체인 노드의 신뢰성이 사전에 확보된다. 아울러, 확보된 신뢰성에 기반하여 요청된 거래에 따른 전자 화폐의 이전 처리 프로세스와 상기 요청된 거래의 확정 처리 프로세스가 병렬적으로 수행될 수 있다. 이에 따라, 제3 기관의 개입 없이 탈중앙화에 기반한 블록체인 구조를 유지하면서 실시간 거래 서비스가 제공될 수 있다.According to the present invention described above, by using a permission-based blockchain network, the reliability of a user who uses a transaction processing service and a blockchain node performing transaction processing is secured in advance. In addition, based on the secured reliability, the electronic money transfer processing process according to the requested transaction and the confirmation processing process of the requested transaction may be performed in parallel. Accordingly, real-time transaction services can be provided while maintaining the blockchain structure based on decentralization without the intervention of a third party.
또한, 실시간 거래 서비스가 제공됨에 따라, 거래 서비스를 이용하는 사용자의 만족도가 향상될 수 있다.In addition, as a real-time transaction service is provided, a user's satisfaction using the transaction service may be improved.
또한, 실시간 거래 서비스가 제공됨에 따라, 금융 분야 등 다양한 분야에 블록체인 기술이 활용될 수 있는 바, 블록체인 기술의 활용 범위에 대한 제약이 완화될 수 있다.In addition, as a real-time transaction service is provided, blockchain technology can be used in various fields such as the financial field, so restrictions on the scope of use of the block chain technology can be relaxed.
또한, 상기 확보된 신뢰성에 기반하여, 블록 생성 시간을 줄임으로써, 블록체인 네트워크에서 거래 확정에 소요되는 시간 또한 단축될 수 있다.In addition, by reducing the block generation time based on the secured reliability, the time required for transaction confirmation in the block chain network can also be shortened.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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은 본 발명의 일 실시예에 따른 블록체인 기반 실시간 거래 처리 시스템의 구성도이다.
도 4a 및 도 4b는 인증된 사용자와 비인증 사용자에 의해 요청된 거래가 처리되는 과정을 비교 설명하기 위한 도면이다.
도 5는 상기 블록체인 기반 실시간 거래 처리 시스템에서 요청된 거래가 처리되는 과정을 설명하기 위한 개념도이다.
도 6은 상기 블록체인 기반 실시간 거래 처리 시스템의 일 구성 요소인 서비스 제공 서버(100)를 나타내는 예시적인 블록도이다.
도 7은 상기 블록체인 기반 실시간 거래 처리 시스템의 일 구성 요소인 서비스 제공 서버(100)의 하드웨어 구성도이다.
도 8은 본 발명의 다른 실시예에 따른 블록체인 기반 실시간 거래 처리 방법의 흐름도이다.1 is a diagram for explaining the structure of block chain data that can be referenced in some embodiments of the present invention.
2 is a diagram for explaining a transaction processing process performed in a conventional blockchain-based transaction processing system.
3 is a block diagram of a blockchain-based real-time transaction processing system according to an embodiment of the present invention.
4A and 4B are diagrams for comparing and explaining a process of processing a transaction requested by an authenticated user and an unauthenticated user.
5 is a conceptual diagram for explaining a process of processing a requested transaction in the blockchain-based real-time transaction processing system.
6 is an exemplary block diagram illustrating the
7 is a hardware configuration diagram of the
8 is a flowchart of a blockchain-based real-time 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, block chain data is data maintained by each block chain node constituting a block chain network, and means data in which at least one block is configured as a chain-type data structure. When the data recorded in each block is transaction data, the block chain data can be used as a distributed ledger. However, the type of data recorded in each block may vary. Refer to FIG. 1 for the structure of the block chain data.
본 명세서에서, 블록체인 네트워크란, 블록체인 알고리즘에 따라 동작하는 복수의 블록체인 노드로 구성된 P2P 구조의 네트워크를 의미한다.In this specification, a blockchain network refers to a P2P-structured network composed of a plurality of blockchain nodes operating according to a blockchain algorithm.
본 명세서에서, 블록체인 노드란, 블록체인 네트워크를 구성하고 블록체인 알고리즘에 기초하여 블록체인 데이터를 유지하고 관리하는 주체를 의미한다. 상기 블록체인 노드는 단일 컴퓨팅 장치로 구현될 수 있으나, 가상 머신(virtual machine) 등으로 구현될 수도 있다. 가상 머신으로 구현되는 경우, 단일 컴퓨팅 장치에 복수의 블록체인 노드가 존재할 수 있다.In this specification, a block chain node means a subject that configures a block chain network and maintains and manages block chain data based on a block chain algorithm. The blockchain node may be implemented as a single computing device, but may also be implemented as a virtual machine or the like. When implemented as a virtual machine, a plurality of blockchain nodes may exist on a single computing device.
본 명세서에서, 블록 생성 노드란, 블록체인 네트워크를 구성하는 블록체인 노드 중 채굴(mining)을 통해 신규 블록을 생성하는 노드를 의미한다.As used herein, a block generating node means a node that generates a new block through mining among the block chain nodes constituting the block chain network.
본 명세서에서, 가상 화폐란, 광의의 의미로 실물 없이 사이버 상으로 거래되는 전자 화폐를 의미한다. 협의의 의미의 가상 화폐는 예를 들어 비트코인과 같이 블록체인 상에 채굴을 통해 발행되는 전자 화폐를 의미하며, 당해 기술 분야에서 네이티브 애셋(native asset) 등의 용어와 혼용되어 사용될 수 있다.In the present specification, virtual currency refers to electronic money that is transacted online without a real thing in a broad sense. Virtual currency in a narrow sense refers to electronic money issued through mining on a block chain, such as, for example, Bitcoin, and may be used interchangeably with terms such as native asset in the technical field.
본 명세서에서, 사용자 정의 화폐란, 상기 가상 화폐에 기반하여 사용자에 의해 정의된 화폐를 의미한다. 예를 들어, 상기 사용자 정의 화폐는 오픈 애셋 프로토콜(open asset protocol)을 이용하여 거래 서비스의 운영자에 의해 정의된 화폐가 될 수 있다. 참고로, 상기 가상 화폐 및/또는 상기 사용자 정의 화폐에서 "화폐"란 용어는 교환 수단이 되는 화폐 외에도 거래 대상이 되는 자산까지 포함하는 포괄적인 의미로 이용될 수도 있다. 예를 들어, 상기 사용자 정의 화폐는 포인트, 마일리지 등의 포인트형 화폐, 실물 화폐 외에 주식, 채권 등의 금융 자산까지 포함할 수 있다. 상기 사용자 정의 화폐는 당해 기술 분야에서 커스텀 애셋(custom asset) 등의 용어와 혼용되어 사용될 수 있다.In this specification, the user-defined currency means money defined by a user based on the virtual currency. For example, the user-defined currency may be a currency defined by an operator of a transaction service using an open asset protocol. For reference, in the virtual currency and/or the user-defined currency, the term “money” may be used in a comprehensive sense including not only a currency as an exchange means but also an asset to be traded. For example, the user-defined currency may include point-type money such as points and mileage, and financial assets such as stocks and bonds in addition to real money. The user-defined currency may be used interchangeably with terms such as custom assets in the technical field.
본 명세서에서, 오픈 애셋 프로토콜은 블록체인 상의 가상 화폐에 기반하여 사용자 정의 화폐를 발행하는 자산 발행 기술을 의미한다. 상기 오픈 애셋 프로토콜은 당해 기술 분야에서 컬러드 코인(colored coin) 등의 용어와 혼용되어 사용될 수 있다.In this specification, the open asset protocol refers to an asset issuance technology that issues user-defined currency based on virtual currency on the blockchain. The open asset protocol may be used interchangeably with terms such as a colored coin in the art.
본 명세서에서, 퍼미션(permission)은 인증(authentication)과 인가(authorization)을 포함하는 포괄적인 개념으로 이해될 수 있다.In this specification, permission may be understood as a comprehensive concept including authentication (authentication) and authorization (authorization).
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반 실시간 거래 처리 시스템의 구성도이다.3 is a block diagram of a blockchain-based real-time transaction processing system according to an embodiment of the present invention.
도 3을 참조하면, 블록체인 기반 실시간 거래 처리 시스템은 서비스 제공 서버(100), 블록체인 관리 장치(200), 블록체인 네트워크(300) 및 사용자 단말(400)을 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 3에 도시된 블록체인 기반 실시간 거래 처리 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 서비스 제공 서버(100) 및 블록체인 관리 장치(200)가 하나의 물리적인 컴퓨팅 장치로 구현될 수 있고, 서비스 제공 서버(100) 및/또는 블록체인 관리 장치(200)가 블록체인 네트워크(300)를 구성하는 적어도 하나의 블록체인 노드로 구현될 수도 있다. 이하, 블록체인 기반 실시간 거래 처리 시스템의 각 구성 요소에 대하여 설명한다.Referring to FIG. 3 , the blockchain-based real-time transaction processing system may be configured to include a
상기 블록체인 기반 실시간 거래 처리 시스템에서, 서비스 제공 서버(100)는 블록체인 네트워크(300)와 연동하여 실시간 거래 서비스를 제공하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.In the blockchain-based real-time transaction processing system, the
서비스 제공 서버(100)는 실시간 거래 서비스를 이용하는 사용자 단말(400)로부터 각종 요청을 수신하고, 블록체인 네트워크(300)와 연동하여 상기 수신된 각종 요청을 처리한다. 서비스 제공 서버(100)의 구체적인 동작은 도 4a 이하의 도면을 참조하여 후술하도록 한다.The
상기 블록체인 기반 실시간 거래 처리 시스템에서, 블록체인 관리 장치(200)는 블록체인 네트워크(300)를 구성하는 복수의 블록체인 노드를 모니터링하고 관리하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.In the block chain-based real-time transaction processing system, the block
본 발명의 실시예에 따르면, 블록체인 관리 장치(200)는 블록체인 네트워크(300)에서 신규 블록의 생성에 소요된 평균 블록 생성 시간을 산출하고, 상기 산출된 평균 블록 생성 시간에 기초하여 주기 또는 비주기적으로 블록 생성 시간을 조정할 수 있다. 구체적으로, 상기 산출된 평균 블록 생성 시간이 기 설정된 목표 시간보다 긴 경우, 블록체인 관리 장치(200)는 블록 생성의 난이도를 낮춤으로써 상기 블록 생성 시간을 조정할 수 있다. 본 실시예에 따르면, 상기 목표 시간을 작게 설정함으로써 신규 블록 생성에 소요되는 시간이 단축될 수 있고, 이에 따라 블록체인 네트워크에서 신속한 거래 확정이 수행될 수 있다.According to an embodiment of the present invention, the block
상기 목표 시간은 기 설정된 고정 값 또는 소정의 조건에 따라 변동되는 변동 값일 수 있다. 예를 들어, 상기 목표 시간은 블록체인 네트워크(300)의 신뢰도에 따라 동적으로 변동되는 변동 값일 수 있다. 또한, 블록체인 네트워크(300)의 신뢰도는 블록체인 네트워크(300)에서 수행되는 퍼미션 검증 정도에 따라 결정될 수 있다. 보다 구체적인 예를 들어, 블록체인 네트워크(300)에서 거래를 요청한 사용자에 대한 퍼미션 검증만 수행되는 경우, 블록체인 네트워크(300)의 신뢰도는 제1 신뢰도로 결정될 수 있다. 또한, 블록체인 네트워크(300)에서 사용자 단말(400)에 탑재된 전자 지갑 어플리케이션에 대한 퍼미션 검증이 더 수행되는 경우, 블록체인 네트워크(300)의 신뢰도는 상기 제1 신뢰도 보다 높은 제2 신뢰도로 결정될 수 있다. 또한, 블록체인 네트워크(300)에서 블록 생성 노드에 의해 생성된 신규 블록에 대한 퍼미션 검증이 더 수행되는 경우, 블록체인 네트워크(300)의 신뢰도는 상기 제2 신뢰도보다 높은 제3 신뢰도로 결정될 수 있다. 이때, 목표 시간은 블록체인 네트워크(300)의 신뢰도가 상기 제3 신뢰도로 결정될 때 가장 작은 값으로 설정되고, 상기 제1 신뢰도로 결정될 때 가장 큰 값으로 설정될 수 있다.The target time may be a preset fixed value or a variable value that varies according to a predetermined condition. For example, the target time may be a variable value that is dynamically changed according to the reliability of the
전술한 실시예에서, 블록체인 관리 장치(200)는 블록체인 네트워크(300)를 구성하는 특수 노드인 모니터링 노드(monitoring node)로부터 블록 생성 시간 정보를 수신하고, 상기 수신된 블록 생성 시간 정보를 기초로 평균 블록 생성 시간을 산출할 수 있다. 상기 모니터링 노드의 구체적인 동작은 후술하도록 한다.In the above-described embodiment, the block
상기 블록체인 기반 실시간 거래 처리 시스템에서, 블록체인 네트워크(300)는 블록체인 알고리즘에 따라 동작하는 복수의 블록체인 노드를 포함하도록 구성될 수 있다. 상기 복수의 블록체인 노드는 서비스 제공 서버(100)의 거래 처리 요청에 응답하여 해당 거래의 유효성을 검증하고, 검증된 거래를 신규 블록에 기록하며, 블록체인 네트워크(300) 상에 전파한다. 각각의 블록체인 노드는 동일한 블록체인 데이터를 유지한다.In the blockchain-based real-time transaction processing system, the
본 발명의 실시예에 따르면, 블록체인 네트워크(300)는 퍼미션 기반 블록체인 네트워크로 구현될 수 있다. 즉, 블록체인 네트워크(300)는 퍼미션이 검증된 참여자(e.g. 사용자, 블록체인 노드)만이 참여할 수 있는 제한된 네트워크일 수 있다. 여기서, 상기 퍼미션 기반 블록체인 네트워크는 당해 기술 분야에서 사설 블록체인 네트워크(private blockchain network) 등의 용어와 혼용되어 사용될 수 있으나, 동일한 의미를 지칭할 수 있다. 본 실시예에 따르면, 불특정 노드의 참여 및 허가되지 않은 사용자의 거래 요청은 제한될 수 있다. 즉, 거래 서비스를 이용하는 사용자, 상기 사용자에 의해 요청된 대상 거래 및 거래 처리를 수행하는 노드 등에 대한 신뢰성이 사전에 확보될 수 있다. 이에 따라, 블록 생성에 소요되는 과도한 작업 증명(proof of work)의 요건이 완화될 수 있을 뿐만 아니라, 기 확보된 신뢰성에 기초하여 실시간 거래 처리 서비스가 제공될 수 있다. 본 실시예에 대한 자세한 설명은 도 4a 내지 도 5를 참조하여 부연 설명하도록 한다.According to an embodiment of the present invention, the
또한, 본 발명의 실시예에 따르면, 블록체인 네트워크(300)는 제1 블록체인 데이터 및 상기 제1 블록체인 데이터와 별개로 구성된 제2 블록체인 데이터를 분산 저장할 수 있다. 이때, 상기 제1 블록체인 데이터는 사용자 및 블록체인 노드의 퍼미션 정보가 기록된 인증 블록체인이고, 상기 제2 블록체인 데이터는 거래 내역이 기록된 거래 블록체인을 의미할 수 있다. 즉, 블록체인 네트워크(300)는 서로 다른 용도를 갖는 데이터를 서로 다른 블록체인으로 관리할 수 있다. 상기 제1 블록체인 데이터는 퍼미션 기반 블록체인 네트워크(300)에서 퍼미션 검증의 용도로 이용되고, 상기 제2 블록체인 데이터는 거래 처리의 용도로 이용된다. 본 실시예에 대한 설명은 이후 도 4a 및 도 4b를 참조하여 부연 설명하도록 한다.In addition, according to an embodiment of the present invention, the
본 발명의 실시예에 따르면, 블록체인 네트워크(300)를 구성하는 복수의 블록체인 노드 중 적어도 하나의 노드는 모니터링 노드일 수 있다. 상기 모니터링 노드는 전술한 바와 같이 다른 블록체인 노드의 상태 및 동작을 모니터링하는 특수한 유형의 노드를 의미한다. 특히, 상기 모니터링 노드는 복수의 블록체인 노드 중 블록 생성 노드의 신규 블록 생성을 모니터링할 수 있다. 구체적으로, 상기 모니터링 노드는 블록체인 네트워크(300) 상에서 전파되는 신규 블록을 수신하고, 상기 신규 블록이 수신됨에 응답하여, 상기 신규 블록에 기록된 타임스탬프 값을 기초로 블록 생성 시간을 산출할 수 있다. 예를 들어, 블록 번호 k(단, k는 1 이상의 자연수)를 갖는 제1 블록 이후에 블록 번호 k+1를 갖는 제2 블록이 수신되면 상기 제1 블록에 기록된 제1 타임스탬프와 상기 제2 블록에 기록된 제2 타임스탬프의 차이를 기초로 블록 생성 시간을 산출할 수 있다. 상기 산출된 블록 생성 시간은 블록체인 관리 장치(200)로 전송되어, 블록체인 관리 장치(200)가 블록 생성 시간을 제어하는데 이용될 수 있다.According to an embodiment of the present invention, at least one node among a plurality of blockchain nodes constituting the
상기 블록체인 기반 실시간 거래 처리 시스템에서, 사용자 단말(400)은 블록체인 기반의 실시간 거래 서비스를 이용하는 사용자의 단말이다. 상기 사용자는 거래 당사자 중 일방으로 지급인 또는 수취인이 될 수 있다.In the blockchain-based real-time transaction processing system, the
사용자 단말(400)에는 실시간 거래 서비스를 제공받기 위해 전자 지갑 어플리케이션이 탑재될 수 있다. 또한, 상기 전자 어플리케이션의 퍼미션 검증을 위해 서비스 제공 서버(100) 및/또는 블록체인 관리 장치(200) 등에 의해 API(application programming interface) 키가 발급될 수 있다. 발급된 상기 API키는 블록체인 네트워크(300)가 분산 관리하는 블록체인 데이터에 기록될 수 있다.The
도 3에 도시된 블록체인 기반 실시간 거래 처리 시스템의 각 구성 요소는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.Each component of the blockchain-based real-time transaction processing system shown in FIG. 3 can 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을 참조하여 본 발명의 일 실시예에 따른 블록체인 기반 실시간 거래 시스템의 구성에 대하여 설명하였다. 이하에서는 도 4a 내지 도 5를 참조하여, 블록체인 기반 실시간 거래 시스템에서 실시간 거래 처리 수행되는 과정에 대하여 설명하도록 한다.So far, the configuration of a block chain-based real-time transaction system according to an embodiment of the present invention has been described with reference to FIG. 3 . Hereinafter, a process in which real-time transaction processing is performed in a blockchain-based real-time transaction system will be described with reference to FIGS. 4A to 5 .
도 4a 및 도 4b는 인증된 사용자와 비인증 사용자에 의해 요청된 거래가 처리되는 과정을 비교 설명하기 위한 도면이다. 구체적으로, 도 4a는 인증된 사용자(이하, "제1 사용자"로 명명함)에 의해 요청된 거래가 처리되는 과정을 도시하고, 도 4b는 비인증 사용자(이하, "제2 사용자"로 명명함)에 의해 요청된 거래가 처리되는 과정을 도시한다.4A and 4B are diagrams for comparing and explaining a process of processing a transaction requested by an authenticated user and an unauthenticated user. Specifically, FIG. 4A illustrates a process in which a transaction requested by an authenticated user (hereinafter, referred to as a “first user”) is processed, and FIG. 4B illustrates a process in which a transaction requested by an authenticated user (hereinafter, referred to as “second user”) is processed. It shows the process of processing the transaction requested by .
먼저 도 4a를 참조하면, 상기 제1 사용자로부터 거래 처리 요청이 수신됨에 응답하여(①), 서비스 제공 서버(100)는 상기 제1 사용자에 대한 퍼미션 검증을 수행한다(②). 상기 퍼미션 검증은 인증 블록체인(300a)에 기록된 퍼미션 정보에 기초하여 수행될 수 있다.First, referring to FIG. 4A , in response to receiving a transaction processing request from the first user (①), the
구체적으로, 서비스 제공 서버(100)는 상기 거래 처리 요청과 함께 상기 제1 사용자의 식별 정보를 수신하고, 상기 수신된 식별 정보를 이용하여, 인증 블록체인(300a)에서 상기 제1 사용자의 퍼미션 정보를 획득하며, 상기 획득된 제1 사용자의 퍼미션 정보를 통해 상기 제1 사용자에 대한 퍼미션 검증을 수행할 수 있다. 이때, 상기 식별 정보는 ID, 사용자의 이름, 전자 서명 등이 될 수 있고, 인증 블록체인(300a)에 기록된 퍼미션 정보는 공개키, 인증서, 패스워드 등이 될 수 있으며, 시스템의 구현 형태에 따라 얼마든지 달라질 수 있다. 참고로, 사용자의 공개키가 퍼미션 정보로 이용되는 경우, 거래 데이터에 포함된 상기 제1 사용자의 전자 서명을 검증하는 방식으로 퍼미션 검증이 수행될 수 있다.Specifically, the
본 발명의 실시예에 따르면, 서비스 제공 서버(100)는 상기 제1 사용자의 단말에 탑재된 어플리케이션에 대한 퍼미션 검증을 더 수행할 수 있다. 구체적으로, 서비스 제공 서버(100)가 상기 거래 처리 요청과 함께 상기 제1 사용자의 단말에 탑재된 전자 지갑 어플리케이션의 API 키 정보를 수신하고, 상기 수신된 API 키 정보가 인증 블록체인(300a)에 기록되어 있는지를 검증하는 방식으로 상기 전자 지갑 어플리케이션에 대한 퍼미션 검증을 수행할 수 있다. 즉, 인증 블록체인(300a)에 화이트 리스트(whitelist)로 구성된 전자 지갑 어플리케이션에 대한 API 키 정보가 분산 저장되고, 상기 화이트 리스트를 이용하여 전자 지갑 어플리케이션에 대한 퍼미션 검증이 수행될 수 있다. 실시예에 따라, 블랙 리스트(blacklist)로 구성된 전자 지갑 어플리케이션에 대한 API 키 정보 또한 인증 블록체인(300a)에 분산 저장될 수 있다.According to an embodiment of the present invention, the
상술한 방식으로, 상기 제1 사용자 및/또는 상기 제1 사용자의 단말에 탑재된 전자 지갑 어플리케이션에 대한 퍼미션이 검증되면, 서비스 제공 서버(100)는 상기 제1 사용자에 의해 요청된 거래를 처리한다(③, ④). 이때, 상기 요청된 거래의 데이터는 인증 블록체인(300a)가 별개의 체인으로 구성된 거래 블록체인(300b)에 기록될 수 있다. 참고로, 인증 블록체인(300a)과 거래 블록체인(300b)을 분산 관리하는 블록체인 노드는 동일할 수도 있고, 적어도 일부는 상이할 수도 있다. 이는, 실시예에 따라 얼마든지 달라질 수 있다.In the above manner, when the permission for the first user and/or the electronic wallet application mounted on the first user's terminal is verified, the
다음으로, 도 4b를 참조하여 비인증 사용자인 제2 사용자의 단말로부터 거래 처리 요청이 수신된 경우에 대하여 설명한다.Next, a case in which a transaction processing request is received from the terminal of the second user who is an unauthenticated user will be described with reference to FIG. 4B .
도 4b를 참조하면, 상기 제2 사용자의 단말로부터 거래 처리 요청이 수신됨에 응답하여(①), 서비스 제공 서버(100)는 상기 제2 사용자에 대한 퍼미션 검증을 수행한다(②). 상기 퍼미션 검증은 전술한 바와 같이 상기 제2 사용자에 대한 퍼미션 검증 및/또는 상기 제2 사용자의 단말에 탑재된 전자 지갑 어플리케이션에 대한 검증을 포함할 수 있다.Referring to FIG. 4B , in response to the transaction processing request being received from the second user's terminal (①), the
퍼미션 검증 결과, 인증에 실패하거나 권한이 없는 것으로 판정된 상기 제2 사용자의 거래 처리 요청은 거부된다(③).As a result of the permission verification, the transaction processing request of the second user determined to be unsuccessful in authentication or not authorized is rejected (③).
지금까지, 도 4a 및 도 4b를 참조하여, 퍼미션 기반 블록체인 네트워크에서 인증된 사용자와 비인증 사용자에 의해 요청된 거래가 처리되는 과정을 비교 설명하였다. 상술한 바에 따르면, 사용자에 대한 퍼미션 검증 및 사용자 단말에 탑재된 어플리케이션에 대한 퍼미션 검증이 수행되고, 퍼미션 검증에 따라 신뢰성 있는 사용자 및 어플리케이션에 의해 요청된 거래만이 처리될 수 있다. 즉, 상기와 같은 퍼미션 검증을 통해 실제로 블록체인 네트워크(300)를 통해 처리되는 거래에 대한 소정의 신뢰성이 확보될 수 있다.So far, with reference to FIGS. 4A and 4B, a process of processing a transaction requested by an authenticated user and an unauthenticated user in a permission-based blockchain network has been compared and described. As described above, permission verification for a user and permission verification for an application mounted on the user terminal are performed, and only transactions requested by a trusted user and application according to the permission verification can be processed. That is, through the permission verification as described above, a predetermined reliability of the transaction actually processed through the
다음으로, 도 5를 참조하여, 퍼미션 검증을 통과한 거래가 처리되는 과정에 대하여 보다 구체적으로 설명하도록 한다. 설명의 편의를 위해 상기 퍼미션 검증을 통과한 거래는 전자 화폐의 지급인(또는 송신자)이 수취인(또는 수신자)에게 소정의 전자 화폐를 송금하는 내용을 포함하는 것으로 가정하여 설명하도록 한다.Next, with reference to FIG. 5 , a process in which a transaction that has passed permission verification is processed will be described in more detail. For convenience of explanation, it is assumed that the transaction that has passed the permission verification includes the content that the payer (or sender) of the electronic money remits the predetermined electronic money to the recipient (or the receiver).
도 5를 참조하면, 서비스 제공 서버(100)는 지급인의 단말로부터 거래 처리 요청이 수신됨에 응답하여, 블록체인 네트워크(300)를 구성하는, 정확하게는 거래 블록체인(300b)을 분산 관리하는, 복수의 블록체인 노드 중에서 제1 블록체인 노드로 요청된 거래를 전달하고, 상기 제1 블록체인 노드로부터 상기 요청된 거래의 유효성 검증 결과를 획득하는 제1 프로세스를 수행한다(①, ②).Referring to FIG. 5 , the
상기 요청된 거래가 유효한 것으로 판정된 경우, 서비스 제공 서버(100)는 상기 요청된 거래에 따라 상기 지급인의 전자 지갑에서 수취인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하고, 거래 처리 완료를 지급인 및 수취인의 단말로 통지한다(③).When it is determined that the requested transaction is valid, the
이와 동시에, 블록체인 네트워크(300)을 구성하는, 정확하게는 거래 블록체인(300b)을 분산 관리하는, 복수의 블록체인 노드 중 제2 블록체인 노드 등은 상기 요청된 거래에 대한 데이터를 신규 블록에 기록하고, 상기 신규 블록을 블록체인 네트워크(300) 상에 전파하는 제3 프로세스를 수행한다(③).At the same time, the second block chain node among a plurality of block chain nodes constituting the
상기 제2 프로세스 및 상기 제3 프로세스가 병렬로 처리됨에 따라, 신규 블록이 생성되고 상기 신규 블록에 거래 데이터가 기록되어 확정되기 전에, 요청된 거래에 대한 처리가 즉각적으로 수행된다. 이에 따라, 사용자에게 실시간 거래 처리 서비스가 제공될 수 있다.As the second process and the third process are processed in parallel, the processing of the requested transaction is immediately performed before a new block is generated and transaction data is recorded and confirmed in the new block. Accordingly, a real-time transaction processing service may be provided to the user.
한편, 본 발명의 실시예에 따르면, 상기 제3 프로세스가 처리되는 과정에서 블록 생성 노드에 대한 퍼미션에 검증이 수행될 수 있다. 구체적으로, 채굴 프로세스를 통해 신규 블록을 생성한 블록 생성 노드는 상기 신규 블록에 상기 요청된 거래에 대한 데이터와 함께 자신의 퍼미션 정보(e.g. 전자 서명 정보)를 함께 기록할 수 있다. 상기 신규 블록이 블록체인 네트워크(300) 상에 전파됨에 따라, 상기 신규 블록을 수신한 블록체인 노드는 상기 신규 블록에 기록된 퍼미션 정보와 인증 블록체인(300b)에 기 저장된 블록 생성 노드 화이트리 리스트의 퍼미션 정보를 비교하여 신규 블록의 추가 여부를 판정할 수 있다. 즉, 각 블록체인 노드는 인증 및/또는 인가된 블록 생성 노드에 의해 생성된 신규 블록만을 블록체인 데이터에 추가하도록 동작할 수 있다.Meanwhile, according to an embodiment of the present invention, verification may be performed on the permission for the block generating node while the third process is being processed. Specifically, a block generating node that has generated a new block through the mining process may record its permission information (e.g. electronic signature information) together with data about the requested transaction in the new block. As the new block is propagated on the
지금까지, 도 4a 내지 5를 참조하여 블록체인 기반 실시간 거래 시스템에서 실시간 거래 처리 수행되는 과정에 대하여 설명하였다. 상술한 바에 따르면, 본 발명의 실시예에 따른 퍼미션 기반 블록체인 네트워크에서는, 신뢰성 있는 사용자가 신뢰성 있는 어플리케이션을 이용하여 요청한 거래만이 처리될 수 있다. 또한, 신뢰성이 있는 블록 생성 노드에 의해 생성된 신규 블록만이 블록체인 데이터에 추가될 수 있다. 따라서, 상기 블록체인 데이터를 통해 유효한 것으로 검증된 거래는 다른 블록체인 노드들이 검증하더라도 유효한 거래로 검증될 것이고, 이에 따라 한 번의 유효성이 검증된 거래는 블록체인 데이터에 반드시 기록될 것으로 예측될 수 있다. 이와 같은 예측을 통해, 요청된 거래에 대하여 한 번의 유효성만 검증되면, 블록체인 데이터에 기록되기 전이라도 즉각적으로 처리될 수 있고, 블록체인 구조의 변경 없이도 실시간 거래 처리 서비스가 제공될 수 있다.So far, a process of performing real-time transaction processing in a blockchain-based real-time transaction system has been described with reference to FIGS. 4A to 5 . As described above, in the permission-based blockchain network according to an embodiment of the present invention, only transactions requested by a trusted user using a trusted application can be processed. Also, only new blocks created by trusted block generating nodes can be added to blockchain data. Therefore, a transaction verified as valid through the block chain data will be verified as a valid transaction even if other block chain nodes verify it, and accordingly, it can be predicted that a transaction that has been validated once will be recorded in the block chain data. . Through this prediction, if the validity of the requested transaction is verified only once, even before it is recorded in the block chain data, it can be processed immediately, and a real-time transaction processing service can be provided without changing the block chain structure.
이하에서는, 상기 블록체인 기반 실시간 거래 처리 시스템의 일 구성 요소인 서비스 제공 서버(100)의 구성 및 동작에 대하여 도 6 및 도 7을 참조하여 설명하도록 한다.Hereinafter, the configuration and operation of the
먼저, 도 6은 본 발명의 실시예에 따른 서비스 제공 서버(100)를 나타내는 예시적인 블록도이다.First, FIG. 6 is an exemplary block diagram illustrating the
도 6을 참조하면, 서비스 제공 서버(100)는 서비스 요청 처리부(110), 저장부(130), 통신부(150) 및 제어부(170)를 포함하도록 구성될 수 있다. 다만, 도 6에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 6에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 6에 도시된 결제 서비스 제공 서버의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 6 , the
각 구성 요소를 살펴보면, 서비스 요청 처리부(110)는 사용자 단말(400)로부터 각종 요청을 수신하고, 상기 요청에 따른 결과를 제공한다. 예를 들어, 서비스 요청 처리부(110)는 블록체인 네트워크(300)와 연동하여 사용자 단말(400)로부터 요청된 거래를 처리한다.Looking at each component, the service
구체적으로, 서비스 요청 처리부(110)는 사용자 단말(400)로부터 수신된 거래 처리 요청에 응답하여 사용자 및/또는 사용자 단말(400)에 탑재된 어플리케이션에 대한 퍼미션 검증을 수행하고, 상기 퍼미션 검증이 통과되면 블록체인 네트워크(300)를 통해 요청된 거래를 처리한다. 이에 대한 설명은, 전술한 바와 같으므로, 중복된 설명을 배제하기 위해 생략하도록 한다. 서비스 요청 처리부(110)의 동작에 대한 추가적인 내용은 도 8의 설명 내용을 더 참조하도록 한다.Specifically, the service
저장부(130)는 서비스 제공 서버(100)의 각종 동작을 수행하는 하나 이상의 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 저장부(130)는 ROM(Read Only Memory), PROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
통신부(150)는 블록체인 기반 실시간 거래 처리 시스템의 다른 구성 요소와 데이터 통신을 수행한다. 이를 위해, 통신부(150)는 유선 인터넷 모듈, 이동통신 모듈 또는 무선통신 모듈을 구비할 수 있다.The
제어부(170)는 서비스 제공 서버(100)의 각 구성의 전반적인 동작을 제어한다. 제어부(170)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 제어부(170)는 전술한 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 어플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.The
도 6의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.Each component of FIG. 6 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.
다음으로, 도 7은 본 발명의 실시예에 따른 서비스 제공 서버(100)의 하드웨어 구성도이다.Next, FIG. 7 is a hardware configuration diagram of the
도 7을 참조하면, 서비스 제공 서버(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 블록체인 기반 실시간 거래 처리 소프트웨어(109a)를 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 7 , the
프로세서(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)을 로드할 수 있다. 도 7에서 메모리(103)의 예시로 RAM이 도시되었다.The
버스(105)는 서비스 제공 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The
네트워크 인터페이스(107)는 서비스 제공 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The
스토리지(109)는 상기 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 7에서 상기 하나 이상의 프로그램(109a)의 예시로 블록체인 기반 실시간 거래 처리 소프트웨어(109a)가 도시되었다.The
스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
블록체인 기반 실시간 거래 처리 소프트웨어(109a)는 본 발명의 실시예에 따른 블록체인 기반 실시간 거래 처리 방법을 수행할 수 있다.The blockchain-based real-time
예를 들어, 블록체인 기반 실시간 거래 처리 소프트웨어(109a)는 메모리(103)에 로드되어, 하나 이상의 프로세서(101)에 의해, 지급인의 단말로부터 대상 거래의 처리 요청이 수신됨에 응답하여, 상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 대상 거래의 처리 요청을 전달하고, 상기 제1 블록체인 노드로부터 상기 대상 거래의 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 오퍼레이션, 상기 대상 거래에 따라 상기 지급인의 전자 지갑에서 수취인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하는 오퍼레이션 등을 실행할 수 있다.For example, the blockchain-based real-time
지금까지, 도 6 및 도 7을 참조하여 본 발명의 실시예에 따른 서비스 제공 서버(100)의 구성 및 동작에 대하여 설명하였다. 다음으로, 도 8을 참조하여 본 발명의 실시예에 따른 블록체인 기반 실시간 거래 처리 방법에 대하여 상세하게 설명한다.So far, the configuration and operation of the
이하에서 후술한 본 발명의 실시예에 따른 블록체인 기반 실시간 거래 처리 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 서비스 제공 서버(100) 또는 블록체인 네트워크(300)를 구성하는 블록체인 노드일 수 있다. 다만, 설명의 편의를 위해, 상기 블록체인 기반 실시간 거래 처리 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 블록체인 기반 실시간 거래 처리 방법의 각 단계는 프로세서에 의해 실행되는 컴퓨터 프로그램의 오퍼레이션으로 구현될 수 있다.Each step of the blockchain-based real-time transaction processing method according to an embodiment of the present invention described below may be performed by a computing device. For example, the computing device may be a block chain node constituting the
도 8은 블록체인 기반 실시간 거래 처리 방법의 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.8 is a flowchart of a blockchain-based real-time transaction processing method. However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some steps may be added or deleted as needed.
도 8을 참조하면, 단계(S10)에서, 사용자 단말(400)로부터 대상 거래의 처리 요청(S10)이 수신된다.Referring to FIG. 8 , in step S10 , a request for processing a target transaction S10 is received from the
단계(S20)에서, 상기 대상 거래의 요청에 응답하여, 서비스 제공 서버(100)가 상기 대상 거래를 제1 블록체인 노드(300a)로 전달한다.In step S20, in response to the request of the target transaction, the
단계(S30)에서, 상기 대상 거래가 수신됨에 응답하여, 제1 블록체인 노드(300a)는 기 저장된 블록체인 데이터를 이용하여 상기 대상 거래에 대한 유효성을 검증한다.In step S30, in response to receiving the target transaction, the first
본 발명의 실시예에 따르면, 단계(S30) 이전에 사용자 및 사용자 단말(400)에 탑재된 어플리케이션에 대한 퍼미션 검증이 선행될 수 있다. 이에 대한 설명은 중복된 설명을 배제하기 위해 생략하도록 한다.According to an embodiment of the present invention, permission verification for the user and the application mounted on the
단계(S40)에서, 서비스 제공 서버(100)는 상기 대상 거래의 유효성 검증 결과를 수신한다. 또한, 서비스 제공 서버(100)는 상기 대상 거래가 블록체인 데이터 상에 반드시 기록될 것이라는 합리적인 예측 하에 상기 대상 거래에 따른 즉각적인 처리를 수행한다.In step S40, the
단계(S50)에서, 서비스 제공 서버(100)는 대상 거래의 처리 완료를 사용자 단말(400)로 통지한다.In step S50 , the
단계(S60)에서, 제1 블록체인 노드(300a)는 신규 블록을 생성하고 대상 거래를 기록한다. 도 8은 대상 거래의 유효성을 검증한 제1 블록체인 노드(300a)가 신규 블록을 생성한 경우를 예로써 도시하였으나, 이는 얼마든지 달라질 수 있다. 또한, 제1 블록체인 노드(300a)는 상기 신규 블록에 대상 거래에 대한 데이터 외에 자신의 퍼미션 정보를 함께 기록할 수 있다. 이는, 추후 제1 블록체인 노드(300a)의 퍼미션 검증에 이용될 수 있고, 이에 대한 설명은 중복된 설명을 배제하기 위해 생략하도록 한다.In step S60, the
도 8에서, 단계(S60)이 단계(S50) 이후에 수행되는 것으로 도시되어 있으나, 이는 일반적으로 블록 생성에 소정의 시간이 소요되는 것을 반영한 것일 뿐이고, 두 단계(S50, S60)의 선후가 존재하는 것을 의미하는 것은 아니다. 전술한 바와 같이, 대상 거래의 유효성이 검증된 이후에 수행되는 단계(S50, S60)는 서로 병렬적으로 수행될 수 있다.In FIG. 8 , the step S60 is shown to be performed after the step S50, but this only reflects that a predetermined time is generally required for block generation, and the two steps S50 and S60 are preceded and followed. doesn't mean do As described above, the steps S50 and S60 performed after the validity of the target transaction is verified may be performed in parallel with each other.
단계(S70)에서, 신규 블록이 블록체인 네트워크(300) 상에 전파된다.In step S70 , the new block is propagated on the
단계(S80)에서, 상기 신규 블록은 수신한 제2 내지 제n 블록체인 노드(300b 내지 300n)는 거래 유효성을 검증하고, 신규 블록을 블록체인 데이터에 기록한다. 이때, 상기 신규 블록을 생성한 제1 블록체인 노드(300a)에 대한 퍼미션 검증이 선행될 수 있다.In step S80, the second to nth
단계(S90)에서, 블록체인 네트워크(300)를 구성한 블록체인 노드들 간에 분산 합의가 수행된다.In step S90, distributed agreement is performed between the blockchain nodes constituting the
단계(S100)에서, 서비스 제공 서버(100)는 거래 확정 통지를 수신한다. 도 8에는 서비스 제공 서버(100)가 제1 블록체인 노드(300a)로부터 거래 확정 통지가 수신된 것으로 도시되어 있으나, 다른 블록체인 노드로부터 상기 거래 확정 통지를 수신하더라도 무방하다.In step S100, the
지금까지, 도 8을 참조하여, 본 발명의 실시예에 따른 블록체인 기반 실시간 거래 처리 방법에 대하여 설명하였다. 상술한 바에 따르면, 사전에 확보된 신뢰성에 기반하여, 대상 거래가 신규 블록에 기록되기 전에 즉각적인 처리가 수행될 수 있다. 이에 따라, 제3 기관의 개입 없이 탈중앙화에 기반한 블록체인 구조를 유지하면서 실시간 거래 서비스가 제공될 수 있다. 또한, 실시간 거래 서비스가 제공됨에 따라, 거래 서비스를 이용하는 사용자의 만족도가 향상될 수 있다. 또한, 실시간 거래 서비스가 제공됨에 따라, 금융 분야 등 다양한 분야에 블록체인 기술이 활용될 수 있는 바, 블록체인 기술의 활용 범위에 대한 제약이 완화될 수 있다.So far, with reference to FIG. 8, a blockchain-based real-time transaction processing method according to an embodiment of the present invention has been described. As described above, based on reliability secured in advance, immediate processing can be performed before a target transaction is recorded in a new block. Accordingly, real-time transaction services can be provided while maintaining the blockchain structure based on decentralization without the intervention of a third party. In addition, as a real-time transaction service is provided, a user's satisfaction using the transaction service may be improved. In addition, as real-time transaction services are provided, blockchain technology can be utilized in various fields, such as the financial field, and restrictions on the scope of application of the block chain technology can be relaxed.
지금까지 도 3 내지 도 8을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The concepts of the present invention described with reference to FIGS. 3 to 8 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 (8)
상기 서비스 제공 서버가, 지급인의 단말로부터 대상 거래의 처리 요청이 수신됨에 응답하여, 상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 대상 거래의 처리 요청을 전달하고, 상기 제1 블록체인 노드로부터 상기 대상 거래의 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 단계;
상기 대상 거래가 유효한 경우, 상기 서비스 제공 서버가, 상기 대상 거래에 따라 상기 지급인의 전자 지갑에서 수취인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하는 단계; 및
상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 상기 대상 거래에 대한 데이터를 신규 블록에 기록하고, 상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행하는 단계를 포함하되,
상기 블록체인 기반 거래 처리 시스템은,
상기 블록체인 네트워크를 관리하는 블록체인 관리 장치를 더 포함하고,
상기 블록체인 관리 장치가, 퍼미션 검증의 정도에 기초하여 블록체인 네트워크의 신뢰도를 산출하는 단계; 및
상기 블록체인 관리 장치가, 상기 산출된 신뢰도에 기초하여 블록 생성의 난이도를 조정하는 단계를 더 포함하는,
블록체인 기반 실시간 거래 처리 방법.A blockchain-based real-time transaction processing method performed by a blockchain-based transaction processing system including a plurality of blockchain nodes and service providing servers constituting a blockchain network,
The service providing server, in response to receiving the request for processing the target transaction from the terminal of the payer, transmits the processing request of the target transaction to a first blockchain node among the plurality of blockchain nodes, and the first blockchain node performing a first process of obtaining a validation result of the target transaction from;
if the target transaction is valid, performing, by the service providing server, a second process to transfer electronic money from the payer's electronic wallet to the payee's electronic wallet according to the target transaction; and
performing, by a second blockchain node among the plurality of blockchain nodes, a third process of recording data on the target transaction in a new block and propagating the new block on the blockchain network;
The blockchain-based transaction processing system,
Further comprising a block chain management device for managing the block chain network,
calculating, by the block chain management device, the reliability of the block chain network based on the degree of permission verification; and
Further comprising, by the block chain management device, adjusting the difficulty of block generation based on the calculated reliability;
A blockchain-based real-time transaction processing method.
상기 블록체인 네트워크는,
허가된 사용자 및 허가된 블록체인 노드만이 참여하는 퍼미션 기반 블록체인 네트워크(permission-based blockchain network)인 것을 특징으로 하는,
블록체인 기반 실시간 거래 처리 방법.According to claim 1,
The blockchain network is
Characterized in that it is a permission-based blockchain network in which only authorized users and authorized blockchain nodes participate,
A blockchain-based real-time transaction processing method.
상기 블록체인 네트워크는,
복수의 블록이 체인 구조로 연결된 제1 블록체인 데이터 및 상기 제1 블록체인 데이터와 별개로 구성된 제2 블록체인 데이터를 분산 저장하되,
상기 제1 블록체인 데이터는 사용자 및 블록체인 노드의 퍼미션 정보를 포함하고,
상기 제2 블록체인 데이터는 거래 기록을 포함하는 것을 특징으로 하는,
블록체인 기반 실시간 거래 처리 방법.3. The method of claim 2,
The blockchain network is
Distributed storage of first block chain data in which a plurality of blocks are connected in a chain structure and second block chain data configured separately from the first block chain data,
The first blockchain data includes permission information of users and blockchain nodes,
The second block chain data is characterized in that it includes a transaction record,
A blockchain-based real-time transaction processing method.
상기 제1 프로세스를 수행하는 단계는,
상기 대상 거래의 처리 요청과 함께 상기 지급인의 식별 정보를 수신하는 단계;
상기 수신된 식별 정보를 이용하여, 상기 블록체인 네트워크를 통해 상기 지급인에 대한 퍼미션 검증을 수행하는 단계; 및
상기 퍼미션 검증의 결과, 상기 지급인의 퍼미션이 유효한 경우에 한하여, 상기 대상 거래의 처리 요청을 상기 제1 블록체인 노드로 전달하는 단계를 포함하되,
상기 식별 정보에 대응되는 지급인의 퍼미션 정보는 상기 블록체인 네트워크 상에 분산 저장되는 것을 특징으로 하는,
블록체인 기반 실시간 거래 처리 방법.According to claim 1,
Performing the first process comprises:
receiving identification information of the payer together with a request for processing the target transaction;
performing permission verification on the payer through the blockchain network using the received identification information; and
As a result of the permission verification, only when the payer's permission is valid, transmitting a request for processing the target transaction to the first blockchain node,
The payer's permission information corresponding to the identification information is characterized in that it is distributed and stored on the block chain network,
A blockchain-based real-time transaction processing method.
상기 제1 프로세스를 수행하는 단계는,
상기 대상 거래의 처리 요청과 함께 상기 지급인의 단말에 탑재된 전자 지갑 어플리케이션의 API(application programming interface) 키 정보를 수신하는 단계;
상기 수신된 API 키 정보를 이용하여, 상기 블록체인 네트워크를 통해 상기 전자 지갑 어플리케이션에 대한 퍼미션 검증을 수행하는 단계; 및
상기 퍼미션 검증의 결과, 상기 전자 지갑 어플리케이션의 퍼미션이 유효한 경우에 한하여, 상기 대상 거래의 처리 요청을 상기 제1 블록체인 노드로 전달하는 단계를 포함하되,
기 발급된 전자 지갑 어플리케이션의 API 키 정보는 상기 블록체인 네트워크 상에 분산 저장되는 것을 특징으로 하는,
블록체인 기반 실시간 거래 처리 방법.According to claim 1,
Performing the first process comprises:
receiving API (application programming interface) key information of an electronic wallet application mounted on a terminal of the payer together with a request for processing the target transaction;
performing permission verification for the electronic wallet application through the blockchain network using the received API key information; and
As a result of the permission verification, only when the permission of the electronic wallet application is valid, the step of transmitting the processing request of the target transaction to the first blockchain node,
The previously issued API key information of the electronic wallet application is characterized in that it is distributed and stored on the block chain network,
A blockchain-based real-time transaction processing method.
상기 제3 프로세스를 수행하는 단계는,
채굴 프로세스를 통해 상기 신규 블록을 생성하는 단계;
상기 신규 블록에 상기 대상 거래에 대한 데이터 및 상기 제2 블록체인 노드의 퍼미션 정보를 기록하는 단계; 및
상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 단계를 포함하되,
상기 복수의 블록체인 노드 중 상기 신규 블록을 수신한 블록체인 노드는, 상기 복수의 블록체인 노드가 관리하는 블록체인 데이터에 기 저장된 퍼미션 정보와 상기 신규 블록에 기록된 퍼미션 정보의 비교 결과에 기초하여 상기 신규 블록의 추가 여부를 판정하는 것을 특징으로 하는,
블록체인 기반 실시간 거래 처리 방법.According to claim 1,
The step of performing the third process is
generating the new block through a mining process;
recording data on the target transaction and permission information of the second block chain node in the new block; and
Propagating the new block on the blockchain network,
The block chain node receiving the new block among the plurality of block chain nodes is based on a comparison result of the permission information previously stored in the block chain data managed by the plurality of block chain nodes and the permission information recorded in the new block Characterized in determining whether to add the new block,
A blockchain-based real-time transaction processing method.
상기 블록체인 관리 장치가, 상기 블록체인 네트워크에서 신규 블록의 생성에 소요된 평균 블록 생성 시간을 산출하는 단계; 및
상기 블록체인 관리 장치가, 상기 산출된 평균 시간에 기초하여 블록 생성의 난이도를 조정하는 단계를 더 포함하는 것을 특징으로 하는,
블록체인 기반 실시간 거래 처리 방법.According to claim 1,
calculating, by the block chain management device, an average block generation time required to generate a new block in the block chain network; and
The block chain management device, characterized in that it further comprises the step of adjusting the difficulty of block generation based on the calculated average time,
A blockchain-based real-time transaction processing method.
상기 복수의 블록체인 노드는,
상기 복수의 블록체인 노드 중 블록 생성 노드의 신규 블록 생성을 모니터링하는 모니터링 노드를 포함하되,
상기 모니터링 노드는,
상기 블록 생성 노드로부터 신규 블록이 수신됨에 응답하여, 상기 신규 블록에 기록된 타임스탬프 값을 기초로 블록 생성 시간을 산출하고, 상기 산출된 블록 생성 시간을 상기 블록체인 관리 장치로 전송하는 것을 특징으로 하는,
블록체인 기반 실시간 거래 처리 방법.8. The method of claim 7,
The plurality of blockchain nodes are
A monitoring node for monitoring the new block generation of the block generating node among the plurality of block chain nodes,
The monitoring node,
In response to receiving a new block from the block generating node, calculating a block generation time based on a timestamp value recorded in the new block, and transmitting the calculated block generation time to the block chain management device doing,
A blockchain-based real-time transaction processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/941,517 US10762479B2 (en) | 2017-04-05 | 2018-03-30 | Method and system for processing blockchain-based real-time transaction |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170044431 | 2017-04-05 | ||
KR20170044431 | 2017-04-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180113145A KR20180113145A (en) | 2018-10-15 |
KR102384340B1 true KR102384340B1 (en) | 2022-04-07 |
Family
ID=63865932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170126979A KR102384340B1 (en) | 2017-04-05 | 2017-09-29 | Method for processing blockchain based real-time transaction and system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102384340B1 (en) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102042361B1 (en) * | 2018-10-26 | 2019-11-07 | 에이치닥 테크놀로지 아게 | Apparatus, system, method for blockchain linkage and signal relay |
KR102315833B1 (en) * | 2018-11-16 | 2021-10-22 | 에듀해시글로벌파트너스 주식회사 | Method for operating real time transaction service based block chain, system and computer-readable medium recording the method |
KR102012400B1 (en) * | 2018-11-27 | 2019-08-20 | 안종현 | IoT CERTIFICATION SYSTEM BASED ON BLOCK CHAIN |
KR102188718B1 (en) * | 2018-11-29 | 2020-12-08 | 롯데정보통신 주식회사 | Payment mediating system based on blockcahin and mediating method of thereof |
US20220036404A1 (en) * | 2018-11-30 | 2022-02-03 | Buchigo Inc. | Block-based method for real event object exchange |
KR102317234B1 (en) * | 2018-11-30 | 2021-10-26 | (주)부치고 | A method for exchanging an event real object based on block chain |
KR102142259B1 (en) * | 2018-12-20 | 2020-08-10 | 주식회사 마크애니 | System for distribution of content files using smart contract based on block chain and method thereof |
KR102131548B1 (en) * | 2019-01-14 | 2020-07-07 | 동국대학교 경주캠퍼스 산학협력단 | Method for generating electronic wallet and cryptocurrency transaction method using the method |
KR102026580B1 (en) * | 2019-01-15 | 2019-09-27 | 강대준 | A control system for unmanned moving vechicle using blockchain and a control method thereof |
KR102170454B1 (en) * | 2019-01-29 | 2020-10-28 | 주식회사 크로스앵글 | Method for providing information on blockchain and device for performing the same |
KR20200096045A (en) | 2019-02-01 | 2020-08-11 | 한국전자통신연구원 | Blockchin generation apparatus, method for sharding blockchain thereof, and system the same |
CN109981750B (en) | 2019-03-06 | 2021-09-17 | 北京百度网讯科技有限公司 | Business process system, business data processing method and device |
KR102051062B1 (en) * | 2019-03-06 | 2020-01-08 | 신현구 | Method for providing block chain based prize lottery service by deadline anticipation per prize |
KR102002509B1 (en) * | 2019-04-04 | 2019-07-22 | 주식회사 한국정보보호경영연구소 | Privite blockchain system including notarizing center and notarial method thereof |
EP3628093B1 (en) | 2019-04-30 | 2021-07-07 | Advanced New Technologies Co., Ltd. | Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology |
CN110287226A (en) * | 2019-05-10 | 2019-09-27 | 深圳壹账通智能科技有限公司 | Data query method and device based on block chain |
KR102191803B1 (en) * | 2019-05-31 | 2020-12-16 | 주식회사 엠티에스컴퍼니 | Behavior information proof method by block chain |
KR102342752B1 (en) * | 2019-06-19 | 2021-12-23 | 에스케이텔레콤 주식회사 | Apparatus and method for consensus based on blockchain |
KR102217776B1 (en) * | 2019-06-25 | 2021-02-19 | 에스케이텔레콤 주식회사 | Method and apparatus for processing transaction based on block chain |
KR102348232B1 (en) * | 2019-07-03 | 2022-01-10 | 주식회사 코인플러그 | Method for providing virtual asset service based on dicentralized identity and virtual asset service providing server using them |
WO2021002692A1 (en) * | 2019-07-03 | 2021-01-07 | Coinplug, Inc. | Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them |
CN110365670B (en) * | 2019-07-08 | 2022-07-08 | 深圳壹账通智能科技有限公司 | Blacklist sharing method and device, computer equipment and storage medium |
KR102036813B1 (en) * | 2019-07-22 | 2019-10-25 | 이제너두 주식회사 | Method and system for processing welfare point based on blockchain |
KR102154354B1 (en) * | 2019-08-09 | 2020-09-09 | 고려대학교 산학협력단 | Mining pool management server suppressing self mining strategy of competitive miming pool and operation method therof |
KR102288769B1 (en) * | 2019-08-13 | 2021-08-12 | 광주과학기술원 | Error-correction code based crypto currency system |
CN112418850A (en) * | 2019-08-21 | 2021-02-26 | 中国移动通信有限公司研究院 | Transaction method and device based on block chain and electronic equipment |
CN110543502B (en) * | 2019-09-05 | 2024-05-31 | 腾讯科技(深圳)有限公司 | Credit data processing method, device, equipment and storage medium based on block chain |
KR102431546B1 (en) | 2019-10-21 | 2022-08-11 | 윤성민 | Financial transaction system and method thereof |
KR102201083B1 (en) | 2019-10-21 | 2021-01-08 | 윤성민 | Financial transaction system and method thereof |
KR102174375B1 (en) * | 2020-02-19 | 2020-11-04 | (주)미디어스퀘어 | Private blockchain system including dual blockchain structure and method of operation thereof |
CN111275905A (en) * | 2020-03-05 | 2020-06-12 | 链农(深圳)信息科技有限公司 | Currency processing method and device of block chain system and hardware equipment |
KR20220112741A (en) | 2020-06-02 | 2022-08-11 | 윤성민 | Financial transaction system and method thereof |
CN113852655A (en) * | 2020-06-28 | 2021-12-28 | 北京金山云网络技术有限公司 | Information management method and device and block chain service system |
CN112381542A (en) * | 2020-11-18 | 2021-02-19 | 深圳源中瑞科技有限公司 | Transaction payment method, device, equipment and storage medium based on block chain |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160009301A (en) * | 2014-07-16 | 2016-01-26 | 주식회사 코빗 | Private key based e-cash payment system and method thereof |
KR101660627B1 (en) * | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
KR101784219B1 (en) | 2016-06-15 | 2017-10-12 | 주식회사 코인플러그 | Financial institution document verification system that is based on the block chain |
-
2017
- 2017-09-29 KR KR1020170126979A patent/KR102384340B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20180113145A (en) | 2018-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
US20240144280A1 (en) | Blockchain architecture with record security | |
US20180293557A1 (en) | Method of charging electronic currency automatically based on blockchain and system thereof | |
AU2022200068B2 (en) | Telecommunication system and method for settling session transactions | |
EP3520319B1 (en) | Distributed electronic record and transaction history | |
KR102407187B1 (en) | Method for charging electronic money automatically based on blockchain and system thereof | |
JP6729334B2 (en) | Transaction management method, transaction management program, and transaction management device | |
KR102384321B1 (en) | Method for processing a payment based on blockchain and Apparatus thereof | |
EP3739538A1 (en) | System and method of supporting reflection of transactions between blockchain networks | |
CN111507839B (en) | Block chain-based data processing method, device, storage medium and equipment | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
US20100153274A1 (en) | Method and apparatus for mutual authentication using small payments | |
KR102532162B1 (en) | Method for verifying ownership of a blockchain wallet without a signature function and system using thereof | |
CN112422534A (en) | Credit evaluation method and device of electronic certificate | |
CN111695096B (en) | Identity verification method and device | |
JP6776396B2 (en) | Trading system | |
KR20220160299A (en) | Method and apparatus for transaction in blockchain environment |
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 |