KR101660627B1 - Method and apparatus for protecting transasction of encrypted currency - Google Patents

Method and apparatus for protecting transasction of encrypted currency Download PDF

Info

Publication number
KR101660627B1
KR101660627B1 KR1020150017015A KR20150017015A KR101660627B1 KR 101660627 B1 KR101660627 B1 KR 101660627B1 KR 1020150017015 A KR1020150017015 A KR 1020150017015A KR 20150017015 A KR20150017015 A KR 20150017015A KR 101660627 B1 KR101660627 B1 KR 101660627B1
Authority
KR
South Korea
Prior art keywords
transaction
hash
encrypted currency
new
network
Prior art date
Application number
KR1020150017015A
Other languages
Korean (ko)
Other versions
KR20160095720A (en
Inventor
우바이둘라
은하수
오희국
Original Assignee
한양대학교 에리카산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 에리카산학협력단 filed Critical 한양대학교 에리카산학협력단
Priority to KR1020150017015A priority Critical patent/KR101660627B1/en
Publication of KR20160095720A publication Critical patent/KR20160095720A/en
Application granted granted Critical
Publication of KR101660627B1 publication Critical patent/KR101660627B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials

Abstract

암호화 화폐를 거래 시 안전하게 거래할 수 있는 암호화 화폐 보호 기술이 개시된다. 피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 네트워크에 참여한 사용자 단말들에 의해 수행되는 암호화 화폐 보호 방법은, 암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hashprev)에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hashnew)를 덧붙여 새로운 트랜잭션을 생성하는 단계, 및 상기 새로운 트랜잭션에 대한 유효성 검증을 위해 상기 네트워크에 새로운 트랜잭션을 배포하는 단계를 포함할 수 있다.Encrypted money protection technology that can securely trade encrypted currency at the transaction is disclosed. An encrypted currency protection method performed by user terminals participating in a network that processes encrypted currency with a peer-to-peer is a first hash (" generating a new transaction by adding a second hash new generated in the process of digitally signing the encrypted currency to hash prev , and distributing a new transaction to the network for validation of the new transaction . ≪ / RTI >

Description

암호화 화폐의 거래를 보호하는 방법 및 장치{METHOD AND APPARATUS FOR PROTECTING TRANSASCTION OF ENCRYPTED CURRENCY}METHOD AND APPARATUS FOR PROTECTING TRANSACTION OF ENCRYPTED CURRENCY [0002]

본 발명의 실시예들은 비트코인 등의 암호화 화폐 거래를 해커(hacker)등의 공격자로부터 안전하게 보호하는 기술에 관한 것이다.Embodiments of the present invention relate to techniques for safely protecting an encrypted currency transaction such as bit coin from an attacker such as a hacker.

네트워크가 발달함에 따라, 포털 사이트에서는 가입자에게 활동에 따른 이득을 제공하는 사이버 머니(cyber money)의 개념인 가상 화폐가 등장하였다. 이러한 가상 화폐는 특정 웹 사이트에서만 가치가 있으나, 나카모토 사토시는 전세계인 모두가 사용할 수 있는 암호화폐인 비트코인(Bitcoin: BTC)을 생각해 발표하였다.As the network developed, virtual money, which is the concept of cyber money that provides the benefits to subscribers in a portal site, has appeared. Although these virtual currencies are worthy of particular websites, Satoshi Nakamoto has come up with the idea of Bitcoin (BTC), a cryptographic cipher that can be used by everyone in the world.

비트코인은 비트(bit)로 이루어진 디지털 통화로, 통화를 관리하는 중앙 서버가 존재하지 않는 대신 P2P(Peer-to-Peer) 기반 분산 데이터베이스에 의해 거래가 이루어진다. 이 거래는 공개키 암호화 방식을 기반으로 이루어지며, 비트코인의 주체에 대한 익명성이 보장된다. 그리고, 비트코인의 거래 내역은 블록 체인(block chain)이라는 형태로 공개된다.A bit coin is a digital call made up of bits, and a central server for managing calls does not exist, but instead is traded by a P2P (Peer-to-Peer) based distributed database. This transaction is based on the public key cryptosystem, ensuring the anonymity of the subject of the bit coin. Also, transaction details of the bit coin are disclosed in the form of a block chain.

비트코인의 가치가 점점 올라감에 따라, 2014년 2월에 마운트 곡스(Mt. Gox)의 비트코인 전자지갑이 해킹(hacking)되어, 결국 거래 가변성(transaction malleability) 버그에 따른 이중 지불(double spending)로 인해 마운트 곡스가 파산하는 일이 발생하였다. 예를 들어, 수신자 X가 10 비트코인(BTC)을 송신자 Y(예를 들면, 비트코인 거래소)에게 요청한다. 그러면, 송신자 Y는 10 BTC의 이전 출처, 전자서명(예를 들어, 개인키) 및 수신자 X의 주소가 포함된 거래 정보(실제 거래 정보)를 비트코인 네트워크에 브로드캐스트한다. 이때, 수신자 X가 전자서명을 살짝 바꾸어 다시 한번 네트워크에 거래 정보를 브로드캐스트할 수 있다.As the value of bit coins gradually increased, the bit coin electronic wallet of Mt. Gox was hacked in February 2014, resulting in double spending due to transaction malleability bugs. , Which caused Mt. Songs to go bankrupt. For example, recipient X requests a 10 bit coin (BTC) from sender Y (e.g., a bit coin exchange). Then, sender Y broadcasts transaction information (real transaction information) containing the previous source of 10 BTC, electronic signature (e.g., private key) and address of recipient X to the bit coin network. At this time, the recipient X can slightly change the electronic signature and once again broadcast the transaction information to the network.

전자서명이 수정된 거래 정보가 실제 거래 정보보다 먼저 비트코인 네트워크에 널리 전파되는 경우, 수정된 거래 정보가 다수의 블록에 저장된다. 그리고, 수신자 X는 수정된 거래가 다수의 블록에 저장됨에 따른 BTC 10을 받는다. 이때, 수신자 X는 송신자 Y에게 실제 거래 정보에 대한 10BTC를 받지 못함을 이메일 등을 통해 알린다. 그러면, 송신자 Y는 블록 체인에서 실제 거래 정보가 등록되지 않음을 확인하여, 10BTC를 수신자 X에게 이중 지불(double spending)하는 문제가 발생한다.When the transaction information whose electronic signature is modified is widely spread to the bit coin network before the actual transaction information, the modified transaction information is stored in a plurality of blocks. Receiver X then receives BTC 10 as the modified transaction is stored in multiple blocks. At this time, the recipient X informs the sender Y that he / she does not receive the 10BTC for the actual transaction information through e-mail or the like. Then, the sender Y confirms that the actual transaction information is not registered in the block chain, causing a problem of double spending the 10BTC to the recipient X.

이에 따라, 비트코인 네트워크에서 이중 지불 문제를 해소하기 위한 기술이 요구된다.
본 발명의 배경이 되는 기술로 일본공표특허공보 특표2005-537559호가 있다.
Accordingly, a technique for solving the double payment problem in a bit coin network is required.
Japanese Patent Laid-Open Publication No. 2005-537559 discloses a technique to be a background of the present invention.

본 발명의 일실시예는 비트코인 네트워크에서 거래 가변성 버그로 인해 발생하는 이중 지불을 해소하여 비트코인의 가치를 높이고, 비트코인의 사용을 활성화할 수 있는 암호화 화폐의 거래를 보호하는 방법 및 시스템을 제공하기 위한 것이다.One embodiment of the present invention provides a method and system for protecting the transaction of the encrypted currency which can increase the value of the bit coin by solving the double payment caused by the transaction variability bug in the bit coin network and activate the use of the bit coin .

피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 네트워크에 참여한 사용자 단말들에 의해 수행되는 암호화 화폐 보호 방법은, 암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hashprev)에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hashnew)를 덧붙여 새로운 트랜잭션을 생성하는 단계, 및 상기 새로운 트랜잭션에 대한 유효성 검증을 위해 상기 네트워크에 새로운 트랜잭션을 배포하는 단계를 포함할 수 있다.An encrypted currency protection method performed by user terminals participating in a network that processes encrypted currency with a peer-to-peer is a first hash (" generating a new transaction by adding a second hash new generated in the process of digitally signing the encrypted currency to hash prev , and distributing a new transaction to the network for validation of the new transaction . ≪ / RTI >

일측면에 따르면, 상기 사용자 단말들은, 상기 제1 해시에 기초하여 상기 새로운 트랜잭션에 대한 유효성을 검증을 수행하고, 새로운 거래가 유효한 거래로 검증된 경우, 새로운 거래를 블록에 추가할 수 있다.According to an aspect, the user terminals may perform validation of the new transaction based on the first hash, and may add a new transaction to the block if the new transaction is verified with a valid transaction.

다른 측면에 따르면, 상기 새로운 트랜잭션은, 상기 암호화 화폐를 수신할 수신자의 주소, 상기 암호화 화폐를 전송하는 송신자의 주소, 암호화 화폐의 송금액을 포함할 수 있다.According to another aspect, the new transaction may include an address of the recipient to receive the encrypted currency, an address of the sender transmitting the encrypted currency, and a remittance amount of the encrypted currency.

또 다른 측면에 따르면, 상기 네트워크에 참여한 사용자 단말들은, 상기 사용자 단말들을 통해 이루어진 암호화 화폐와 관련된 트랜잭션 내역이 기록된 블록 체인을 공유할 수 있다.According to another aspect, the user terminals participating in the network may share a block chain in which transaction details related to the encrypted currency made through the user terminals are recorded.

또 다른 측면에 따르면, 상기 블록 체인에 기록된 트랜잭션 내역에서 상기 제2 해시의 존재 여부를 확인함에 따라, 상기 새로운 트랜잭션이 정상적으로 처리되었는지 여부를 검증하는 단계를 더 포함할 수 있다.According to another aspect, the method may further include verifying whether or not the new transaction is normally processed by checking whether the second hash is present in the transaction history recorded in the block chain.

또 다른 측면에 따르면, 상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 단계를 더 포함할 수 있다.According to another aspect, the method may further include verifying transactional malleability for the new transaction based on the second hash.

또 다른 측면에 따르면, 상기 암호화 화폐는, 비트코인(Bitcoin: BTC)을 포함하고, 상기 사용자 단말들은, 상기 비트코인을 처리하기 위해 형성된 비트코인 네트워크에 참여한 단말들을 포함할 수 있다.According to another aspect, the encrypted currency includes a bit coin (BTC), and the user terminals may include terminals participating in a bit coin network formed to process the bit coin.

또 다른 측면에 따르면, 상기 제2 해시는, 상기 사용자 단말들이 상기 제1 해시를 계산하는 동안 검증될 수 있다.According to another aspect, the second hash may be verified while the user terminals are calculating the first hash.

피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 암호화 화폐 보호 장치는, 암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hashprev)에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hashnew)를 덧붙여 새로운 트랜잭션을 생성하는 트랜잭션 생성부, 및 상기 새로운 트랜잭션에 대한 유효성 검증을 위해 상기 네트워크에 새로운 트랜잭션을 배포하는 트랜잭션 배포부를 포함할 수 있다.An encrypted currency protection device for processing an encrypted currency with a peer-to-peer can be configured to digitally sign the encrypted currency in a first hash prev included in the final transaction of the encrypted currency And a transaction distributor for distributing a new transaction to the network in order to verify the validity of the new transaction. The transaction generating unit may generate a new transaction by adding a second hash new generated in the process of generating the new transaction.

