실행증명 기반 고성능 비잔틴 합의 프로토콜
초록
Proof‑of‑Execution(PoE)은 비잔틴 결함을 견디면서도 사전 실행(speculative execution)과 순서와 무관한 처리(out‑of‑order processing)를 도입해 정상 상황에서 통신·연산 비용을 크게 낮춘 합의 프로토콜이다. PoE는 MAC 혹은 임계 서명(threshold signature)을 선택적으로 사용하고, 응답 집계자를 없애 각 복제본이 직접 클라이언트에 결과를 반환한다. 실험 결과, 91개의 복제본과 320 k 클라이언트 환경에서 장애가 발생해도 기존 BFT 프로토콜 대비 최대 80 % 높은 처리량을 달성한다.
상세 분석
PoE는 기존 3단계 PBFT와 달리 2~3단계(선형 단계)만으로 합의를 마치며, 핵심 설계 요소는 네 가지(I1‑I4)이다.
(I1) 비발산 사전 실행(Non‑Divergent Speculative Execution)은 복제본이 “prepared” 상태에 도달하면 즉시 트랜잭션을 실행한다. 이때 실행 결과가 서로 다를 위험을 방지하기 위해, 복제본은 준비 단계에서 이미 다수(≥ nf)로부터 준비 확인을 받는다. 따라서 실행 전후의 상태가 일관성을 유지한다.
(I2) 안전한 롤백 메커니즘은 악의적인 프라이머리나 네트워크 분할 상황에서 일부 복제본만이 트랜잭션을 실행했을 경우, 클라이언트가 충분한 수(nf ≥ 2f + 1)의 동일 응답을 받지 못하면 해당 요청을 롤백한다. “Proof‑of‑Execution”(POE) 증명은 nf개의 일치 응답을 모아 생성되며, 이는 해당 트랜잭션이 영구히 시스템에 기록됨을 보장한다.
(I3) 서명 방식 독립성은 MAC과 임계 서명 중 상황에 맞게 선택한다. 소규모 클러스터에서는 MAC을 이용해 비용이 낮은 대칭 암호를 사용하고, 대규모 환경에서는 임계 서명을 통해 전체 통신을 O(n)으로 선형화한다. 임계 서명은 2단계(공유 서명 → 집계 서명)로 구현돼 기존 PBFT의 2·n² 복잡도를 크게 감소시킨다.
(I4) 응답 집계자 회피는 SBFT와 Zyzzyva에서 사용되는 “executor” 혹은 “collector”를 없애, 모든 복제본이 직접 클라이언트에 결과와 서명을 전송한다. 이는 추가 라운드와 단일 장애점(single point of failure)을 제거하고, 클라이언트 지연을 최소화한다.
PoE는 또한 “out‑of‑order processing”을 지원한다. 프라이머리는 윈도우 기반의 low‑watermark와 high‑watermark 사이에 있는 모든 요청을 연속적으로 전파하고, 복제본은 k번째 요청이 윈도우 안에 있으면 즉시 실행한다. 이는 네트워크 지연이 큰 환경에서도 파이프라인 효과를 얻어 처리량을 극대화한다.
프로토콜은 뷰 체인지(view‑change) 절차를 포함해 프라이머리 장애 시 롤백된 요청들을 재전파하고, 새로운 프라이머리에게 상태를 동기화한다. 이 과정에서도 선형 단계와 MAC/임계 서명을 유지해 오버헤드를 최소화한다.
성능 평가에서는 ResilientDB에 PoE와 Zyzzyva, PBFT, SBFT, HSBFT를 구현해 91개의 복제본, 320 k 클라이언트, 다양한 장애 시나리오(프라이머리/백업 장애, 배치, 무페이로드)에서 실험했다. 정상 상황에서는 PoE가 기존 프로토콜 대비 30‑80 % 높은 TPS를 보였으며, 장애 상황에서도 평균 50 % 이상의 성능 우위를 유지했다. 특히, PoE는 “두 단계만으로 합의”라는 설계 덕분에 클라이언트 응답 지연이 최소화돼 실시간 데이터 관리와 퍼미션드 블록체인에 적합함을 입증했다.
댓글 및 학술 토론
Loading comments...
의견 남기기