PBTF
From CS Wiki
- Practical Byzantine Fault Tolerance; 실용적 비잔틴 장애 허용
- 악의적인 노드가 존재할 수도 있는 비동기 분산 시스템에서 모든 노드가 성공적으로 고속으로 합의를 이룰 수 있는 합의 알고리즘
동작 구조[edit | edit source]
- 참가자 1명이 프라이머리(리더)가 되어 모든 참가자에게 요청 송신
- 그 요청에 대한 결과를 집계한 뒤 다수의 값을 사용해 블록을 확정
- 부정한 노드 수를 n개라고 하면 노드 수는 3n+1개여야 하며, 확정에는 n+1개 이상의 노드가 필요
- 각 노드는 브로드캐스트 된 명령을 받게 되면 Leader를 포함한 모든 노드에 회신
- 각 노드는 수신된 명령을 일정 수 이상(2n)수신하면 명령을 실행하고 블록을 등록
특징[edit | edit source]
- Finality Problem 해결
- 네트워크의 모든 참여자를 미리 알고있어야 함
- 항상 참가자 전원과 의사소통을 해야 하기 때문에 참가자가 증가하면 통신량이 증가하고 처리량이 저하