일측면에 따르면, 상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 검증부를 더 포함할 수 있다.According to an aspect, a verification unit may be further provided for verifying transactional malleability for the new transaction based on the second hash.

기존 해시와 새로운 해시를 이용하여 비트코인 네트워크에서 거래 가변성 버그로 인해 발생하는 이중 지불을 해소함에 따라, 비트코인의 가치를 높이고, 비트코인의 사용을 활성화할 수 있다.The existing hash and the new hash can be used to increase the value of the bit coin and activate the use of the bit coin by eliminating the double payment caused by the transaction variability bug in the bit coin network.

도 1은 본 발명의 일실시예에 있어서, P2P 기반의 비트코인 네트워크의 개략적인 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 암호화 화폐 보호 장치의 내부 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 암호화 화폐 보호 방법을 설명하기 위해 제공되는 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 중간 트랜잭션(intermediate transaction) 및 최종 트랜잭션(transaction)을 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 새로운 해시를 포함하는 새로운 트랜잭션의 구조를 설명하기 위해 제공되는 도면이다
도 6은 본 발명의 일실시예에 있어서, 마이너 단말들에서 트랜잭션의 유효성을 검증하는 동작을 설명하기 위해 제공되는 흐름도이다.
도 7은 본 발명의 일실시예에 있어서, 공격 시나리오 1에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이다.
도 8은 본 발명의 일실시예에 있어서, 공격 시나리오 2에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이다.
1 is a diagram illustrating a schematic structure of a P2P-based bit coin network in an embodiment of the present invention.
FIG. 2 is a block diagram showing an internal configuration of an encrypted money protection apparatus according to an embodiment of the present invention. FIG.
Figure 3 is a flow chart provided to illustrate an encrypted currency protection method in one embodiment of the present invention.
Figure 4 is a diagram illustrating an intermediate transaction and a final transaction in one embodiment of the present invention.
FIG. 5 is a diagram for explaining a structure of a new transaction including a new hash, according to an embodiment of the present invention
Figure 6 is a flow chart provided to illustrate the operation of verifying the validity of a transaction at a minor terminal, in an embodiment of the present invention.
Figure 7 is a diagram provided to illustrate validation of a transaction in accordance with attack scenario 1, in an embodiment of the present invention.
Figure 8 is a diagram provided to illustrate the validation of a transaction in accordance with attack scenario 2, in an embodiment of the present invention.

본 실시예들은 분산형 네트워크 시스템에서 비트코인(Bitcoin: BTC) 등의 암호화 화폐를 처리하고, 거래 가변성(transaction malleability)와 같은 악의적인 공격으로 인해 비트코인의 이중 지불(double spending)이 발생하는 것으로부터 비트코인을 보호하는 기술을 설명하기 위한 것이다. 다시 말해, 본 실시예들은 거래 가변성 버그로부터 비트코인을 보호하는 비트코인 프로토콜을 설명하기 위한 것이다. 먼저, 본 실시예들의 이해를 돕기 위해 비트코인 및 비트코인 시스템에 대해 간략히 설명하기로 한다.The embodiments of the present invention deal with encrypted money such as Bitcoin (BTC) in a distributed network system and double spending of bit coin occurs due to a malicious attack such as transaction malleability To protect the bit coin. In other words, the embodiments are intended to illustrate a bit coin protocol that protects bit coins from transaction variability bugs. First, a bit coin and bit coin system will be briefly described to facilitate understanding of the embodiments.

