ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • pBFT
    BlockChain 2018. 11. 13. 10:56
    Byzantine failur model
        분산 시스템에서 각 노드간에 상태를 알 수 없다 일부노드가 악의적이거나 장애가 났을 경우 가 있다고 가정하는 모델이다.

    BFT라고 불리는 시스템은 불량인 노드가 f개가 있을때까지 실뢰할 수 있다는 것을 가정한 시스템이다
    예를 들어 5f개라면 전체노드중 1/5이 Byzantine Failure일때 정상적으로 동작하는 모델을 뜻한다.

    어떤 노드가 Byzantine Failure일 상황은 크게 두가지이다.
    1. 메시지를 보내지 않는 노드
    2. 악의적으로 메시지를 보내는 노드

    1번의 경우가 발생되면 해당 네트워크를 신뢰 할 수 있는지 판별하기 위해서 (N-f)개의 정족수로 판단 하여야한다.
    2번의 경우 (N-f)메시지 중에 악의 적인 노드 f개가 있을때
    (N-f) - f > f 라는 등식이 성립된다
    위 등식을 풀면
    = N-2f >f
    = N > 3f
    N >= 3f+1 임을 알 수 있다
    즉 전체 네트워크중 악의 적인 노드를 최대 1/3까지 허용한다는 이론이 pBFT이다.

    pBFT 동작 방법

    1. 클라이언트가 리더 노드에게 요청을 보낸다
    2. 리더 노드는 Backup 노드에게 요청을 보낸다.
    3. 각 노드들은 요청을 실행하고 그 결과를 클라이언트에게 보낸다.
    4. 클라이언트는 노드 들에서 전달된 결과가 f+1인지 확인한다.
    f는 Byantine Failure를 허용하는 최대 수이다.

    리더노드는 Round robin을 통하여 선출 한다.

    'BlockChain' 카테고리의 다른 글

    Raft Consensus Algorithm  (0) 2018.11.12
    Geth Trie insert  (0) 2018.11.09

    댓글

Designed by Tistory.