1 |
1
리더 블록체인 노드로부터 전송된 신규 생성 블록과 상기 신규 생성 블록에 대한 합의 요청 메시지에 따라, 상기 리더 블록체인 노드와 참여 블록체인 노드들이 동의, 거절, 또는 무효의 투표 메시지를 브로드캐스트(broadcast)하는 단계;상기 참여 블록체인 노드들 중에서 비잔틴 오류(Byzantine Fault)가 발생한 블록체인 노드의 수와 상기 무효의 투표 메시지를 브로드캐스트한 블록체인 노드의 수에 기초하여, 기 설정된 정족수를 변경하는 단계; 및상기 동의의 투표 메시지를 브로드캐스트한 블록체인 노드의 수가 변경된 상기 정족수 이상인지에 따라 합의 여부를 결정하는 단계를 포함하는, 가변 정족수 기반의 블록체인 합의 방법
|
2 |
2
제1항에 있어서,상기 신규 생성 블록과 상기 합의 요청 메시지는 서로 분리되어 전송되는, 가변 정족수 기반의 블록체인 합의 방법
|
3 |
3
제1항에 있어서,상기 참여 블록체인 노드들은,정해진 시간 내에 상기 신규 생성 블록과 상기 합의 요청 메시지를 수신하지 못한 경우에 상기 무효의 투표 메시지를 브로드캐스트 하는, 가변 정족수 기반의 블록체인 합의 방법
|
4 |
4
제1항에 있어서,상기 비잔틴 오류가 발생한 경우는,비정상적인 메시지를 전송한 경우, 정해진 시간 내에 메시지를 전송하지 않은 경우, 또는 두 개 이상의 서로 상충하는 정상적인 메시지들을 전송한 경우인, 가변 정족수 기반의 블록체인 합의 방법
|
5 |
5
제4항에 있어서,상기 비정상적인 메시지를 전송한 경우는,블록체인의 프로토콜(protocol)에 어긋나는 메시지를 전송한 경우인, 가변 정족수 기반의 블록체인 합의 방법
|
6 |
6
제4항에 있어서,두 개 이상의 서로 상충하는 정상적인 메시지들을 전송한 경우는,상기 정상적인 메시지들 각각은 블록체인의 프로토콜에 맞게 작성되었으나, 이중으로 투표한 경우인, 가변 정족수 기반의 블록체인 합의 방법
|
7 |
7
제1항에 있어서,상기 기설정된 정족수를 변경하는 단계는,상기 무효의 투표 메시지를 브로드캐스트한 블록체인 노드의 수는 상기 기설정된 정족수에서 빼지 않고, 상기 비잔틴 오류가 발생한 블록체인 노드의 수만 상기 기설정된 정족수에서 뺀 값으로 상기 기설정된 정족수를 변경하는, 가변 정족수 기반의 블록체인 합의 방법
|
8 |
8
제4항에 있어서,상기 기설정된 정족수를 변경하는 단계는,상기 비정상적인 메시지를 전송한 경우 또는 정해진 시간 내에 메시지를 전송하지 않은 경우의 상기 비잔틴 오류를 검출하여, 상기 기 설정된 정족수를 변경하는, 가변 정족수 기반의 블록체인 합의 방법
|
9 |
9
제8항에 있어서,상기 가변 정족수 기반의 블록체인 합의 방법은,상기 리더 블록체인 노드와 상기 참여 블록체인 노드들 각각이 수신한 모든 투표 메시지와 자신이 전송한 투표 메시지를 모아서 추가적으로 브로드캐스트하는 단계를 더 포함하는, 가변 정족수 기반의 블록체인 합의 방법
|
10 |
10
제9항에 있어서,상기 가변 정족수 기반의 블록체인 합의 방법은,상기 추가적으로 브로드캐스트하는 단계 이후에,상기 두 개 이상의 서로 상충하는 정상적인 메시지들을 전송한 경우의 상기 비잔틴 오류를 검출하여, 변경된 상기 정족수를 추가적으로 변경하는, 가변 정족수 기반의 블록체인 합의 방법
|
11 |
11
제10항에 있어서,상기 변경된 상기 정족수를 추가적으로 변경하는 단계는,네트워크 오류에 의하여 투표에 참여하지 못하였던 참여 블록체인 노드를 포함시켜, 상기 변경된 상기 정족수를 추가적으로 변경하는, 가변 정족수 기반의 블록체인 합의 방법
|
12 |
12
제11항에 있어서,상기 합의 여부를 결정하는 단계는,상기 동의의 투표 메시지를 브로드캐스트한 블록체인 노드의 수가 추가적으로 변경된 상기 정족수 이상인지에 따라 상기 합의 여부를 결정하는, 가변 정족수 기반의 블록체인 합의 방법
|
13 |
13
제1항에 있어서,상기 가변 정족수 기반의 블록체인 합의 방법은,상기 리더 블록체인 노드가 정해진 시간 내에 상기 신규 생성 블록과 상기 합의 요청 메시지를 전송하지 않는 경우에, 상기 리더 블록체인 노드를 변경하는 단계를 더 포함하는, 가변 정족수 기반의 블록체인 합의 방법
|
14 |
14
신규 생성 블록에 대한 합의 요청 메시지를 생성하는 합의 요청 메시지 생성 모듈;상기 신규 생성 블록과 상기 합의 요청 메시지를 브로드캐스트하고, 참여 블록체인 노드들이 상기 신규 생성 블록과 상기 합의 요청 메시지에 응답하여 전송한 동의, 거절, 또는 무효의 투표 메시지를 수신하는 통신 인터페이스;상기 참여 블록체인 노드들 중에서 비잔틴 오류(Byzantine Fault)가 발생한 블록체인 노드의 수와 상기 무효의 투표 메시지를 브로드캐스트한 블록체인 노드의 수에 기초하여, 기 설정된 정족수를 변경하는 정족수 변경 모듈; 및상기 동의의 투표 메시지를 브로드캐스트한 블록체인 노드의 수가 변경된 상기 정족수 이상인지에 따라 합의 여부를 결정하는 합의 결과 처리 모듈을 포함하는, 블록체인 노드
|
15 |
15
프로세서(processor)와 결합되어 가변 정족수 기반의 블록체인 합의 방법을 수행하기 위한 매체에 저장된 프로그램으로서,리더 블록체인 노드로부터 전송된 신규 생성 블록과 상기 신규 생성 블록에 대한 합의 요청 메시지에 따라, 상기 리더 블록체인 노드와 참여 블록체인 노드들이 동의, 거절, 또는 무효의 투표 메시지를 브로드캐스트(broadcast)하는 단계;상기 참여 블록체인 노드들 중에서 비잔틴 오류(Byzantine Fault)가 발생한 블록체인 노드의 수와 상기 무효의 투표 메시지를 브로드캐스트한 블록체인 노드의 수에 기초하여, 기 설정된 정족수를 변경하는 단계; 및상기 동의의 투표 메시지를 브로드캐스트한 블록체인 노드의 수가 변경된 상기 정족수 이상인지에 따라 합의 여부를 결정하는 단계를 수행하는, 프로그램
|