비트코인은 피어-투-피어 네트워킹, 디지털 서명들 및 암호 작업 증명(cryptographic proof-of-work)을 이용하여, 신뢰에 의존하지 않고서 당사자들 간의 비가역적 전송들(지불들)을 가능하게 하는 암호화 화폐이다. 지불들은 비트코인 네트워크(Bitcoin network)에 의해 발행 및 전송되는 디지털 통화인 비트코인들에 의해 행해진다. 비트코인 네트워크에 참여한 사용자 단말들은 트랜잭션(transaction)들을 네트워크로 브로드캐스트(broadcast)하고, 비트코인 네트워크는 합의 기반 작업 증명 시스템(consensusbased proof-of-work system)을 통해 상기 트랜잭션들을 인증한 후에 블록 체인(block chain)에 트랜잭션 이력을 기록한다. 블록 체인은, P2P로 사용자 단말들 간에 이루어진 트랜잭션과 관련된 모든 내역이 기록된 블록들이 발생 시간 순으로 체인 형태로 묶인 것으로서, 비트코인 네트워크에 참여한 모든 사용자 단말들에게 공개 및 공유된다.The bit coin is encrypted using peer-to-peer networking, digital signatures, and cryptographic proof-of-work to allow irreversible transmissions (payments) between parties without reliance on trust It is money. Payments are made by bit coins, which are digital currencies issued and transmitted by a Bitcoin network. The user terminals participating in the bit coin network broadcast the transactions to the network and the bit coin network authenticates the transactions through a consensusbased proof-of-work system, the transaction history is recorded in a block chain. The block chain is a block in which all records relating to transactions made between user terminals in P2P are recorded in a chained form in order of occurrence time, and is disclosed and shared to all user terminals participating in the bit coin network.

비트코인은, 공개키 기반으로 암호화된 디지털 통화로서, 비트코인에서, 자금들은 공개-비밀 키들에 할당된다. 따라서, 본 발명의 실시예들에서, 자금들이 공개-비밀에 할당되며, 각 사용자 단말의 저장소에는 자신의 자금(예를 들어, 비트코인)을 관리하는 패스워드인 비밀키 및 자금의 주소를 나타내며 상기 비밀키와 쌍(pair)을 이루는 공개키가 저장될 수 있다. 예를 들어, 저장소는 전자 지갑을 나타내며, 사용자 단말에서 전자 지갑과 관련된 어플리케이션(application) 또는 웹 기반의 프로그램을 설치함에 따라, 전자 지갑이 사용자 단말에 설치될 수 있다. 전자 지갑이 설치 시, 사용자 단말을 위한 공개키 및 비밀키가 생성될 수 있다. 사용자들은 자신의 비밀키를 이용하여 자신의 자금인 비트코인을 보호할 수 있다.A bit coin is a digital currency encrypted on a public key basis, in a bit coin, the funds are assigned to public-private keys. Thus, in embodiments of the present invention, funds are allocated to a public-secret, the store of each user terminal represents the secret key and the address of funds, which is a password that manages its own funds (e.g., bit coin) A public key that forms a pair with the secret key can be stored. For example, the store represents an electronic wallet, and an electronic wallet may be installed in the user terminal by installing an application or web-based program associated with the electronic wallet at the user terminal. When the electronic wallet is installed, a public key and a secret key for the user terminal can be generated. Users can protect their own money bit coin using their secret key.

트랜잭션이 정상적으로 처리되었음을 나타내는 인증된 블록들은 묶여져서 체인으로 연결된다. 그러면, 사용자 단말들은, 새롭게 공개된 블록들에 대해, 그것들이 현존의 체인과 일관된 것인지의 여부가 계산되고, 만약 긍정적이라면, 상기 블록은 체인의 일부가 됨으로써 인증될 수 있다. 다시 말해, 상기 블록이 유효한 것으로 검증한 사용자 단말은, 자신의 블록 체인에 상기 블록을 추가할 수 있다. 그리고, 상기 블록과 현존하는 체인 간에 모순이 존재한다면, 상기 블록은 거절되고, 블록에 포함된 트랜잭션이 나타내는 전송이 무효화될 수 있다.
Authenticated blocks indicating that a transaction has been successfully processed are chained and chained. The user terminals can then be authenticated, for newly published blocks, whether they are consistent with the existing chain, and if so, the block can be authenticated as part of a chain. In other words, a user terminal that verifies that the block is valid may add the block to its block chain. And, if there is a contradiction between the block and the existing chain, the block is rejected and the transfer indicated by the transaction contained in the block can be invalidated.

이하에서는, 도면을 참조하여 P2P 기반의 비트코인 네트워크에서 트랜잭션의 유효성을 검증하여 비트코인을 거래 가변성 등의 공격으로부터 안전하게 처리하는 방법에 대해 상세히 설명하기로 한다.Hereinafter, a method for securely processing a bit coin from attacks such as transaction variability by verifying the validity of a transaction in a P2P-based bit coin network will be described in detail with reference to the drawings.

도 1은 본 발명의 일실시예에 있어서, P2P 기반의 비트코인 네트워크의 개략적인 구조를 도시한 도면이다.1 is a diagram illustrating a schematic structure of a P2P-based bit coin network in an embodiment of the present invention.

도 1에 따르면, 비트코인 네트워크(100)에 비트코인을 발행, 지급, 및 결재하는 등의 트랜잭션(transaction)을 처리하기 위해 다수의 사용자 단말들이 참여할 수 있다. 예를 들어, 트랜잭션은, 비트코인 거래 정보, 해시값 등을 포함하는 트랜잭션 식별자(transaction identifier)를 나타낼 수 있다.According to FIG. 1, a plurality of user terminals may participate to process a transaction, such as issuing, paying, and dispensing a bit coin to the bit coin network 100. For example, a transaction may represent a transaction identifier that includes bit coin transaction information, a hash value, and the like.

사용자 단말들은, 데스크탑 PC, 노트북, 스마트폰, 태블릿 등이 이용되며, 비트코인 네트워크에 참여하기 위해 전용 어플리케이션 또는 웹 기반의 프로그램을 설치할 수 있다. 본 실시예들에서는, 비트코인 네트워크(100)에 참여한 사용자 단말들 중 비트코인을 요청한 단말을 수신자 단말, 수신자 단말에게 비트코인을 지급하는 트랜잭션(transaction)를 비트코인 네트워크(100)에 브로드캐스트하는 단말을 송신자 단말, 그 외 나머지 사용자 단말들은 마이너(miner) 단말이라 칭한다. 여기서, 마이너 단말은 비트코인 네트워크에 브로드캐스트된 트랜잭션을 검증하고, 비트코인을 채굴(mining)하기 위해 이용될 수 있다. 예를 들어, 상기 송신자 단말 및 수신자 단말을 제외한 나머지 사용자 단말들 중 적어도 하나의 단말이 마이너 단말로 이용될 수 있다.The user terminals may be a desktop PC, a notebook, a smart phone, a tablet, etc., and may install a dedicated application or a web-based program to participate in the bit coin network. In the present exemplary embodiment, the terminal that has requested the bit coin among the user terminals participating in the bit coin network 100 broadcasts a transaction paying bit coins to the receiver terminal and the receiver terminal to the bit coin network 100 The terminal is called a sender terminal, and the other user terminals are called a miner terminal. Here, the minor terminal can be used for verifying a transaction broadcast to the bit coin network and mining the bit coin. For example, at least one of the user terminals other than the sender terminal and the receiver terminal may be used as a minor terminal.

