← 기술 문서 모듈 340

LPBFT 합의

경량 PBFT - 평상시 경량 검증, 비상시에만 합의 프로토콜 발동

개요

LPBFT(Lightweight Practical Byzantine Fault Tolerance)는 기존 PBFT의 무거운 통신 오버헤드를 개선한 합의 알고리즘입니다. 평상시에는 경량 검증만 수행하고, 이상 상황 발생 시에만 전체 합의 프로토콜을 발동합니다.

핵심 원리: "문제가 없으면 빠르게, 문제가 있으면 철저하게"

평상시 운영 (Normal Mode)

99% 이상의 거래는 평상시 경량 검증으로 처리됩니다.

  • Representative 노드의 서명만 확인
  • 머클 루트 비교를 통한 빠른 검증
  • 처리 시간: ~4ms

비상시 합의 (Emergency Mode)

이상 상황 감지 시 전체 PBFT 프로토콜이 발동됩니다.

PRE-PREPARE
PREPARE
COMMIT
REPLY
단계설명조건
PRE-PREPARE리더가 블록 제안리더 노드만
PREPARE노드들이 검증 투표2f+1 투표 필요
COMMIT최종 합의 확정2f+1 투표 필요
REPLY결과 반환클라이언트 응답

트리거 조건

다음 조건에서 비상 모드가 발동됩니다:

  • Representative 노드 응답 없음 (타임아웃)
  • 서명 불일치 또는 변조 감지
  • 하위 계층의 이상 보고
  • AI 이상 탐지 점수 임계값 초과

파라미터 설정

n (총 노드)

계층별 4~15개

f (장애 허용)

⌊(n-1)/3⌋

quorum (정족수)

2f+1

타임아웃

500ms

관련 시뮬레이션

→ LPBFT 합의 시뮬레이션 체험하기