Blockchain
Istanbul Byzantine Fault Tolerance (IBFT)
IBFT 합의의 단계, 정족수 조건, 운영 시 주의점을 간결하게 정리합니다.
Istanbul Byzantine Fault Tolerance (IBFT)
IBFT 한 줄 요약
IBFT는 PBFT 계열의 합의 프로토콜로, 승인된 validator 집합에서 빠른 최종성(finality)을 제공합니다.
신뢰 가정
- 총 validator 수를
n, 비잔틴 노드 수를f라고 할 때:- 안전성/진행성을 위해 일반적으로
n >= 3f + 1가정. - 주요 단계에서
2f + 1서명이 필요.
- 안전성/진행성을 위해 일반적으로
예: validator 4개면 최대 1개 비정상 노드를 허용할 수 있습니다.
합의 단계
- Pre-prepare: proposer가 블록 제안.
- Prepare: validator들이 제안 블록 해시를 확인 후 prepare 브로드캐스트.
- Commit: 충분한 prepare를 확인한 validator가 commit 브로드캐스트.
- Finalize:
2f + 1commit이 모이면 블록 확정.
Round Change
proposer가 실패하거나 네트워크 지연이 길어 타임아웃이 나면 round를 올리고 새 proposer로 재시도합니다. 이 과정이 liveness를 보장하는 핵심입니다.
장점
- PoW 대비 짧은 확정 시간.
- 확정된 블록의 되돌림 가능성이 매우 낮음.
- permissioned 네트워크에서 예측 가능한 처리량.
한계
- validator 수가 커질수록 메시지 교환 비용 증가.
- 네트워크 분할 시 진행성 저하 가능.
- validator 운영/키 관리가 보안의 핵심 병목.
운영 체크포인트
- 타임아웃 값은 실제 RTT 분포를 기준으로 조정.
- validator 세트 변경 절차를 자동화하고 감사 로그 보존.
- 재시작/재동기화 시나리오를 테스트넷에서 반복 검증.
요약
IBFT는 "빠른 finality"가 강점인 대신, validator 운영 품질이 성능과 안정성을 좌우합니다. 프로토콜 이해보다 운영 시뮬레이션과 장애 훈련이 더 중요합니다.