송신자 단말(101)은 수신자 단말(102)에서 요청한 비트코인을 수신자 단말(102)에게 제공함을 나타내는 거래 정보를 포함하는 트랜잭션을 디지털 서명하여 비트코인 네트워크(100)에 브로드캐스트할 수 있다. 트랜잭션은, 송신자 단말의 주소, 수신자 단말의 주소, 비트코인 송금액, 송금할 비트코인의 이전 출처 정보를 포함하며, 트랜잭션은 디지털 서명되어 상기 네트워크(100)로 전송될 수 있다. 디지털 서명은 현재 비트코인 네트워크에서 이미 이용되고 있는 비트코인 프로토콜에서 계산된 제1 해시(hashprev)에 기초하여 이루어질 수 있다. The sender terminal 101 may digitally sign and transmit to the bitcoin network 100 a transaction including transaction information indicating that the bit coin requested by the recipient terminal 102 is provided to the recipient terminal 102. The transaction includes the address of the sender terminal, the address of the recipient terminal, the amount of the bit coin remittance, and the previous source of the bit coin to be remitted, and the transaction can be digitally signed and transmitted to the network 100. The digital signature may be based on a first hash prev computed in a bit coin protocol already in use in the current bit coin network.

이때, 송신자 단말(101)은 제1 해시(hashprev)에 제2 해시(hashnew)를 덧붙여서 트랜잭션(transaction identifier)을 생성하고, 생성된 트랜잭션을 상기 네트워크(100)에 전송할 수 있다. 여기서, 제2 해시는, 디지털 서명 과정에서 생성된 해시로서, 원 거래(raw transaction)의 중간 부분에서 생성될 수 있다. 이에 따라, 송신자 단말(101)에서 네트워크로 전송되는 트랜잭션(transaction identifier)은 제2 해시를 더 포함할 수 있다.At this time, the sender terminal 101 may generate a transaction identifier by adding a second hash new to the first hash prev , and may transmit the generated transaction to the network 100. Here, the second hash is a hash generated in the digital signature process, and may be generated in the middle part of the raw transaction. Accordingly, the transaction identifier transmitted from the sender terminal 101 to the network may further include a second hash.

이처럼, 트랜잭션이 네트워크(100)에 브로드캐스트되면, 적어도 하나의 마이너 단말들은 상기 트랜잭션의 유효성을 검증할 수 있다. 예를 들어, 마이너 단말들은 디지털 서명들 및 암호 작업 증명(cryptographic proof-of-work)을 이용하여 상기 수신된 트랜잭션에 포함된 제1 해시에 기초하여 상기 트랜잭션의 유효성을 검증할 수 있다. 그리고, 유효한 경우, 상기 트랜잭션을 포함하는 블록을 블록 체인에 추가하고, 유효성을 입증하는 자료와 함께 상기 블록이 유효함을 트랜잭션 네트워크에 전송하여 공개할 수 있다. 그러면, 나머지 마이너 단말들은, 상기 블록 체인에 추가된 블록의 유효성을 검증하고, 유효한 경우, 자신의 블록 체인에 상기 추가된 블록을 추가할 수 있다. 유효하지 않은 경우, 마이너 단말들은, 상기 트랜잭션을 폐기할 수 있다.
As such, when a transaction is broadcasted to the network 100, at least one minor terminal can validate the transaction. For example, minor terminals may validate the transaction based on a first hash included in the received transaction using digital signatures and cryptographic proof-of-work. Then, if valid, a block containing the transaction can be added to the block chain and transmitted to the transaction network to reveal that the block is valid with data proving validity. The remaining minor terminals can then validate the block added to the block chain and, if valid, add the added block to its block chain. If not valid, the minor terminals may discard the transaction.

도 2는 본 발명의 일실시예에 있어서, 암호화 화폐 보호 장치의 내부 구성을 도시한 블록도이고, 도 3은 본 발명의 일실시예에 있어서, 암호화 화폐 보호 방법을 설명하기 위해 제공되는 흐름도이다. 특히, 도 3은 송신자 단말에서 수신자 단말에서 요청한 비트코인을 제공하는 거래 정보가 포함된 트랜잭션을 생성하여 네트워크로 배포하는 실시예를 설명하기 위한 흐름도이다.FIG. 2 is a block diagram illustrating an internal configuration of an encrypted currency protection apparatus in an embodiment of the present invention, and FIG. 3 is a flowchart provided for explaining an encrypted currency protection method in an embodiment of the present invention . In particular, FIG. 3 is a flowchart illustrating an embodiment in which a transaction including transaction information providing a bit coin requested by a receiver terminal at a sender terminal is generated and distributed to a network.

도 3의 각 단계들(310 내지 330 단계들)은 도 2의 트랜잭션 생성부(210), 트랜잭션 배포부(220), 및 검증부(230)에 의해 수행될 수 있다.3 may be performed by the transaction generating unit 210, the transaction distributing unit 220, and the verifying unit 230 of FIG.

310 단계에서, 트랜잭션 생성부(210)는 제1 해시 및 제2 해시를 이용하여 트랜잭션을 생성할 수 있다. In step 310, the transaction generation unit 210 may generate a transaction using the first hash and the second hash.

제1 해시(hashprev)는 현재 이용되고 있는 비트코인 프로토콜에서 트랜잭션 생성 시 계산된 해시로서, 최종 트랜잭션에 포함된 것으로, 스크립트(ScripSig)를 이용하여 생성된 해시를 나타낼 수 있다. 상기 스크립트는, 디지털 서명된 데이터(signed data)와 공개키(script Public Key)를 포함할 수 있다.The first hash prev is a hash calculated at the time of transaction creation in the currently used bit coin protocol and is included in the final transaction and can represent a hash generated using a script (ScripSig). The script may include digitally signed data and a script public key.

제2 해시는, 트랜잭션 생성 시 중간 부분에서 계산된 것으로서, 스크립트 없이 생성될 수 있다. 예를 들어, 도 4를 참고하면, 제2 해시는 트랜잭션 생성의 중간 부분(Intermediate Transaction)에서 스크립트 없이 생성된 해시(hash_sscriptless, 401)일 수 있다. 이처럼, 스크립트없이 제2 해시가 계산됨에 따라, 스크립트(ScriptSig)가 수정되더라도 제2 해시는 수정되지 않을 수 있다. 예를 들어, 도 5를 참고하면, 트랜잭션 생성부(210)는 제1 해시(501)에 제2 해시(502)를 덧붙인 구조로 트랜잭션을 생성할 수 있다. 이때, 제1 및 제2 해시는 고정된 길이 세그먼트로 이루어질 수 있다. 예를 들어, 제1 해시 및 제2 해시 각각은 20byte로 구성될 수 있다. The second hash can be generated without a script, as calculated in the middle part of the transaction creation. For example, referring to FIG. 4, the second hash may be a hash_scriptless (401) generated without a script in the middle part of transaction creation (Intermediate Transaction). As such, as the second hash is computed without the script, the second hash may not be modified even though the script (ScriptSig) is modified. For example, referring to FIG. 5, the transaction generating unit 210 may generate a transaction by adding a second hash 502 to the first hash 501. At this time, the first and second hashes may be fixed length segments. For example, each of the first hash and the second hash may be composed of 20 bytes.

320 단계에서, 트랜잭션 배포부(220)는 제1 및 제2 해시가 포함된 트랜잭션을 비트코인 네트워크로 브로드캐스트할 수 있다. 그러면, 브로드캐스트된 트랜잭션은 비트코인 네트워크에 참여한 마이너 단말들에 의해 유효성이 검증될 수 있다.In step 320, the transaction distribution unit 220 may broadcast the transaction including the first and second hashes to the bit coin network. Then, the broadcasted transaction can be validated by the minor terminals participating in the bit coin network.

330 단계에서, 비트코인 네트워크에 브로드캐스트된 트랜잭션이 정상적으로 처리됐는지 여부를 확인하고자 하는 경우, 검증부(230)는 제2 해시를 이용하여 트랜잭션의 정상 처리 여부를 검증할 수 있다.If it is determined in step 330 that the transaction broadcasted to the bit coin network is normally processed, the verification unit 230 can verify whether the transaction is normally processed using the second hash.

