PBTF: Difference between revisions

From CS Wiki
(새 문서: 분류:블록체인 ;Practical Byzantine Fault Tolerance; 실용적 비잔틴 장애 허용 ;악의적인 노드가 존재할 수도 있는 비동기 분산 시스템에서 모든...)
 
No edit summary
 
Line 1: Line 1:
[[분류:블록체인]]
[[분류:블록체인]]
;Practical Byzantine Fault Tolerance; 실용적 비잔틴 장애 허용
;Practical Byzantine Fault Tolerance; 실용적 비잔틴 장애 허용
;악의적인 노드가 존재할 수도 있는 비동기 분산 시스템에서 모든 노드가 성공적으로 고속으로 합의를 이룰 수 있는 알고리즘
;악의적인 노드가 존재할 수도 있는 비동기 분산 시스템에서 모든 노드가 성공적으로 고속으로 합의를 이룰 수 있는 [[합의 알고리즘]]
* 1999년 [[미구엘 카스트로]]와 [[바바라 리스코프]]가 발표
* 1999년 [[미구엘 카스트로]]와 [[바바라 리스코프]]가 발표


Line 15: Line 15:
* 네트워크의 모든 참여자를 미리 알고있어야 함
* 네트워크의 모든 참여자를 미리 알고있어야 함
* 항상 참가자 전원과 의사소통을 해야 하기 때문에 참가자가 증가하면 통신량이 증가하고 처리량이 저하
* 항상 참가자 전원과 의사소통을 해야 하기 때문에 참가자가 증가하면 통신량이 증가하고 처리량이 저하
== 같이 보기 ==
* [[블록체인]]
* [[블록체인 합의]]

Latest revision as of 05:32, 8 March 2020

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

동작 구조[edit | edit source]

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

특징[edit | edit source]

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

같이 보기[edit | edit source]