1 |
1
n개의 검증 노드 중 기지정된 리더 노드가 적어도 하나의 클라이언트로부터 전송된 트랜잭션 요청이 포함된 블록이 수신되면, 상기 리더 노드에 대해 이전 투표 결과로부터 획득된 로컬 신뢰도인 리더 신뢰도를 상기 블록에 포함하여 나머지 검증 노드인 백업 노드들로 전파하는 단계; 상기 백업 노드들 각각이 이전 투표 결과로부터 획득된 자신에 대한 로컬 신뢰도인 백업 신뢰도와 상기 리더 신뢰도를 비교하여, 서로 상이하면 다른 검증 노드들로 리더 신뢰도를 상기 백업 신뢰도로 변경한 준비 메시지를 전파하는 단계; 상기 검증 노드들 각각이 수신한 준비 메시지를 분석하여, 동일한 값을 갖는 로컬 신뢰도의 개수가 기지정된 기준 개수 이상이면, 다른 검증 노드들로 상기 로컬 신뢰도를 글로벌 신뢰도에 적용하여 결정 메시지를 전파하는 단계; 및 상기 검증 노드들 각각이 결정 메시지에 포함된 글로벌 신뢰도의 합을 기반으로 트랜잭션 요청에 대한 투표를 수행하여, 블록을 블록체인에 추가하는 단계; 를 포함하는 블록체인 네트워크의 장애 허용 합의 방법
|
2 |
2
제1 항에 있어서, 상기 블록체인에 추가하는 단계는 상기 n개의 검증 노드들 각각에 대한 글로벌 신뢰도()의 합이 기지정된 글로벌 기준 비율 이상인지 판별하는 단계; 상기 글로벌 기준 비율 이상이면, 상기 블록에 대한 글로벌 신뢰도 합의가 성공한 것으로 판별하여 블록을 블록체인에 추가하는 단계; 추가된 결과를 상기 클라이언트로 전달하는 단계; 및 합의 성공 여부에 따라 검증 노드 각각에 대한 로컬 신뢰도를 재계산하는 단계; 를 포함하는 블록체인 네트워크의 장애 허용 합의 방법
|
3 |
3
제2 항에 있어서, 상기 로컬 신뢰도를 재계산하는 단계는 글로벌 신뢰도 합의가 성공한 것으로 판별되면, 상기 n개의 검증 노드 중 i번째 검증 노드가 계산한 k번째 검증 노드에 대한 t번째 라운드의 로컬 신뢰도(Cti,k)를 수학식 (여기서 는 k번째 검증 노드에 대한 t번째 라운드의 글로벌 신뢰도이고, Vk는 n개의 검증 노드 중 k번째 검증 노드를 의미하고, R은 정상적인 리더 노드의 제안에 동의하는 투표를 수행한 로얄 노드의 집합을 나타내고, F는 장애 노드 집합을 나타내며, α는 패널티 가중치이다
|
4 |
4
제3 항에 있어서, 상기 로컬 신뢰도를 재계산하는 단계는 상기 글로벌 신뢰도 합의 성공 여부에 따라 상기 글로벌 신뢰도에 기반하여 합의 경계(Consensus Bound)가 수학식 에 따라 가변되는 블록체인 네트워크의 장애 허용 합의 방법
|
5 |
5
제1 항에 있어서, 상기 결정 메시지를 전파하는 단계는 상기 검증 노드들 각각이 수신한 준비 메시지를 분석하여, 동일한 값을 갖는 로컬 신뢰도의 개수가 기지정된 기준 개수 이상인지 판별하는 단계; 기준 개수 이상이면, 동일한 값의 로컬 신뢰도를 현재 라운드의 글로벌 신뢰도에 반영하는 단계; 기준 개수 미만이면, 백업 로컬 신뢰도를 현재 라운드의 글로벌 신뢰도에 반영하는 단계; 및 동일한 로컬 신뢰도 값을 갖는 검증 노드들의 글로벌 신뢰도의 합이 기지정된 글로벌 기준 값 이상인지 판별하고, 글로벌 기준 값 이상이면, 결정 메시지를 다른 검증 노드로 전파하는 단계; 를 포함하는 블록체인 네트워크의 장애 허용 합의 방법
|