PBTF

From CS Wiki
Practical Byzantine Fault Tolerance; 실용적 비잔틴 장애 허용
악의적인 노드가 존재할 수도 있는 비동기 분산 시스템에서 모든 노드가 성공적으로 고속으로 합의를 이룰 수 있는 합의 알고리즘

동작 구조[edit | edit source]

  • 참가자 1명이 프라이머리(리더)가 되어 모든 참가자에게 요청 송신
  • 그 요청에 대한 결과를 집계한 뒤 다수의 값을 사용해 블록을 확정
  • 부정한 노드 수를 n개라고 하면 노드 수는 3n+1개여야 하며, 확정에는 n+1개 이상의 노드가 필요
  • 각 노드는 브로드캐스트 된 명령을 받게 되면 Leader를 포함한 모든 노드에 회신
  • 각 노드는 수신된 명령을 일정 수 이상(2n)수신하면 명령을 실행하고 블록을 등록

특징[edit | edit source]

  • Finality Problem 해결
  • 네트워크의 모든 참여자를 미리 알고있어야 함
  • 항상 참가자 전원과 의사소통을 해야 하기 때문에 참가자가 증가하면 통신량이 증가하고 처리량이 저하

같이 보기[edit | edit source]