블록체인
CFT vs BFT
[하마] 이승현 (wowlsh93@gmail.com)
2019. 2. 19. 21:08
CFT 는 분산시스템에서 노드가 비정상적인 충돌에 의해 문제가 생기더라도 나머지 시스템에서 서비스를 할 수 있게 하는 작동을 말한다면, BFT는 의도적 악의에 의한 문제까지도 해결하는 방식을 말한다.
블록체인 시스템에선 둘 모두 합의라는 방식을 거치게 되는데, 비트코인의 경우는 일반적인 CFT, BFT 보다는 훨씬 더 극한노동(?) 들어가는 신뢰 작업이 추가되는데 바로 POW이며, 콘소시엄형 블록체인 시스템(이라고 하고 하이퍼레저 패브릭) 에서는 보통 조직들이 이미 신원확인등에 의한 허가를 받은 상태에서 참여하기 때문에 악의적인 행위를 안한다고 치고 서비스를 하기에, 서버가 맛가는 경우에 대해서만 방어하는 CFT 기반의 오더링 알고리즘이 우선되고 있다.
CFT의 대표격이며, 하이퍼레저 패브릭 2.0 버전에서 등장할 가능성이 높은 RAFT와 BFT계열의 알고리즘을 Go언어로 심플하게 구현할 계획인데 아이디어와 결과는 새로운 포스트로 올릴 예정이다.
RAFT 참고 레퍼런스는 아래와 같다.
D. Ongaro et al.의 In Search of an Understandable Consensus Algorithm
Hyperledger Fabric 2.0 RAFT Proposal