비잔틴 장애 허용 편집하기
최신판 | 당신의 편집 | ||
41번째 줄: | 41번째 줄: | ||
* '''프랙티컬 비잔틴 장애 허용'''(PBFT) | * '''프랙티컬 비잔틴 장애 허용'''(PBFT) | ||
− | |||
: [[프랙티컬 비잔틴 장애 허용]](Practical Byzantine Fault Tolerance, PBFT)은 1982년 발표된 "The Byzantine Generals Problem" 논문에서 제안되었으며,<ref>〈[http://itwiki.kr/w/%EB%B9%84%EC%9E%94%ED%8B%B4_%EC%9E%A5%EC%95%A0_%ED%97%88%EC%9A%A9 비잔틴 장애 허용]〉, 《공대위키》</ref> 분산시스템이 약속된 행동을 하지 않는 비잔틴 노드가 존재할 수 있는 비동기 시스템일 때 해당 분산시스템에 참여한 모든 노드가 성공적으로 합의를 이룰 수 있도록 개발된 합의 알고리즘이다. [[프랙티컬 비잔틴 장애 허용]]은 기존의 비잔틴 장애 허용(BFT) 합의 알고리즘이 동기식 네트워크에서만 합의가 가능했던 문제를 해결하여 비잔틴 노드가 있는 비동기 네트워크에서 합의를 이룰 수 있게 하였다. 합의는 다음과 같이 수행한다. | : [[프랙티컬 비잔틴 장애 허용]](Practical Byzantine Fault Tolerance, PBFT)은 1982년 발표된 "The Byzantine Generals Problem" 논문에서 제안되었으며,<ref>〈[http://itwiki.kr/w/%EB%B9%84%EC%9E%94%ED%8B%B4_%EC%9E%A5%EC%95%A0_%ED%97%88%EC%9A%A9 비잔틴 장애 허용]〉, 《공대위키》</ref> 분산시스템이 약속된 행동을 하지 않는 비잔틴 노드가 존재할 수 있는 비동기 시스템일 때 해당 분산시스템에 참여한 모든 노드가 성공적으로 합의를 이룰 수 있도록 개발된 합의 알고리즘이다. [[프랙티컬 비잔틴 장애 허용]]은 기존의 비잔틴 장애 허용(BFT) 합의 알고리즘이 동기식 네트워크에서만 합의가 가능했던 문제를 해결하여 비잔틴 노드가 있는 비동기 네트워크에서 합의를 이룰 수 있게 하였다. 합의는 다음과 같이 수행한다. | ||
50번째 줄: | 49번째 줄: | ||
: [[프랙티컬 비잔틴 장애 허용]]은 두 번의 브로드캐스트 과정을 이용해 비잔틴 리더나 비잔틴 검증 노드가 네트워크 분기를 위해 이상한, 혹은 임의의 메시지를 보내도 네트워크의 모든 노드는 같은 메시지를 가질 수 있게 하였다. 이러한 [[프랙티컬 비잔틴 장애 허용]] 알고리즘은 IBM Fabric 0.6v이나 1.0v의 Orderer 서비스, R3 Corda의 Notary와 같은 프라이빗 블록체인에서 사용하고 있다. | : [[프랙티컬 비잔틴 장애 허용]]은 두 번의 브로드캐스트 과정을 이용해 비잔틴 리더나 비잔틴 검증 노드가 네트워크 분기를 위해 이상한, 혹은 임의의 메시지를 보내도 네트워크의 모든 노드는 같은 메시지를 가질 수 있게 하였다. 이러한 [[프랙티컬 비잔틴 장애 허용]] 알고리즘은 IBM Fabric 0.6v이나 1.0v의 Orderer 서비스, R3 Corda의 Notary와 같은 프라이빗 블록체인에서 사용하고 있다. | ||
+ | [[파일:Pbft 작동방식.jpg |썸네일|500픽셀|가운데|'''프랙티컬 비잔틴 장애 허용''' 작동방식]] | ||
* '''텐더민트'''(Tendermint) | * '''텐더민트'''(Tendermint) |