BFT(Byzantine Fault Tolerance)란 무엇인가요?
안녕하세요.
비잔틴 장애 허용(BFT)은 비트코인 블록생성 과정에 대한 검증의 문제를 해결하기 위한 대안이라고 들었습니다.
BFT가 어떤 것인지 알고싶습니다.
안녕하세요. BTF합의 알고리즘에 대하여 답변드립니다.
비잔티 장애(BFT)란?
부대안에 첩자가 있을 것으로 예상하고 있으나 누구인지 모르는 상태에서 적진에 나가 싸워야하는 상황에서 과연 부대를 신뢰할 수 있는가? 라는 실제 비잔티움 제국에서 일어난 사건을 바탕으로 만들어진 용어입니다.
비잔티 장군의 딜레마라고도 불립니다.
비잔티 장군의 딜레마가 블록체인 상에서 급부상한 이유는 블록체인 네트워크에서 블록을 생산하는 블록생산자(BP노드)들간에 합의를 도출할 때 과연 신뢰있는 BP노드와 신뢰하지 않는 BP노드를 구분하고 어느정도 선에서 합의를 이룰 것인가에 대한 논재입니다.
따라서 각 노드간 합의를 도출 할 때 허용한계 값을 이용하여 합의를 이루는 여러 방식들이 존재합니다.
BTF합의는 구성원의 2/3이상 찬성하게 되면 합의가 이루어지는 방식입니다.
BFT의 여러가지 개선 방법
PBFT(Practical Byzantine Fault Tolerance)
4개의 노드 중 3N+1개 이상일 경우 합의는 신뢰할 수 있다는 수학적인 알고리즘을 이용한 방식(* N은 신뢰 할 수 없는 노드)
2번의 합의를 거처 최종 합의 합니다.
BBFT(Baystack Byzantine Fault Tolerance)
신뢰할 수 있는 노드가 전체노드의 (2/3)이상 합의가 된 상황일 경우 최종적으로 합의가 된것으로 간주하는 방식입니다.
BFT방식을 사용하는 블록체인 : 이오스(EOS), 트론(TRX)
PBFT방슥을 사용하는 블록체인 : 테더민트, 하이퍼렛저, R3, 네오, ICT
감사합니다.