KR102151939B1 - 패치 트랜잭션을 이용한 블록체인 생성 방법 - Google Patents

패치 트랜잭션을 이용한 블록체인 생성 방법 Download PDF

Info

Publication number
KR102151939B1
KR102151939B1 KR1020190147444A KR20190147444A KR102151939B1 KR 102151939 B1 KR102151939 B1 KR 102151939B1 KR 1020190147444 A KR1020190147444 A KR 1020190147444A KR 20190147444 A KR20190147444 A KR 20190147444A KR 102151939 B1 KR102151939 B1 KR 102151939B1
Authority
KR
South Korea
Prior art keywords
block
transaction
modified
nth
consensus
Prior art date
Application number
KR1020190147444A
Other languages
English (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 KR1020190147444A priority Critical patent/KR102151939B1/ko
Application granted granted Critical
Publication of KR102151939B1 publication Critical patent/KR102151939B1/ko
Priority to PCT/KR2020/012109 priority patent/WO2021101040A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L2209/38
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신하는 단계, n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션을 기설정된 함수에 입력함으로써 상기 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성하는 단계, 상기 n번째 블록에 삽입될 헤더인 제n 헤더를 생성하는 단계, 상기 제n 헤더, 상기 제n 트랜잭션 및 상기 제n-1 결과값을 포함하는 상기 n번째 블록인 제n 블록을 생성하는 단계, 상기 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계, 상기 제n 블록에 대한 합의 과정의 진행결과 합의에 실패하면, 수정된 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계, 상기 제n-1 트랜잭션과 상기 제n 패치 트랜잭션을 연접하여 상기 기설정된 함수에 입력함으로써 상기 수정된 n번째 블록에 삽입될 결과값인 수정 제n-1 결과값을 생성하는 단계, 상기 수정된 n번째 블록에 삽입될 헤더인 수정 제n 헤더를 생성하는 단계, 상기 수정 제n 헤더, 상기 제n 트랜잭션, 상기 제n 패치 트랜잭션 및 상기 수정 제n-1 결과값을 포함하는 상기 수정된 n번째 블록인 수정 제n 블록을 생성하는 단계, 상기 수정 제n 블록에 대한 상기 블록체인의 합의 과정을 진행하는 단계 및 상기 수정 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 수정 제n 블록을 상기 블록체인에 추가하는 단계를 포함하는 패치 트랜잭션을 이용한 블록체인 생성 방법에 관한 것이다.

Description

패치 트랜잭션을 이용한 블록체인 생성 방법{METHOD FOR CREATING BLOCKCHAIN USING PATCH TRANSACTION}
이하의 일 실시 예들은 블록체인 플랫폼에 관한 것으로, 블록체인 시스템이 온 더 넥스트 방식으로 블록을 생성할 때, 발생하는 블록체인 네트워크가 중단되는 현상을 줄이기 위한 기술이다.
블록체인은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 블록체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있다. 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 이 기록을 검증하여 해킹을 막는다
블록체인은 단순히 비트코인에만 적용되는 기술이 아니며, 여러 데이터를 보관하는 데에도 적용함으로써 데이터베이스(DB)의 유지 보수와 보안에 따른 막대한 비용을 줄일 수 있는 효과를 가진 기술이다.
블록체인 시스템은 블록체인에 추가하는 블록을 생성함에 있어서, 온 더 커런트(On-the-current) 방식 또는 온 더 넥스트(On-the-next) 방식으로 블록을 생성하여 블록체인에 추가할 수 있다.
온 더 커런트(On-the-current) 방식의 블록 구조는 결과를 트랜잭션의 현재 블록에 저장한다.
도 1은 블록체인 시스템에서 온 더 커런트 방식으로 블록체인을 생성하는 일 예를 도시함 도면이다.
도 1을 참조하면, 블록체인에 포함된 블록(110, 120, 130) 각각은 해당 블록의 트랜잭션, 해당 블록의 트랜잭션을 기설정된 함수에 입력하여 획득하는 결과값 및 해당 블록의 헤더로 구성된다.
예를 들어, 첫번째 블록인 제1 블록(110)은 첫번째 블록에 포함되는 트랜잭션인 제1 트랜잭션(T1), 제1 트랜잭션(T1)을 기설정된 함수의 입력값으로 해서 생성되는 결과값(R1) 및 제1 블록(110)의 헤더인 제1 헤더(B1)를 포함한다.
온 더 커런트 방식의 블록 구조는 해당 블록의 트랜잭션의 결과를 현재 블록의 결과값으로 저장하기 때문에 결과가 예상치 않거나 합의가 이루어지지 않은 경우, 해당 블록을 삭제할 수 있다.
온 더 넥스트(On-the-next) 방식의 블록 구조는 트랜잭션의 결과값을 다음 블록에 저장한다.
도 2는 블록체인 시스템에서 온 더 넥스트 방식으로 블록체인을 생성하는 일 예를 도시한 도면이다.
도 2를 참조하면, 제1 블록(210)은 제1 블록에 삽입되는 트랜잭션인 제1 트랜잭션(T1)과 제1 블록에 헤더인 제1헤더(B1)를 포함하여 구성된다. 이때, 제1 블록(210)에는 결과값이 생략된다.
블록(220, 230) 각각은 해당 블록의 트랜잭션, 이전 블록의 트랜잭션을 기설정된 함수에 입력하여 획득하는 결과값 및 해당 블록의 헤더로 구성된다.
온 더 넥스트 방식으로 블록체인에 추가될 블록을 생성하는 경우, 이전 블록의 트랜잭션의 결과를 결과값으로 저장하기 때문에 결과가 예상치 않거나 합의가 이루어지지 않는 문제가 발생하면 해당 블록을 삭제하기에 어려움이 있다.
온 더 커런트 방식과 온 더 넥스트 방식을 비교하면, 온 더 넥스트의 경우 온 더 커런트 보다 빠르게 블록 생성이 가능하다.
하지만, 다음 블록의 결과를 저장하기 때문에 이미 확인된 블록을 삭제하기가 어렵다.
또한, 블록의 합의를 처리하는 환경이 다름(예를 들어, 합의 알고리즘의 버전이 다른 경우)으로써 트랜잭션의 처리 결과가 다르게 나타나는 경우, 이미 완결된 블록의 트랜잭션을 변경할 수 없어서 합의가 이루어 지지 않아 블록체인 네트워크가 중단되는 경우가 발생할 수 있다.
즉, 블록의 합의를 처리하는 환경이 다름으로써 합의가 이루어지지 않는 경우, 온 더 넥스트 방식의 경우 이전 블록의 트랜잭션이 변경되는 것이 아님으로 동일한 이전 트랜잭션이 현재 블록의 결과값을 구하는 함수의 유일한 입력값으로 사용되기 때문에 반복해서 블록을 생성하여도 합의에 다다르지 못하는 문제로 블록체인 네트워크가 중단 될 수 있다.
이때, 온 더 넥스트(On-the-next) 방식의 블록 구조는 널리 알려진 이더리움(Ethereum)에서 사용하는 방식이고, 온 더 넥스트(On-the-next) 방식의 블록 구조는 텐더민트(Tendermint)에서 사용하는 방식이다.
다음의 링크는 텐더민트(Tendermint)에 관한 설명이 기재된 페이지이다. “https://docs.tendermint.com/master/spec/blockchain/blockchain.html”에 기재된 LastResultHash의 내용은 다음과 같으며, LastResultHash의 내용을 살펴보면 트랜잭션의 결과값이 다음 블록에 저장됨을 알 수 있다.
LastResultsHash
Copyblock.ResultsHash == MerkleRoot(state.LastResults)
MerkleRoot of the results of the transactions in the previous block.
The first block has block.Header.ResultsHash == []byte{}.
따라서, 온 더 넥스트 방식으로 블록을 생성하면서도 블록체인 네트워크가 중단되는 현상을 줄일 수 있는 방법이 요구된다.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 패치 트랜잭션을 이용한 블록체인 생성 방법을 제공하는 것을 목적으로 한다.
구체적으로, 본 발명은 블록에 대한 합의에 실패하면, 이전 블록에 포함된 트랜잭션 뿐만 아니라 새로운 패치 트랜잭션을 추가하여 결과값을 생성하여서 새로운 블록을 생성하는 블록체인 생성 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 패치 트랜잭션을 이용한 블록체인 생성 방법은, n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신하는 단계-상기 n은 2보다 큰 양의 정수-; n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션을 기설정된 함수에 입력함으로써 상기 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성하는 단계; 상기 n번째 블록에 삽입될 헤더인 제n 헤더를 생성하는 단계; 상기 제n 헤더, 상기 제n 트랜잭션 및 상기 제n-1 결과값을 포함하는 상기 n번째 블록인 제n 블록을 생성하는 단계; 상기 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계; 상기 제n 블록에 대한 합의 과정의 진행결과 합의에 실패하면, 수정된 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계; 상기 제n-1 트랜잭션과 상기 제n 패치 트랜잭션을 연접하여 상기 기설정된 함수에 입력함으로써 상기 수정된 n번째 블록에 삽입될 결과값인 수정 제n-1 결과값을 생성하는 단계; 상기 수정된 n번째 블록에 삽입될 헤더인 수정 제n 헤더를 생성하는 단계; 상기 수정 제n 헤더, 상기 제n 트랜잭션, 상기 제n 패치 트랜잭션 및 상기 수정 제n-1 결과값을 포함하는 상기 수정된 n번째 블록인 수정 제n 블록을 생성하는 단계; 상기 수정 제n 블록에 대한 상기 블록체인의 합의 과정을 진행하는 단계; 및 상기 수정 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 수정 제n 블록을 상기 블록체인에 추가하는 단계를 포함한다.
이때, 상기 수정된 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계는, 기설정된 값 또는 기설정된 방법에 따라서 상기 제n 패치 트랜잭션을 생성할 수 있다.
이때, 패치 트랜잭션을 이용한 블록체인 생성 방법은, 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 횟수 반복 수행하는 단계; 및 상기 기설정된 횟수 동안 합의를 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계를 더 포함할 수 있다.
이때, 트랜잭션을 이용한 블록체인 생성 방법은, 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 시간 동안 반복 수행하는 단계; 및 상기 기설정된 시간 동안 합의를 반복하여 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계를 더 포함할 수 있다.
이때, 트랜잭션을 이용한 블록체인 생성 방법은, 상기 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 제n 블록을 상기 블록체인에 추가하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따른 패치 트랜잭션을 이용한 블록체인 생성 방법은, n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신하는 단계-상기 n은 2보다 큰 양의 정수-; 상기 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계; n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션과 상기 제n 패치 트랜잭션을 연접하여 기설정된 함수에 입력함으로써 상기 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성하는 단계; 상기 n번째 블록에 삽입될 헤더인 제n 헤더를 생성하는 단계; 상기 제n 헤더, 상기 제n 트랜잭션, 상기 제n 패치 트랜잭션 및 상기 제n-1 결과값을 포함하는 상기 n번째 블록인 제n 블록을 생성하는 단계; 상기 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계; 및 합의 결과 합의에 성공하면, 상기 제n 블록을 블록체인에 추가하는 단계를 포함한다.
이때, 상기 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계는, 기설정된 값 또는 기설정된 방법에 따라서 상기 제n 패치 트랜잭션을 생성할 수 있다.
이때, 패치 트랜잭션을 이용한 블록체인 생성 방법은, 합의 과정의 진행결과 합의에 실패하면, 수정된 n번째 블록에 삽입될 새로운 패치 트랜잭션인 수정 제n 패치 트랜잭션을 생성하는 단계; 상기 제n-1 트랜잭션과 상기 수정 제n 패치 트랜잭션을 연접하여 기설정된 함수에 입력함으로써 상기 수정된 n번째 블록에 삽입될 결과값인 수정 제n-1 결과값을 생성하는 단계; 상기 수정된 n번째 블록에 삽입될 헤더인 수정 제n 헤더를 생성하는 단계; 상기 수정 제n 헤더, 상기 제n 트랜잭션, 상기 수정 제n 패치 트랜잭션 및 상기 수정 제n-1 결과값을 포함하는 상기 수정된 n번째 블록인 수정 제n 블록을 생성하는 단계; 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계; 및 상기 수정 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 수정 제n 블록을 상기 블록체인에 추가하는 단계를 더 포함할 수 있다.
이때, 패치 트랜잭션을 이용한 블록체인 생성 방법은, 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 수정 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 횟수 반복 수행하는 단계; 및 상기 기설정된 횟수 동안 합의를 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계를 더 포함할 수 있다.
이때, 패치 트랜잭션을 이용한 블록체인 생성 방법은 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 수정 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 시간 동안 반복 수행하는 단계; 및 상기 기설정된 시간 동안 합의를 반복하여 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계를 더 포함할 수 있다.
블록체인에 추가할 블록에 대한 합의에 실패하면, 새로이 재생성하는 블록의 결과값을 계산할 때, 이전 블록에 포함된 트랜잭션 뿐만 아니라 기설정된 값 또는 기설정된 방법에 따라서 생성되는 패치 트랜잭션을 이용해서 결과값을 생성함으로써 블록체인 네트워크가 중단되는 현상을 줄일 수 있다.
도 1은 블록체인 시스템에서 온 더 커런트 방식으로 블록체인을 생성하는 일 예를 도시함 도면이다.
도 2는 블록체인 시스템에서 온 더 넥스트 방식으로 블록체인을 생성하는 일 예를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 블록체인 시스템에서 패치 트랜잭션을 이용해서 블록체인을 생성하는 과정을 도시한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 블록체인 시스템에서 패치 트랜잭션을 이용해서 블록체인을 생성하는 일 예를 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 블록체인 시스템에서 합의 실패 시에 패치 트랜잭션을 이용해서 블록체인을 생성하는 과정을 도시한 흐름도이다.
도 6은 본 발명의 일 실시 예에 블록체인 시스템에서 합의 실패 시에 패치 트랜잭션을 이용해서 블록체인을 생성하는 일 예를 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 3은 본 발명의 일 실시 예에 따른 블록체인 시스템에서 패치 트랜잭션을 이용해서 블록체인을 생성하는 과정을 도시한 흐름도이다.
도 3을 참조하면, 블록체인 시스템은 n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신한다(310). 이때, n은 2보다 큰 양의 정수이다.
한편, 첫번째 블록인 제1 블록의 경우, 기존의 온 더 넥스트 방식과 같이 제1 블록에 삽입되는 트랜잭션인 제1 트랜잭션과 제1 블록에 헤더인 제1헤더를 포함하며, 제1 블록에는 결과값이 생략된다.
그리고, 블록체인 시스템은 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성한다(312). 이때, 제n 패치 트랜잭션은 기설정된 값 또는 기설정된 방법에 따라서 생성될 수 있다. 이때 기설정된 방법으로 합의 과정에서 수신된 응답 데이터를 이용하여 패치 트랜잭션을 생성하는 방법을 이용할 수 있다.
그리고, 블록체인 시스템은 n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션과 제n 패치 트랜잭션을 연접하여 기설정된 함수에 입력함으로써 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성한다(314).
그리고, 블록체인 시스템은 n번째 블록에 삽입될 헤더인 제n 헤더를 생성한다(316).
그리고, 블록체인 시스템은 제n 헤더, 제n 트랜잭션, 제n 패치 트랜잭션 및 제n-1 결과값을 포함하는 n번째 블록인 제n 블록을 생성한다(318).
그리고, 블록체인 시스템은 제n 블록에 대한 블록체인의 합의 과정을 진행하여 합의에 성공했는지 확인한다(320).
320단계의 합의 결과 합의에 실패하면, 블록체인 시스템은 합의 과정의 종료 조건에 만족하는지 확인한다(322). 이때, 합의 과정의 종료 조건은 합의에 실패할 때, 합의에 성공할 때까지 n번째 블록을 생성하기 위해서 기설정된 횟수 동안 합의를 반복함을 의미할 수 있다. 또는 합의 과정의 종료 조건은 합의에 실패할 때, 합의에 성공할 때까지 n번째 블록을 생성하기 위해서 기설정된 시간 동안 계속해서 n번째 블록을 생성하여 합의하는 과정을 반복함을 의미할 수 있다.
322단계의 확인결과 합의 과정의 종료 조건을 만족하지 않으면, 블록체인 시스템은 312단계로 돌아가서 312단계에서 318단계를 통해서 수정된 n번째 블록인 수정 제n 블록을 생성하고, 320단계에서 합의 과정의 진행결과를 확인하는 과정을 반복할 수 있다.
322단계의 확인결과 합의 과정의 종료 조건을 만족하면, 블록체인 시스템은 자체적으로 해결할 수 없는 문제가 발생했다고 판단하고, 본 알고리즘을 종료한다. 이때, 블록체인 시스템은 관리자에게 이러한 문제를 보고할 수도 있다.
320단계의 합의 결과 합의에 성공하면, 블록체인 시스템은 제n 블록을 블록체인에 추가한다(324).
도 4는 본 발명의 일 실시 예에 따른 블록체인 시스템에서 패치 트랜잭션을 이용해서 블록체인을 생성하는 일 예를 도시한 도면이다.
도 4를 참조하면, 첫번째 블록인 제1 블록(410)은 기존의 온 더 넥스트 방식과 동일하게 제1 블록에 삽입되는 트랜잭션인 제1 트랜잭션(T1-N)과 제1 블록에 헤더인 제1헤더(B1)를 포함하여 구성될 수 있다. 이때, 제1 블록(410)에는 결과값이 생략된다.
하지만, 제1 블록(410)을 제외한 나머지 블록들(420, 430)의 경우는 각각의 패치 트랜잭션을 포함하여 구성되고, 각각의 결과값은 이전 블록의 트랜잭션과 각각의 패치 트랜잭션을 연접하여 기설정된 함수에 입력함으로써 생성된다.
예를 들어, 제2 블록(420)은 제2 블록이 생성될 때마다 기설정된 값 또는 기설정된 방법으로 생성되는 패치 트랜잭션인 제2 패치 트랜잭션(T1-P), 제2 블록(420)에 추가되는 일반적인 트랜잭션인 제2 트랜잭션(T2-N), 제2 패치 트랜잭션(T1-P)과 제1 블록(410)의 트랜잭션인 제1 트랜잭션(T1-N)이 연접하여 기설정된 함수에 입력됨으로써 생성되는 제2 블록에 추가되는 결과값인 제1 결과값(R1)과 제2 블록(420)의 헤더인 제2 헤더(B2)를 포함하여 구성될 수 있다.
이때, 제1 결과값(R1)은 제2 블록(420)에 포함되나 제1 트랜잭션(T1-N)의 합의를 위한 결과값이다.
도 4의 블록체인 생성 방법은 제1 블록(410)을 제외하고 패치 트랜잭션을 이용함을 확인할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 블록체인 시스템에서 합의 실패 시에 패치 트랜잭션을 이용해서 블록체인을 생성하는 과정을 도시한 흐름도이다.
도 5를 참조하면, 블록체인 시스템은 n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신한다(510). 이때, n은 2보다 큰 양의 정수이다.
한편, 첫번째 블록인 제1 블록의 경우, 기존의 온 더 넥스트 방식과 같이 제1 블록에 삽입되는 트랜잭션인 제1 트랜잭션과 제1 블록에 헤더인 제1헤더를 포함하며, 제1 블록에는 결과값이 생략된다.
그리고, 블록체인 시스템은 n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션을 기설정된 함수에 입력함으로써 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성한다(512).
그리고, 블록체인 시스템은 n번째 블록에 삽입될 헤더인 제n 헤더를 생성한다(514).
그리고, 블록체인 시스템은 제n 헤더, 제n 트랜잭션 및 제n-1 결과값을 포함하는 n번째 블록인 제n 블록을 생성한다(516).
그리고, 블록체인 시스템은 제n 블록에 대한 블록체인의 합의 과정을 진행하여 합의에 성공했는지 확인한다(518).
518단계의 합의 결과 합의에 실패하면, 블록체인 시스템은 합의 과정의 종료 조건에 만족하는지 확인한다(520). 이때, 합의 과정의 종료 조건은 합의에 실패할 때, 합의에 성공할 때까지 n번째 블록을 생성하기 위해서 기설정된 횟수 동안 합의를 반복함을 의미할 수 있다. 또는 합의 과정의 종료 조건은 합의에 실패할 때, 합의에 성공할 때까지 n번째 블록을 생성하기 위해서 기설정된 시간 동안 계속해서 n번째 블록을 생성하여 합의하는 과정을 반복함을 의미할 수 있다.
520단계의 확인결과 합의 과정의 종료 조건을 만족하면, 블록체인 시스템은 자체적으로 해결할 수 없는 문제가 발생했다고 판단하고, 본 알고리즘을 종료한다. 이때, 블록체인 시스템은 관리자에게 이러한 문제를 보고할 수도 있다.
520단계의 확인결과 합의 과정의 종료 조건을 만족하지 않으면, 블록체인 시스템은 수정된 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성한다(522). 이때, 제n 패치 트랜잭션은 기설정된 값 또는 기설정된 방법에 따라서 생성될 수 있다. 이때 기설정된 방법으로 합의 과정에서 수신된 응답 데이터를 이용하여 패치 트랜잭션을 생성하는 방법을 이용할 수 있다.
그리고, 블록체인 시스템은 제n-1 트랜잭션과 제n 패치 트랜잭션을 연접하여 기설정된 함수에 입력함으로써 수정된 n번째 블록에 삽입될 결과값인 수정 제n-1 결과값을 생성한다(524).
그리고, 블록체인 시스템은 수정된 n번째 블록에 삽입될 헤더인 수정 제n 헤더를 생성한다(526).
그리고, 블록체인 시스템은 수정 제n 헤더, 제n 트랜잭션, 제n 패치 트랜잭션 및 수정 제n-1 결과값을 포함하는 수정된 n번째 블록인 수정 제n 블록을 생성하고(528), 518단계로 돌아간다.
한편, 518단계의 합의 결과 합의에 성공하면, 블록체인 시스템은 합의에 성공한 제n 블록 또는 수정 제n 블록을 블록체인에 추가한다(530).
도 6은 본 발명의 일 실시 예에 블록체인 시스템에서 합의 실패 시에 패치 트랜잭션을 이용해서 블록체인을 생성하는 일 예를 도시한 도면이다.
도 6을 참조하면, 첫번째 블록인 제1 블록(610)은 기존의 온 더 넥스트 방식과 동일하게 제1 블록에 삽입되는 트랜잭션인 제1 트랜잭션(T1-N)과 제1 블록에 헤더인 제1헤더(B1)를 포함하여 구성될 수 있다. 이때, 제1 블록(610)에는 결과값이 생략된다.
두번째 블록인 제2 블록(610)은 합의에 실패하지 않은 경우, 기존의 온 더 넥스트 방식과 동일하게 제2 패치 트랜잭션(T1-P)를 생략하고, 제2 블록(420)에 추가되는 일반적인 트랜잭션인 제2 트랜잭션(T2-N), 제2 패치 트랜잭션(T1-P)과 제1 블록(410)의 트랜잭션인 제1 트랜잭션(T1-N)가 기설정된 함수에 입력됨으로써 생성되는 제2 블록에 추가되는 결과값인 제1 결과값(R1)과 제2 블록(620)의 헤더인 제2 헤더(B2)를 포함하여 구성될 수 있다.
제2 블록(610)이 합의에 실패하는 경우 생성되는 수정된 2번째 블록인 수정 제2 블록(622)는 합의에 실패한 블록 생성될 때마다 기설정된 값 또는 기설정된 방법에 따라서 생성되는 패치 트랜잭션인 제2 패치 트랜잭션(T1-P), 수정 제2 블록(622)에 추가되는 일반적인 트랜잭션인 제2 트랜잭션(T2-N), 제2 패치 트랜잭션(T1-P)과 제1 블록(610)의 트랜잭션인 제1 트랜잭션(T1-N)이 연접하여 기설정된 함수에 입력됨으로써 생성되는 제2 블록에 추가되는 결과값인 수정 제1 결과값(R1)과 수정 제2 블록(622)의 헤더인 수정 제2 헤더(B2-1)를 포함하여 구성될 수 있다.
도 6의 블록체인 생성 방법은 제1 블록(410)을 제외한 다른 블록의 합의 과정에서 합의에 실패하면 패치 트랜잭션을 이용함을 확인할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (11)

  1. 블록체인 시스템에서 n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신하는 단계-상기 n은 2보다 큰 양의 정수-;
    상기 블록체인 시스템에서 n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션을 기설정된 함수에 입력함으로써 상기 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성하는 단계;
    상기 블록체인 시스템에서 상기 n번째 블록에 삽입될 헤더인 제n 헤더를 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n 헤더, 상기 제n 트랜잭션 및 상기 제n-1 결과값을 포함하는 상기 n번째 블록인 제n 블록을 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계;
    상기 블록체인 시스템에서 상기 제n 블록에 대한 합의 과정의 진행결과 합의에 실패하면, 수정된 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n-1 트랜잭션과 상기 제n 패치 트랜잭션을 연접하여 상기 기설정된 함수에 입력함으로써 상기 수정된 n번째 블록에 삽입될 결과값인 수정 제n-1 결과값을 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정된 n번째 블록에 삽입될 헤더인 수정 제n 헤더를 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 헤더, 상기 제n 트랜잭션, 상기 제n 패치 트랜잭션 및 상기 수정 제n-1 결과값을 포함하는 상기 수정된 n번째 블록인 수정 제n 블록을 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 상기 블록체인의 합의 과정을 진행하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 수정 제n 블록을 상기 블록체인에 추가하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 상기 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 횟수 반복 수행하는 단계; 및
    상기 블록체인 시스템에서 상기 기설정된 횟수 동안 합의를 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계
    를 포함하는 패치 트랜잭션을 이용한 블록체인 생성 방법.
  2. 제1항에 있어서,
    상기 수정된 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계는,
    기설정된 값 또는 기설정된 방법에 따라서 상기 제n 패치 트랜잭션을 생성하는
    패치 트랜잭션을 이용한 블록체인 생성 방법.
  3. 삭제
  4. 블록체인 시스템에서 n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신하는 단계-상기 n은 2보다 큰 양의 정수-;
    상기 블록체인 시스템에서 n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션을 기설정된 함수에 입력함으로써 상기 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성하는 단계;
    상기 블록체인 시스템에서 상기 n번째 블록에 삽입될 헤더인 제n 헤더를 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n 헤더, 상기 제n 트랜잭션 및 상기 제n-1 결과값을 포함하는 상기 n번째 블록인 제n 블록을 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계;
    상기 블록체인 시스템에서 상기 제n 블록에 대한 합의 과정의 진행결과 합의에 실패하면, 수정된 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n-1 트랜잭션과 상기 제n 패치 트랜잭션을 연접하여 상기 기설정된 함수에 입력함으로써 상기 수정된 n번째 블록에 삽입될 결과값인 수정 제n-1 결과값을 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정된 n번째 블록에 삽입될 헤더인 수정 제n 헤더를 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 헤더, 상기 제n 트랜잭션, 상기 제n 패치 트랜잭션 및 상기 수정 제n-1 결과값을 포함하는 상기 수정된 n번째 블록인 수정 제n 블록을 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 상기 블록체인의 합의 과정을 진행하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 수정 제n 블록을 상기 블록체인에 추가하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 상기 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 시간 동안 반복 수행하는 단계; 및
    상기 블록체인 시스템에서 상기 기설정된 시간 동안 합의를 반복하여 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계
    를 포함하는 패치 트랜잭션을 이용한 블록체인 생성 방법.
  5. 제1항에 있어서,
    상기 블록체인 시스템에서 상기 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 제n 블록을 상기 블록체인에 추가하는 단계
    를 더 포함하는 패치 트랜잭션을 이용한 블록체인 생성 방법.
  6. 블록체인 시스템에서 n번째 블록에 삽입될 트랜잭션인 제n 트랜잭션을 수신하는 단계-상기 n은 2보다 큰 양의 정수-;
    상기 블록체인 시스템에서 상기 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계;
    상기 블록체인 시스템에서 n-1번째 블록에 포함된 n-1번째 트랜잭션인 제n-1 트랜잭션과 상기 제n 패치 트랜잭션을 연접하여 기설정된 함수에 입력함으로써 상기 n번째 블록에 삽입될 결과값인 제n-1 결과값을 생성하는 단계;
    상기 블록체인 시스템에서 상기 n번째 블록에 삽입될 헤더인 제n 헤더를 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n 헤더, 상기 제n 트랜잭션, 상기 제n 패치 트랜잭션 및 상기 제n-1 결과값을 포함하는 상기 n번째 블록인 제n 블록을 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계; 및
    상기 블록체인 시스템에서 합의 결과 합의에 성공하면, 상기 제n 블록을 블록체인에 추가하는 단계
    를 포함하고,
    상기 블록체인 시스템에서 합의 과정의 진행결과 합의에 실패하면, 수정된 n번째 블록에 삽입될 새로운 패치 트랜잭션인 수정 제n 패치 트랜잭션을 생성하는 단계;
    상기 블록체인 시스템에서 상기 제n-1 트랜잭션과 상기 수정 제n 패치 트랜잭션을 연접하여 기설정된 함수에 입력함으로써 상기 수정된 n번째 블록에 삽입될 결과값인 수정 제n-1 결과값을 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정된 n번째 블록에 삽입될 헤더인 수정 제n 헤더를 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 헤더, 상기 제n 트랜잭션, 상기 수정 제n 패치 트랜잭션 및 상기 수정 제n-1 결과값을 포함하는 상기 수정된 n번째 블록인 수정 제n 블록을 생성하는 단계;
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계; 및
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 합의 결과 합의에 성공하면, 상기 수정 제n 블록을 상기 블록체인에 추가하는 단계
    를 더 포함하는
    패치 트랜잭션을 이용한 블록체인 생성 방법.
  7. 제6항에 있어서,
    상기 n번째 블록에 삽입될 패치 트랜잭션인 제n 패치 트랜잭션을 생성하는 단계는,
    기설정된 값 또는 기설정된 방법에 따라서 상기 제n 패치 트랜잭션을 생성하는
    패치 트랜잭션을 이용한 블록체인 생성 방법.
  8. 삭제
  9. 제6항에 있어서,
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 수정 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 횟수 반복 수행하는 단계; 및
    상기 블록체인 시스템에서 상기 기설정된 횟수 동안 합의를 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계
    를 더 포함하는 패치 트랜잭션을 이용한 블록체인 생성 방법.
  10. 제6항에 있어서,
    상기 블록체인 시스템에서 상기 수정 제n 블록에 대한 합의 결과 합의에 실패하면, 합의에 성공할 때까지 상기 수정 제n 패치 트랜잭션을 생성하는 단계에서 상기 수정 제n 블록에 대한 블록체인의 합의 과정을 진행하는 단계 까지를 기설정된 시간 동안 반복 수행하는 단계; 및
    상기 블록체인 시스템에서 상기 기설정된 시간 동안 합의를 반복하여 진행한 결과 모두 실패하면 합의에 최종 실패하였다고 판단하는 단계
    를 더 포함하는 패치 트랜잭션을 이용한 블록체인 생성 방법.
  11. 제1항, 제2항, 제4항 내지 제7항 및 제9항 내지 제10항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020190147444A 2019-11-18 2019-11-18 패치 트랜잭션을 이용한 블록체인 생성 방법 KR102151939B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190147444A KR102151939B1 (ko) 2019-11-18 2019-11-18 패치 트랜잭션을 이용한 블록체인 생성 방법
PCT/KR2020/012109 WO2021101040A1 (ko) 2019-11-18 2020-09-08 패치 트랜잭션을 이용한 블록체인 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190147444A KR102151939B1 (ko) 2019-11-18 2019-11-18 패치 트랜잭션을 이용한 블록체인 생성 방법

Publications (1)

Publication Number Publication Date
KR102151939B1 true KR102151939B1 (ko) 2020-09-04

Family

ID=72470732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190147444A KR102151939B1 (ko) 2019-11-18 2019-11-18 패치 트랜잭션을 이용한 블록체인 생성 방법

Country Status (2)

Country Link
KR (1) KR102151939B1 (ko)
WO (1) WO2021101040A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021101040A1 (ko) * 2019-11-18 2021-05-27 주식회사 아이콘루프 패치 트랜잭션을 이용한 블록체인 생성 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170040079A (ko) * 2016-05-03 2017-04-12 안규태 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
KR101975822B1 (ko) * 2018-10-26 2019-05-08 (주)리그시스템 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법
KR20190077000A (ko) * 2017-03-10 2019-07-02 알리바바 그룹 홀딩 리미티드 합의 방법 및 장치
KR20190077765A (ko) * 2017-12-26 2019-07-04 경희대학교 산학협력단 데이터를 블록체인을 이용하여 저장하는 방법 및 클라우드 시스템
KR20190093012A (ko) * 2018-01-31 2019-08-08 지송학 블록 체인 시스템에서의 블록 생성 및 검증 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102151939B1 (ko) * 2019-11-18 2020-09-04 주식회사 아이콘루프 패치 트랜잭션을 이용한 블록체인 생성 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170040079A (ko) * 2016-05-03 2017-04-12 안규태 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
KR20190077000A (ko) * 2017-03-10 2019-07-02 알리바바 그룹 홀딩 리미티드 합의 방법 및 장치
KR20190077765A (ko) * 2017-12-26 2019-07-04 경희대학교 산학협력단 데이터를 블록체인을 이용하여 저장하는 방법 및 클라우드 시스템
KR20190093012A (ko) * 2018-01-31 2019-08-08 지송학 블록 체인 시스템에서의 블록 생성 및 검증 방법
KR101975822B1 (ko) * 2018-10-26 2019-05-08 (주)리그시스템 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021101040A1 (ko) * 2019-11-18 2021-05-27 주식회사 아이콘루프 패치 트랜잭션을 이용한 블록체인 생성 방법

Also Published As

Publication number Publication date
WO2021101040A1 (ko) 2021-05-27

Similar Documents

Publication Publication Date Title
KR102424841B1 (ko) 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법
US10158479B2 (en) Systems and methods for generating, uploading and executing code blocks within distributed network nodes
US11074139B2 (en) Dynamic block chain system using metadata for backing up data based on digest rules
JP2023100981A (ja) ブロックチェーンスクリプトにおける制御フロー
CN109493061B (zh) 一种区块链的数据的验证方法、装置、电子设备及存储介质
US11620195B2 (en) Linear view-change BFT
WO2021066954A1 (en) Subscription to dependencies in smart contracts
CN109144625B (zh) 防重复提交方法、装置和系统
CN112862490A (zh) 一种异步网络下的输出共识方法
KR102151939B1 (ko) 패치 트랜잭션을 이용한 블록체인 생성 방법
CN110490742B (zh) 一种区块链中的交易执行方法及装置
WO2020247115A1 (en) Subscription to edits of blockchain transaction
CN113362068B (zh) 一种轻节点验证区块链状态转移的方法
KR102309503B1 (ko) 블록체인을 이용한 트랜잭션 방법, 노드 장치 및 컴퓨터 판독 가능한 기록 매체
CN107451002B (zh) 针对修改区块体数据的区块链的主动验证方法及系统
CN110555682B (zh) 基于联盟链的多通道实现方法
CN112948847B (zh) 基于区块链的数据共享系统及数据正确性验证方法
KR102416336B1 (ko) 블록체인을 관리하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
CN111104049A (zh) 管理冗余磁盘阵列的方法、设备和计算机可读存储介质
JP7421443B2 (ja) データ移行方法、データ移行システム、およびノード
CN112565201A (zh) 一种区块链中的私钥处理方法、装置及计算机存储介质
US20110252009A1 (en) Combined save and validation logic
KR102364036B1 (ko) 로그 데이터 처리 장치 및 방법
KR102191803B1 (ko) 블록체인에 의한 행위정보 증명 방법
US11532045B2 (en) Securities trading apparatus and securities trading method

Legal Events

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