예를 들어, 송신자 단말(200)은 수신자 단말에서 요청한 비트코인을 전송하는 거래 정보, 제1 및 제2 해시가 포함된 트랜잭션을 비트코인 네트워크로 배포하였는데, 수신자 단말로부터 비트코인을 지급받지 못했다는 메시지를 수신할 수 있다. 그러면, 검증부(230)는 제2 해시를 이용하여 블록 체인에 포함된 트랜잭션들 중에서 자신이 배포한 트랜잭션이 존재하는지를 확인할 수 있다. 그리고, 검증부(230)는 이미 트랜잭션이 정상적으로 처리되었음을 확인하고, 사용자 단말(200)에 비트코인을 이중으로 지불하지 않을 수 있다.For example, the sender terminal 200 distributes the transaction including the transaction information for transmitting the bit coin requested by the receiver terminal and the transaction including the first and second hashes to the bit coin network. However, if the receiver terminal does not receive the bit coin Message can be received. Then, the verifying unit 230 can check whether there is a transaction distributed by itself among the transactions included in the block chain by using the second hash. The verification unit 230 may confirm that the transaction has been normally processed, and may not double-pay a bit coin to the user terminal 200. [

이상의 도 2 및 도 3에서 설명한 바와 같이, 제2 해시를 트랜잭션에 추가하여 제공하는 것만으로, 거래 가변성으로 인한 이중 지불을 방지할 수 있으며, 현재의 비트코인 프로토콜을 크게 변경하지 않고, 약간만 수정하여 본 암호화 화폐 보호 기술을 적용할 수 있다. 특히, 마이너들은, 기존 비트코인 프로토콜과 동일하게 제1 해시를 확인하여 트랜잭션의 유효성을 검증할 수 있다.
As described above with reference to FIG. 2 and FIG. 3, it is possible to prevent double payment due to transaction variability by merely providing a second hash to the transaction, This encryption cash protection technology can be applied. In particular, the minors can verify the validity of the transaction by checking the first hash in the same way as the existing bit coin protocol.

도 6은 본 발명의 일실시예에 있어서, 마이너 단말들에서 트랜잭션의 유효성을 검증하는 동작을 설명하기 위해 제공되는 흐름도이고, 도 7은 본 발명의 일실시예에 있어서, 공격 시나리오 1에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이고, 도 8은 본 발명의 일실시예에 있어서, 공격 시나리오 2에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이다.FIG. 6 is a flowchart illustrating an operation for verifying the validity of a transaction in a minor terminal according to an exemplary embodiment of the present invention. FIG. 7 is a flowchart illustrating a transaction according to an attack scenario 1 according to an embodiment of the present invention. FIG. 8 is a diagram provided for explaining validation of a transaction according to an attack scenario 2, in an embodiment of the present invention. FIG.

도 6 내지 도 8에서는, 비트코인 네트워크에 악의성을 가진 해커(hacker) 등의 공격자가 존재하는 경우를 가정하여 설명하기로 한다. 예를 들어, 공격자에 의해 제1 해시 또는 제2 해시가 수정될 수 있다. 이하에서는, 2개의 공격 시나리오를 가정하고, 공격 시나리오 1에 따른 트랜잭션의 유효성을 검증하는 경우를 먼저 예를 들어 설명하기로 한다.
6 to 8, it is assumed that an attacker such as a hacker having maliciousness exists in the bit coin network. For example, the first hash or the second hash may be modified by the attacker. Hereinafter, the case where two attack scenarios are assumed and the validity of a transaction according to the attack scenario 1 is verified will be described first as an example.

공격 시나리오 1Attack Scenario 1

도 7을 참고하면, 송신자 단말에서 비트코인 네트워크로 브로드캐스트된 새로운 트랜잭션은 hashprev|hashnew(701)의 형태를 가질 수 있다. 이때, 공격자가 새로운 트랜잭션(701)을 가로채서(intercept) 제1 해시를 수정할 수 있다. 예를 들어, 스크립트(ScriptSig)에 내용을 추가하거나 수정하는 등의 동작을 수행함에 따라 제1 해시가 수정될 수 있다. 그리고, 제1 해시를 수정한 트랜잭션을 비트코인 네트워크에 브로드캐스트할 수 있다. 이때, 수정된 트랜잭션(702)이 정상적인 트랜잭션(701)보다 비트코인 네트워크에 빠르게 그리고 널리 전파되어 블록체인에 성공적으로 추가될 수 있다.
7, a new transaction broadcast to the bit coin network at the sender terminal may have the form of hash prev | hash new (701). At this time, the attacker can intercept the new transaction 701 and modify the first hash. For example, the first hash can be modified by performing operations such as adding or modifying contents to a script (ScriptSig). Then, the transaction that modified the first hash can be broadcast to the bit coin network. At this time, the modified transaction 702 can be successfully and rapidly propagated to the bit coin network rather than the normal transaction 701 and successfully added to the block chain.

610 단계에서, 마이너 단말들은, 비트코인 네트워크를 통해 수신된 트랜잭션의 유효성을 검증할 수 있다.In step 610, the minor terminals may verify the validity of the transaction received over the bitcoin network.

일례로, 도 7에 도시된 공격 시나리오 1에 따라, 마이너 단말이 수정된 트랜잭션(702)을 수신한 경우, 수정된 트랜잭션(702)의 유효성을 검증할 수 있다. 이때, 마이너 단말은 수정된 트랜잭션(702)에 포함된 수정된 제1 해시(hashprev')을 이용하여 수정된 트랜잭션(702)의 유효성을 검증할 수 있다. In one example, according to attack scenario 1 shown in FIG. 7, if a minor terminal receives a modified transaction 702, it can verify the validity of the modified transaction 702. At this time, the minor terminal can verify the validity of the modified transaction 702 using the modified first hash (hash prev ' ) included in the modified transaction 702.

620 단계에서, 정상 트랜잭션(701)에서 제1 해시(hashprev)만 수정되었을 뿐, 나머지 정보는 그대로이므로, 마이너 단말들은 수정된 1 해시(hashprev')를 이용하여 수정된 트랜잭션(702)의 유효성을 정상으로 검증할 수 있다(620:YES).In step 620, since only the first hash prev has been modified in the normal transaction 701, and the remaining information is intact, the minor terminals are notified of the modified transaction 702 using the modified hash prev ' Validity can be verified as normal (620: YES).

630 단계에서, 상기 수정된 트랜잭션(702)의 유효성을 정상으로 검증한 마이너 단말들이 많아져 수정된 트랜잭션(702)이 성공적으로 블록체인에 추가될 수 있다.In step 630, the number of minor terminals that have successfully verified the validity of the modified transaction 702 is increased, so that the modified transaction 702 can be successfully added to the block chain.

이때, 송신자 단말은 자신이 네트워크로 배포한 트랜잭션이 실제로 이행되었는지 여부를 확인하고자 할 수 있다. 그러면, 송신자 단말은, 제2 해시(hashnew)를 이용하여 블록체인에서 자신이 배포한 트랜잭션(701)의 이행 여부를 검증할 수 있다. At this time, the sender terminal may want to check whether or not the transaction distributed by the network itself has actually been implemented. Then, the sender terminal can verify whether or not the transaction 701 distributed by itself in the block chain is implemented by using the second hash (hash new ).

예를 들어, 공격 시나리오 1에 따라 제1 해시는 수정되었으나(hashprev'), 제2 해시는 수정되지 않았으므로, 수정된 트랜잭션(702)은 여전히 제2 해시(hashnew)를 포함하고 있을 수 있다. 이에 따라, 블록체인에 추가된 수정된 트랜잭션(702) 역시 제2 해시(hashnew)를 포함하고 있으므로, 송신자 단말은 블록체인에서 제2 해시를 검색하고, 검색된 제2 해시가 존재함에 따라 자신이 배포한 트랜잭션(701)의 이행이 정상적으로 이루어졌음을 확인할 수 있다. 결국, 공격 시나리오 1에 따라 제1 해시를 변경하더라도, 송신자 단말에서 제2 해시를 이용하여 트랜잭션 이행에 대한 검증을 수행함에 따라, 거래 가변성으로 인한 이중 지불을 방지할 수 있다.For example, since the first hash has been modified (hash prev ' ) according to attack scenario 1, and the second hash has not been modified, the modified transaction 702 may still contain the second hash new have. Accordingly, since the modified transaction 702 added to the block chain also includes the second hash new , the sender terminal retrieves the second hash from the block chain, and as the retrieved second hash exists, It can be confirmed that the transfer of the distributed transaction 701 has been normally performed. As a result, even if the first hash is changed according to the attack scenario 1, the sender terminal can perform the verification of the transaction execution using the second hash, thereby preventing the double payment due to the transaction variability.

한편, 640 단계에서, 상기 수정된 트랜잭션(702)이 유효하지 않은 것으로 검증된 경우(620: NO), 마이너 단말은, 수정된 트랜잭션(702)을 폐기할 수 있다. 이에 대해서는 도 8의 공격 시나리오 2를 참고하여 설명하기로 한다.
On the other hand, in step 640, if the modified transaction 702 is verified as invalid (620: NO), the minor terminal can discard the modified transaction 702. This will be described with reference to the attack scenario 2 of FIG.

공격 시나리오 2Attack Scenario 2

도 8을 참고하면, 송신자 단말에서 비트코인 네트워크로 브로드캐스트된 새로운 트랜잭션은 hashprev|hashnew(801)의 형태를 가질 수 있다. 이때, 공격자가 새로운 트랜잭션(801)을 가로채서(intercept) 제2 해시를 수정할 수 있다. 그리고, 제2 해시를 수정한 트랜잭션(802)을 비트코인 네트워크에 브로드캐스트할 수 있다. 이때, 수정된 트랜잭션(802)이 정상적인 트랜잭션(801)보다 비트코인 네트워크에 빠르게 그리고 널리 전파될 수 있다.Referring to FIG. 8, a new transaction broadcast to the bit coin network at the sender terminal may have the form of hash prev | hash new (801). At this time, the attacker can intercept the new transaction 801 and modify the second hash. Then, the second hash modified transaction 802 can be broadcast to the bit coin network. At this time, the modified transaction 802 can be quickly and widely propagated to the bit coin network rather than the normal transaction 801.

다시 도 6을 참고하면, 마이너 단말은, 제1 해시를 이용하여 수정된 트랜잭션(802)의 유효성을 검증할 수 있다. 이때, 제1 해시를 계산하는 과정에서 수정된 제2 해시의 유효성이 검증될 수 있다. 이에 따라, 마이너 단말은 제1 해시를 계산하는 과정에서 상기 수정된 제2 해시(hashnew')가 거짓임을 확인할 수 있다. 제2 해시(hashnew)는, 송신자 단말에서 트랜잭션을 생성하는 과정 중 중간 부분에서 계산된 해시이므로, 결국, 마이너 단말은 제1 해시를 계산하는 과정에서 제2 해시(hashnew)를 계산할 수 있다. 다시 640 단계를 참고하면, 마이너 단말은 제2 해시(hashnew)가 수정된 제2 해시(hashnew')와 상이함을 확인하고, 수정된 트랜잭션(802)을 폐기할 수 있다. Referring again to FIG. 6, the minor terminal can verify the validity of the modified transaction 802 using the first hash. At this time, in the process of calculating the first hash, the validity of the modified second hash can be verified. Accordingly, in the process of calculating the first hash, the minor terminal can confirm that the modified second hash ' is false. Since the second hash new is a hash calculated in the middle part of the process of creating a transaction at the sender terminal, the minor terminal can finally calculate the second hash new in the process of calculating the first hash . Referring back to step 640, a minor terminal can confirm that the second hash (hash new) is the modified second hash (hash new ') with different, discard the modified transaction 802.

지금까지 설명한 바와 같이, 송신자 단말은 트랜잭션을 생성하는 중간 과정(intermediate transaction)에서 계산된 해시(hashnew)와 트랜잭션의 최종 생성 과정(final transaction)에서 생성된 해시(hashprev)를 이용하여 트랜잭션(예를 들어, 트랜잭션 식별자)을 생성하여 네트워크에 배포함에 따라, 기존 비트코인 프로토콜을 크게 수정하지 않더라도 거래 가변성에 대응할 수 있도록 바로 적용할 수 있다. 뿐만 아니라, 새로운 해시(hashnew)는 20바이트로 매우 적은 데이터량을 차지함에 따라, 트랜잭션의 유효성을 검증하고 블록체인에 추가하는 마이너 단말들의 저장 공간의 증가량이 미비하고, 유효성 검증을 위한 프로세스 계산량 역시 미비하다. 즉, 본 암호화 화폐 보호 기술은 마이너 단말들에 부담을 주지 않으면서 거래 가변성에 대응할 수 있는 프로토콜을 제공할 수 있다. As described so far, the sender terminal uses the hash new calculated in the intermediate transaction to generate the transaction and the hash prev generated in the final transaction of the transaction. For example, a transaction identifier is generated and distributed to the network, so that it can be immediately applied to cope with transaction variability even if the existing bit coin protocol is not greatly modified. In addition, since the new hash new occupies a very small amount of data with 20 bytes, the increase of the storage space of the minor terminals that verify the validity of the transaction and add to the block chain is insufficient, and the process computation amount It is not enough. That is, the present encryption money protection technology can provide a protocol that can cope with transaction variability without burdening the minor terminals.

이상에서 설명된 암호화 화폐 보호 방법 및 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템 및 시스템의 구성요소들은, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The encrypted currency protection method and apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the components of the system and system described in the embodiments may be, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array ), A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (10)

  1. 피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 네트워크에 참여한 사용자 단말들에 의해 수행되는 암호화 화폐 보호 방법에 있어서,
    암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hashprev)에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hashnew)를 덧붙여 새로운 트랜잭션을 생성하는 단계;
    상기 새로운 트랜잭션에 대한 유효성 검증을 위해 상기 네트워크에 새로운 트랜잭션을 배포하는 단계; 및
    블록 체인에 기록된 트랜잭션 내역에서 상기 제2 해시의 존재 여부를 확인함에 따라, 상기 새로운 트랜잭션이 정상적으로 처리되었는지 여부를 검증하는 단계
    를 포함하고,
    상기 제2 해시는, 최종 트랜잭션(final transaction) 이전에 수행되는 중간 트랜잭션(intermediate transaction)에서 계산되고,
    상기 새로운 트랜잭션을 배포하는 단계는,
    상기 새로운 트랜잭션을 상기 제1 해시에 상기 제2 해시가 덧붙여진 구조로 디지털 서명하여 상기 네트워크에 배포하고,
    상기 검증하는 단계는,
    공격자에 의해 상기 제1 해시가 수정됨에 따라 수정된 트랜잭션이 배포되고, 상기 네트워크에 참여한 사용자 단말들 중 마이너(miner) 단말에서 상기 제1 해시에 기초하여 상기 수정된 트랜잭션의 유효성이 정상으로 검증되어 상기 수정된 트랜잭션이 상기 새로운 트랜잭션보다 먼저 블록체인에 추가된 경우, 이중 지불 여부를 확인하기 위해 상기 수정된 트랜잭션에 포함된 제2 해시에 기초하여 상기 새로운 트랜잭션의 이행 여부를 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
    CLAIMS What is claimed is: 1. An encrypted currency protection method carried out by user terminals participating in a network that processes encrypted currency in a peer-to-peer,
    Generating a new transaction by adding a second hash new generated in the process of digitally signing the encrypted currency to a first hash prev included in a final transaction of the encrypted currency;
    Distributing a new transaction to the network for validation of the new transaction; And
    Verifying whether the new transaction is normally processed by checking whether the second hash is present in the transaction history recorded in the block chain,
    Lt; / RTI >
    The second hash is calculated in an intermediate transaction performed before the final transaction,
    The step of distributing the new transaction comprises:
    Digitally signing the new transaction with the structure of the first hash appended with the second hash and distributing it to the network,
    Wherein the verifying step comprises:
    The modified transaction is distributed as the first hash is modified by the attacker and the validity of the modified transaction is verified normally on the basis of the first hash at the mining terminal among the user terminals participating in the network Verifying whether the new transaction is fulfilled based on a second hash included in the modified transaction to confirm whether the modified transaction is added to the block chain before the new transaction,
    Wherein the encrypted currency protection method comprises the steps of:
  2. 제1항에 있어서,
    상기 사용자 단말들은,
    상기 제1 해시에 기초하여 상기 새로운 트랜잭션에 대한 유효성을 검증을 수행하고, 새로운 거래가 유효한 거래로 검증된 경우, 새로운 거래를 블록에 추가하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
    The method according to claim 1,
    The user terminals,
    Performing a validity check on the new transaction based on the first hash and adding a new transaction to the block if the new transaction is verified as a valid transaction
    Wherein the encrypted currency protection method comprises the steps of:
  3. 제1항에 있어서,
    상기 새로운 트랜잭션은,
    상기 암호화 화폐를 수신할 수신자의 주소, 상기 암호화 화폐를 전송하는 송신자의 주소, 암호화 화폐의 송금액을 포함하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
    The method according to claim 1,
    The new transaction,
    The address of the recipient to receive the encrypted currency, the address of the sender to transmit the encrypted currency, and the remittance amount of the encrypted currency
    Wherein the encrypted currency protection method comprises the steps of:
  4. 제1항에 있어서,
    상기 네트워크에 참여한 사용자 단말들은,
    상기 사용자 단말들을 통해 이루어진 암호화 화폐와 관련된 트랜잭션 내역이 기록된 블록 체인을 공유하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
    The method according to claim 1,
    The user terminals participating in the network,
    Sharing a block chain in which transaction details related to the encrypted currency made through the user terminals are recorded
    Wherein the encrypted currency protection method comprises the steps of:
  5. 삭제delete
  6. 제1항에 있어서,
    상기 검증하는 단계는,
    상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
    The method according to claim 1,
    Wherein the verifying step comprises:
    Verifying transactional malleability for the new transaction based on the second hash;
    Wherein the encrypted currency protection method comprises the steps of:
  7. 제1항에 있어서,
    상기 암호화 화폐는, 비트코인(Bitcoin: BTC)을 포함하고,
    상기 사용자 단말들은,
    상기 비트코인을 처리하기 위해 형성된 비트코인 네트워크에 참여한 단말들인 것
    을 특징으로 하는 암호화 화폐 보호 방법.
    The method according to claim 1,
    The encrypted currency includes a bit coin (BTC)
    The user terminals,
    Those participating in the bit coin network formed for processing the bit coin
    Wherein the encrypted currency protection method comprises the steps of:
  8. 제1항에 있어서,
    상기 제2 해시는,
    상기 사용자 단말들이 상기 제1 해시를 계산하는 동안 검증되는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
    The method according to claim 1,
    The second hash comprises:
    The user terminals being verified while calculating the first hash
    Wherein the encrypted currency protection method comprises the steps of:
  9. 피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 암호화 화폐 보호 장치에 있어서,
    암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hashprev)에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hashnew)를 덧붙여 새로운 트랜잭션을 생성하는 트랜잭션 생성부;
    상기 새로운 트랜잭션에 대한 유효성 검증을 위해 네트워크에 새로운 트랜잭션을 배포하는 트랜잭션 배포부; 및
    블록 체인에 기록된 트랜잭션 내역에서 상기 제2 해시의 존재 여부를 확인함에 따라, 상기 새로운 트랜잭션이 정상적으로 처리되었는지 여부를 검증하는 검증부
    를 포함하고,
    상기 제2 해시는, 최종 트랜잭션(final transaction) 이전에 수행되는 중간 트랜잭션(intermediate transaction)에서 계산되고,
    상기 트랜잭션 배포부는,
    상기 새로운 트랜잭션을 상기 제1 해시에 상기 제2 해시가 덧붙여진 구조로 디지털 서명하여 상기 네트워크에 배포하고,
    상기 검증부는,
    공격자에 의해 상기 제1 해시가 수정됨에 따라 수정된 트랜잭션이 배포되고, 상기 네트워크에 참여한 사용자 단말들 중 마이너(miner) 단말에서 상기 제1 해시에 기초하여 상기 수정된 트랜잭션의 유효성이 정상으로 검증되어 상기 수정된 트랜잭션이 상기 새로운 트랜잭션보다 먼저 블록체인에 추가된 경우, 이중 지불 여부를 확인하기 위해 상기 수정된 트랜잭션에 포함된 제2 해시에 기초하여 상기 새로운 트랜잭션의 이행 여부를 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 장치.
    CLAIMS What is claimed is: 1. An encrypted currency protection device for processing encrypted currency with a peer-to-peer,
    A transaction generating unit for generating a new transaction by adding a second hash new generated in the process of digitally signing the encrypted currency to a first hash prev included in a final transaction of the encrypted currency;
    A transaction distributor for distributing a new transaction to the network for validation of the new transaction; And
    A verification unit for verifying whether the new transaction is normally processed by checking whether the second hash is present in the transaction history recorded in the block chain,
    Lt; / RTI >
    The second hash is calculated in an intermediate transaction performed before the final transaction,
    Wherein the transaction distribution unit comprises:
    Digitally signing the new transaction with the structure of the first hash appended with the second hash and distributing it to the network,
    Wherein the verifying unit comprises:
    The modified transaction is distributed as the first hash is modified by the attacker and the validity of the modified transaction is verified normally on the basis of the first hash at the mining terminal among the user terminals participating in the network Verifying whether the new transaction is fulfilled based on a second hash included in the modified transaction to confirm whether the modified transaction is added to the block chain before the new transaction,
    And the encrypted currency protection device.
  10. 제9항에 있어서,
    상기 검증부는,
    상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 장치.
    10. The method of claim 9,
    Wherein the verifying unit comprises:
    Verifying transactional malleability for the new transaction based on the second hash;
    And the encrypted currency protection device.
KR1020150017015A 2015-02-03 2015-02-03 Method and apparatus for protecting transasction of encrypted currency KR101660627B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150017015A KR101660627B1 (en) 2015-02-03 2015-02-03 Method and apparatus for protecting transasction of encrypted currency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150017015A KR101660627B1 (en) 2015-02-03 2015-02-03 Method and apparatus for protecting transasction of encrypted currency

Publications (2)

Publication Number Publication Date
KR20160095720A KR20160095720A (en) 2016-08-12
KR101660627B1 true KR101660627B1 (en) 2016-09-28

Family

ID=56714688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150017015A KR101660627B1 (en) 2015-02-03 2015-02-03 Method and apparatus for protecting transasction of encrypted currency

Country Status (1)

Country Link
KR (1) KR101660627B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101852935B1 (en) * 2017-07-31 2018-04-27 임종범 System and method for transaction of electronic currency
KR20180089952A (en) 2017-02-02 2018-08-10 김덕상 Method and system for processing transaction of electronic cash
KR20180089951A (en) 2017-02-02 2018-08-10 김덕상 Method and system for processing transaction of electronic cash
WO2018169204A1 (en) * 2017-03-16 2018-09-20 삼성전자주식회사 Electronic device and transaction performing method using same
KR20190035056A (en) * 2017-09-26 2019-04-03 한양대학교 산학협력단 Flying apparatus and data transmission method thereof
KR102014655B1 (en) 2018-09-25 2019-08-26 김수완 A method for mileage integration and real asset capitalization using integrated platform of fin-tech and blockchain
KR20190108263A (en) 2018-03-14 2019-09-24 에이치닥 테크놀로지 아게 Hybrid block chain system and method for transferring of a control transaction using the system
WO2019231086A1 (en) * 2018-05-31 2019-12-05 인포뱅크 주식회사 Method for processing transaction information of use-designated cryptocurrency, and apparatus thereof
WO2020022531A1 (en) * 2018-07-23 2020-01-30 주식회사 더볼터 Method and system for dynamic time delay-based chain connection in pop-based blockchain
KR20200019455A (en) 2018-08-14 2020-02-24 주식회사 한컴지엠디 Apparatus for tracking cryptographic transaction using scraper and method of the same

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101964254B1 (en) * 2017-01-03 2019-04-01 아주대학교산학협력단 Person to person trading method and apparatus by using blockchain and distributed hash table
WO2018132108A1 (en) * 2017-01-13 2018-07-19 Visa International Service Association Techniques for secure blockchain management
KR101964692B1 (en) * 2017-05-12 2019-04-02 주식회사 엑스블록시스템즈 Blockchain system and data managing method using blockchain
WO2019013413A1 (en) * 2017-07-14 2019-01-17 한국과학기술원 Method and system for identifying user's personal information use by using block chain
KR20190036612A (en) 2017-09-28 2019-04-05 박창희 system and method for controlling mining device of bitcoin
KR102118646B1 (en) * 2017-11-20 2020-06-03 충남대학교산학협력단 System and method for detecting double-spending in block chain
KR102031716B1 (en) * 2018-01-09 2019-10-14 주식회사 골든블로코 Financial transaction processing system using doubleness coin
KR102000936B1 (en) * 2018-02-14 2019-07-17 주식회사 코드박스 Method to improve consensus algorithm of virtual money
KR101952329B1 (en) 2018-03-22 2019-02-26 주식회사 스트리미 Method for generating address information used in transaction of cryptocurrency based on blockchain, electronic apparatus and computer readable recording medium
KR102087627B1 (en) * 2018-03-26 2020-03-12 누리플렉스 아이엔씨 Transaction system and transaction method
KR102178895B1 (en) * 2018-07-31 2020-11-13 중앙대학교 산학협력단 Proof-of-Probability based blockchain compensation method and apparatus
KR102052835B1 (en) * 2018-07-31 2020-01-08 중앙대학교 산학협력단 Recipient-oriented transaction verification method and apparatus for preventing double spending
KR102051231B1 (en) * 2018-11-27 2020-01-08 한국과학기술원 Method and system for tracking transaction of the user personal information based in blockchain
KR101962289B1 (en) * 2018-12-31 2019-03-26 주식회사 미탭스플러스 Distributed Ledger Device for Supporting Sharing Economy
KR101962290B1 (en) * 2018-12-31 2019-03-26 주식회사 미탭스플러스 Distributed Ledger Device for Supporting Sharing Economy

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005537559A (en) * 2002-08-28 2005-12-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィKoninklijke Philips Electronics N.V. Secure record of transactions
JP2008257598A (en) 2007-04-06 2008-10-23 Nec Corp Electronic money transaction method and electronic money system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364959B2 (en) * 2010-05-26 2013-01-29 Google Inc. Systems and methods for using a domain-specific security sandbox to facilitate secure transactions
KR101534146B1 (en) * 2013-05-22 2015-07-14 박복태 The method for creating bit money managed by data and providing system thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005537559A (en) * 2002-08-28 2005-12-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィKoninklijke Philips Electronics N.V. Secure record of transactions
JP2008257598A (en) 2007-04-06 2008-10-23 Nec Corp Electronic money transaction method and electronic money system

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180089952A (en) 2017-02-02 2018-08-10 김덕상 Method and system for processing transaction of electronic cash
KR20180089951A (en) 2017-02-02 2018-08-10 김덕상 Method and system for processing transaction of electronic cash
WO2018169204A1 (en) * 2017-03-16 2018-09-20 삼성전자주식회사 Electronic device and transaction performing method using same
KR101852935B1 (en) * 2017-07-31 2018-04-27 임종범 System and method for transaction of electronic currency
WO2019027093A1 (en) * 2017-07-31 2019-02-07 임종범 Electronic money transaction system and method
KR20190035056A (en) * 2017-09-26 2019-04-03 한양대학교 산학협력단 Flying apparatus and data transmission method thereof
KR102024991B1 (en) * 2017-09-26 2019-11-04 한양대학교 산학협력단 Flying apparatus and data transmission method thereof
KR20190108263A (en) 2018-03-14 2019-09-24 에이치닥 테크놀로지 아게 Hybrid block chain system and method for transferring of a control transaction using the system
WO2019231086A1 (en) * 2018-05-31 2019-12-05 인포뱅크 주식회사 Method for processing transaction information of use-designated cryptocurrency, and apparatus thereof
WO2020022531A1 (en) * 2018-07-23 2020-01-30 주식회사 더볼터 Method and system for dynamic time delay-based chain connection in pop-based blockchain
KR20200019455A (en) 2018-08-14 2020-02-24 주식회사 한컴지엠디 Apparatus for tracking cryptographic transaction using scraper and method of the same
KR102014655B1 (en) 2018-09-25 2019-08-26 김수완 A method for mileage integration and real asset capitalization using integrated platform of fin-tech and blockchain

Also Published As

Publication number Publication date
KR20160095720A (en) 2016-08-12

Similar Documents

Publication Publication Date Title
US10630667B2 (en) Client, server, method and identity verification system
Aitzhan et al. Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams
Lin et al. A survey of blockchain security issues and challenges.
EP3251284B1 (en) Methods for secure credential provisioning
KR101974060B1 (en) Method and system for validating ownership of digital assets using distributed hash tables and peer-to-peer distributed decoys
RU2729700C1 (en) Service of smart contract outside chain based on trusted execution environment
WO2018076762A1 (en) Block chain-based transaction verification method and system, electronic device, and medium
KR101799343B1 (en) Method for using, revoking certificate information and blockchain-based server using the same
Juels et al. The ring of gyges: Investigating the future of criminal smart contracts
Alketbi et al. Blockchain for government services—Use cases, security benefits and challenges
JP6092998B2 (en) System and method for enhancing transaction security
US10762479B2 (en) Method and system for processing blockchain-based real-time transaction
KR101964254B1 (en) Person to person trading method and apparatus by using blockchain and distributed hash table
CN106664206B (en) Efficient method for authenticated communication
AU2015308608B2 (en) Methods for secure cryptogram generation
CN107770115B (en) Method and system for distributing digital content in a peer-to-peer network
Hasan et al. Proof of delivery of digital assets using blockchain and smart contracts
US20190312877A1 (en) Block chain mining method, device, and node apparatus
KR20180128968A (en) Computer-implemented method and system for verifying tokens for cryptography based on block chaining
US20180204192A1 (en) Secure Digital Data Operations
EP3073670B1 (en) A system and a method for personal identification and verification
US8667287B2 (en) Transaction auditing for data security devices
Bentov et al. Tesseract: Real-time cryptocurrency exchange using trusted hardware
US10484168B2 (en) Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
Herbert et al. A novel method for decentralised peer-to-peer software license validation using cryptocurrency blockchain technology

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190603

Year of fee payment: 4