핵심 인사이트 (3줄 요약)
- 본질: PBFT(Practical Byzantine Fault Tolerance)는 Byzantine fault가 있어도 3단계 투표로 합의를 빠르게 확정하는 합의 알고리즘이다.
- 가치: Pre-prepare, Prepare, Commit의 다중 서명 구조를 통해 신뢰할 수 없는 노드가 섞여 있어도 장부 일관성을 유지한다.
- 판단: PBFT는 노드 수와 통신량이 많아질수록 무거워지므로, 허가형 네트워크에 적합하다.
Ⅰ. 개요 및 필요성
블록체인은 모두가 같은 장부를 보려는 기술이지만, 모든 노드를 믿을 수는 없다. Byzantine 문제는 일부 노드가 거짓말을 하거나 엉뚱한 메시지를 보내는 상황을 뜻한다.
PBFT는 이런 환경에서 빠르고 결정적인 합의를 만들기 위해 등장했다. 작업증명(PoW)처럼 계산 낭비를 하지 않고, 메시지 교환으로 합의를 끝낸다.
- 📢 섹션 요약 비유: 회의실에서 모두가 도장 세 번을 찍어야 결론이 확정되는 구조다.
Ⅱ. 아키텍처 및 핵심 원리
Client Request
↓
Pre-prepare
↓
Prepare
↓
Commit
↓
Ledger Update
| 단계 | 역할 |
|---|---|
| Pre-prepare | 리더가 제안문을 배포 |
| Prepare | 노드들이 제안 검증 후 예비 동의 |
| Commit | 최종 동의 후 장부 반영 |
PBFT는 일반적으로 3f+1개의 노드로 f개의 Byzantine fault를 견딘다. 핵심은 2f+1 이상의 quorum을 모아야만 다음 단계로 넘어간다는 점이다.
- 📢 섹션 요약 비유: 반대하는 사람이 몇 명 있어도, 정족수를 채운 도장이 모여야 서류가 통과된다.
Ⅲ. 비교 및 연결
| 합의 | 특징 | 장점 | 한계 |
|---|---|---|---|
| PoW | 연산 경쟁 | 단순, 공개형에 강함 | 전력 소모 큼 |
| PoS | 지분 기반 | 에너지 효율 | 설계 복잡 |
| PBFT | 다중 투표 | 빠른 최종성 | 메시지 비용 큼 |
| 단계 | 의미 |
|---|---|
| Prepare | 제안 검증과 확산 |
| Commit | 최종 확정 |
| View Change | 리더 교체 |
PBFT는 허가형 네트워크와 컨소시엄 체인에 잘 맞는다. 참여자 수가 너무 많으면 통신 비용이 급격히 올라간다.
- 📢 섹션 요약 비유: 작은 회의실에서는 전원이 손들기를 해도 되지만, 큰 운동장에서는 너무 느려진다.
Ⅳ. 실무 적용 및 기술사 판단
체크리스트
- 노드 수와 fault tolerance가 맞는가?
- quorum 조건을 정확히 설명할 수 있는가?
- 리더 실패 시 view change가 있는가?
- 합의 지연과 통신 비용을 이해하는가?
- 허가형 네트워크에 적합한가?
안티패턴
- 공개형 대규모 네트워크에 PBFT를 그대로 쓰는 설계
- 2f+1 quorum 의미를 놓치는 설계
- 리더 교체 절차를 고려하지 않는 설계
- 성능만 보고 Byzantine fault를 무시하는 설계
기술사 관점에서는 PBFT를 "많이 투표해서 빠르게 확정하는 방식"으로 설명하면 된다. 대신 참여 노드와 메시지 수가 늘면 비용이 커진다는 점을 꼭 함께 말해야 한다.
- 📢 섹션 요약 비유: 소수 정예 회의는 빠르지만, 사람이 너무 많으면 회의가 길어진다.
Ⅴ. 기대효과 및 결론
PBFT는 신뢰가 완벽하지 않은 환경에서 빠른 최종성을 제공한다. 그래서 금융형 컨소시엄 체인이나 허가형 블록체인에서 중요하다.
결론적으로 PBFT는 Byzantine fault를 견디는 합의 절차의 대표 모델이다.
- 📢 섹션 요약 비유: 거짓말하는 사람이 있어도, 규칙대로 도장이 모이면 결론이 난다.
관련 개념 맵
Byzantine Fault
↓
PBFT
↓
Pre-prepare / Prepare / Commit
↓
Finality
관련 키워드 및 발전 흐름도
PoW
↓
PBFT
↓
Permissioned Blockchain
↓
Fast Finality
어린이를 위한 3줄 비유 설명
회의에서 도장을 세 번 받아야 끝나요.
거짓말하는 사람이 있어도 규칙이 있으면 괜찮아요.
PBFT는 그런 식으로 합의하는 방법이에요.