본문 바로가기
Technology/Blockchain Terminology

PBFT(Practical Byzantine Fault Tolerance)란 무엇인가?

by UG0 2023. 1. 27.
반응형

PBFT(Practical Byzantine Fault Tolerance)는 내결함성(fault tolerance)을 위해 분산 시스템에서 사용되는 합의 알고리즘이다.
이는 고장이나 오류가 발생한 경우에도 시스템이 계속 작동할 수 있다는 것을 의미한다..

네트워크의 일부 노드가 시스템을 중단시키기 위해 악의적으로 동작하거나 "비잔틴" 상황을 처리하도록 설계되었다.
PBFT는 네트워크의 각 노드가 시스템 상태의 복제본을 유지하도록 하고, 각 노드가 서로 통신하여 시스템의 현재 상태에 대한 합의를 도출하도록 함으로써 작동한다.

PBFT 알고리즘의 기본 흐름은 다음과 같다

1. 클라이언트는 기본 노드로 알려진 요청을 전송하여 블록체인에 새 트랜잭션을 추가하는 등의 작업을 수행한다.
2. 기본은 복제본으로 알려진 다른 모든 노드에 요청을 알린다.
3. 각 복제본은 요청을 확인하고 요청에 동의할지 여부를 나타내는 메시지(사전 준비 메시지)를 기본값으로 발송한다.
4. 복제본의 3분의 2 이상이 동의할 경우, 기본값은 모든 복제본에 준비 메시지를 발송한다.
5. 그런 다음 각 복제본은 요청에 커밋되었음을 나타내는 커밋 메시지를 기본으로 발송한다.
6. 그런 다음 기본 서버는 요청이 처리되었음을 나타내는 응답을 클라이언트에 보낸다.

PBFT의 장점 중 하나는 기본 노드가 초당 많은 수의 요청을 처리할 수 있기 때문에 비교적 빠르고 효율적인 합의를 가능하다는 것이다.
또한, PBFT는 악의적인 노드를 처리하도록 설계되었기 때문에 높은 수준의 보안 및 내결함성을 제공할 수 있다.
그러나 단점 중 하나는 시스템이 기본 노드에 크게 의존하기 때문에 일부 다른 합의 알고리즘보다 덜 분산될 수 있다는 것이다.

반응형