-
Byzantine Fault Tolerance네트워크/블록체인(Blockchain) 2021. 4. 4. 00:06반응형
Byzantine Fault Tolerance(비잔틴 장애 허용)?
- 부대안에 첩자가 있을 것으로 예상하고 있으나 누구인지 모르는 상태에서 적진에 나가 싸워야하는 상황에서 과연 부대를 신뢰할 수 있는가? 라는 실제 비잔티움 제국에서 일어난 사건을 바탕으로 만들어진 용어.
- 비잔틴 장군의 딜레마라고도 불린다.(Byzantine Generals Problem[1])
- 분산 데이터를 다루는 환경에서 활용 가능하며, 특히 블록체인 분야에서 이를 블록 생성 합의 과정에 활용하는 경우가 많다. 대표적으로 Ethereum의 PoS에서 BFT를 사용하여 합의 과정에 도출하려고 하고 있다.
BFT 동작 원리
모두가 동기화 되어 있는 상태에서, 전체 인원의 2/3 이상이 동의를 할 경우 수렴(합의 완료)
BFT 한계점
이론상으로는 한계가 존재하지 않는다. 하지만, 누가 비잔틴인지 모르는 상황에서 전달자를 정하는 행위는 위험하다. 또한, BFT의 Synchronous Network에서만 동작하는 것이 전제이기에, Asynchronous Network(블록체인)에서는 이를 그대로 가져다 쓰기에 무리가 있다.
블록체인을 포함한 많은 비동기화 네트워크에서 BFT 이론을 활용하기에는 무리가 존재하기 때문에, 다양한 연구들이 계속해서 진행되었다. 대표적으로 PBFT(Practical BFT)[1], 말 그대로 '실전적 BFT'가 제안되었는데, 이는 현재 BFT Based Blockchain에서 많이 사용되고 있다.
[1] BFT : dl.acm.org/doi/10.1145/357172.357176
[2] PBFT : pmg.csail.mit.edu/papers/osdi99.pdf
aha Q&A, 장석만님의 그림을 참조했습니다.
www.a-ha.io/profile/dbzkxhtm3.009894
다음글 : PBFT(Practical Byzantine Fault Tolerance)
'네트워크 > 블록체인(Blockchain)' 카테고리의 다른 글
Practical Byzantine Fault Tolerance (0) 2021.04.08 PoW & PoS (0) 2021.04.02 블록체인이란? (0) 2020.04.26