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 해결
- 네트워크의 모든 참여자를 미리 알고있어야 함
- 항상 참가자 전원과 의사소통을 해야 하기 때문에 참가자가 증가하면 통신량이 증가하고 처리량이 저하