WO2020158973A1 - 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법 - Google Patents

가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법 Download PDF

Info

Publication number
WO2020158973A1
WO2020158973A1 PCT/KR2019/001282 KR2019001282W WO2020158973A1 WO 2020158973 A1 WO2020158973 A1 WO 2020158973A1 KR 2019001282 W KR2019001282 W KR 2019001282W WO 2020158973 A1 WO2020158973 A1 WO 2020158973A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
node
timestamp
recorded
verifier
Prior art date
Application number
PCT/KR2019/001282
Other languages
English (en)
French (fr)
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 PCT/KR2019/001282 priority Critical patent/WO2020158973A1/ko
Publication of WO2020158973A1 publication Critical patent/WO2020158973A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법이 개시된다. 트랜잭션(transaction)을 생성하는 라이트 노드(light node); 라운드(round)마다 블록(block)을 생성하여 타임스탬프(timestamp)를 상기 블록에 기록하며, 상기 기록된 타임스탬프보다 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 더 빠른 타임스탬프가 기록된 블록의 데이터를 가져와 동기화(synchronization)를 수행하는 검증자 노드(validator node)를 구성한다. 상술한 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법에 의하면, 각 검증자 노드의 동일한 블록에 대한 타임스탬프만 상호 대비하여 가장 빠른 타임스탬프의 블록을 선택하고, 그 블록의 동기화 과정에서 그 허위 여부를 검증하도록 구성됨으로써, 매우 신속하게 블록을 생성하여 보안을 유지할 수 있는 효과가 있다. 즉, 매우 빠르게 블록 체인을 일단 생성하고 타임스탬프를 이용하여 검증과 동기화를 거쳐 최종적으로 블록체인에 연결하기 때문에 기존과 달리 매우 신속하고 안전한 블록체인의 생성을 할 수 있다.

Description

가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법
본 발명은 블록체인 합의(blockchain consensus) 시스템 및 방법에 관한 것으로서, 구체적으로는 가설 수락 프로토콜-2(Hypothesis Acceptance Protocol-2) 방식의 블록체인 합의 시스템 및 방법에 관한 것이다.
블록체인(blockchain)은 탈중앙화와 보완의 효율성을 높이는 분산 장부 시스템이다.
블록체인은 각 노드(node) 간의 블록 생성에 대한 합의(consensus)의 과정이 요구된다. 합의란 거래에 참여하는 주체 즉, 분산 원장을 가진 노드들이 모두 같은 장부를 가지는 것을 의미한다.
합의 알고리즘으로서는 작업 증명 방식(Proof of Work, POW) 또는 지분 증명 방식(Proof of Stake, POS)가 가장 널리 이용되는 합의 알고리즘이다.
블록체인을 이용하는 대표적인 시스템은 비트코인(bitcoin)과 같은 암호화폐이다.
그런데, 기존의 합의 알고리즘은 악의적인 공격이나 이중 지불 문제 등을 해결하고 보안성을 높이기 위해 엄청나게 많은 연산량을 요구하게 된다. 이는 각 노드들이 서로 분산 원장에 대한 무결성을 유지해야 하기 때문이다.
기존에 알려진 문제로서 대표적인 비잔틴 장군의 문제는 여러 노드들이 서로 통신을 하며 명령을 내리는 노드가 여럿일 때 누가 배신자인지 어떤 명령을 받았는지 서로 검증되지 않는 문제이다.
이러한 문제를 해결하기 위해 비트코인은 분산 원장의 무결성 보장의 관점에서 2/3 이상의 인정 합의와 51% 이상 계산 능력을 요구한다.
그런데, 작업 증명 방식의 알고리즘이 적용된 비트코인은 하나의 거래 즉, 트랜잭션(transaction)을 10분 마다 생성하며, 매우 높은 난이도로 블록을 검증하며 상당한 연산량과 메모리가 요구된다. 그리고 지분 증명 방식의 알고리즘이 적용된 이더리움(ethereum)은 지분에 따라 가장 많은 검증자(validator)의 서명이 모인 블록(block)을 인정하도록 구성된다.
또한, 기존의 블록체인 합의 알고리즘이 적용된 비트코인이나 이더리움이 이중 지불 공격을 당하면, 연산 능력이 가장 많이 소모된 제일 긴 블록의 체인 하나만 승인하여 이중 지불 공격의 문제를 해결한다.
이와 같이, 기존의 블록체인 합의 알고리즘의 가장 취약점은 블록의 생성시 그 인정 합의를 하는 과정에서 과도한 연산량과 메모리가 요구되며, 그 블록의 생성 시간 또한 매우 오래걸린다는 것이다.
이에, 기존의 작업 증명 방식, 지분 증명 방식과 같은 블록체인 합의 알고리즘이 아닌 빠르고 연산량과 메모리가 많이 요구되지 않는 새로운 방식의 블록체인 합의 알고리즘이 필요하다.
본 발명의 목적은 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템을 제공하는 있다.
본 발명의 다른 목적은 가설 수락 프로토콜-2 방식의 블록체인 합의 방법을 제공하는 데 있다.
상술한 본 발명의 목적에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템은, 트랜잭션(transaction)을 생성하는 라이트 노드(light node); 라운드(round)마다 블록(block)을 생성하여 타임스탬프(timestamp)를 상기 블록에 기록하며, 다른 노드의 블록에 기록된 타임스탬프와 대비하여 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화(synchronization)를 수행하는 검증자 노드(validator node)를 포함하도록 구성될 수 있다.
여기서, 상기 검증자 노드가, 상기 동기화가 수행된 블록을 기존의 블록체인에 연결하도록 구성될 수 있다.
그리고 상기 검증자 노드가, 상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하면 상기 검증자 노드의 블록을 상기 다른 노드의 블록의 데이터로 대체하여 동기화를 수행하도록 구성될 수 있다.
그리고 상기 검증자 노드가, 상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하지 않으면 상기 더 빠른 스탬프가 기록된 블록을 생성한 다른 노드를 동기화 과정에서 분리시켜 해당 노드를 무시(ignore)하도록 구성될 수 있다.
상술한 본 발명의 다른 목적에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 방법은, 라이트 노드(light node)가 트랜잭션(transaction)을 생성하는 단계; 검증자 노드(validator node)가 라운드(round)마다 블록을 생성하여 타임스탬프(timestamp)를 상기 블록에 기록하는 단계; 검증자 노드(validator node)가 상기 검증자 노드의 블록에 기록된 타임스탬프와 다른 노드의 블록에 기록된 타임스탬프와 대비하는 단계; 상기 검증자 노드는 상기 대비 결과 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화(synchronization)를 수행하는 단계를 포함하도록 구성될 수 있다.
여기서, 상기 검증자 노드가 상기 동기화 이후의 블록을 기존의 블록체인에 연결하는 단계를 더 포함하도록 구성될 수 있다.
그리고 상기 검증자 노드가 상기 대비 결과 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화를 수행하는 단계는, 상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하면 상기 검증자 노드의 블록을 상기 다른 노드의 블록의 데이터로 대체하여 동기화를 수행하도록 구성될 수 있다.
그리고 상기 검증자 노드가 상기 대비 결과 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화를 수행하는 단계는, 상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하지 않으면 상기 더 빠른 스탬프가 기록된 블록을 생성한 다른 노드를 동기화 과정에서 분리시켜 해당 노드를 무시(ignore)하도록 구성될 수 있다.
상술한 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법에 의하면, 각 검증자 노드의 동일한 블록에 대한 타임스탬프만 상호 대비하여 가장 빠른 타임스탬프의 블록을 선택하고, 그 블록의 동기화 과정에서 그 허위 여부를 검증하도록 구성됨으로써, 매우 신속하게 블록을 생성하여 보안을 유지할 수 있는 효과가 있다.
즉, 매우 빠르게 블록 체인을 일단 생성하고 타임스탬프를 이용하여 검증과 동기화를 거쳐 최종적으로 블록체인에 연결하기 때문에 기존과 달리 매우 신속하고 안전한 블록체인의 생성을 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 방법의 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식에 따른 블록 동기화 방법의 세부 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 발명을 실시하기 위한 구체적인 내용에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템의 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템(100)은 중재자 노드(Arbiter node)(110), 라이트 노드(light node)(120), 검증자 노드(validator node)(130), 감시자 노드(supervisor node)(140)를 포함하도록 구성될 수 있다.
본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템(100)은 각 검증자 노드(130)가 동일한 라운드(round)에서 생성하는 블록(block)에 대해 1차적으로 타임스탬프(timestamp)만 서로 대비하여 가장 빠른 타임스탬프를 갖는 블록을 취한다. 즉, 노드 자체의 유효성만 검사한다.
2차적으로는 동기화의 과정에서 그 블록 데이터가 상호 동일한지 여부를 더 대비하고, 상호 동일하지 않으면 타임스탬프가 느린 블록 데이터나 그 노드 자체를 무시하여 분리시키도록 구성된다.
즉, 1차적으로 타임스탬프만 서로 대비하도록 하는 것은 각각의 노드에서 생성된 모든 블록을 일단 참인 것으로 가정하여 비잔틴 장군의 문제를 무조건 회피하고, 차후 동기화의 과정에서 특정 블록이 거짓으로 판명되면 그 블록을 생성한 노드 자체를 아예 무시(ignore)하고 블록체인 합의 과정에서 배제시켜 버린다.
기존의 블록체인 합의 알고리즘에 비하여 훨씬 적은 연산량과 메모리량만으로 합의가 가능하며, 그 합의의 시간 역시 월등하게 줄어든다.
이하, 세부적인 구성에 대하여 설명한다.
중재자 노드(110)는 분산 원장 전체를 보유하는 노드를 의미한다. 네트워크에 중재자 노드(110)가 하나 이상 존재하는 이상 블록체인 장부가 존재한다. 중재자 노드(110)는 검증자 노드(130)의 요청에 따라 분산 원장을 제공하도록 구성될 수 있다. 중재자 노드(110)는 기존의 블록체인 합의 알고리즘들에는 없었던 개념이다. 합의의 과정에서 많은 메모리 요구량이 발생할 때 중재자 노드(110)로 인하여 그 메모리 요구량이 현저하게 줄어들 수 있다.
라이트 노드(120)는 일반적인 사용자들의 노드로서, 분산 원장을 보유하지 않는 노드이다.
라이트 노드(120)는 거래를 수행하기 위한 지갑 프로그램이 설치된 개인 컴퓨터 또는 개인 모바일 단말이 될 수 있다.
라이트 노드(120)는 트랜잭션(transaction)을 생성하도록 구성될 수 있다.
여기서, 트랜잭션이란 각 라이트 노드(120)나 검증자 노드(130)들이 만드는 상태의 변환을 의미하며, 가설 수락 프로토콜-2에서는 공용 키와 거래 정보, 서명, 타임스탬프 등을 담고 있는 데이터 집합을 의미한다. 일반적으로 거래를 의미한다고 볼 수 있다.
라이트 노드(120)는 트랜잭션을 일으키기 위해서 검증자 노드(130)로 분산 원장 관련 자료를 요청하거나 거래 관련 자료를 검증자 노드(130)로 송신할 수 있다.
이와 같이, 라이트 노드(120)가 거래를 일으키고자 하는 트랜잭션 정보를 각 노드들로 전달하는 과정을 브로드캐스트(broadcast)라고 한다.
검증자 노드(130)는 감시 프로그램을 설치한 노드이다.
검증자 노드(130)는 라운드(round)마다 블록을 생성하도록 구성될 수 있다.
여기서, 블록이란 트랜잭션의 집합에 의해 형성되며, 가설 수락 프로토콜-2에서는 여러 개의 트랜잭션을 모아 암호화된 서명을 남겨 보증하는 기능을 갖는다. 하나의 블록에 포함되는 트랜잭션의 수는 한정되지 않도록 구성될 수 있다.
그리고 라운드란 블록이 저장되는 하나의 시간 단위이다. 라운드는 임의로 달라질 수 있는데, 하나의 라운드에 하나의 블록이 생성되며 하나의 라운드가 종료되면 다음 라운드가 시작되어 새로운 블록이 생성될 수 있다. 라운드는 기존의 블록체인 합의 알고리즘에는 개시되지 않은 개념이다.
검증자 노드(130)는 블록의 생성시 타임스탬프를 그 블록에 기록하도록 구성될 수 있다.
여기서, 타임스탬프는 블록을 생성한 시간을 의미하며, 블록이 완성되는 시점에 블록에 기록될 수 있다. 하나의 라운드가 시작되는 시점이 A 시점이면, A 시점 이후에 트랜잭션들을 받아 확인하고 일정 시간 R이 지나 라운드가 종료되면 그 검증자 노드(130)에 도달한 트랜잭션들을 모아 블록을 생성한다. 여기서, 블록이 생성된 시점 B를 그 블록에 타임스탬프로 기록한다. 이때, 시점 B는 A+R보다는 커야 한다.
검증자 노드(130)는 다른 검증자 노드(130)들이 이번 라운드의 블록을 생성했는지 확인하도록 구성될 수 있다. 여기서, 다른 검증자 노드(130)를 다른 노드(10)로 칭한다. 즉, 검증자 노드(130)는 동일한 라운드에 다른 노드(10)에서 생성된 블록을 스캔(scan)하여 확인하고 그 블록의 타임스탬프도 확인하도록 구성될 수 있다.
검증자 노드(130)는 다른 노드(10)들의 블록에 기록된 타임스탬프가 자신이 생성한 블록의 타임스탬프 시점 B보다 먼저 생성되었는지 확인할 수 있다. 검증자 노드(130)는 자신이 만든 블록의 타임스탬프보다 더 빠른 타임스탬프를 갖는 다른 노드(10)의 블록의 데이터를 모두 가져와 자신의 블록 데이터와 동일한지 대비하여 판단하도록 구성될 수 있다. 여기서, 블록 데이터의 해쉬(Hash) 값을 상호 대비하여 일치하는지 판단하도록 구성될 수 있다.
그리고 낙서, 검증자 노드(130)는 블록의 동기화 과정을 수행할 수 있다. 구체적으로는 다음과 같다.
만약 블록 데이터가 상호 일치하는 경우, 더 느린 타임스탬프를 갖는 검증자 노드(130)의 블록을 더 빠른 타임스탬프를 갖는 다른 노드(10)의 블록으로 대체하도록 구성될 수 있다.
그리고 블록 데이터가 상호 일치하지 않는 경우, 위와 같은 대체를 하지 않고, 그 다른 노드(130)의 블록을 무시하도록 구성될 수 있다. 아울러, 그 블록을 생성한 다른 노드(130) 자체를 무시하도록 구성될 수 있다.
이와 같이 블록 데이터가 상호 일치하지 않는 경우에는 서로 다른 정보를 갖는 블록체인이 공존하는 현상인 포크(Fork)가 발생하는데, 포크가 발생하면 여러가지 블록체인이 네트워크 상에 배타적으로 공존하게 된다. 가설 수락 프로토콜-2에서는 여러 블록체인 중 그 무시한 다른 노드(10)의 블록체인을 인정하지 않는다. 그리고 그 다른 노드(10)의 지갑 프로그램에 페널티(penalty)를 부여할 수도 있다. 예를 들어, 지분 증명 방식에서는 무시된 다른 노드(10)의 지갑에 예치된 예치금을 모든 노드들이 지분대로 가져가는 방식으로 책임을 물일 수 있다.
검증자 노드(130)는 동기화가 수행된 블록을 기존의 블록체인에 연결하도록 구성될 수 있다. 물론, 검증자 노드(130)에서는 자신의 타임스탬프 시점 B보다 빠른 타임스탬프를 갖는 다른 노드(10)의 블록이 없다면 자신의 블록을 기존의 블록체인에 연결하도록 구성될 수 있다. 이러한 과정을 커밋(commit)이라 한다.
요컨대, 가설 수락 프로토콜-2는, 라운드 확인, 트랜잭션 브로드캐스트, 블록 생성, 스캔 및 동기화, 커밋의 과정으로 진행될 수 있다.
감시자 노드(140)는 감시 프로그램을 설치한 노드이다.
검증자 노드(130)는 중재자 노드(110)에 보증금을 예치(stake)해 놓는 구성인 반면, 감시자 노드(140)는 중재자 노드(110)에 보증금을 예치하지 않는 노드이다.
감시자 노드(130)는 포크가 발생하여 둘 이상의 서로 다른 블록체인이 공존하는 경우 올바른 해쉬를 발생시킨 블록을 선택하도록 구성될 수 있다. 검증자 노드(130) 역시 이러한 감시의 권한을 갖는다.
실시예에 따라서 검증자 노드(130)는 감시의 권한에 더하여 트랜잭션들이 확정되기 전까지는 자신의 예치금의 한도에서 트랜잭션을 처리하도록 구성될 수 있다. 이러한 경우 검증자 노드(130)는 트랜잭션을 처리함에 따라 트랜잭션 처리 수수료를 수취할 수 있다. 물론 앞서 설명한 바와 같이 위조 트랜잭션으로 블록을 생성하면 페널티가 부과되어 손해 금액만큼 예치금이 차감되도록 구성될 수 있다.
한편, 기존의 비트코인이나 이더리움은 이중 지불 공격 즉, 거래 주체 노드가 다른 노드들에게 서로 다른 정보를 주는 경우에 연산 능력이 가장 많이 소요된 제일 긴 블록을 승인하여 문제를 해결한다. 그러나, 이러한 경우 과반 이상의 계산 능력을 갖는 악의적인 공격자가 있을 수 있다는 가능성이 있다. 이를 51% 공격이라고 한다.
그런데, 가설 수락 프로토콜-2에서는 검증자 노드(130)가 위조된 블록이나 블록체인을 포크시킨채 그 거래 내역도 모두 저장하므로 그 잘못된 거래가 어디서 일어났는지 쉽게 추적하여 검증이 가능하다. 그러므로, 51% 공격에 대해서도 대응이 가능하다는 장점이 있다.
검증자 노드(130)는 자신의 데이터를 모두 자동으로 중재자 노드(110)로 전달하여 저장하기 때문에 저장 용량 부족의 문제가 어느 정도 해결될 수 있다. 비트코인에서는 블록을 생성하는 풀 노드(Full node)의 분산 원장 용량이 엄청나게 크지만, 본 발명에서는 중재자 노드(110)의 저장 용량만 충분하다면 DDos 공격에도 충분히 버틸 수 있도록 구성되어 있다.
다른 한편, 블록체인의 효율을 판단하는 기준의 하나인 TPS(Transaction per second)는 비트코인의 경우 평균 7 TPS이고 이더리움은 20 TPS인데, 가설 수락 프로토콜-2에서는 2개의 검증자 노드(130)만 사용했을 때 2일에 2억개의 트랜잭션을 처리할 수 있다. 평균 1000 TPS 이상의 처리 속도를 갖는다. 2개의 검증자 노드(130)만 사용해도 현재 1만개 이상의 풀 노드(Full node)를 가진 비트코인이나 8000개 이상의 풀 노드를 이더리움에 비해 40 배 이상의 속도 향상이 가능한다.
검증자 노드(130)의 개수가 늘어나면 이 속도는 더더욱 빨라질 수 있다.
또한, 현재 작업 증명 방식에 의한 비트코인이 트랜잭션 처리를 위해 2018년 전 세계 전력의 0.5%인 32 테라와트(TerraWatt)의 전력을 소모한였다. 이러한 전력은 단시 해쉬 함수의 계산에만 사용되며 어떠한 가치 창출에는 전혀 기여하지 못한다. 이더리움 역시 막대한 전력 소모의 문제를 안고 있다. 그러나, 본 발명에 따른 가설 수락 프로토콜-2에서는 지분 증명 방식에 적용될 때 그 사용하는 자원의 양이 매우 적고 컴퓨터 몇대로 노드를 유지하는 전력량으로도 시스템의 안정적인 운용이 가능하다.
도 2는 본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식의 블록체인 합의 방법의 흐름도이다.
도 2를 참조하면, 라이트 노드(light node)(120)가 트랜잭션(transaction)을 생성한다(S110).
다음으로, 검증자 노드(validator node)(130)가 라운드(round)마다 블록을 생성하여 타임스탬프(timestamp)를 블록에 기록한다(S120).
다음으로, 검증자 노드(validator node)(130)가 검증자 노드(130)의 블록에 기록된 타임스탬프와 다른 노드(10)의 블록에 기록된 타임스탬프와 대비한다(S130).
다음으로, 검증자 노드(130)는 대비 결과 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화(synchronization)를 수행한다(S140).
다음으로, 검증자 노드(130)가 동기화 이후의 블록을 기존의 블록체인에 연결한다(S150).
도 3은 본 발명의 일 실시예에 따른 가설 수락 프로토콜-2 방식에 따른 블록 동기화 방법의 세부 흐름도이다.
도 3을 참조하면, 단계 S130의 대비 결과 검증자 노드(130)의 블록에 기록된 타임스탬프보다 다른 노드(10)의 블록에 기록된 타임스탬프가 더 빠른 경우(S141), 검증자 노드(130)에서 생성된 블록의 데이터를 다른 노드(10)의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비한다(S142).
그리고 검증자 노드(130)의 블록 데이터와 다른 노드(10)의 블록 데이터의 상호 대비 결과 블록 데이터가 상호 동일한 경우(S143), 검증자 노드(130)의 블록을 다른 노드(10)의 블록의 데이터로 대체하여 동기화를 수행한다(S144).
그리고 검증자 노드(130)의 블록 데이터와 다른 노드(10)의 블록 데이터의 상호 대비 결과 블록 데이터가 상호 동일하지 않은 경우(S143), 더 빠른 스탬프가 기록된 블록을 생성한 다른 노드(10)를 동기화 과정에서 분리시켜 해당 노드를 무시(ignore)한다(S145).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (8)

  1. 트랜잭션(transaction)을 생성하는 라이트 노드(light node);
    라운드(round)마다 블록(block)을 생성하여 타임스탬프(timestamp)를 상기 블록에 기록하며, 다른 노드의 블록에 기록된 타임스탬프와 대비하여 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화(synchronization)를 수행하는 검증자 노드(validator node)를 포함하는 가설 수락 프로토콜-2(Hypothesis Acceptance Protocoal-2) 방식의 블록체인 합의 시스템.
  2. 제1항에 있어서, 상기 검증자 노드가,
    상기 동기화가 수행된 블록을 기존의 블록체인에 연결하도록 구성되는 것을 특징으로 하는 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템.
  3. 제1항에 있어서, 상기 검증자 노드가,
    상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하면 상기 검증자 노드의 블록을 상기 다른 노드의 블록의 데이터로 대체하여 동기화를 수행하는 것을 특징으로 하는 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템.
  4. 제1항에 있어서, 상기 검증자 노드가,
    상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하지 않으면 상기 더 빠른 스탬프가 기록된 블록을 생성한 다른 노드를 동기화 과정에서 분리시켜 해당 노드를 무시(ignore)하도록 구성되는 것을 특징으로 하는 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템.
  5. 라이트 노드(light node)가 트랜잭션(transaction)을 생성하는 단계;
    검증자 노드(validator node)가 라운드(round)마다 블록을 생성하여 타임스탬프(timestamp)를 상기 블록에 기록하는 단계;
    검증자 노드(validator node)가 상기 검증자 노드의 블록에 기록된 타임스탬프와 다른 노드의 블록에 기록된 타임스탬프와 대비하는 단계;
    상기 검증자 노드는 상기 대비 결과 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화(synchronization)를 수행하는 단계를 포함하는 가설 수락 프로토콜-2(Hypothesis Acceptance Protocol-2) 방식의 블록체인 합의 방법.
  6. 제5항에 있어서,
    상기 검증자 노드가 상기 동기화 이후의 블록을 기존의 블록체인에 연결하는 단계를 더 포함하도록 구성되는 것을 특징으로 하는 가설 수락 프로토콜-2 방식의 블록체인 합의 방법.
  7. 제5항에 있어서, 상기 검증자 노드가 상기 대비 결과 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화를 수행하는 단계는,
    상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하면 상기 검증자 노드의 블록을 상기 다른 노드의 블록의 데이터로 대체하여 동기화를 수행하는 것을 특징으로 하는 가설 수락 프로토콜-2 방식의 블록체인 합의 방법.
  8. 제5항에 있어서, 상기 검증자 노드가 상기 대비 결과 가장 빠른 타임스탬프가 기록된 블록을 이용하여 동기화를 수행하는 단계는,
    상기 검증자 노드의 블록에 기록된 타임스탬프보다 상기 다른 노드의 블록에 기록된 타임스탬프가 더 빠른 경우 상기 검증자 노드에서 생성된 블록의 데이터를 상기 다른 노드의 더 빠른 타임스탬프가 기록된 블록의 데이터와 상호 대비하고, 상호 대비 결과 동일하지 않으면 상기 더 빠른 스탬프가 기록된 블록을 생성한 다른 노드를 동기화 과정에서 분리시켜 해당 노드를 무시(ignore)하도록 구성되는 것을 특징으로 하는 가설 수락 프로토콜-2 방식의 블록체인 합의 방법.
PCT/KR2019/001282 2019-01-30 2019-01-30 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법 WO2020158973A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/001282 WO2020158973A1 (ko) 2019-01-30 2019-01-30 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/001282 WO2020158973A1 (ko) 2019-01-30 2019-01-30 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2020158973A1 true WO2020158973A1 (ko) 2020-08-06

Family

ID=71840072

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/001282 WO2020158973A1 (ko) 2019-01-30 2019-01-30 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법

Country Status (1)

Country Link
WO (1) WO2020158973A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112017051A (zh) * 2020-10-29 2020-12-01 北京易真学思教育科技有限公司 区块链系统、相关方法、用户节点及存储介质
CN112287034A (zh) * 2020-12-24 2021-01-29 腾讯科技(深圳)有限公司 一种数据同步方法、设备以及计算机可读存储介质
CN113657900A (zh) * 2021-07-13 2021-11-16 中国人民银行数字货币研究所 一种跨链交易验证方法、系统以及跨链交易系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
US20170344435A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
US20170345011A1 (en) * 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
US20170366516A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Managing verifiable, cryptographically strong transactions
WO2018224954A1 (en) * 2017-06-07 2018-12-13 nChain Holdings Limited Computer-Implemented System and Method for Managing Transactions Over a Blockchain Network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
US20170344435A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
US20170345011A1 (en) * 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
US20170366516A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Managing verifiable, cryptographically strong transactions
WO2018224954A1 (en) * 2017-06-07 2018-12-13 nChain Holdings Limited Computer-Implemented System and Method for Managing Transactions Over a Blockchain Network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112017051A (zh) * 2020-10-29 2020-12-01 北京易真学思教育科技有限公司 区块链系统、相关方法、用户节点及存储介质
CN112017051B (zh) * 2020-10-29 2021-02-12 北京易真学思教育科技有限公司 区块链系统、相关方法、用户节点及存储介质
CN112287034A (zh) * 2020-12-24 2021-01-29 腾讯科技(深圳)有限公司 一种数据同步方法、设备以及计算机可读存储介质
CN113657900A (zh) * 2021-07-13 2021-11-16 中国人民银行数字货币研究所 一种跨链交易验证方法、系统以及跨链交易系统
CN113657900B (zh) * 2021-07-13 2024-03-22 中国人民银行数字货币研究所 一种跨链交易验证方法、系统以及跨链交易系统

Similar Documents

Publication Publication Date Title
WO2019093574A1 (ko) 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법
WO2018043865A2 (ko) 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
WO2017192007A2 (ko) 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
Luu et al. A secure sharding protocol for open blockchains
WO2018155822A1 (ko) 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버
WO2020158973A1 (ko) 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법
WO2018070848A1 (ko) 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
WO2018194351A1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 이용하는 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버
WO2018080207A1 (ko) 블록체인 내의 블록별로 밸런스 데이터베이스를 관리하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버
CN111682942B (zh) 一种应用于许可链的二元加权拜占庭容错共识方法
CN112257095A (zh) 一种联盟链共识节点的选择方法
WO2019045209A1 (ko) 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법
CN112118239B (zh) 区块链共识方法及装置、电子设备、存储介质
WO2020138532A1 (ko) 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법
WO2018080206A1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버
US20180124048A1 (en) Data transmission method, authentication method, and server
WO2021101023A1 (ko) 블록체인의 확장성을 위한 영지식 증명의 선택적 검증 시스템 및 그 방법
WO2019125041A1 (ko) 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
WO2020138606A1 (ko) 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
CN113328997A (zh) 联盟链跨链系统及方法
WO2017116062A1 (ko) 파일에 대한 공증 및 검증을 수행하는 방법 및 서버
Al-madani et al. IoT data security via blockchain technology and service-centric networking
Liu et al. A data preservation method based on blockchain and multidimensional hash for digital forensics
WO2020138733A1 (ko) 개인정보의 익명성을 제공하는 블록체인 시스템 및 블록체인에서 개인정보의 익명성을 제공하는 방법
WO2019125069A1 (ko) 블록체인을 이용한 개인정보 분리 후 조합을 통한 인증 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19914166

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19914166

Country of ref document: EP

Kind code of ref document: A1