-
pBFTBlockChain 2018. 11. 13. 10:56Byzantine failur model분산 시스템에서 각 노드간에 상태를 알 수 없다 일부노드가 악의적이거나 장애가 났을 경우 가 있다고 가정하는 모델이다.
BFT라고 불리는 시스템은 불량인 노드가 f개가 있을때까지 실뢰할 수 있다는 것을 가정한 시스템이다예를 들어 5f개라면 전체노드중 1/5이 Byzantine Failure일때 정상적으로 동작하는 모델을 뜻한다.어떤 노드가 Byzantine Failure일 상황은 크게 두가지이다.- 메시지를 보내지 않는 노드
- 악의적으로 메시지를 보내는 노드
1번의 경우가 발생되면 해당 네트워크를 신뢰 할 수 있는지 판별하기 위해서 (N-f)개의 정족수로 판단 하여야한다.2번의 경우 (N-f)메시지 중에 악의 적인 노드 f개가 있을때(N-f) - f > f 라는 등식이 성립된다위 등식을 풀면= N-2f >f= N > 3fN >= 3f+1 임을 알 수 있다즉 전체 네트워크중 악의 적인 노드를 최대 1/3까지 허용한다는 이론이 pBFT이다.pBFT 동작 방법- 클라이언트가 리더 노드에게 요청을 보낸다
- 리더 노드는 Backup 노드에게 요청을 보낸다.
- 각 노드들은 요청을 실행하고 그 결과를 클라이언트에게 보낸다.
- 클라이언트는 노드 들에서 전달된 결과가 f+1인지 확인한다.
f는 Byantine Failure를 허용하는 최대 수이다.리더노드는 Round robin을 통하여 선출 한다.'BlockChain' 카테고리의 다른 글
Raft Consensus Algorithm (0) 2018.11.12 Geth Trie insert (0) 2018.11.09 댓글