의견.png

"루프 장애 허용"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(참고자료)
2번째 줄: 2번째 줄:
 
==개요==
 
==개요==
 
루프체인은 비잔틴 장애 허용을 지원하는 루프 장애 허용을 통해 분기가 없는 빠른 합의를 지원한다. 루프 장애 허용을 기반으로 신뢰 관계가 있는 복수의 노드를 하나의 그룹으로 묶어 좀 더 빠른 합의를 이루어 낼 수 있으며 이러한 그룹 및 노드에게 투표권 수를 자유롭게 설정할 수 있어 다양한 합의 체계 구축이 가능하다. 비잔틴 장애 허용 계열 합의 알고리즘을 사용하는 루프 장애 허용 합의 알고리즘은 블록을 생성하고 전파하는 리더 노드와 생성한 블록의 내용을 검증하여 블록의 유효성을 투표하는 검증 노드로 구성된다.
 
루프체인은 비잔틴 장애 허용을 지원하는 루프 장애 허용을 통해 분기가 없는 빠른 합의를 지원한다. 루프 장애 허용을 기반으로 신뢰 관계가 있는 복수의 노드를 하나의 그룹으로 묶어 좀 더 빠른 합의를 이루어 낼 수 있으며 이러한 그룹 및 노드에게 투표권 수를 자유롭게 설정할 수 있어 다양한 합의 체계 구축이 가능하다. 비잔틴 장애 허용 계열 합의 알고리즘을 사용하는 루프 장애 허용 합의 알고리즘은 블록을 생성하고 전파하는 리더 노드와 생성한 블록의 내용을 검증하여 블록의 유효성을 투표하는 검증 노드로 구성된다.
 +
==메시지 데이터 구조==
 +
다른 블록체인처럼 현재 블록의 단방향 해시값을 저장하여 해당 블록이 위변조되었는지 감지할 수 있게 하였으며 이전 블록 해시 데이터를 통해 해시 연결성을 보장한다. 그 밖에 블록 높이(블록 순번), 블록 생성 시간, 트랜잭션 머클트리와 같은 기존 블록체인에 들어가는 데이터들이 포함된다. 구성하는 블록체인에 따라 블록체인 위에서 돌아가는 서비스의 상태를 저장하기 위한 페트리샤 머클트리 혹은 IAVL+ 트리 등의 상태 머신 저장을 위한 자료구조를 추가할 수 있다. 루프 장애 허용을 구현한 블록체인의 블록은 일반적인 블록체인 네트워크에 포함되는 데이터 외에 이전 블록에 대한 투표 결과를 포함한다. LFT 합의 알고리즘은 각 검증 노드가 투표 데이터를 다른 모든 노드들에 전송하기 때문에 각 검증 노드는 이 단계에서 정족수 이상의 투표를 받으면 각 검증 노드가 해당 블록을 자신의 블록체인에 추가할 수 있다. 하지만 이때 네트워크의 정족수 이상의 투표를 받지 못하는 경우가 생길 수 있는데 이러한 노드의 이전 블록을 자신의 블록체인에 추가할 수 있게 하기 위해서 이후 블록에 이전 블록의 투표 데이터를 추가하여 전송한다. 또한, 허가형 블록체인의 경우 해당 블록을 검증한 사람에 대한 증거가 블록체인에 남아있는 것이 중요하기 때문에 해당 블록에 대한 투표 증거를 남기는 역할도 하게 된다.
 +
 
{{각주}}
 
{{각주}}
 
==참고자료==
 
==참고자료==

2019년 10월 7일 (월) 11:31 판

루프 장애 허용(LFT; Loop Fault Tolerance)은 향상된 비잔틴 장애 허용(Byzantine Fault Tolerance)의 32비트 기반 알고리즘으로, 기존 분산 환경에서의 장애 허용 방법으로 많이 사용되는 상태 머신 복제 알고리즘 중 하나인 Raft32 알고리즘을 비잔틴 노드의 공격에도 방어할 수 있고 블록체인 네트워크 특성에 최적화 되도록 개선한 합의 알고리즘이다.

개요

루프체인은 비잔틴 장애 허용을 지원하는 루프 장애 허용을 통해 분기가 없는 빠른 합의를 지원한다. 루프 장애 허용을 기반으로 신뢰 관계가 있는 복수의 노드를 하나의 그룹으로 묶어 좀 더 빠른 합의를 이루어 낼 수 있으며 이러한 그룹 및 노드에게 투표권 수를 자유롭게 설정할 수 있어 다양한 합의 체계 구축이 가능하다. 비잔틴 장애 허용 계열 합의 알고리즘을 사용하는 루프 장애 허용 합의 알고리즘은 블록을 생성하고 전파하는 리더 노드와 생성한 블록의 내용을 검증하여 블록의 유효성을 투표하는 검증 노드로 구성된다.

메시지 데이터 구조

다른 블록체인처럼 현재 블록의 단방향 해시값을 저장하여 해당 블록이 위변조되었는지 감지할 수 있게 하였으며 이전 블록 해시 데이터를 통해 해시 연결성을 보장한다. 그 밖에 블록 높이(블록 순번), 블록 생성 시간, 트랜잭션 머클트리와 같은 기존 블록체인에 들어가는 데이터들이 포함된다. 구성하는 블록체인에 따라 블록체인 위에서 돌아가는 서비스의 상태를 저장하기 위한 페트리샤 머클트리 혹은 IAVL+ 트리 등의 상태 머신 저장을 위한 자료구조를 추가할 수 있다. 루프 장애 허용을 구현한 블록체인의 블록은 일반적인 블록체인 네트워크에 포함되는 데이터 외에 이전 블록에 대한 투표 결과를 포함한다. LFT 합의 알고리즘은 각 검증 노드가 투표 데이터를 다른 모든 노드들에 전송하기 때문에 각 검증 노드는 이 단계에서 정족수 이상의 투표를 받으면 각 검증 노드가 해당 블록을 자신의 블록체인에 추가할 수 있다. 하지만 이때 네트워크의 정족수 이상의 투표를 받지 못하는 경우가 생길 수 있는데 이러한 노드의 이전 블록을 자신의 블록체인에 추가할 수 있게 하기 위해서 이후 블록에 이전 블록의 투표 데이터를 추가하여 전송한다. 또한, 허가형 블록체인의 경우 해당 블록을 검증한 사람에 대한 증거가 블록체인에 남아있는 것이 중요하기 때문에 해당 블록에 대한 투표 증거를 남기는 역할도 하게 된다.

각주

참고자료

같이 보기

  의견.png 이 루프 장애 허용 문서는 합의 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.