KR102118646B1 - System and method for detecting double-spending in block chain - Google Patents
System and method for detecting double-spending in block chain Download PDFInfo
- Publication number
- KR102118646B1 KR102118646B1 KR1020180064368A KR20180064368A KR102118646B1 KR 102118646 B1 KR102118646 B1 KR 102118646B1 KR 1020180064368 A KR1020180064368 A KR 1020180064368A KR 20180064368 A KR20180064368 A KR 20180064368A KR 102118646 B1 KR102118646 B1 KR 102118646B1
- Authority
- KR
- South Korea
- Prior art keywords
- transaction information
- block
- transaction
- blockchain
- double payment
- 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/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/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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
Abstract
블록체인에 발생한 이중지불을 탐지하는 시스템으로서, 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 상기 블록체인 내에 발생한 분기점을 검색하는 분기점 검색부, 분기점이 검색된 경우, 상기 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 블록 결정부, 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지 결정하는 이중지불 발생 결정부 그리고 상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 경고메시지 전송부를 포함한다.As a system for detecting double payments occurring in the blockchain, the structure of a plurality of blocks constituting the blockchain is analyzed, and a branch search unit searching for a branch generated in the blockchain, and when the branch is found, forming the searched branch A block determination unit for determining a first block and a second block, a comparison unit for comparing transaction information included in the first block and the second block, and determining whether a double payment has occurred in the blockchain, and a double payment generation determination unit. When a double payment occurs on the blockchain, a warning message transmission unit for transmitting a warning message to nodes that share a plurality of blocks constituting the blockchain.
Description
본 발명은 블록체인에서 이중지불을 탐지하기 위한 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for detecting double payments in a blockchain.
블록체인은 비트코인 전자화폐시스템의 기반이 되는 기술로서, 전자화폐를 통해 거래가 수행된 경우 블록체인 네트워크로 브로드캐스트된 트랜잭션들은 마이너(miner)라고 불리는 노드들이 모아서 블록으로 만든다. 한편, 트랜잭션은 거래내역을 의미하며, 임의의 노드에서 트랜잭션이 발생하면, 거래정보가 포함된 블록을 P2P(Peer-to-Peer) 통신 방식을 통해 네트워크에 연결된 모든 노드들에 전파하고, 각 노드들은 수신한 블록을 중복 저장한다.
따라서 각 노드는 전자화폐를 통한 거래 후 잔고와 거래의 성립 여부 등을 자신이 보관하고 있는 블록들을 보고 스스로 확인할 수 있다. 블록은 거래내역과 네트워크 시간 그리고 직전 블록의 내용으로 계산된 해시(hash) 값을 저장하기 때문에, 서로 다른 시간에 만들어진 블록들 간에 선후 관계가 형성되어 일련의 블록체인으로 구성된다.
이러한 블록체인을 이용한 전자화폐시스템은 거래내역을 여러 노드들에 분산시켜 저장하기 때문에, 중앙서버에 거래정보가 일괄적으로 저장되는 기존의 전자화폐 방식에 비해 보안을 획기적으로 강화할 수 있다는 장점이 있다.Blockchain is a technology that is the basis of the Bitcoin electronic money system, and when transactions are performed through electronic money, transactions broadcast to the blockchain network are collected by nodes called miners and made into blocks. Meanwhile, a transaction means a transaction history, and when a transaction occurs at any node, the block containing the transaction information is propagated to all nodes connected to the network through a peer-to-peer communication method, and each node Listens and duplicates the received block.
Therefore, each node can check itself by looking at the blocks it holds, such as the balance and whether the transaction has been established after the transaction through electronic money. Since the block stores the hash value calculated as the contents of the previous block, the transaction history, network time, and the previous block, a sequential relationship is formed between the blocks made at different times to form a series of blockchains.
The electronic money system using this blockchain has the advantage that it can significantly enhance security compared to the existing electronic money method in which transaction information is stored on a central server in a batch, because transaction details are distributed and stored in multiple nodes. .
한편, 이러한 장점은 하나의 전자화폐로 반드시 한 번의 거래가 발생해야함을 전제로 한다. 그러나, 비트코인 전자화폐시스템 내에서 조작을 통해 하나의 전자화폐로 두 번 이상의 거래를 발생시킬 수가 있는데, 이를 이중지불이라 하며 불법거래에 해당한다. 시스템에서 이중지불이 발생하는 경우, 정상 거래에 대한 거래정보를 기록한 블록체인과 중복된 지불에 대한 거래정보를 기록한 블록체인이 공존하게 되며, 일정시간 경과 후 중복 지불 여부와 무관하게 길이가 더 긴 블록체인이 채택되고 짧은 것은 무시되어 폐기된다.
그러나, 단순히 길이가 더 긴 블록체인을 선택하는 경우, 중복된 지불에 대한 거래정보를 포함한 체인이 길어질 수 있는 확률이 존재하기 때문에 이중지불을 완벽하게 방지할 수 없다는 문제가 존재할 수 밖에 없다.On the other hand, this advantage is based on the premise that one transaction must occur in one electronic currency. However, it is possible to generate more than one transaction with one electronic currency through manipulation within the Bitcoin electronic money system, which is called double payment and corresponds to illegal transactions. When a double payment occurs in the system, the blockchain that records the transaction information for the normal transaction and the blockchain that records the transaction information for the duplicated payment coexist, and after a certain period of time, the length is longer regardless of whether the payment is duplicated or not. Blockchain is adopted and short ones are ignored and discarded.
However, when simply selecting a longer block chain, there is a problem that the double payment cannot be completely prevented because there is a probability that the chain including transaction information for duplicate payments can be lengthened.
이와 같은 문제를 해결하기 위해, 전자화폐를 통한 거래 이전에 해당 거래가 합당한지 제3 엔티티를 통해 확인하는 방식이 있었으나, 이러한 방식은 블록체인이 P2P 통신 방식을 사용하는 것과 맞지 않는 접근 방식이라는 문제가 있었다.
(특허문헌 1) KR10-1660627 B
In order to solve this problem, there was a method to check whether the transaction was reasonable before the transaction through electronic money through a third entity, but this method is a problem that the blockchain does not fit with the use of P2P communication method. there was.
(Patent Document 1) KR10-1660627 B
본 발명이 해결하고자 하는 과제는 블록에 포함된 거래정보를 통해 블록체인 내에서 발생한 이중지불을 탐색하는 기술을 제공하는 것이다.The problem to be solved by the present invention is to provide a technique of searching for double payments occurring in a blockchain through transaction information included in a block.
또한, 본 발명이 해결하고자 하는 과제는 이중지불이 탐색된 경우, 이중지불이 탐색된 노드와 네트워크를 통해 연결된 타 노드들에게 이중지불 발생을 알리는 기술을 제공하는 것이다.In addition, the problem to be solved by the present invention is to provide a technique for notifying the occurrence of double payment to a node where the double payment is discovered and other nodes connected through a network when the double payment is discovered.
본 발명의 일 실시예에 따른 블록체인에 발생한 이중지불을 탐지하는 시스템은 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 상기 블록체인 내에 발생한 분기점을 검색하는 분기점 검색부, 분기점이 검색된 경우, 상기 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 블록 결정부, 그리고 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지 결정하는 이중지불 발생 결정부를 포함한다.A system for detecting double payments occurring in a blockchain according to an embodiment of the present invention analyzes the structure of a plurality of blocks constituting the blockchain, and searches for a branch point that searches for a branch point generated in the blockchain, when a branch point is searched , A block determination unit that determines the first block and the second block forming the retrieved branch point, and compares transaction information included in the first block and the second block to see if a double payment has occurred in the blockchain And a determination unit for determining double payments.
상기 이중지불 발생 결정부는 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 존재하는지 결정하고, 상기 제1 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다.The double payment generation determining unit compares the transaction information included in the first block with the transaction information included in the second block to see if there are first double payment transaction information having the same previous transaction information but different current transaction information. Decide and determine whether a double payment has occurred in the blockchain according to whether the first double payment transaction information exists.
상기 이중지불 발생 결정부는 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 제외하고, 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교한다.The double payment generation determining unit excludes initial transaction information that does not include previous transaction information among the transaction information included in the first block and the second block, and the transaction information and the second included in the first block. The transaction information included in the block is compared with each other.
상기 이중지불 발생 결정부는 상기 제1 이중지불 거래정보들이 존재하는 경우, 상기 블록체인 내에서 이중지불이 발생하였다고 결정하고, 상기 제1 이중지불 거래정보들이 존재하지 않는 경우, 상기 제1 블록의 자식 블록인 제3 블록에 포함된 거래정보들과 상기 제2 블록의 자식 블록인 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다.The double payment generation determining unit determines that double payment has occurred in the blockchain when the first double payment transaction information exists, and if the first double payment transaction information does not exist, the child of the first block Second double payment transaction information having the same previous transaction information but different current transaction information by comparing the transaction information included in the third block which is the block with the transaction information included in the fourth block which is a child block of the second block. It is determined whether or not they exist, and whether the double payment has occurred within the blockchain according to whether the second double payment transaction information exists.
상기 이중지불 탐지 시스템은 상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 경고메시지 전송부를 더 포함한다.The double payment detection system further includes a warning message transmission unit that transmits a warning message to nodes sharing a plurality of blocks constituting the blockchain when a double payment occurs in the blockchain.
본 발명의 일 실시예에 따른 복수의 블록들로 구성된 블록체인에 발생한 이중지불을 탐지하는 방법은 블록체인 내에 분기점이 발생된 경우, 상기 발생된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 단계, 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들을 추출하는 단계, 그리고 상기 추출한 거래정보들을 상호 비교하여, 상기 블록체인에 이중지불이 발생하였는지를 결정하는 단계를 포함한다.A method of detecting a double payment occurring in a blockchain composed of a plurality of blocks according to an embodiment of the present invention determines a first block and a second block forming the generated branch point when a branch point occurs in the blockchain. And extracting transaction information included in the first block and the second block, and comparing the extracted transaction information with each other to determine whether a double payment has occurred in the blockchain.
상기 이중지불이 발생하였는지를 결정하는 단계는 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 존재하는지 결정하는 단계, 그리고 상기 제1 이중지불 거래정보들이 존재하는지에 따라, 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 단계를 포함한다.The step of determining whether the double payment has occurred is comparing the transaction information included in the first block with the transaction information included in the second block, and the first double payment with the same previous transaction information but different current transaction information. And determining whether there is transaction information, and determining whether a double payment has occurred in the blockchain according to whether the first double payment transaction information exists.
상기 제1 이중지불 거래정보들이 존재하는지에 따라, 상기 블록체인 내에서 이중지불이 발생하였는지를 결정하는 단계는 상기 제1 이중지불 거래정보들이 존재하는 경우, 상기 블록체인 내에서 이중지불이 발생하였다고 결정하고, 상기 제1 이중지불 거래정보들이 존재하지 않는 경우, 상기 제1 블록의 자식 블록인 제3 블록과 상기 제2 블록의 자식 블록인 제4 블록을 결정하고, 상기 제3 블록 및 상기 제4 블록에 포함된 거래정보들을 추출하고, 상기 제3 블록에 포함된 거래정보들과 상기 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다.Depending on whether the first double-payment transaction information exists, the step of determining whether double-payment has occurred in the blockchain determines that double-payment has occurred in the blockchain when the first double-payment transaction information exists. When the first double payment transaction information does not exist, the third block which is a child block of the first block and the fourth block which is a child block of the second block are determined, and the third block and the fourth Second double payment by extracting transaction information included in the block and comparing transaction information included in the third block with transaction information included in the fourth block, the previous transaction information being the same but the current transaction information is different It is determined whether there is transaction information, and whether a double payment has occurred within the blockchain according to whether the second double payment transaction information exists.
상기 이중지불이 발생하였는지를 결정하는 단계는 상기 제1 블록 및 상기 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 결정하는 단계를 더 포함하고, 상기 제1 이중지불 거래정보들이 존재하는지 결정하는 단계는 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들 중 상기 최초 거래정보를 제외한 거래정보들을 상호 비교한다.Determining whether the double payment has occurred further includes determining initial transaction information that does not include previous transaction information among the transaction information included in the first block and the second block, and the first double payment is performed. The step of determining whether there are transaction information compares the transaction information included in the first block with the transaction information excluding the first transaction information among the transaction information included in the second block.
상기 이중지불 탐지 방법은 상기 블록체인에 이중지불이 발생한 경우, 상기 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송하는 단계를 더 포함한다.The double payment detection method further includes transmitting a warning message to nodes that share a plurality of blocks constituting the blockchain when double payment occurs in the blockchain.
본 발명에 따르면, 정상거래에 의한 거래정보가 블록에 포함된 후에 이중지불이 발생하는 경우 또는 정상거래에 의해 발생한 거래정보와 이중지불에 의해 발생한 거래정보가 서로 다른 블록에 포함되는 경우라도 블록체인 내 발생한 이중지불을 탐지할 수 있다.According to the present invention, even if the double payment occurs after the transaction information by the normal transaction is included in the block, or even if the transaction information generated by the normal transaction and the transaction information generated by the double payment are included in different blocks, the blockchain You can detect double payments that have occurred.
또한, 본 발명에 따르면, 이중지불이 발생한 경우 블록체인 시스템 내 모든 노드들에 해당 내용이 전파되는바, 블록체인 시스템에서 빠르게 조치하여 이중지불로 인한 피해를 감소시킬 수 있다.In addition, according to the present invention, when a double payment occurs, the contents are propagated to all nodes in the blockchain system, so it is possible to reduce the damage caused by double payment by quickly acting on the blockchain system.
도 1 및 도 2는 본 발명의 실시예에 따른 블록체인 이중지불 탐지 시스템이 구현되는 환경을 도시한 도면이다.
도 3은 이중지불 탐지 시스템의 구조를 설명하는 도면이다.
도 4는 블록에 포함된 거래정보들을 이용하여 이중지불 발생여부를 결정하는 방법을 설명하는 도면이다.
도 5는 이중지불 탐지 시스템이 블록체인에 발생한 이중지불을 탐지하는 방법을 설명하는 도면이다.1 and 2 are diagrams illustrating an environment in which a blockchain double payment detection system according to an embodiment of the present invention is implemented.
3 is a view for explaining the structure of the double payment detection system.
4 is a diagram for explaining a method of determining whether a double payment is generated by using transaction information included in a block.
5 is a diagram for explaining a method of detecting a double payment occurring in the blockchain by the double payment detection system.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains may easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part “includes” a certain component, this means that other components may be further included rather than excluding other components, unless specifically stated otherwise.
도 1 및 도 2는 본 발명의 실시예에 따른 블록체인 이중지불 탐지 시스템이 구현되는 환경을 도시한 도면이다.1 and 2 are diagrams illustrating an environment in which a blockchain double payment detection system according to an embodiment of the present invention is implemented.
도 1을 참고하면, 블록체인 이중지불 탐지 시스템이 구현되는 환경(1000)은 블록체인 시스템을 구성하는 노드들(100) 및 이중지불 탐지 시스템(200)을 포함한다.Referring to FIG. 1, an
노드들(100)은 P2P(Peer-to-Peer) 네트워크를 통해 상호 연결되고, 각 노드들(110 및 120)은 전자화폐를 통해 거래가 수행된 경우 거래정보가 포함된 블록을 각각 저장한다.The
구체적으로, 전자화폐를 통해 거래가 수행된 경우, 제1 노드(110)는 해당 거래와 관련된 거래정보를 수신하고, 해당 거래의 유효성을 검증한 후 유효한 경우 해당 거래정보를 포함하는 A 블록을 생성한다. 이후, 제1 노드(110)는 P2P 네트워크로 연결된 제2 노드(120)로 생성한 A 블록을 전송하며, 제2 노드(120)는 자신의 블록체인에 수신한 A 블록을 저장한다. 이를 통해, 노드들(100)은 동일한 거래정보를 포함하는 블록을 각각 자신의 블록체인에 저장하게 된다.Specifically, when a transaction is performed through electronic money, the
한편, 제2 노드(120)가 이중지불 공격자인 경우, 특정 거래정보를 포함하는 블록이 제1 노드(110) 및 제2 노드(120)에서 동시에 생성될 수 있다. 예를 들면, 제1 노드(110)가 A 블록에 포함된 현재 거래정보를 이전 거래정보로 포함하는 B-1 블록을 생성하였으나, 이중지불 공격자인 제2 노드(120)가 A 블록에 포함된 현재 거래정보를 이전 거래정보로 포함하되, B-1 블록과 다른 현재 거래정보를 가진 B-2 블록을 동시에 생성할 수 있다.Meanwhile, when the
이 경우, 제1 노드(110)가 생성한 B-1 블록은 제2 노드(120)로 전송되고, 제2 노드(120)가 생성한 B-2 블록은 제1 노드(110)로 전송되며, 각 노드들(110 및 120)은 수신한 블록을 일단 자신의 블록체인 내 A 블록의 자식 블록으로 연결하는바, 각 노드들(110 및 120)의 블록체인 내에서 이중지불에 따른 분기점이 발생한다.In this case, the B-1 block generated by the
이와 같이, 이중지불이 발생하는 경우 블록체인 내에서 분기점이 발생하므로, 이중지불 탐지 시스템(200)은 블록체인 시스템의 블록체인 내에서 분기점이 발생한 경우, 해당 분기점을 형성하는 블록들을 결정하고, 결정한 블록들에 포함된 거래정보들을 상호 비교하여 블록체인에 이중지불이 발생하였는지를 결정할 수 있다.In this way, when a double payment occurs, a branch point occurs in the blockchain, so the double
한편, 도 1에서는 이중지불 탐지 시스템(200)이 블록체인 시스템 내 노드들(100)의 외부에 구현된 독립적인 엔티티로 도시되었으나, 블록체인 시스템 내 각각의 노드 내에 구현될 수도 있다.Meanwhile, in FIG. 1, the double
구체적으로, 도 2를 참고하면, 블록체인 이중지불 탐지 시스템이 구현되는 다른 환경(2000)에서, 제1 이중지불 탐지 시스템(300)은 제1 노드(110) 내에 구현되고 제2 이중지불 탐지 시스템(400)은 제2 노드(120) 내에 구현될 수 있다. 이 경우 제1 노드(110) 및 제2 노드(120)는 각각에 구비된 이중지불 탐지 시스템을 통해 하기 기능을 수행할 수 있다.Specifically, referring to FIG. 2, in another
이하, 이중지불 탐지 시스템(200)이 블록체인에 발생한 이중지불을 탐지하는 기술에 대해 자세히 설명한다.Hereinafter, the technology for detecting the double payment generated in the blockchain by the double
도 3은 이중지불 탐지 시스템의 구조를 설명하는 도면이고, 도 4는 블록에 포함된 거래정보들을 이용하여 이중지불 발생여부를 결정하는 방법을 설명하는 도면이다.FIG. 3 is a diagram illustrating the structure of a double payment detection system, and FIG. 4 is a diagram illustrating a method of determining whether a double payment is generated using transaction information included in a block.
도 3을 참고하면, 이중지불 탐지 시스템(200)은 분기점 검색부(210), 블록 결정부(220), 이중지불 발생 결정부(230) 및 경고메시지 전송부(240)를 포함한다.Referring to FIG. 3, the dual
분기점 검색부(210)는 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 블록체인 내에 발생한 분기점을 검색한다.The branch
구체적으로, 분기점 검색부(210)는 블록체인 시스템 내 노드들(100)에 저장된 블록데이터에 접근하여 노드들(100)의 블록체인 구조를 확인하고, 블록체인 구조 내에 동일한 부모 블록에 서로 다른 자식 블록이 연결된 구조가 존재하는지 검색한다.Specifically, the branch
블록 결정부(220)는 분기점이 검색된 경우, 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정한다.When a branch point is searched, the
예를 들면, 도 1에서, 분기점 검색부(210)에 의해 블록체인 내 B-1 블록 및 B-2 블록에 의한 분기점이 검색된 경우, 블록 결정부(220)는 검색된 분기점에 직접 연결된 2 이상의 자식 블록들 즉, B-1 블록 및 B-2 블록을 검색된 분기점을 형성하는 제1 블록 및 제2 블록으로 각각 결정할 수 있다. 한편, 비록 도 1에서는 하나의 부모 블록에 2개의 서로 다른 자식 블록이 연결된 것으로 도시되었으나, 하나의 부모 블록에 3 이상의 서로 다른 자식 블록이 연결될 수도 있다.For example, in FIG. 1, when the branch point search by the B-1 block and the B-2 block in the block chain is searched by the branch
이중지불 발생 결정부(230)는 제1 블록 및 제2 블록에 포함된 거래정보들을 상호 비교하여, 블록체인에 이중지불이 발생하였는지 결정한다.The double payment
도 4를 참고하면, 제1 블록 및 제2 블록은 각각 복수의 거래정보들을 포함한다. 상기 설명한 바와 같이, 각각의 거래정보는 전자화폐를 통해 거래가 수행된 경우 발생하고, 블록의 첫번째 거래정보가 아닌 한, 각 거래정보는 현재 수행된 거래에 의해 발생한 현재 거래정보뿐만 아니라, 현재 거래 이전에 발생한 거래에 의해 생성된 이전 거래정보를 포함한다.Referring to FIG. 4, the first block and the second block each include a plurality of transaction information. As described above, each transaction information occurs when a transaction is performed through electronic money, and unless it is the first transaction information of the block, each transaction information is not only the current transaction information generated by the currently performed transaction, but also the previous transaction Contains the previous transaction information generated by the transaction that occurred in.
예를 들면, 제1 블록이 전자화폐를 통한 사용자 A와 사용자 B 사이의 제1 거래 및 제1 거래 이후 발생한 전자화폐를 통한 사용자 B와 사용자 C 사이의 제2 거래에 대한 정보를 포함한다고 가정하면, 제1 블록은 제1 거래에 의해 발생한 제1 거래정보 및 제2 거래에 의해 발생한 제2 거래정보를 포함한다.For example, assuming that the first block includes information on the first transaction between user A and user B through electronic money and the second transaction between user B and user C through electronic money that occurred after the first transaction. , The first block includes first transaction information generated by the first transaction and second transaction information generated by the second transaction.
이 경우, 제1 거래는 제1 블록의 첫번째 거래로서 코인베이스 트랜잭션으로 정의될 수 있으며, 제1 거래정보는 제1 거래에 의해 발생한 거래정보를 현재 거래정보로 포함하되, 첫번째 거래이므로 이전 거래정보를 포함하지 않는다. 반면, 제2 거래정보는 제1 거래에 의해 발생한 거래정보를 이전 거래정보로 포함하고, 제2 거래에 의해 생성된 거래정보를 현재 거래정보로 포함한다.In this case, the first transaction may be defined as a coin-based transaction as the first transaction in the first block, and the first transaction information includes transaction information generated by the first transaction as current transaction information, but since it is the first transaction, previous transaction information Does not contain. On the other hand, the second transaction information includes the transaction information generated by the first transaction as previous transaction information, and the transaction information generated by the second transaction as current transaction information.
한편, 제1 블록 및 제2 블록에 포함된 거래 정보는 서로 다른 블록에 포함된 거래정보를 이전 거래정보로 포함할 수도 있다.Meanwhile, the transaction information included in the first block and the second block may include transaction information included in different blocks as previous transaction information.
예를 들면, 제1 블록에 포함된 제1 거래정보가 코인베이스 트랜잭션에 의해 발생한 거래정보이고 제2 거래정보가 사용자 A와 사용자 B 사이의 거래에 의해 발생한 거래정보이며, 제2 블록에 포함된 제1 거래정보가 코인베이스 트랜잭션에 의해 발생한 거래정보이고 제2 거래정보가 사용자 B와 사용자 C 사이의 거래에 의해 발생한 거래정보라 할 때, 사용자 B와 사용자 C 사이의 거래 이전에 사용자 A와 사용자 B 사이의 거래가 발생한 경우이므로, 제2 블록의 제2 거래정보는 제1 블록의 제2 거래정보를 이전 거래정보로 포함한다.For example, the first transaction information included in the first block is transaction information generated by a coin-based transaction, and the second transaction information is transaction information generated by a transaction between user A and user B, and included in the second block When the first transaction information is transaction information generated by a coin-based transaction and the second transaction information is transaction information generated by a transaction between user B and user C, user A and user before the transaction between user B and user C Since the transaction between B occurs, the second transaction information in the second block includes the second transaction information in the first block as previous transaction information.
여기서, 거래정보는 트랜잭션 ID(Transaction Identifier, TXID)를 지칭할 수 있다.Here, the transaction information may refer to a transaction ID (TXID).
우선, 이중지불 발생 결정부(230)는 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들을 상호 비교하여 이전 거래정보가 동일하나 현재 거래정보가 상이한 이중지불 거래정보들이 존재하는지 결정한다. First, the double payment
이 경우, 이중지불 발생 결정부(230)는 제1 블록 및 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 제외하고, 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들을 상호 비교할 수 있다. 예를 들면, 도 4에서, 이중지불 발생 결정부(230)는 제1 블록에 포함된 제1 거래정보 및 제2 블록에 포함된 제1 거래정보는 이전 거래정보를 포함하지 않는바, 이를 제외한 나머지 거래정보들을 상호 비교할 수 있다.In this case, the double payment
이후, 이중지불 발생 결정부(230)는 이중지불 거래정보들이 존재하는지에 따라 블록체인 내에서 이중지불이 발생하였는지 결정한다.Subsequently, the double payment
예를 들면, 도 4를 참고하면, 이중지불 발생 결정부(230)는 제1 블록에 포함된 제2 거래정보와 제2 블록에 포함된 제2 거래정보의 이전 거래정보가 "16eab763"으로 동일하고, 현재 거래정보가 각각 "496bac12c" 및 "59b9ea8"로 상이한 경우, 하나의 전자화폐로 2 이상의 거래를 수행 즉, 이중지불이 수행되어 이중지불 거래정보들이 존재하는 경우이므로, 블록체인 내에서 이중지불이 발생한 것으로 결정한다.For example, referring to FIG. 4, the double payment
한편, 도 4와 달리 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들을 상호 비교하였으나 이중지불 거래정보들이 존재하지 않는 경우, 이중지불 발생 결정부(230)는 제1 블록의 자식 블록인 제3 블록에 포함된 거래정보와 제2 블록의 자식 블록인 제4 블록에 포함된 거래정보에서 이중지불 거래정보들이 존재할 수 있음을 알리는 플래그를 설정할 수 있다.Meanwhile, unlike FIG. 4, when the transaction information included in the first block and the transaction information included in the second block are compared with each other, but there are no double payment transaction information, the double payment
이후, 이중지불 발생 결정부(230)는 제3 블록에 포함된 거래정보들과 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지 결정한다.Thereafter, the double payment
경고메시지 전송부(240)는 블록체인에 이중지불이 발생한 경우, 블록체인을 구성하는 복수의 블록들을 공유하는 노드들에 경고메시지를 전송한다.When a double payment occurs in the blockchain, the warning
구체적으로, 경고메시지 전송부(240)는 블록체인에 이중지불이 발생한 경우 블록체인 시스템 내 노드들(100)에게 경고메시지를 전송할 수 있으며, 만일 이중지불 탐지 시스템(200)이 블록체인 시스템 내 노드 중 하나인 경우 이중지불 탐지 시스템(200)과 P2P 네트워크를 통해 상호 연결된 다른 노드들에게 경고메시지를 전송할 수 있다.Specifically, the warning
도 5는 이중지불 탐지 시스템이 블록체인에 발생한 이중지불을 탐지하는 방법을 설명하는 도면이다.5 is a diagram for explaining a method of detecting a double payment occurring in the blockchain by the double payment detection system.
도 5를 참고하면, 이중지불 탐지 시스템(200)은 블록체인을 구성하는 복수의 블록들의 구조를 분석하여, 블록체인 내에 발생한 분기점을 검색한다(S100).Referring to FIG. 5, the double
예를 들면, 도 1에서, 이중지불 탐지 시스템(200)은 블록체인 시스템을 구성하는 노드들(100)에 접속하여 해당 노드들의 블록체인의 구조를 분석하고, 블록체인 내에 발생한 분기점을 검색할 수 있다.For example, in FIG. 1, the double
다른 실시예에서, 도 2와 같이 만일 이중지불 탐지 시스템(300 및 400)이 블록체인 시스템 의 노드 내에 구현된 경우, 이중지불 탐지 시스템이 구현된 노드에 저장된 블록체인의 구조를 분석하여, 분기점을 검색할 수 있다.In another embodiment, as shown in FIG. 2, if the double
이중지불 탐지 시스템(200)은 블록체인 내에 분기점이 발생된 경우, 발생된 분기점을 형성하는 제1 블록 및 제2 블록을 결정한다(S110).The double
이중지불 탐지 시스템(200)은 제1 블록 및 제2 블록에 포함된 거래정보들을 각각 추출한다(S120).The double
구체적으로, 상기 설명한 바와 같이, 제1 블록 및 제2 블록은 전자화폐를 통해 거래가 수행된 경우 생성된 거래정보를 하나 이상 포함하는바, 이중지불 탐지 시스템(200)은 분기점을 형성하는 복수의 블록들에 포함된 거래정보를 추출한다.Specifically, as described above, the first block and the second block include one or more transaction information generated when a transaction is performed through electronic money, and the double
이중지불 탐지 시스템(200)은 추출한 거래정보들을 상호 비교하여, 블록체인에 이중지불이 발생하였는지를 결정한다.The double
구체적으로, 이중지불 탐지 시스템(200)은 상기 제1 블록에 포함된 거래정보들과 상기 제2 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제1 이중지불 거래정보들이 추출된 거래정보들에 존재하는지 결정한다(S130). Specifically, the double
이 경우, 이중지불 탐지 시스템(200)은 제1 블록 및 제2 블록에 포함된 거래정보들 중 이전 거래정보를 포함하지 않는 최초 거래정보를 결정하고, 제1 블록에 포함된 거래정보들과 제2 블록에 포함된 거래정보들 중 최초 거래정보를 제외한 거래정보들만을 상호 비교할 수 있다.In this case, the double
만일 제1 이중지불 거래정보들이 존재하는 경우 이중지불이 수행된 경우이므로, 이중지불 탐지 시스템(200)은 블록체인 내에서 이중지불이 발생하였다고 결정하고, 블록체인을 구성하는 복수의 블록들을 공유하는 노드들(100)에 경고메시지를 전송한다(S131). 만일 이중지불 탐지 시스템(200)이 블록체인 시스템 내 노드 중 하나인 경우 이중지불 탐지 시스템(200)과 P2P 네트워크를 통해 상호 연결된 다른 노드들에게 경고메시지를 전송할 수 있다.If the first double-payment transaction information exists, since double-payment is performed, the double-
만일 제1 이중지불 거래정보들이 존재하지 않는 경우, 이중지불 탐지 시스템(200)은 제1 블록의 자식 블록인 제3 블록과 제2 블록의 자식 블록인 제4 블록을 결정한다(S140).If the first double payment transaction information does not exist, the double
이중지불 탐지 시스템(200)은 제3 블록 및 제4 블록에 포함된 거래정보들을 각각 추출한다(S150).The double
이중지불 탐지 시스템(200)은 제3 블록에 포함된 거래정보들과 제4 블록에 포함된 거래정보들을 상호 비교하여, 이전 거래정보가 동일하나 현재 거래정보가 상이한 제2 이중지불 거래정보들이 존재하는지 결정하고, 상기 제2 이중지불 거래정보들이 존재하는지에 따라 상기 블록체인 내에서 이중지불이 발생하였는지를 결정한다(S160).The double
본 발명에 따르면, 정상거래에 의한 거래정보가 블록에 포함된 후에 이중지불이 발생하는 경우 또는 정상거래에 의해 발생한 거래정보와 이중지불에 의해 발생한 거래정보가 서로 다른 블록에 포함되는 경우라도 블록체인 내 발생한 이중지불을 탐지할 수 있다.According to the present invention, even if the double payment occurs after the transaction information by the normal transaction is included in the block, or even if the transaction information generated by the normal transaction and the transaction information generated by the double payment are included in different blocks, the blockchain You can detect double payments that have occurred.
또한, 본 발명에 따르면, 이중지불이 발생한 경우 블록체인 시스템 내 모든 노드들에 해당 내용이 전파되는바, 블록체인 시스템에서 빠르게 조치하여 이중지불로 인한 피해를 감소시킬 수 있다.In addition, according to the present invention, when a double payment occurs, the contents are propagated to all nodes in the blockchain system, so it is possible to reduce the damage caused by double payment by quickly acting on the blockchain system.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
Claims (10)
상기 블록체인을 구성하는 각 블록에 서로 다른 2 이상의 자식 블록들이 연결되는 분기점을 검색하는 분기점 검색부,
분기점이 검색된 경우, 상기 검색된 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 블록 결정부,
상기 제1 블록 및 상기 제2 블록에 포함된 복수의 트랜잭션들 중 최초로 발생한 트랜잭션이 아닌 각 트랜잭션마다, 이전 트랜잭션의 출력 거래정보와 현재 트랜잭션의 입력 거래정보를 하나의 거래정보 쌍으로 추출하고, 상기 제1 블록에서 추출한 복수의 거래정보 쌍들과 상기 제2 블록에서 추출한 복수의 거래정보 쌍들을 비교하고, 이전 트랜잭션의 출력 거래정보가 동일하고 현재 트랜잭션의 입력 거래정보가 서로 다른 거래정보 쌍이 검색되면, 상기 블록체인에 이중지불이 발생한 것으로 결정하는 이중지불 발생 결정부, 그리고
상기 시스템 내 노드들 또는 상기 시스템과 네트워크로 연결된 노드들에게 상기 블록체인에 이중지불 발생을 알리는 경고메시지 전송부
를 포함하는 이중지불 탐지 시스템.As a system that detects double payments in the blockchain,
A branch point search unit that searches for a branch point to which two or more different child blocks are connected to each block constituting the blockchain,
When a branch point is searched, a block determination unit that determines a first block and a second block forming the searched branch point,
For each transaction that is not the first transaction among the plurality of transactions included in the first block and the second block, the output transaction information of the previous transaction and the input transaction information of the current transaction are extracted as a pair of transaction information, and When a plurality of pairs of transaction information extracted in the first block are compared with a plurality of pairs of transaction information extracted in the second block, and a pair of transaction information having the same output transaction information of the previous transaction and different input transaction information of the current transaction is searched for, A double payment occurrence determination unit that determines that double payment has occurred in the blockchain, and
A warning message transmission unit to notify nodes in the system or nodes connected to the system of the network that the double payment has occurred in the blockchain
Double payment detection system comprising a.
상기 이중지불 발생 결정부는
상기 제1 블록에서 추출한 거래정보 쌍들과 상기 제2 블록에서 추출한 거래정보 쌍들 중 이전 거래정보를 포함하지 않는 최초 거래정보 쌍을 제외하고, 상기 제1 블록에서 추출한 거래정보 쌍들과 상기 제2 블록에서 추출한 거래정보 쌍들을 상호 비교하는 이중지불 탐지 시스템.In claim 1,
The double payment generation decision unit
In the second block and the transaction information pairs extracted in the first block, except for the first transaction information pair that does not include the previous transaction information among the transaction information pairs extracted in the first block and the transaction information pairs extracted in the second block Double payment detection system that compares extracted transaction information pairs with each other.
상기 이중지불 발생 결정부는
이전 트랜잭션의 출력 거래정보가 동일하고 다음 트랜잭션의 입력 거래정보가 서로 다른 거래정보 쌍이 검색되지 않으면,
상기 제1 블록의 자식 블록인 제3 블록에 포함된 복수의 트랜잭션들과 상기 제2 블록의 자식 블록인 제4 블록에 포함된 복수의 트랜잭션들에 대해, 각 트랜잭션의 이전 트랜잭션의 출력 거래정보와 현재 트랜잭션의 입력 거래정보를 하나의 거래정보 쌍으로 추출하고, 상기 제3 블록에서 추출한 복수의 거래정보 쌍들과 상기 제4 블록에서 추출한 복수의 거래정보 쌍들을 비교하고, 이전 트랜잭션의 출력 거래정보가 동일하고 현재 트랜잭션의 입력 거래정보가 서로 다른 거래정보 쌍이 검색되면 상기 블록체인 내에서 이중지불이 발생한 것으로 결정하는, 이중지불 탐지 시스템.In claim 1,
The double payment generation decision unit
If the transaction information pair of the previous transaction is the same and the input transaction information of the next transaction is different, a pair of transaction information is not searched.
For the plurality of transactions included in the third block which is a child block of the first block and the plurality of transactions included in the fourth block which is a child block of the second block, output transaction information of a previous transaction of each transaction and Extract the input transaction information of the current transaction into one transaction information pair, compare the multiple transaction information pairs extracted in the third block with the multiple transaction information pairs extracted in the fourth block, and output transaction information of the previous transaction A double payment detection system that determines that a double payment has occurred in the blockchain when a pair of transaction information having the same input transaction information of the same current transaction is searched.
상기 블록체인을 구성하는 각 블록에 서로 다른 2 이상의 자식 블록들이 연결되는 분기점을 검색하고, 상기 분기점을 형성하는 제1 블록 및 제2 블록을 결정하는 단계,
상기 제1 블록 및 상기 제2 블록에 포함된 복수의 트랜잭션들 중 최초로 발생한 트랜잭션이 아닌 각 트랜잭션마다, 이전 트랜잭션의 출력 거래정보와 현재 트랜잭션의 입력 거래정보를 하나의 거래정보 쌍으로 추출하는 단계,
상기 제1 블록에서 추출한 복수의 거래정보 쌍들과 상기 제2 블록에서 추출한 복수의 거래정보 쌍들을 비교하고, 이전 트랜잭션의 출력 거래정보가 동일하고 현재 트랜잭션의 입력 거래정보가 서로 다른 거래정보 쌍이 검색되면 상기 블록체인에 이중지불이 발생한 것으로 결정하는 단계, 그리고
상기 이중지불 탐지 시스템 내 노드들 또는 상기 이중지불 탐지 시스템과 네트워크로 연결된 노드들에게 상기 블록체인에 이중지불 발생을 알리는 단계
를 포함하는 이중지불 탐지 방법.As a method of detecting a double payment occurring in a blockchain composed of a plurality of blocks by a double payment detection system,
Searching for a branch point to which two or more different child blocks are connected to each block constituting the blockchain, and determining a first block and a second block forming the branch point,
Extracting the output transaction information of the previous transaction and the input transaction information of the current transaction into one transaction information pair for each transaction that is not the first transaction among the plurality of transactions included in the first block and the second block,
When a plurality of pairs of transaction information extracted from the first block are compared with a plurality of pairs of transaction information extracted from the second block, and a pair of transaction information having the same output transaction information of the previous transaction and a different input transaction information of the current transaction is searched for Determining that a double payment has occurred on the blockchain, and
Notifying nodes in the dual payment detection system or nodes connected to the network with the dual payment detection system to notify the blockchain of the occurrence of double payment.
Double payment detection method comprising a.
상기 이중지불이 발생한 것으로 결정하는 단계는
이전 트랜잭션의 출력 거래정보가 동일하고 다음 트랜잭션의 입력 거래정보가 서로 다른 거래정보 쌍이 검색되지 않으면,
상기 제1 블록의 자식 블록인 제3 블록에 포함된 복수의 트랜잭션들과 상기 제2 블록의 자식 블록인 제4 블록에 포함된 복수의 트랜잭션들에 대해, 각 트랜잭션의 이전 트랜잭션의 출력 거래정보와 현재 트랜잭션의 입력 거래정보를 하나의 거래정보 쌍으로 추출하고, 상기 제3 블록에서 추출한 복수의 거래정보 쌍들과 상기 제4 블록에서 추출한 복수의 거래정보 쌍들을 비교하고, 이전 트랜잭션의 출력 거래정보가 동일하고 현재 트랜잭션의 입력 거래정보가 서로 다른 거래정보 쌍이 검색되면 상기 블록체인 내에서 이중지불이 발생한 것으로 결정하는 이중지불 탐지 방법. In claim 6,
The step of determining that the double payment has occurred is
If the transaction information pair of the previous transaction is the same and the input transaction information of the next transaction is different, a pair of transaction information is not searched.
For the plurality of transactions included in the third block which is a child block of the first block and the plurality of transactions included in the fourth block which is a child block of the second block, output transaction information of a previous transaction of each transaction and Extract the input transaction information of the current transaction into one transaction information pair, compare the multiple transaction information pairs extracted in the third block with the multiple transaction information pairs extracted in the fourth block, and output transaction information of the previous transaction A double payment detection method for determining that a double payment has occurred within the blockchain when a pair of transaction information having the same input transaction information of the current transaction is found.
상기 이중지불이 발생한 것으로 결정하는 단계는
상기 제1 블록에서 추출한 거래정보 쌍들 및 상기 제2 블록에서 추출한 거래정보 쌍들 중 이전 거래정보를 포함하지 않는 최초 거래정보 쌍을 제외한 거래정보 쌍들을 상호 비교하는 이중지불 탐지 방법.In claim 6,
The step of determining that the double payment has occurred is
A double payment detection method for comparing transaction information pairs except for the first transaction information pair that does not include the previous transaction information among the transaction information pairs extracted from the first block and the transaction information pairs extracted from the second block.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170154923 | 2017-11-20 | ||
KR20170154923 | 2017-11-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190058255A KR20190058255A (en) | 2019-05-29 |
KR102118646B1 true KR102118646B1 (en) | 2020-06-03 |
Family
ID=66673082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180064368A KR102118646B1 (en) | 2017-11-20 | 2018-06-04 | System and method for detecting double-spending in block chain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102118646B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254538B (en) * | 2021-06-17 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | Method for executing transaction in block chain and block chain link point |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101660627B1 (en) * | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
KR20170123766A (en) * | 2016-04-29 | 2017-11-09 | 삼성에스디에스 주식회사 | Terminal and system for preventing redundancy transaction, and method using the same |
-
2018
- 2018-06-04 KR KR1020180064368A patent/KR102118646B1/en active IP Right Grant
Non-Patent Citations (2)
Title |
---|
‘비트코인 개인간 전자화폐시스템 요약 설명’, SlideShare(2015.05.21. 게재)* |
‘비트코인이 거래되는 원리를 쉽게 설명 한 글입니다 (김은찬님의 블로그)’, G글로벌경제신문(2014.08.11. 게재)* |
Also Published As
Publication number | Publication date |
---|---|
KR20190058255A (en) | 2019-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102454779B1 (en) | Method and apparatus for distributed database enabling deletion of events | |
EP3399446B1 (en) | Methods and apparatus for distributed database within a network | |
CN100413290C (en) | Method for setting up notification function for route selection according to border gateway protocol | |
US20240111782A1 (en) | Methods and apparatus for a distributed database within a network | |
CN108710681A (en) | File acquisition method, device, equipment and storage medium | |
CN102984140A (en) | Malicious software feature fusion analytical method and system based on shared behavior segments | |
US20230388136A1 (en) | Merkle proof entity | |
KR102118646B1 (en) | System and method for detecting double-spending in block chain | |
GB2588138A (en) | Methods and devices for secure symbiotic mining | |
KR102152537B1 (en) | Blockchain network for internet of things device | |
US20230076195A1 (en) | Adapting connections of a layered network | |
Choi et al. | Opera: Reasoning about continuous common knowledge in asynchronous distributed systems | |
Ren et al. | Improving the performance of blockchain sharding protocols with collaborative transaction verification | |
CN103198065A (en) | Optimization method for regular expression matching circuit | |
CN105991429B (en) | A kind of route reselection determination method and device | |
RU2776826C2 (en) | Methods and device for a distributed database that makes it possible to delete events | |
RU2778013C2 (en) | Methods and device for a distributed database on the network | |
Walgampaya et al. | Duplicate detection in pay-per-click streams using temporal stateful Bloom filters | |
WO2021239345A1 (en) | Probabilistic membership test for blockchain transaction outputs | |
Afrose et al. | Malicious node identification in MANETs based on false information | |
KR20230171628A (en) | System and method for changing a working-shard of an account in blockchain network | |
WO2023104406A1 (en) | Data structure for orphan transactions | |
Xu et al. | A network clustering algorithm for sybil-attack resisting | |
CN116578787A (en) | Online social media topic propagation collaborative loop detection method and equipment | |
CN117280669A (en) | Method, system and computer program product for protocol resolution for network security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |