KR102311354B1 - Blockchain transaction method with reduced transaction size using cryptographic hash algorithm - Google Patents

Blockchain transaction method with reduced transaction size using cryptographic hash algorithm Download PDF

Info

Publication number
KR102311354B1
KR102311354B1 KR1020190115665A KR20190115665A KR102311354B1 KR 102311354 B1 KR102311354 B1 KR 102311354B1 KR 1020190115665 A KR1020190115665 A KR 1020190115665A KR 20190115665 A KR20190115665 A KR 20190115665A KR 102311354 B1 KR102311354 B1 KR 102311354B1
Authority
KR
South Korea
Prior art keywords
transaction
public key
sender
hash value
signature
Prior art date
Application number
KR1020190115665A
Other languages
Korean (ko)
Other versions
KR20210033846A (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 KR1020190115665A priority Critical patent/KR102311354B1/en
Publication of KR20210033846A publication Critical patent/KR20210033846A/en
Application granted granted Critical
Publication of KR102311354B1 publication Critical patent/KR102311354B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 관한 것으로서, 보다 구체적으로는 복수의 블록체인 노드를 포함하는 블록체인 기반 시스템에서 트랜잭션 방법으로서, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하여 전파하는 것을 그 구성상의 특징으로 한다.
또한, 본 발명은 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 관한 것으로서, 보다 구체적으로는 복수의 블록체인 노드를 포함하는 블록체인 기반 시스템에서 트랜잭션 방법으로서, 상기 블록체인은, 블록 내에 포함된 모든 트랜잭션이 안정적인(stable) 상태인 고정 블록(fixed block) 및 불안정한(unstable) 트랜잭션을 적어도 하나 이상 포함하는 비고정 블록(unfixed block)을 포함하고, (a) 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하는 단계; (b) 상기 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부한 트랜잭션 정보를 승인되지 않은 거래 풀에 보관하고, 상기 트랜잭션을 전파하는 단계; 및 (c) 상기 트랜잭션이 담긴 블록이 고정 블록에 포함되면, 상기 트랜잭션 정보를 상기 승인되지 않은 거래 풀에서 제거하는 단계를 포함하는 것을 또 다른 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 따르면, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하여 전파함으로써, 비대한 공개키와 서명 크기를 가진 트랜잭션 사이즈를 대폭 감소시켜 다양한 양자 내성 전자서명을 블록체인에 도입할 수 있으며, 궁극적으로 블록체인의 양자 내성 전자서명 호환성을 증대시키고, 전체적인 블록체인의 크기도 감소시킬 수 있다.
The present invention relates to a blockchain transaction method in which a transaction size is reduced using a cryptographic hash algorithm, and more particularly, to a transaction method in a blockchain-based system including a plurality of blockchain nodes, a hash value of a recipient public key, It is characterized in its configuration to generate and propagate a transaction composed of the hash value and amount of the sender's signature.
In addition, the present invention relates to a blockchain transaction method in which a transaction size is reduced by using a cryptographic hash algorithm, and more particularly, as a transaction method in a blockchain-based system including a plurality of blockchain nodes, the blockchain comprising: A fixed block in which all transactions included in a block are in a stable state and an unfixed block including at least one unstable transaction, (a) a hash of the recipient's public key generating a transaction comprising a value, a hash value of the sender's signature, and an amount; (b) for verification in the non-fixed block, storing transaction information with a sender public key and sender signature in an unauthorized transaction pool, and propagating the transaction; and (c) if the block containing the transaction is included in the fixed block, removing the transaction information from the unauthorized transaction pool.
According to the blockchain transaction method in which the transaction size is reduced by using the cryptographic hash algorithm proposed in the present invention, by generating and propagating a transaction consisting of the hash value of the recipient public key, the hash value of the sender's signature, and the amount, By significantly reducing the transaction size with the public key and signature size, various quantum-resistant digital signatures can be introduced into the blockchain, ultimately increasing the quantum-resistant digital signature compatibility of the blockchain and reducing the overall blockchain size. have.

Description

암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법{BLOCKCHAIN TRANSACTION METHOD WITH REDUCED TRANSACTION SIZE USING CRYPTOGRAPHIC HASH ALGORITHM}A blockchain transaction method that reduces the transaction size using a cryptographic hash algorithm {BLOCKCHAIN TRANSACTION METHOD WITH REDUCED TRANSACTION SIZE USING CRYPTOGRAPHIC HASH ALGORITHM}

본 발명은 블록체인 트랜잭션 방법에 관한 것으로서, 보다 구체적으로는 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 관한 것이다.The present invention relates to a blockchain transaction method, and more particularly, to a blockchain transaction method in which a transaction size is reduced using a cryptographic hash algorithm.

전자서명에는 보통 RSA와 ECC 등 비대칭 암호 알고리즘에 기반한 전자서명 스킴이 사용된다. 그러나 실용적으로 사용 가능한 양자 컴퓨터가 구현될 시 프로세서의 성능이 막대하게 향상될 수 있으며, 쇼어 알고리즘(Shors algorithm), 그로버 알고리즘(Grovers algorithm) 등 양자 알고리즘을 이용하여, 기존 컴퓨터로 연산할 수 없던 문제를 풀 수 있다. 쇼어 알고리즘은 공개키 암호 알고리즘의 근간이 되는 인수분해, 이산 로그 문제를 다항식 시간 내로 연산할 수 있어, RSA, ECC는 취약한 암호 알고리즘으로 전락하게 된다. 그로버 알고리즘은 기존 암호 알고리즘의 보안 복잡도를 반감할 수 있어 해시함수, 대칭키 등의 암호 알고리즘의 보안성이 반감된다.
Digital signature schemes based on asymmetric encryption algorithms such as RSA and ECC are usually used for digital signatures. However, when a practically usable quantum computer is implemented, the performance of the processor can be greatly improved. can solve The Shore algorithm can compute the factorization and discrete log problems, which are the basis of public key encryption algorithms, within polynomial time, making RSA and ECC weak encryption algorithms. The Grover algorithm can halve the security complexity of existing cryptographic algorithms, so the security of cryptographic algorithms such as hash functions and symmetric keys is halved.

대부분의 분산원장 및 블록체인은 ECC 기반의 전자서명 스킴(ECDSA)을 사용한다. 이를 이용하는 분산원장 및 블록체인은 양자 컴퓨터를 고려할 시 장기적인 사용을 기대할 수 없다. 이에 대비해 양자 내성 암호(Post-Quantum Cryptography)를 블록체인에 도입하는 연구가 진행되고 있다. 양자 내성 암호와 블록체인을 결합한 것을 양자 내성 블록체인(Post-Quantum Blockchain)이라 부르며, 쇼어 알고리즘, 그로버 알고리즘 등 양자 알고리즘 공격에 내성을 갖는다.
Most distributed ledgers and blockchains use ECC-based Electronic Signature Scheme (ECDSA). Distributed ledgers and blockchains that use them cannot be expected to be of long-term use when considering quantum computers. In preparation for this, research is underway to introduce Post-Quantum Cryptography into the block chain. The combination of quantum-resistant cryptography and blockchain is called Post-Quantum Blockchain, and is resistant to attacks on quantum algorithms such as Shore algorithm and Grover algorithm.

그러나, 양자 내성 블록체인을 구현하기 위해 임의의 양자 내성 암호를 블록체인에 그대로 도입하게 되면, 비대한 공개키, 서명 크기가 문제가 되거나, 서명 검증시간이 길어지는 문제가 발생할 수 있다. 따라서 이를 해결할 수 있는 기술의 개발이 필요한 실정이다.
However, if an arbitrary quantum-resistant cipher is introduced into the blockchain as it is to implement a quantum-resistant blockchain, a problem with the bloated public key and signature size may become a problem, or the signature verification time may become longer. Therefore, there is a need to develop a technology that can solve this problem.

한편, 본 발명과 관련된 선행기술로서, 등록특허 제10-1950912호(발명의 명칭: 블록체인 기반 트랜잭션 검증 시스템 및 그 방법, 등록 일자: 2019년 02월 15일) 등이 개시된 바 있다.On the other hand, as prior art related to the present invention, Patent Registration No. 10-1950912 (title of the invention: blockchain-based transaction verification system and method thereof, registration date: February 15, 2019) has been disclosed.

본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하여 전파함으로써, 비대한 공개키와 서명 크기를 가진 트랜잭션 사이즈를 대폭 감소시켜 다양한 양자 내성 전자서명을 블록체인에 도입할 수 있으며, 궁극적으로 블록체인의 양자 내성 전자서명 호환성을 증대시키고, 전체적인 블록체인의 크기도 감소시킬 수 있는, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법을 제공하는 것을 그 목적으로 한다.The present invention has been proposed to solve the above problems of the previously proposed methods, and by generating and propagating a transaction consisting of a hash value of a recipient public key, a hash value of a sender's signature, and an amount of money, By significantly reducing the transaction size with the signature size, various quantum-resistant digital signatures can be introduced into the blockchain, ultimately increasing the quantum-resistant digital signature compatibility of the blockchain and reducing the overall blockchain size. The purpose of this is to provide a blockchain transaction method that reduces the transaction size by using a mathematical hash algorithm.

상기한 목적을 달성하기 위한 본 발명의 특징에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법은,A blockchain transaction method in which the transaction size is reduced by using a cryptographic hash algorithm according to a feature of the present invention to achieve the above object,

복수의 블록체인 노드를 포함하는 블록체인 기반 시스템에서 트랜잭션 방법으로서,A transaction method in a blockchain-based system including a plurality of blockchain nodes, comprising:

수신자 공개키의 해시값 및 발신자 서명의 해시값으로 구성되는 트랜잭션을 생성하여 전파하는 것을 그 구성상의 특징으로 한다.
It is characterized in that it generates and propagates a transaction composed of the hash value of the recipient's public key and the hash value of the sender's signature.

바람직하게는,Preferably,

(1) 수신자 공개키의 해시값을 트랜잭션 데이터에 저장하는 단계;(1) storing the hash value of the recipient public key in transaction data;

(2) 서명 함수를 콜하는 단계;(2) calling the signature function;

(3) 이전 트랜잭션의 해시값 및 수신자 공개키를 발신자 개인키로 서명하는 단계; 및(3) signing the hash value of the previous transaction and the recipient public key with the sender private key; and

(4) 상기 단계 (3)의 발신자 서명의 해시값을 생성해 상기 트랜잭션 데이터에 저장하는 단계를 포함하여,(4) generating a hash value of the sender's signature of step (3) and storing it in the transaction data,

상기 수신자 공개키의 해시값 및 발신자 서명의 해시값으로 구성되는 트랜잭션을 생성할 수 있다.
It is possible to create a transaction composed of the hash value of the recipient's public key and the hash value of the sender's signature.

바람직하게는,Preferably,

상기 블록체인은, 화폐 자산을 이용해 가치를 금액으로 환산하여 거래하며,The blockchain uses monetary assets to convert values into amounts and transacts,

수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하여 전파하되,Generate and propagate a transaction consisting of the hash value of the recipient's public key, the hash value of the sender's signature, and the amount,

(1) 수신자 공개키의 해시값 및 금액을 트랜잭션 데이터에 저장하는 단계;(1) storing the hash value and amount of the recipient public key in transaction data;

(2) 서명 함수를 콜하는 단계;(2) calling the signature function;

(3) 이전 트랜잭션의 해시값, 수신자 공개키 및 금액을 발신자 개인키로 서명하는 단계; 및(3) signing the hash value of the previous transaction, the recipient public key and the amount with the sender private key; and

(4) 상기 단계 (3)의 발신자 서명의 해시값을 생성해 상기 트랜잭션 데이터에 저장하는 단계를 포함하여,(4) generating a hash value of the sender's signature of step (3) and storing it in the transaction data,

상기 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성할 수 있다.
It is possible to generate a transaction composed of the hash value of the recipient's public key, the hash value of the sender's signature, and an amount.

더욱 바람직하게는, 상기 단계 (4) 이후에는,More preferably, after step (4),

(5) 상기 트랜잭션 데이터 및 트랜잭션에 대한 부가 정보를 포함하는 트랜잭션 정보를 생성하는 단계를 더 포함할 수 있다.
(5) The method may further include generating transaction information including the transaction data and additional information about the transaction.

더더욱 바람직하게는,Even more preferably,

상기 트랜잭션 정보는, 발신자 공개키 및 발신자 서명을 포함하며,The transaction information includes a sender public key and a sender signature,

상기 트랜잭션 정보는, 승인되지 않은 거래 풀(pool)에 보관되고, 상기 풀에서 트랜잭션이 포함된 블록의 모든 트랜잭션이 안정적인 상태가 되면, 상기 트랜잭션 정보는 상기 승인되지 않은 거래 풀에서 제거될 수 있다.
The transaction information is stored in an unauthorized transaction pool, and when all transactions in blocks including transactions in the pool become stable, the transaction information may be removed from the unauthorized transaction pool.

더더더욱 바람직하게는, 상기 트랜잭션 정보는,Even more preferably, the transaction information includes:

수신자 확인을 위한 상기 수신자 공개키 및 트랜잭션의 해시값을 더 포함할 수 있다.
It may further include the public key of the recipient for verification of the recipient and a hash value of the transaction.

바람직하게는, 상기 블록체인은,Preferably, the blockchain comprises:

블록 내에 포함된 모든 트랜잭션이 안정적인(stable) 상태인 고정 블록(fixed block) 및 불안정한(unstable) 트랜잭션을 적어도 하나 이상 포함하는 비고정 블록(unfixed block)을 포함할 수 있다.
A fixed block in which all transactions included in the block are in a stable state and an unfixed block including at least one unstable transaction may be included.

더욱 바람직하게는,More preferably,

상기 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부하고, 상기 비고정 블록이 고정 블록이 되면 상기 첨부된 발신자 공개키 및 발신자 서명을 트랜잭션에서 제거할 수 있다.
For verification in the non-fixed block, a sender's public key and sender's signature are attached, and when the non-fixed block becomes a fixed block, the attached sender's public key and sender's signature can be removed from the transaction.

또한, 상기한 목적을 달성하기 위한 본 발명의 특징에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법은,In addition, the block chain transaction method in which the transaction size is reduced by using a cryptographic hash algorithm according to the features of the present invention to achieve the above object,

복수의 블록체인 노드를 포함하는 블록체인 기반 시스템에서 트랜잭션 방법으로서,A transaction method in a blockchain-based system including a plurality of blockchain nodes, comprising:

상기 블록체인은, 블록 내에 포함된 모든 트랜잭션이 안정적인(stable) 상태인 고정 블록(fixed block) 및 불안정한(unstable) 트랜잭션을 적어도 하나 이상 포함하는 비고정 블록(unfixed block)을 포함하고,The block chain includes a fixed block in which all transactions included in the block are in a stable state and an unfixed block including at least one unstable transaction,

(a) 수신자 공개키의 해시값 및 발신자 서명의 해시값으로 구성되는 트랜잭션을 생성하는 단계;(a) generating a transaction consisting of a hash value of a recipient public key and a hash value of a sender's signature;

(b) 상기 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부한 트랜잭션 정보를 승인되지 않은 거래 풀에 보관하고, 상기 트랜잭션을 전파하는 단계; 및(b) for verification in the non-fixed block, storing transaction information with a sender public key and sender signature in an unauthorized transaction pool, and propagating the transaction; and

(c) 상기 트랜잭션이 담긴 블록이 고정 블록에 포함되면, 상기 트랜잭션 정보를 상기 승인되지 않은 거래 풀에서 제거하는 단계를 포함하는 것을 또 다른 구성상의 특징으로 한다.(c) when the block containing the transaction is included in the fixed block, removing the transaction information from the unauthorized transaction pool.

본 발명에서 제안하고 있는 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 따르면, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하여 전파함으로써, 비대한 공개키와 서명 크기를 가진 트랜잭션 사이즈를 대폭 감소시켜 다양한 양자 내성 전자서명을 블록체인에 도입할 수 있으며, 궁극적으로 블록체인의 양자 내성 전자서명 호환성을 증대시키고, 전체적인 블록체인의 크기도 감소시킬 수 있다.According to the blockchain transaction method in which the transaction size is reduced by using the cryptographic hash algorithm proposed in the present invention, by generating and propagating a transaction consisting of the hash value of the recipient public key, the hash value of the sender's signature, and the amount, By significantly reducing the transaction size with the public key and signature size, various quantum-resistant digital signatures can be introduced into the blockchain, ultimately increasing the quantum-resistant digital signature compatibility of the blockchain and reducing the overall blockchain size. have.

도 1은 양자 내성 전자서명 스킴에 대한 평균 거래 크기, 블록 크기 및 체인 전체의 크기를 예측하여 표시한 도면.
도 2는 기존 트랜잭션 구조를 설명하기 위해 도시한 도면.
도 3은 메인체인에서의 고정 블록과 비고정 블록을 나타낸 도면.
도 4는 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법의 흐름을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 따른 트랜잭션 구조를 설명하기 위해 도시한 도면.
도 6은 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에서, 단계 S100의 세부적인 흐름을 도시한 도면.
도 7은 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법의 단계 S100의 구현을 위한 알고리즘을 도시한 도면.
도 8은 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에서, 단계 S300의 처리를 위한 알고리즘을 도시한 도면.
도 9는 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에서, 고정 블록을 검증하기 위한 알고리즘을 도시한 도면.
도 10은 각 실험환경에서의 평균 서명 및 검증시간과 표준편차를 나타낸 도면.
1 is a diagram showing the predicted average transaction size, block size, and overall size of the chain for a quantum-resistant digital signature scheme.
2 is a diagram illustrating an existing transaction structure;
3 is a diagram showing fixed blocks and non-fixed blocks in the main chain.
4 is a diagram illustrating a flow of a blockchain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention.
5 is a diagram illustrating a transaction structure according to a block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention.
6 is a diagram illustrating a detailed flow of step S100 in a block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention.
7 is a diagram illustrating an algorithm for the implementation of step S100 of the block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention.
8 is a diagram illustrating an algorithm for processing of step S300 in a block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention.
9 is a diagram illustrating an algorithm for verifying a fixed block in a blockchain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention.
10 is a view showing the average signature and verification time and standard deviation in each experimental environment.

이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
Hereinafter, preferred embodiments will be described in detail so that those of ordinary skill in the art can easily practice the present invention with reference to the accompanying drawings. However, in describing a preferred embodiment of the present invention in detail, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, the same reference numerals are used throughout the drawings for parts having similar functions and functions.

덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 연결 되어 있다고 할 때, 이는 직접적으로 연결 되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 간접적으로 연결 되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 포함 한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
In addition, throughout the specification, when a part is connected to another part, this includes not only the case where it is directly connected, but also the case where it is indirectly connected with another element interposed therebetween. In addition, the inclusion of any component means that other components may be further included, rather than excluding other components, unless otherwise stated.

본 발명은 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 관한 것으로서, 본 발명의 특징에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법은, 메모리 및 프로세서를 포함한 하드웨어에서 기록되는 소프트웨어로 구성될 수 있다. 예를 들어, 본 발명의 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법은, 개인용 컴퓨터, 노트북 컴퓨터, 서버 컴퓨터, PDA, 스마트폰, 태블릿 PC 등에 저장 및 구현될 수 있다. 이하에서는 설명의 편의를 위해, 각 단계를 수행하는 주체는 생략될 수 있다.
The present invention relates to a block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm, and the block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm according to a feature of the present invention, including a memory and a processor It may consist of software that is written in hardware. For example, the blockchain transaction method in which the transaction size is reduced by using the cryptographic hash algorithm of the present invention can be stored and implemented in a personal computer, a notebook computer, a server computer, a PDA, a smart phone, a tablet PC, and the like. Hereinafter, for convenience of description, a subject performing each step may be omitted.

블록체인 기반 시스템에서는, 복수의 트랜잭션이 모여 블록을 구성할 수 있고, 블록은 블록체인 형태로 구성될 수 있다. 노드는 서버나 컴퓨터 등으로 구현될 수 있으며 각각의 노드에는 블록체인이 탑재되는데, 이를 블록체인 노드라 할 수 있다. 복수의 블록체인 노드를 포함하는 블록체인 기반 시스템에서, 노드는 결제 등의 이벤트에 따라 트랜잭션을 생성하고, 각 노드는 트랜잭션 정보를 수신하여 검증하며, 지정된 다음 단의 노드들에게 트랜잭션을 전파하게 된다.
In a blockchain-based system, a plurality of transactions can be gathered to form a block, and a block can be configured in the form of a block chain. A node can be implemented as a server or computer, and each node is equipped with a blockchain, which can be called a blockchain node. In a blockchain-based system including a plurality of blockchain nodes, a node creates a transaction according to an event such as a payment, each node receives and verifies transaction information, and propagates the transaction to the next designated nodes. .

트랜잭션을 위한 전자서명에는 보통 RSA와 ECC 등 비대칭 암호 알고리즘에 기반한 전자서명 스킴이 사용된다. 그러나 양자 컴퓨터의 실용적 구현이 임박하면서, 양자 내성 암호(Post-Quantum Cryptography)를 블록체인에 도입하는 연구가 진행되고 있다.
Digital signature schemes based on asymmetric cryptographic algorithms such as RSA and ECC are usually used for digital signatures for transactions. However, as the practical implementation of quantum computers is imminent, research is underway to introduce Post-Quantum Cryptography into the blockchain.

모든 양자 내성 암호는 ECDSA보다 비대한 공개키 크기와 서명 크기를 가진다. 공개키는 최소 2배에서 최대 64배 차이가 나며, 서명은 최소 22배에서 최대 1920배가 차이난다. 이러한 양자 내성 전자서명이 그대로 적용되면, 트랜잭션의 크기 또한 비례하여 증가하고, 블록, 블록체인의 크기 또한 비례하여 증가할 것이다. 따라서 블록체인 저장 공간이 매우 비대해지므로 한 노드가 부담하는 자원, 비용 등이 증폭될 것으로 예측된다.
All quantum-resistant cryptography has a larger public key size and signature size than ECDSA. A public key differs by a minimum of 2 times to a maximum of 64 times, and a signature differs by a minimum of 22 times and a maximum of 1920 times. If such a quantum-resistant digital signature is applied as it is, the size of the transaction will also increase proportionally, and the size of the block and blockchain will also increase proportionally. Therefore, as the blockchain storage space becomes very large, it is expected that the resources and costs borne by one node will be amplified.

도 1은 양자 내성 전자서명 스킴에 대한 평균 거래 크기, 블록 크기 및 체인 전체의 크기를 예측하여 표시한 도면이다. 도 1은, 2019년 4월 14일 09:00(GMT+0900)시 기준 비트코인 블록체인의 전체 크기는 약 207.66GB, 평균 거래 수 2,763, 블록 수는 578,151개인 것에 기반하여, 각 양자 내성 전자서명 스킴에 대해 평균 거래 크기, 블록 크기, 체인 전체의 크기를 추측한 것이다. 현재 비트코인과 같은 블록 수가 쌓였다고 가정하면, 도 1에서 확인할 수 있는 바와 같이, 양자 내성 전자서명 스킴에 대한 체인 전체의 크기는, 최소 약 54Tb에서 최대 1,924Tb 정도로 추측됐다. 이렇게 공개키/서명 쌍의 사이즈 증가는 블록체인의 무게를 배로 증가시켜 상당한 부담이 될 것이다. 따라서 공개키/서명 크기에 대한 부담을 줄일 수 있는 방안이 필요하다.
1 is a diagram showing predictions of the average transaction size, block size, and overall size of the chain for a quantum-resistant digital signature scheme. 1 is based on the total size of the Bitcoin blockchain as of 09:00 (GMT+0900) on April 14, 2019, about 207.66 GB, the average number of transactions is 2,763, and the number of blocks is 578,151. It is an estimate of the average transaction size, block size, and overall size of the chain for the signature scheme. Assuming that the number of blocks equal to that of current Bitcoin is accumulated, as can be seen in FIG. 1, the size of the entire chain for the quantum-resistant digital signature scheme was estimated to be from a minimum of about 54Tb to a maximum of 1,924Tb. This increase in the size of the public key/signature pair will double the weight of the block chain and become a significant burden. Therefore, there is a need for a method to reduce the burden on the public key/signature size.

본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법은, 복수의 블록체인 노드를 포함하는 블록체인 기반 시스템에서 트랜잭션 방법으로서, 수신자 공개키의 해시값 및 발신자 서명의 해시값으로 구성되는 트랜잭션을 생성하여 전파할 수 있다. 다만, 블록체인이 화폐 자산을 이용해 가치를 금액으로 환산하여 거래하는 경우에는, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하여 전파할 수 있다. 즉, 본 발명에서는, 블록체인의 특성에 따라 가치 교환을 하지 않는 블록체인의 경우에는, 수신자 공개키의 해시값 및 발신자 서명의 해시값으로 트랜잭션을 구성하고, 암호화폐 등 화폐 자산을 이용하여 가치를 금액으로 환산해 거래하는 블록체인의 경우에는, 수신자 공개키의 해시값 및 발신자 서명의 해시값 외에, 금액을 더 포함하여 트랜잭션을 구성할 수 있다.
A block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention is a transaction method in a block chain-based system including a plurality of block chain nodes, the hash value of the recipient public key and the sender You can create and propagate a transaction that consists of a hash value of a signature. However, when the blockchain uses monetary assets to convert the value into an amount and transacts, a transaction consisting of the hash value of the recipient's public key, the hash value of the sender's signature, and the amount can be generated and propagated. That is, in the present invention, in the case of a block chain that does not exchange values according to the characteristics of the block chain, the transaction is composed of the hash value of the recipient's public key and the hash value of the sender's signature, and the value is obtained using monetary assets such as cryptocurrency In the case of a block chain that converts and transacts , it is possible to compose a transaction by including an amount in addition to the hash value of the recipient's public key and the hash value of the sender's signature.

따라서 본 발명에서 제안하고 있는 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 따르면, 수신자 공개키가 아닌 수신자 공개키의 해시값, 발신자 서명이 아닌 발신자 서명의 공개키를 포함하여, 암호학적 해시 알고리즘을 이용해 비대한 공개키와 서명 크기를 가진 트랜잭션 사이즈를 대폭 감소시킬 수 있다. 따라서 다양한 양자 내성 전자서명을 블록체인에 도입할 수 있으며, 궁극적으로 블록체인의 양자 내성 전자서명 호환성을 증대시키고, 전체적인 블록체인의 크기도 감소시킬 수 있다.
Therefore, according to the block chain transaction method in which the transaction size is reduced by using the cryptographic hash algorithm proposed in the present invention, the hash value of the recipient public key, not the recipient public key, and the public key of the sender's signature other than the sender's signature are included. By using a cryptographic hash algorithm, the size of a transaction with a bloated public key and signature size can be significantly reduced. Therefore, various quantum-resistant digital signatures can be introduced into the blockchain, ultimately increasing the quantum-resistant digital signature compatibility of the blockchain and reducing the size of the overall blockchain.

이하에서는, 설명의 편의를 위해 금액을 포함하는 트랜잭션 구조를 기본으로 설명하며, 가치 교환을 하지 않는 블록체인의 경우에는 금액이 제외된다는 점 이외에, 나머지는 동일하게 처리될 수 있다.
Hereinafter, for convenience of explanation, a transaction structure including an amount is described as a basis, and in the case of a block chain that does not exchange value, the rest may be processed in the same way, except that the amount is excluded.

도 2는 기존 트랜잭션 구조를 설명하기 위해 도시한 도면이다. 도 2에 도시된 바와 같은 구조에서, 트랜잭션은 발신자 서명, 발신자 공개키, 수신자 공개키, 금액 등의 정보를 모두 포함한다. 반면에 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에서는, 암호학적 해시 알고리즘을 이용해, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액만을 포함하는 트랜잭션 구조를 제안함으로써, 트랜잭션 사이즈를 대폭 감소시킬 수 있다.
2 is a diagram illustrating an existing transaction structure. In the structure shown in FIG. 2, a transaction includes all information such as a sender's signature, sender's public key, receiver's public key, and amount. On the other hand, in the block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention, only the hash value of the recipient public key, the hash value of the sender's signature, and the amount are included using the cryptographic hash algorithm. By proposing a transaction structure that

이하에서는, 도 2를 참조하여, 본 발명에서 설명을 위해 사용하는 개념과 기호에 대해 설명하도록 한다.
Hereinafter, with reference to FIG. 2, concepts and symbols used for description in the present invention will be described.

블록: 도 2는 블록 구조를 표현한 예제이며, 본 발명은 다음 구조를 기본 블록 구조로 따른다.
Block: FIG. 2 is an example representing a block structure, and the present invention follows the following structure as a basic block structure.

메인체인: 노드들이 합의를 통해 유효한 것으로 여기는 가장 긴 체인을 메인체인(mainchain)이라 한다.
Mainchain: The longest chain that nodes consider valid through consensus is called the mainchain.

팁: 메인체인의 가장 끝단에 있는 블록을 팁(tip)이라 한다.
Tip: The block at the end of the main chain is called a tip.

트랜잭션: 트랜잭션은 TX로 나타낸다. 코인을 사용하기 위해 발신자는 이전에 받은 코인 전송 내역을 담은 트랜잭션을 호출하는 경우가 있으며, 이 경우 호출되는 트랜잭션은 PrevTX 로 나타낸다.
Transaction: A transaction is denoted by TX. In order to use a coin, the sender may call a transaction containing the previously received coin transfer history, and in this case, the called transaction is indicated as PrevTX.

공개키 개인키 쌍: 본 발명에서는 발신자(Sender)의 키쌍을 나타내기 위해 pubs, privs로 표기하며, 수신자(recipient)의 키쌍은 pubr, privr로 표기한다.
Public key private key pair: In the present invention, pub s and priv s are expressed to indicate the sender's key pair, and the recipient's key pair is expressed as pub r and priv r .

금액: 트랜잭션에서 발신자가 받는 코인 금액의 양을 amount라 한다.
Amount: The amount of coins the sender receives in a transaction is called amount.

해시함수: 해시함수를 수행하는 함수식 H(x)=h이며, 임의의 유한 비트 길이의 입력 x에서 고정된 비트 길이의 해시값 h를 출력으로 맵핑한다. 해시함수는 (a) preimage resistance, (b) 2nd-preimage resistance, (c) collision resistance, 세 가지 속성을 만족해야 안전하다고 볼 수 있다.
Hash function: It is a function expression H(x)=h that performs a hash function, and maps a hash value h of a fixed bit length from an input x of an arbitrary finite bit length to an output. A hash function can be considered safe only if it satisfies three properties: (a) preimage resistance, (b) 2nd-preimage resistance, and (c) collision resistance.

서명: 트랜잭션에는 일반적으로 발신자의 서명이 포함된다. 본 발명에서는 발신자의 서명 σs에 들어가는 요소를 축약하며, 다음 수학식 1을 통해 만들 수 있다. Signature: Transactions usually include the sender's signature. In the present invention, the elements included in the sender's signature σ s are abbreviated, and it can be made through the following Equation (1).

Figure 112019096095788-pat00001
Figure 112019096095788-pat00001

즉, 사용하려는 코인의 수신 내역이 담긴 이전 트랜잭션의 해시값 H(PrevTX)을 참조를 위해 넣고, 수신자의 공개키 pubr, 금액 amount을 발신자의 개인키 privs로 서명한다. 이를 통해 서명 σs을 도출할 수 있다.
That is, the hash value H (PrevTX) of the previous transaction containing the reception details of the coin to be used is put in for reference, and the public key pub r of the recipient and the amount amount are signed with the private key priv s of the sender. From this, the signature σ s can be derived.

서명 검증: 다음 수학식 2는 서명을 검증하는 함수식이다. 서명 σ은 노드의 공개키 pub를 이용하여 유효성을 검증할 수 있다. Signature verification: Equation 2 below is a functional expression for verifying a signature. The signature σ can be validated using the node's public key pub.

Figure 112019096095788-pat00002
Figure 112019096095788-pat00002

노드의 공개키 pub와 서명 σ을 검증하면 검증값 v가 나오며, 검증값 0은 true를 1은 false를 의미한다. 즉 v=0이면, 트랜잭션은 유효하다.
When the node's public key pub and signature σ are verified, the verification value v is obtained, and the verification value 0 means true and 1 means false. That is, if v=0, the transaction is valid.

보안 파라미터: 트랜잭션이 블록에 포함되면, 그 트랜잭션은 승인(confirmed)받았다고 말한다. 또한, 트랜잭션이 포함된 블록에 뒤이어 블록이 더해지면, 더해진 블록 수만큼 승인 횟수(Confirmation Number)가 증가한다. 승인 횟수가 증가할수록 트랜잭션이 조작될 가능성은 작아지며, 승인횟수가 k번 이상일 때 트랜잭션의 상태(status)는 안정적(stable)이라고 표현할 수 있다. 이때, k는 보안 파라미터이다. 승인 횟수는 트랜잭션이 포함된 블록의 높이에 따라 달라지고, 보안 파라미터 k는 고정 상수로, 개발자/운영자가 설정할 수 있다. Security parameters: When a transaction is included in a block, the transaction is said to be confirmed. Also, if a block is added following a block including a transaction, the confirmation number increases by the number of blocks added. As the number of approvals increases, the probability of a transaction being manipulated decreases, and when the number of approvals is k or more, the status of a transaction can be expressed as stable. In this case, k is a security parameter. The number of approvals depends on the height of the block containing the transaction, and the security parameter k is a fixed constant, which can be set by the developer/operator.

Figure 112019096095788-pat00003
Figure 112019096095788-pat00003

수학식 3에서, 트랜잭션의 승인횟수가 k보다 작으면, 트랜잭션의 상태는 불안정적(unstable)이며 1로 표현된다. 트랜잭션의 승인횟수가 k 이상일 때, 트랜잭션의 상태는 안정적이며 0으로 표현된다.
In Equation 3, if the number of approvals of a transaction is less than k, the state of the transaction is unstable and is expressed as 1. When the number of approvals of a transaction is more than k, the state of the transaction is stable and is expressed as 0.

고정 블록 / 비고정 블록: 블록 내에 포함된 모든 TX가 안정적인(stable) 상태를 가질 때, 해당 블록을 고정 블록(fixed block)이라 한다. 즉, 고정 블록은 메인체인의 팁에서 k 블록 이상 떨어진 블록을 말한다. 또한, 메인체인의 팁에서 k 미만으로 떨어진 블록은 비고정 블록(unfixed block)이라 불리며 비고정 블록에 포함되는 TX는 불안정적(unstable)이다.
Fixed block / non-fixed block: When all TXs included in a block have a stable state, the block is called a fixed block. In other words, a fixed block is a block that is more than k blocks away from the tip of the main chain. Also, a block that is less than k from the tip of the main chain is called an unfixed block, and the TX included in the unfixed block is unstable.

도 3은 메인체인에서의 고정 블록과 비고정 블록을 나타낸 도면이다. 도 3에 도시된 바와 같이, 블록체인은, 블록 내에 포함된 모든 트랜잭션이 안정적인(stable) 상태인 고정 블록(fixed block) 및 불안정한(unstable) 트랜잭션을 적어도 하나 이상 포함하는 비고정 블록(unfixed block)을 포함할 수 있다.
3 is a diagram showing fixed blocks and non-fixed blocks in the main chain. As shown in FIG. 3 , the block chain includes at least one fixed block in which all transactions included in the block are in a stable state and at least one unstable block (unfixed block) may include.

이하에서는, 전술한 바와 같은 개념을 이용하여, 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법의 세부적인 흐름에 대해 상세히 설명하도록 한다.
Hereinafter, a detailed flow of a blockchain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention will be described in detail using the concept as described above.

도 4는 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법의 흐름을 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법은, 수신자 공개키의 해시값 및 발신자 서명의 해시값으로 구성되는 트랜잭션을 생성하는 단계(S100), 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부한 트랜잭션 정보를 승인되지 않은 거래 풀에 보관하고, 트랜잭션을 전파하는 단계(S200), 및 트랜잭션이 담긴 블록이 고정 블록에 포함되면, 트랜잭션 정보를 승인되지 않은 거래 풀에서 제거하는 단계(S300)를 포함하여 구현될 수 있다.
4 is a diagram illustrating a flow of a blockchain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention. As shown in FIG. 4, the block chain transaction method in which the transaction size is reduced by using a cryptographic hash algorithm according to an embodiment of the present invention is a transaction consisting of a hash value of the recipient's public key and a hash value of the sender's signature. A step of generating (S100), for verification in a non-fixed block, storing the transaction information with the sender public key and the sender signature attached to the unauthorized transaction pool, and propagating the transaction (S200), and When the block is included in the fixed block, it may be implemented including the step (S300) of removing the transaction information from the unapproved transaction pool.

단계 S100에서는, 수신자 공개키의 해시값 및 발신자 서명의 해시값으로 구성되는 트랜잭션을 생성할 수 있다. 이때, 블록체인이 화폐 자산을 이용해 가치를 금액으로 환산하여 거래하는 경우에는, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성할 수 있다. 도 5는 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 따른 트랜잭션 구조를 설명하기 위해 도시한 도면이다.
In step S100, it is possible to generate a transaction composed of the hash value of the receiver's public key and the hash value of the sender's signature. At this time, when the blockchain uses monetary assets to convert the value into an amount and transacts, a transaction consisting of the hash value of the recipient's public key, the hash value of the sender's signature, and the amount can be created. 5 is a diagram illustrating a transaction structure according to a block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention.

본 발명에서는, 양자 내성 전자서명 적용을 위한 새로운 트랜잭션 구조 및 합의 메커니즘을 제안한다. 기존 트랜잭션의 구조를 단순화하면, 발신자의 서명과 공개키 쌍, 수신자의 공개키, 송금금액으로 이루어진다. 도 2에 도시된 바와 같이, 기존 트랜잭션의 구성요소는 크게 2종류로 나뉜다. 사용하려는 금액의 소유권 증명을 위한 발신자의 서명 σs(도 2에서 sigS), 공개키 pubs(도 2에서 pubS)가 있고, 금액의 수신자에 대한 정보로 수신자의 공개키 pubr(도 2에서 pubR), 받는 금액의 양 amount가 기록된다. 이때, 서명은 이전 트랜잭션의 해시값과, 수신자의 공개키, 금액을 서명한 값이다.
In the present invention, we propose a new transaction structure and consensus mechanism for applying quantum-resistant digital signatures. If the structure of the existing transaction is simplified, it consists of the sender's signature and public key pair, the receiver's public key, and the remittance amount. As shown in Fig. 2, the components of the existing transaction are largely divided into two types. There is the sender's signature σ s (sigS in FIG. 2) and public key pub s (pubS in FIG. 2) for proof of ownership of the amount to be used, and the recipient's public key pub r (in FIG. 2) as information about the recipient of the amount pubR), the amount of the amount received is recorded. In this case, the signature is the hash value of the previous transaction, the public key of the recipient, and the value of signing the amount.

그러나 기존 구조에 양자 내성 암호를 그대로 적용한다면 전술한 바와 같이, 트랜잭션의 크기가 비대해질 수 있다. 따라서 본 발명에서는, 발신자의 서명과 수신자의 공개키를 해시한 값과 금액으로 이루어진 트랜잭션을 제안하여 공개키/서명 크기를 줄이고자 한다. 제안 트랜잭션은, 도 5에 도시된 바와 같이, 발신자의 서명 σs의 해시값(도 5에서 sigSHash), 수신자의 공개키 pubr의 해시값(도 5에서 pubRHash)과 받는 금액의 양 amount만으로 이루어질 수 있다. 발신자의 공개키 pubs는 트랜잭션에서 제거되고, 서명 해시값은 서명 확인 용도로, 공개키 해시값과 금액은 수신자에 대한 정보로 저장될 수 있다.
However, if quantum-resistant cryptography is applied to the existing structure as it is, the size of the transaction may be enlarged as described above. Accordingly, in the present invention, it is intended to reduce the size of the public key/signature by proposing a transaction consisting of a value and an amount obtained by hashing the signature of the sender and the public key of the receiver. As shown in FIG. 5, the proposed transaction consists of only the hash value of the sender's signature σ s (sigSHash in FIG. 5), the hash value of the recipient's public key pub r (pubRHash in FIG. 5), and the amount of the received amount. can The sender's public key pub s is removed from the transaction, the signature hash value is used to verify the signature, and the public key hash value and amount can be stored as information about the recipient.

한편, 서명 검증에는 공개키/서명 쌍이 필요하므로, 본 발명에서는 {pubs, σs}를 같이 전송하여 추후 상세히 설명할 단계 S200 및 단계 S300에서 검증에 이용하고, 일정 기간이 지난 뒤에는 {pubs, σs}를 파기하는 새로운 방식을 제안한다.
On the other hand, since a public key/signature pair is required for signature verification, in the present invention, {pub s , σ s } is transmitted together and used for verification in steps S200 and S300, which will be described in detail later, and after a certain period of time, {pub s , σ s } is proposed as a new way to destroy.

도 5에 예를 들어 도시된 바와 같이, 트랜잭션 정보 TXinfo에는 트랜잭션 데이터 그 자체(도 5에서 txdata)와 트랜잭션의 해시값(도 5에서 hashvalue), 검증 결과(도 5에서 v), 트랜잭션이 포함되는 블록의 높이(도 5에서 height), 발신자의 공개키와 서명(도 5에서 pubS, sigS), 수신처를 확인하기 위한 수신자의 공개키(도 5에서 pubR), 그리고 트랜잭션이 안정적인지(stable) 불안정적인지(unstable)를 나타내는 상태 필드(도 5에서 status)가 있다. 이 트랜잭션 정보는 승인되지 않은 거래 풀(Unconfirmed Transaction Pool)에서 보관된다. 이때, 해시함수에 그로버 알고리즘과 생일 공격을 접목하여 수행하면 비도가 낮아진다. 따라서 본 발명에서는, 해시함수의 길이(도 5에서 HashSizes)를 늘려 같은 안정성을 유지하고자 한다.
5, the transaction information TXinfo includes the transaction data itself (txdata in FIG. 5), the hash value of the transaction (hashvalue in FIG. 5), the verification result (v in FIG. 5), and the transaction. The block height (height in Fig. 5), the sender's public key and signature (pubS, sigS in Fig. 5), the recipient's public key (pubR in Fig. 5) to confirm the destination, and whether the transaction is stable or unstable There is a status field (status in FIG. 5) indicating whether it is unstable. This transaction information is kept in the Unconfirmed Transaction Pool. At this time, if the hash function is performed by grafting the Grover algorithm and the birthday attack, the specificity is lowered. Therefore, in the present invention, the same stability is maintained by increasing the length of the hash function (HashSizes in FIG. 5).

도 6은 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에서, 단계 S100의 세부적인 흐름을 도시한 도면이고, 도 7은 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법의 단계 S100의 구현을 위한 알고리즘을 도시한 도면이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법은, 수신자 공개키의 해시값 및 금액을 트랜잭션 데이터에 저장하는 단계(S110), 서명 함수를 콜하는 단계(S120), 이전 트랜잭션의 해시값, 수신자 공개키 및 금액을 발신자 개인키로 서명하는 단계(S130) 및 발신자 서명의 해시값을 생성해 트랜잭션 데이터에 저장하는 단계(S140)를 포함하여 구현될 수 있으며, 트랜잭션 데이터 및 트랜잭션에 대한 부가 정보를 포함하는 트랜잭션 정보를 생성하는 단계(S150)를 더 포함하여 구현될 수 있다. 본 발명에서, 트랜잭션은 도 6 및 도 7에 도시된 바와 같은 방식으로 생성되고 전파될 수 있다.
6 is a diagram illustrating a detailed flow of step S100 in a block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention, and FIG. 7 is an embodiment of the present invention. It is a diagram showing an algorithm for the implementation of step S100 of the block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm according to the As shown in FIG. 6, the block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention includes the steps of storing the hash value and amount of the recipient public key in the transaction data (S110) ), calling the signature function (S120), signing the hash value of the previous transaction, the recipient public key and the amount with the sender's private key (S130), and generating a hash value of the sender's signature and storing it in the transaction data (S140) ) may be implemented, and may further include a step (S150) of generating transaction information including transaction data and additional information about the transaction. In the present invention, a transaction may be created and propagated in a manner as shown in FIGS. 6 and 7 .

거래 생성 알고리즘의 인풋은 서명과 검증에 쓰이는 발신자의 키쌍 {pubs, privs}, 수신자의 공개키 pubr와 받는 금액 amount, 코인을 사용하기 위해 참조하는 이전 TX의 해시 H(PrevTX)이고, 아웃풋은 트랜잭션 TX를 포함한 트랜잭션에 대한 데이터인 TXinfo가 될 수 있다.
The input of the transaction creation algorithm is the sender's key pair {pub s , priv s } used for signing and verification, the receiver's public key pub r and the amount received, the hash H of the previous TX referenced to use the coin (PrevTX), The output may be TXinfo, which is data about the transaction including the transaction TX.

단계 S110에서는, 수신자 공개키의 해시값 및 금액을 트랜잭션 데이터에 저장할 수 있다. 즉, 단계 S110에서는, 우선 수신자 공개키의 해시값과 금액을 TX에 넣는다(도 7의 ①, ②). 이때, 블록체인의 특성에 따라 가치 교환을 하지 않는 블록체인의 경우에는, 금액 없이 수신자 공개키의 해시값만 트랜잭션 데이터에 저장할 수 있다.
In step S110, the hash value and the amount of the public key of the recipient may be stored in the transaction data. That is, in step S110, first, the hash value of the recipient's public key and the amount are put into TX (①, ② in FIG. 7). At this time, in the case of a block chain that does not exchange values according to the characteristics of the block chain, only the hash value of the recipient public key can be stored in the transaction data without the amount of money.

단계 S120에서는, 서명 함수를 콜할 수 있다(도 7의 ③).
In step S120, the signature function may be called (3 in FIG. 7).

단계 S130에서는, 이전 트랜잭션의 해시값, 수신자 공개키 및 금액을 발신자 개인키로 서명할 수 있다(도 7의 ④). 이때, 블록체인의 특성에 따라 가치 교환을 하지 않는 블록체인의 경우에는, 금액 없이 이전 트랜잭션의 해시값 및 수신자 공개키를 발신자 개인키로 서명할 수 있다.
In step S130, the hash value of the previous transaction, the recipient's public key, and the amount can be signed with the sender's private key (④ in FIG. 7). At this time, in the case of a block chain that does not exchange value according to the characteristics of the block chain, the hash value of the previous transaction and the recipient public key can be signed with the sender's private key without an amount.

단계 S140에서는, 단계 130의 발신자 서명의 해시값을 생성해 트랜잭션 데이터에 저장할 수 있다. 즉, 서명값 σs의 해시값을 생성하여 트랜잭션에 입력한다(도 7의 ⑤). 이렇게 단계 S110 내지 단계 S140을 수행하여 트랜잭션 TX을 생성할 수 있다.
In step S140, a hash value of the sender's signature in step 130 may be generated and stored in the transaction data. That is, a hash value of the signature value σ s is generated and input to the transaction ( ⑤ in FIG. 7 ). In this way, the transaction TX may be generated by performing steps S110 to S140.

단계 S150에서는, 트랜잭션 데이터 및 트랜잭션에 대한 부가 정보를 포함하는 트랜잭션 정보 TXinfo를 생성할 수 있다. 여기서, 트랜잭션 정보는, 발신자 공개키 및 발신자 서명을 포함하며, 수신자 확인을 위한 수신자 공개키 및 트랜잭션의 해시값을 더 포함할 수 있다. 보다 구체적으로, 단계 S150에서는, 트랜잭션에 대한 부가 정보까지 포함하는 TXinfo에 TX를 넣고(도 7의 ⑥), 검증을 위한 정보 {pubs, σs}를 첨부할 수 있다(도 7의 ⑦ 및 ⑧). 수신자를 확인하기 위한 pubr을 첨부하고(도 7의 ⑨), 트랜잭션의 해시값을 추가할 수 있다(도 7의 ⑩).
In step S150, transaction information TXinfo including transaction data and additional information about the transaction may be generated. Here, the transaction information includes a sender public key and a sender signature, and may further include a receiver public key and a hash value of the transaction for receiver confirmation. More specifically, in step S150, TX is put in TXinfo including additional information about the transaction (⑥ in FIG. 7), and information for verification {pub s , σ s } may be attached (⑦ and σ s in FIG. 7) ⑧). You can attach pub r to confirm the recipient (⑨ in FIG. 7), and add a hash value of the transaction (⑩ in FIG. 7).

블록체인은, 블록 내에 포함된 모든 트랜잭션이 안정적인(stable) 상태인 고정 블록(fixed block) 및 불안정한(unstable) 트랜잭션을 적어도 하나 이상 포함하는 비고정 블록(unfixed block)을 포함할 수 있다. 본 발명에서는, 비고정 블록에서의 검증을 위해, 트랜잭션 정보 TXinfo에 발신자 공개키 및 발신자 서명을 첨부하고, 비고정 블록에서는 첨부된 공개키와 서명 쌍 {pubs, σs}을 이용해 기존 방식(예를 들어, P2PKH 등)과 동일하게 블록을 검증할 수 있다. 비고정 블록이 고정 블록이 되면 첨부된 발신자 공개키 및 발신자 서명을 트랜잭션에서 제거할 수 있다.
A block chain may include a fixed block in which all transactions included in the block are in a stable state and an unfixed block including at least one unstable transaction. In the present invention, for verification in a non-fixed block, the sender's public key and sender's signature are attached to the transaction information TXinfo, and in the non-fixed block, the attached public key and signature pair {pub s , σ s } is used in the existing method ( For example, the block can be verified in the same way as P2PKH). When a non-fixed block becomes a fixed block, the attached sender public key and sender signature can be removed from the transaction.

단계 S200에서는, 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부한 트랜잭션 정보를 승인되지 않은 거래 풀에 보관하고, 트랜잭션을 전파할 수 있다. 즉, 트랜잭션 정보 TXinfo는 승인되지 않은 거래 풀에 추가되고, 노드는 정보를 전파하며, 트랜잭션 정보는 상태가 안정적으로 변할 때까지 승인되지 않은 거래 풀에 보관될 수 있다.
In step S200, for verification in the non-fixed block, transaction information with the sender's public key and sender's signature attached may be stored in an unauthorized transaction pool, and the transaction may be propagated. That is, the transaction information TXinfo is added to the unapproved transaction pool, nodes propagate the information, and the transaction information can be kept in the unapproved transaction pool until the state changes stably.

단계 S300에서는, 트랜잭션이 담긴 블록이 고정 블록에 포함되면, 트랜잭션 정보를 승인되지 않은 거래 풀에서 제거될 수 있다. 보다 구체적으로, 단계 S200에서는, 단계 S100에서 생성된 트랜잭션 정보 TXinfo는, 승인되지 않은 거래 풀(pool)에 보관되고, 단계 S300에서는, 풀에서 트랜잭션이 포함된 블록의 모든 트랜잭션이 안정적인 상태가 되면, 서명 쌍 {pubs, σs}을 포함한 트랜잭션 정보는 승인되지 않은 거래 풀에서 제거될 수 있다.
In step S300, if the block containing the transaction is included in the fixed block, transaction information may be removed from the unauthorized transaction pool. More specifically, in step S200, the transaction information TXinfo generated in step S100 is stored in an unapproved transaction pool, and in step S300, when all transactions of blocks including transactions in the pool are in a stable state, Transaction information including the signature pair {pub s , σ s } can be removed from the unauthorized transaction pool.

도 8은 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에서, 단계 S300의 처리를 위한 알고리즘을 도시한 도면이다. 트랜잭션의 상태를 파악하기 위해 풀은 주기적으로 업데이트되어야 한다. 도 8에 도시된 알고리즘은 전파된 트랜잭션을 검증을 거쳐 받아들이고 안정적인 트랜잭션을 풀에서 제거하는 기능을 수행할 수 있다.
8 is a diagram illustrating an algorithm for processing of step S300 in a block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention. The pool must be updated periodically to determine the status of transactions. The algorithm shown in FIG. 8 may perform a function of accepting the propagated transaction through verification and removing the stable transaction from the pool.

도 8에 도시된 바와 같이, 프로토콜의 인풋으로는 TXinfo와 TX, 트랜잭션의 상태를 확인하기 위해 필요한 보안 파라미터 k, 메인체인의 팁 높이 n이 있다. 아웃풋으로는 트랜잭션의 검증 결과인 v와 트랜잭션의 상태를 나타내는 status가 업데이트되어 TXinfo가 나온다. 우선 트랜잭션에 대한 검증을 수행하기 위해 트랜잭션에 기록된 수신자의 서명과 발신자의 공개키가 적절한지 확인할 수 있다.
As shown in Fig. 8, as input of the protocol, there are TXinfo and TX, a security parameter k required to check the status of a transaction, and a tip height n of the main chain. As outputs, v, which is the verification result of the transaction, and status indicating the status of the transaction are updated, and TXinfo is displayed. First, in order to verify the transaction, it is possible to check whether the receiver's signature and the sender's public key recorded in the transaction are appropriate.

구체적으로 살펴보면, TX의 서명 해시값이 TXinfo의 서명 해시값과 동일하지 않은 경우, 또는 TX의 공개키 해시값이 TXinfo의 공개키 해시값과 동일하지 않은 경우, 프로토콜을 종료한다(도 8의 ①). 서명 검증 함수를 불러와 트랜잭션 정보에 있는 발신자의 서명과 공개키를 넣고(도 8의 ② 내지 ④), 검증값을 트랜잭션 정보에 다시 추가한다(도 8의 ⑤ 및 ⑥). 검증값이 유효하지 않으면 프로토콜을 종료하고(도 8의 ⑦), 유효한 경우에만 트랜잭션 정보를 풀에 추가한다(도 8의 ⑧). 또한, 풀에서 트랜잭션이 담긴 블록의 높이가 n-k보다 낮아져 고정 블록에 포함되는 경우(도 8의 ⑨), 트랜잭션의 상태를 안정적(stable)으로 변경한다(도 8의 ⑩). 추후 상태가 안정적인 TXinfo는 승인되지 않은 거래 풀에서 제거한다.
Specifically, if the signature hash value of TX is not the same as the signature hash value of TXinfo, or when the public key hash value of TX is not the same as the public key hash value of TXinfo, the protocol is terminated (① in FIG. 8) ). Call the signature verification function, put the sender's signature and public key in the transaction information (② to ④ in FIG. 8), and add the verification value back to the transaction information (⑤ and ⑥ in FIG. 8). If the verification value is not valid, the protocol is terminated ( ⑦ in FIG. 8 ), and transaction information is added to the pool only when valid ( ⑧ in FIG. 8 ). Also, if the block containing the transaction is included in the fixed block because the height of the block in the pool is lower than nk ( ⑨ in FIG. 8 ), the state of the transaction is changed to stable ( ⑩ in FIG. 8 ). In the future, TXinfo with stable status is removed from the unauthorized transaction pool.

본 발명에서 제안하고 있는 트랜잭션 구조와 검증 방식을 도입하면, 비고정 블록에 대해서 트랜잭션 검증에 필요한 발신자의 공개키와 서명 쌍을 첨부하기 때문에 기존 방식과 동일하게 블록 검증할 수 있다. 고정 블록은 변경 가능성이 거의 없으므로, 고정 블록에 대해서는 간략하게 검증을 수행할 수 있는데, 이하에서는 고정 블록에 대한 검증에 대해 상세히 설명하도록 한다.
When the transaction structure and verification method proposed in the present invention are introduced, block verification can be performed in the same manner as in the existing method because the sender's public key and signature pair required for transaction verification are attached to non-fixed blocks. Since the fixed block has little possibility of being changed, verification of the fixed block may be briefly performed. Hereinafter, the verification of the fixed block will be described in detail.

고정 블록에서는 블록 및 블록 헤더에 대한 검증을 수행할 수 있다. 즉, 고정 블록을 전송받을 시에는 블록과 블록 헤더에 대한 검증을 수행하여 블록의 유효성을 확인할 수 있다.
In a fixed block, verification of blocks and block headers can be performed. That is, when a fixed block is received, the validity of the block can be checked by verifying the block and the block header.

도 9는 본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에서, 고정 블록을 검증하기 위한 알고리즘을 도시한 도면이다. 즉, 도 9의 알고리즘은 고정 블록 Block에 대한 검증 프로토콜 예제이다.
9 is a diagram illustrating an algorithm for verifying a fixed block in a block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm according to an embodiment of the present invention. That is, the algorithm of FIG. 9 is an example of a verification protocol for a fixed block block.

도 9에 예시된 바와 같이, 우선 현재 블록헤더의 이전 블록 해시가 실제 이전 블록의 해시와 일치하는지 확인하고 일치하지 않는 경우 false값을 반환한다(도 9의 ①). 생성된 블록의 PoW가 제대로 수행되었는지 확인하기 위해 블록의 해시값이 기존에 설정된 타겟 난이도보다 작게 나왔는지 확인하고 그렇지 않으면 false값을 반환한다(도 9의 ②). 이렇게 블록에 대한 검증을 수행하며, 검증이 참인 경우에만(도 9의 ③) 블록을 추가할 수 있다.
As illustrated in FIG. 9 , first, it is checked whether the hash of the previous block of the current block header matches the hash of the actual previous block, and if it does not match, a false value is returned (① in FIG. 9). In order to check whether the PoW of the generated block has been properly performed, it is checked whether the hash value of the block is smaller than the previously set target difficulty, otherwise a false value is returned (② in FIG. 9 ). In this way, the block is verified, and only when the verification is true (3 in FIG. 9), the block can be added.

보안성 검토Security Review

본 발명의 일실시예에 따른 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법이 이전 블록체인과 마찬가지로 체인 구조를 통해 각 블록의 무결성을 보장하고, PoW를 통해 공격자의 변조된 블록을 받아들이기 어렵게 하는 특성이 유지되는지 검토한다. 검토를 위해 2가지 공격 시나리오를 상정한다. 중간에 조작된 블록을 삽입하는 공격 시나리오를 통해 본 발명에서 블록체인의 무결성이 유지되는지 검토하고, 조작된 블록을 이어 메인체인을 탈취하는 공격 시나리오를 통해 PoW의 보안성이 유지되는지 검토한다.
The block chain transaction method that reduces the transaction size using a cryptographic hash algorithm according to an embodiment of the present invention guarantees the integrity of each block through the chain structure like the previous block chain, and protects the attacker's tampered block through PoW Examine whether the traits that make it unacceptable are maintained. Two attack scenarios are assumed for review. It examines whether the integrity of the block chain is maintained in the present invention through an attack scenario that inserts a manipulated block in the middle, and examines whether the security of PoW is maintained through an attack scenario that takes over the main chain following the manipulated block.

악의적인 사용자가 메인체인의 팁 높이에서 z만큼 떨어진 체인 C에 이어 조작된 블록을 작성하여 불법적인 자산 탈취를 시도한다고 가정해보자. 조작된 블록이 포함된 체인 C에 블록을 덧대어 메인체인으로 만들기 위해서는 고정 블록과 비고정 블록에 대해 다음과 같은 조건을 만족하여야 한다. 이때 각 블록은 Bi로 나타내며, i는 해당 블록의 높이를 의미한다. x는 공격자의 체인 C의 블록 수, k는 보안 파라미터를 의미한다.
Assume that a malicious user attempts to illegally steal assets by writing a crafted block following chain C, which is z distance from the tip height of the main chain. To make a main chain by adding a block to the chain C containing the manipulated block, the following conditions must be satisfied for both fixed and non-fixed blocks. In this case, each block is represented by B i , and i means the height of the corresponding block. x is the number of blocks in the attacker's chain C, and k is the security parameter.

① 고정 블록 Bi에 대해서는 다음 수학식 4를 충족해야 노드들이 블록을 받아들인다.① For the fixed block B i , the following Equation 4 must be satisfied for the nodes to accept the block.

Figure 112019096095788-pat00004
Figure 112019096095788-pat00004

② 비고정 블록 Bi에 대해서는 다음 수학식 5를 충족해야 노드들이 블록을 받아들인다.② For the non-fixed block B i , the following Equation 5 must be satisfied for the nodes to accept the block.

Figure 112019096095788-pat00005
Figure 112019096095788-pat00005

위 조건에 따라 다음과 같이 공격 시나리오 a), b)를 검토한다.
Based on the above conditions, review the attack scenarios a) and b) as follows.

a) 중간에 조작된 블록을 삽입하는 공격 a) An attack that inserts a manipulated block in the middle

체인 C 중간에 조작된 블록 Bi`를 삽입하고 뒤이어 기존의 체인을 덧붙인다고 하면, 블록 Bi+1에 대해 다음 수학식 6을 만족해야 한다. If a manipulated block B i ` is inserted in the middle of chain C and an existing chain is subsequently added, the following equation (6) must be satisfied for block B i+1.

Figure 112019096095788-pat00006
Figure 112019096095788-pat00006

이는 다음 수학식 7을 만족하는 H(Bi)의 2nd preimage를 구하는 것과 같으며, 해시함수의 보안성에 위배된다.This is equivalent to obtain the 2 nd preimage of H (B i) which satisfies the following equation (7), is against the security of the hash function.

Figure 112019096095788-pat00007
Figure 112019096095788-pat00007

고정/비고정 블록에 대하여 수학식 7의 조건을 모두 만족해야 하므로, 변조된 고정/비고정 블록을 체인 중간에 삽입하는 것이 불가능하다. 따라서 블록체인이 가지는 무결성 특징은 본 발명에서도 동일하게 유지된다고 볼 수 있다.
Since all the conditions of Equation 7 must be satisfied for the fixed/non-fixed block, it is impossible to insert the modulated fixed/non-fixed block in the middle of the chain. Therefore, it can be seen that the integrity characteristics of the block chain are maintained the same in the present invention.

b) 조작된 블록 뒤에 블록을 연이어 생성하여 메인체인을 탈취하는 공격b) An attack that hijacks the main chain by creating blocks after the manipulated block

메인체인을 탈취하기 위해서는 공격자가 착한 노드보다 빨리 블록을 생성해야 하고, 합의 알고리즘에 따라 공격 성공률이 좌우된다. 본 발명은 PoW 합의 알고리즘에 따라 블록을 생성한다. 고정/비고정 블록에 상관없이 생성되는 블록 Bi에 대하여 다음 수학식 8을 만족해야 하므로, 고정/비고정 블록은 PoW를 따라 합의된다고 볼 수 있다.In order to take over the main chain, an attacker must create blocks faster than a good node, and the success rate of the attack depends on the consensus algorithm. The present invention generates blocks according to a PoW consensus algorithm. Since the following Equation 8 must be satisfied for the block B i generated regardless of the fixed/non-fixed block, it can be considered that the fixed/non-fixed block is agreed upon according to PoW.

Figure 112019096095788-pat00008
Figure 112019096095788-pat00008

PoW에서 공격자가 z 블록만큼 떨어진 체인을 따라잡는 확률은, 착한 노드가 다음 블록을 발견할 확률 p, 공격자가 다음 블록을 발견할 확률 q, 따라잡아야 하는 블록 수 z에 따라 달라진다. 블록 생성 확률은 공격자와 착한 노드의 해시율과 높은 상관성을 가지며 본 발명의 본 발명은 이에 영향을 끼치지 않는다. 그리고 따라잡아야 하는 블록 수 z는 트랜잭션이 안정적으로 변하여 사용 가능해지는 기준이 되는 보안 파라미터 k와 동일하며, 본 발명에서 k는 독립 상수로 본 발명에 따라 변경되지 않는다. 그러므로 본 발명은 PoW에 따라 블록을 생성하며, 본 발명에서의 공격 b)가 성공할 확률은 기존의 51% 공격 확률과 동일하다.
In PoW, the probability of an attacker catching up with a chain that is z blocks away depends on the probability p that a good node finds the next block, the probability q that the attacker finds the next block, and the number of blocks z that must catch up. The block generation probability has a high correlation with the hash rate of the attacker and the good node, and the present invention does not affect this. In addition, the number of blocks to be caught up z is the same as the security parameter k, which is a criterion for a transaction to be stably changed and usable, and in the present invention, k is an independent constant and is not changed according to the present invention. Therefore, the present invention generates a block according to PoW, and the probability that the attack b) succeeds in the present invention is the same as the existing 51% attack probability.

따라서 본 발명은, 기존의 블록체인과 PoW가 갖는 고유의 보안성을 크게 해치지 않는다.
Therefore, the present invention does not significantly impair the inherent security of the existing blockchain and PoW.

구현 및 성능 실험Implementation and performance experiments

본 발명의 실험을 위하여, 구현된 양자 내성 블록체인(이하 BPQB)은 비트코인 오픈소스인 bitcoin core version 0.15.1을 기반으로 개발/구현하였다. Bitcoin core는 정해진 블록 크기, 스마트 컨트랙트 실행 불가 등 한계가 많은 대표적인 블록체인이다. Bitcoin core는 블록체인이 가진 한계성을 잘 나타내기 때문에 향후 양자 내성 암호를 도입하기 위해 개선해야 할 부분들에 관해 연구하기 적합한 것으로 판단하고 이를 기반 소스로 선정하였다.
For the experiment of the present invention, the implemented quantum resistant blockchain (hereinafter BPQB) was developed/implemented based on bitcoin core version 0.15.1, which is an open source of bitcoin. Bitcoin core is a representative block chain with many limitations, such as a fixed block size and inability to execute smart contracts. Since the Bitcoin core shows the limitations of the block chain well, it was judged that it is suitable to study the areas that need to be improved in order to introduce quantum-resistant cryptography in the future, and this was selected as the base source.

또한, 양자 내성 알고리즘은 격자 기반의 pqNTRUSign 전자서명 알고리즘을 적용하였다. pqNTRUSign은 모듈러 격자 기반의 전자서명 스킴으로 가우시안 샘플러(Gaussian sampler) 또는 유니폼 샘플러(uniform sampler)와 함께 NTRU 래티스를 사용한다. pqNTRUSign은 공개키/서명 크기가 다른 암호 알고리즘에 비해 작은 편에 속해, 각 노드가 부담할 승인되지 않은 트랜잭션 풀의 용량을 최소화할 수 있을 것이다. 모든 노드가 서명 검증을 통해 트랜잭션을 전송받는 것을 고려할 때, 서명 검증시간이 다른 암호 알고리즘에 비해 짧은 편이어서, 검증 속도가 실용적인 블록체인을 구현하는 데에 적절할 것으로 판단했다. BPQB의 성능을 측정하고자, 2개의 PC 실험환경에서 서명과 검증시간을 각 50회 측정했다.
In addition, the quantum resistance algorithm applied the lattice-based pqNTRUSign digital signature algorithm. pqNTRUSign is a modular grid-based digital signature scheme that uses NTRU lattice with a Gaussian sampler or a uniform sampler. Since pqNTRUSign has a smaller public key/signature size compared to other cryptographic algorithms, it will be possible to minimize the capacity of the unauthorized transaction pool to be borne by each node. Considering that all nodes receive transactions through signature verification, the signature verification time is short compared to other cryptographic algorithms, so we decided that the verification speed would be appropriate for implementing a practical blockchain. To measure the performance of BPQB, the signature and verification time were measured 50 times each in two PC test environments.

도 10은 각 실험환경에서의 평균 서명 및 검증시간과 표준편차를 나타낸 도면이다. 블록체인은 트랜잭션 유효성 확인을 위해 전파되는 모든 트랜잭션의 서명 검증을 수행한다. 따라서 성능 부문에 있어 가장 중요한 요소는 검증시간이 된다. 도 10에 도시된 바와 같이, bitcoin 0.15.1이 BPQB보다 빠르나, BPQB의 평균값은 ms(millisecond)로 10㎳ 이하의 값이기 때문에 실용적으로 사용할 수 있을 것이다. 서명 시간은 BPQB는 약 602㎳이고, bitcoin 0.15.1은 약 0.4㎳로 현저한 차이를 보이나 이는 개인이 트랜잭션을 생성하는 시간에만 영향을 주기 때문에 실용적인 사용에 있어 큰 무리가 없을 것으로 판단된다.
10 is a view showing the average signature and verification time and standard deviation in each experimental environment. The blockchain performs signature verification of all propagated transactions for transaction validation. Therefore, the most important factor in performance is the verification time. As shown in Figure 10, bitcoin 0.15.1 is faster than BPQB, but the average value of BPQB is ms (millisecond), which is a value of 10 ms or less, so it can be used practically. The signature time for BPQB is about 602 ms and bitcoin 0.15.1 is about 0.4 ms, showing a significant difference, but since it only affects the time that an individual creates a transaction, it is judged that there will not be much difficulty in practical use.

전술한 바와 같이, 본 발명에서 제안하고 있는 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법에 따르면, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액으로 구성되는 트랜잭션을 생성하여 전파함으로써, 비대한 공개키와 서명 크기를 가진 트랜잭션 사이즈를 대폭 감소시켜 다양한 양자 내성 전자서명을 블록체인에 도입할 수 있으며, 궁극적으로 블록체인의 양자 내성 전자서명 호환성을 증대시키고, 전체적인 블록체인의 크기도 감소시킬 수 있다.
As described above, according to the block chain transaction method in which the transaction size is reduced by using the cryptographic hash algorithm proposed in the present invention, a transaction composed of the hash value of the recipient's public key, the hash value of the sender's signature, and the amount By propagating, it is possible to introduce various quantum-resistant digital signatures into the blockchain by significantly reducing the transaction size with bloated public keys and signature sizes, ultimately increasing the quantum-resistant digital signature compatibility of the blockchain and improving the overall blockchain. The size can also be reduced.

이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.Various modifications and applications of the present invention described above are possible by those skilled in the art to which the present invention pertains, and the scope of the technical idea according to the present invention should be defined by the following claims.

S100: 수신자 공개키의 해시값 및 발신자 서명의 해시값으로 구성되는 트랜잭션을 생성하는 단계
S110: 수신자 공개키의 해시값을 트랜잭션 데이터에 저장하는 단계
S120: 서명 함수를 콜하는 단계
S130: 이전 트랜잭션의 해시값 및 수신자 공개키를 발신자 개인키로 서명하는 단계
S140: 발신자 서명의 해시값을 생성해 트랜잭션 데이터에 저장하는 단계
S150: 트랜잭션 데이터 및 트랜잭션에 대한 부가 정보를 포함하는 트랜잭션 정보를 생성하는 단계
S200: 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부한 트랜잭션 정보를 승인되지 않은 거래 풀에 보관하고, 트랜잭션을 전파하는 단계
S300: 트랜잭션이 담긴 블록이 고정 블록에 포함되면, 트랜잭션 정보를 승인되지 않은 거래 풀에서 제거하는 단계
S100: A step of generating a transaction consisting of a hash value of the recipient's public key and a hash value of the sender's signature
S110: Storing the hash value of the recipient public key in the transaction data
S120: Calling the signature function
S130: Signing the hash value of the previous transaction and the recipient public key with the sender private key
S140: A step of generating a hash value of the sender's signature and storing it in the transaction data
S150: generating transaction information including transaction data and additional information about the transaction
S200: For verification in a non-fixed block, storing the transaction information with the sender public key and the sender signature attached to the unauthorized transaction pool, and propagating the transaction
S300: When the block containing the transaction is included in the fixed block, the step of removing the transaction information from the unapproved transaction pool

Claims (9)

복수의 블록체인 노드를 포함하는 블록체인 기반 시스템, 양자 내성 전자서명의 도입 시 공개키와 서명의 크기에 대한 부담을 줄이기 위해, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법으로서,
수신자 공개키의 해시값 및 발신자 서명의 해시값만으로 구성되는 트랜잭션, 또는 상기 블록체인이 화폐 자산을 이용해 가치를 금액으로 환산하여 거래하면, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액만으로 구성되는 트랜잭션을 생성하여 전파하되,
(1) 수신자 공개키의 해시값, 또는 수신자 공개키의 해시값 및 금액을 트랜잭션 데이터에 저장하는 단계;
(2) 서명 함수를 콜하는 단계;
(3) 이전 트랜잭션의 해시값 및 수신자 공개키, 또는 이전 트랜잭션의 해시값, 수신자 공개키의 해시값 및 금액을 발신자 개인키로 서명하는 단계; 및
(4) 상기 단계 (3)의 발신자 서명의 해시값을 생성해 상기 트랜잭션 데이터에 저장하는 단계를 포함하여,
상기 수신자 공개키의 해시값 및 발신자 서명의 해시값만으로 구성되거나, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액만으로 구성되는 트랜잭션을 생성하며,
상기 블록체인은,
블록 내에 포함된 모든 트랜잭션이 안정적인(stable) 상태인 고정 블록(fixed block) 및 불안정한(unstable) 트랜잭션을 적어도 하나 이상 포함하는 비고정 블록(unfixed block)을 포함하며,
상기 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부하고, 상기 비고정 블록이 고정 블록이 되면 상기 첨부된 발신자 공개키 및 발신자 서명을 트랜잭션에서 제거하고,
상기 고정 블록에서는 블록 및 블록 헤더에 대한 검증을 수행하여 블록의 유효성을 확인하는 것을 특징으로 하는, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법.
A blockchain-based system including a plurality of blockchain nodes, a blockchain transaction method that reduces the transaction size by using a cryptographic hash algorithm to reduce the burden on the size of the public key and signature when introducing quantum-resistant digital signatures,
If the transaction consists of only the hash value of the recipient's public key and the hash value of the sender's signature, or if the block chain converts the value into an amount using a monetary asset, the hash value of the recipient's public key, the hash value of the sender's signature, and Create and propagate the composed transaction,
(1) storing the hash value of the recipient's public key, or the hash value and the amount of the recipient's public key, in transaction data;
(2) calling the signature function;
(3) signing the hash value and the recipient public key of the previous transaction, or the hash value of the previous transaction, the hash value and the amount of the recipient public key, with the sender private key; and
(4) generating a hash value of the sender's signature of step (3) and storing it in the transaction data,
generating a transaction composed only of the hash value of the recipient public key and the hash value of the sender's signature, or consisting only of the hash value of the recipient's public key, the hash value of the sender's signature, and the amount
The blockchain is
Includes a fixed block in which all transactions included in the block are in a stable state and an unfixed block including at least one unstable transaction,
For verification in the non-fixed block, a sender public key and sender signature are attached, and when the non-fixed block becomes a fixed block, the attached sender public key and sender signature are removed from the transaction,
In the fixed block, a block chain transaction method that reduces the transaction size using a cryptographic hash algorithm, characterized in that the block and block header are verified to confirm the validity of the block.
삭제delete 삭제delete 제1항에 있어서, 상기 단계 (4) 이후에는,
(5) 상기 트랜잭션 데이터 및 트랜잭션에 대한 부가 정보를 포함하는 트랜잭션 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법.
The method of claim 1, wherein after step (4),
(5) A block chain transaction method in which a transaction size is reduced using a cryptographic hash algorithm, characterized in that it further comprises the step of generating transaction information including the transaction data and additional information about the transaction.
제4항에 있어서,
상기 트랜잭션 정보는, 발신자 공개키 및 발신자 서명을 포함하며,
상기 트랜잭션 정보는, 승인되지 않은 거래 풀(pool)에 보관되고, 상기 풀에서 트랜잭션이 포함된 블록의 모든 트랜잭션이 안정적인 상태가 되면, 상기 트랜잭션 정보는 상기 승인되지 않은 거래 풀에서 제거되는 것을 특징으로 하는, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법.
5. The method of claim 4,
The transaction information includes a sender public key and a sender signature,
The transaction information is stored in an unapproved transaction pool, and when all transactions of blocks including transactions in the pool become stable, the transaction information is removed from the unauthorized transaction pool A blockchain transaction method that reduces the transaction size using a cryptographic hash algorithm.
제5항에 있어서, 상기 트랜잭션 정보는,
수신자 확인을 위한 상기 수신자 공개키 및 트랜잭션의 해시값을 더 포함하는 것을 특징으로 하는, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법.
The method of claim 5, wherein the transaction information,
A block chain transaction method that reduces the transaction size using a cryptographic hash algorithm, characterized in that it further includes the recipient public key and the hash value of the transaction for verification of the recipient.
삭제delete 삭제delete 복수의 블록체인 노드를 포함하는 블록체인 기반 시스템에서, 양자 내성 전자서명의 도입 시 공개키와 서명의 크기에 대한 부담을 줄이기 위해, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법으로서,
상기 블록체인은, 블록 내에 포함된 모든 트랜잭션이 안정적인(stable) 상태인 고정 블록(fixed block) 및 불안정한(unstable) 트랜잭션을 적어도 하나 이상 포함하는 비고정 블록(unfixed block)을 포함하고,
(a) 수신자 공개키의 해시값 및 발신자 서명의 해시값만으로 구성되는 트랜잭션, 또는 상기 블록체인이 화폐 자산을 이용해 가치를 금액으로 환산하여 거래하면, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액만으로 구성되는 트랜잭션을 생성하는 단계;
(b) 상기 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부한 트랜잭션 정보를 승인되지 않은 거래 풀에 보관하고, 상기 트랜잭션을 전파하는 단계; 및
(c) 상기 트랜잭션이 담긴 블록이 고정 블록에 포함되면, 상기 트랜잭션 정보를 상기 승인되지 않은 거래 풀에서 제거하는 단계를 포함하며,
상기 단계 (a)에서는,
(1) 수신자 공개키의 해시값, 또는 수신자 공개키의 해시값 및 금액을 트랜잭션 데이터에 저장하는 단계;
(2) 서명 함수를 콜하는 단계;
(3) 이전 트랜잭션의 해시값 및 수신자 공개키, 또는 이전 트랜잭션의 해시값, 수신자 공개키의 해시값 및 금액을 발신자 개인키로 서명하는 단계; 및
(4) 상기 단계 (3)의 발신자 서명의 해시값을 생성해 상기 트랜잭션 데이터에 저장하는 단계를 포함하여,
상기 수신자 공개키의 해시값 및 발신자 서명의 해시값만으로 구성되거나, 수신자 공개키의 해시값, 발신자 서명의 해시값 및 금액만으로 구성되는 트랜잭션을 생성하며,
상기 비고정 블록에서의 검증을 위해, 발신자 공개키 및 발신자 서명을 첨부하고, 상기 비고정 블록이 고정 블록이 되면 상기 첨부된 발신자 공개키 및 발신자 서명을 트랜잭션에서 제거하고,
상기 고정 블록에서는 블록 및 블록 헤더에 대한 검증을 수행하여 블록의 유효성을 확인하는 것을 특징으로 하는, 암호학적 해시 알고리즘을 이용해 트랜잭션 사이즈를 감소시킨 블록체인 트랜잭션 방법.
In a blockchain-based system including a plurality of blockchain nodes, in order to reduce the burden on the size of public keys and signatures when introducing quantum-resistant digital signatures, it is a blockchain transaction method that reduces the transaction size using a cryptographic hash algorithm. ,
The block chain includes a fixed block in which all transactions included in the block are in a stable state and an unfixed block including at least one unstable transaction,
(a) A transaction consisting of only the hash value of the recipient's public key and the hash value of the sender's signature, or if the block chain converts the value into an amount using monetary assets and generating a transaction consisting of only the amount;
(b) for verification in the non-fixed block, storing transaction information with a sender public key and sender signature in an unauthorized transaction pool, and propagating the transaction; and
(c) if the block containing the transaction is included in the fixed block, removing the transaction information from the unauthorized transaction pool;
In step (a),
(1) storing the hash value of the recipient's public key, or the hash value and the amount of the recipient's public key, in transaction data;
(2) calling the signature function;
(3) signing the hash value and the recipient public key of the previous transaction, or the hash value of the previous transaction, the hash value and the amount of the recipient public key, with the sender private key; and
(4) generating a hash value of the sender's signature of step (3) and storing it in the transaction data,
generating a transaction composed only of the hash value of the recipient public key and the hash value of the sender's signature, or consisting only of the hash value of the recipient's public key, the hash value of the sender's signature, and the amount
For verification in the non-fixed block, a sender public key and sender signature are attached, and when the non-fixed block becomes a fixed block, the attached sender public key and sender signature are removed from the transaction,
In the fixed block, a block chain transaction method in which the transaction size is reduced using a cryptographic hash algorithm, characterized in that the block and block header are verified to confirm the validity of the block.
KR1020190115665A 2019-09-19 2019-09-19 Blockchain transaction method with reduced transaction size using cryptographic hash algorithm KR102311354B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190115665A KR102311354B1 (en) 2019-09-19 2019-09-19 Blockchain transaction method with reduced transaction size using cryptographic hash algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190115665A KR102311354B1 (en) 2019-09-19 2019-09-19 Blockchain transaction method with reduced transaction size using cryptographic hash algorithm

Publications (2)

Publication Number Publication Date
KR20210033846A KR20210033846A (en) 2021-03-29
KR102311354B1 true KR102311354B1 (en) 2021-10-13

Family

ID=75250189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190115665A KR102311354B1 (en) 2019-09-19 2019-09-19 Blockchain transaction method with reduced transaction size using cryptographic hash algorithm

Country Status (1)

Country Link
KR (1) KR102311354B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023277552A1 (en) * 2021-06-30 2023-01-05 주식회사 아티프렌즈 Data segmentation and storage method through participation of storage node
KR20230063508A (en) * 2021-11-02 2023-05-09 삼성전자주식회사 Storage device supporting multi tenancy and operating method thereof
CN114584291B (en) * 2022-02-18 2023-12-29 杭州代码狗科技有限公司 Key protection method, device, equipment and storage medium based on HMAC algorithm

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101841566B1 (en) * 2016-10-11 2018-05-04 주식회사 코인플러그 Method for issuing, using, refunding, settling and revocating electric voucher using updated status of balance database by respective blocks in blockchain, and server using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115758444A (en) * 2016-07-29 2023-03-07 区块链控股有限公司 Method and system for realizing block chain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101841566B1 (en) * 2016-10-11 2018-05-04 주식회사 코인플러그 Method for issuing, using, refunding, settling and revocating electric voucher using updated status of balance database by respective blocks in blockchain, and server using the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Marcelo Salhab Brogliato, Hathor: An alternative towards a scalable cryptocurrency, Technical Report (2018.11.01.)*
Shweta Amarjeet Singh, DIGITAL STORAGE VAULT MANAGED USING BLOCKCHAIN ENGINE, California State University, Master of Science (2018.)*

Also Published As

Publication number Publication date
KR20210033846A (en) 2021-03-29

Similar Documents

Publication Publication Date Title
Li et al. Traceable monero: Anonymous cryptocurrency with enhanced accountability
US20240095728A1 (en) Blockchain system for confidential and anonymous smart contracts
JP6908700B2 (en) Systems and methods for information protection
JP6714156B2 (en) System and method for information protection
KR102311354B1 (en) Blockchain transaction method with reduced transaction size using cryptographic hash algorithm
US20220321360A1 (en) Hash function attacks
Dmitrienko et al. Secure wallet-assisted offline bitcoin payments with double-spender revocation
CN110505067B (en) Block chain processing method, device, equipment and readable storage medium
Ramezan et al. Analysis of proof-of-work-based blockchains under an adaptive double-spend attack
Ali et al. Foundations, properties, and security applications of puzzles: A survey
US20220263664A1 (en) Blockchain transaction comprising runnable code for hash-based verification
WO2021009496A1 (en) Peer-to-peer network and method
Skudnov Bitcoin clients
Darwish et al. A model to authenticate requests for online banking transactions
Wang et al. A universal method for realizing non‐repudiable provable data possession in cloud storage
Gauravaram et al. Collision attacks on MD5 and SHA-1: Is this the “Sword of Damocles” for electronic commerce
Yu et al. Collusion attacks and fair time-locked deposits for fast-payment transactions in Bitcoin
Chang et al. A secure one-time password authentication scheme using smart cards without limiting login times
Gan et al. Online/offline remote data auditing with strong key-exposure resilience for cloud storage
Swathi et al. A survey on quantum-safe blockchain system
Pallas Bitcoin security
US20230143356A1 (en) Method and system for performing cryptocurrency asset transaction
Gulihar et al. A taxonomy of bitcoin security issues and defense mechanisms
Aung et al. Cryptographic and Consensus Techniques Supporting Privacy and Security Management of Cryptocurrency Transactions
Bamini et al. Secure Online Mobile Design and Development of Banking System

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant