선형 통신량을 구현한 차세대 BFT 프로토콜 LinBFT
초록
LinBFT는 퍼블릭 블록체인 환경을 위해 설계된 새로운 비잔틴 결함 허용(BFT) 프로토콜이다. 기존 PBFT의 $O(n^4)$ 통신 복잡도를 세 가지 기법—선형 뷰 체인지, 임계 서명, 검증 가능한 난수 함수(VRF)—을 결합해 평균 $O(n)$ 로 낮춘다. 안전성과 활성을 결정론적으로 보장하면서도 익명 참여자, 스테이크 기반 슬래싱, 리더 회전, 동적 참여자 집합 등을 지원한다.
상세 분석
LinBFT는 기존 PBFT가 갖는 통신 복잡도 $O(n^4)$ 를 크게 감소시키는 구조적 혁신을 제시한다. 첫 번째 핵심은 선형 뷰 체인지 메커니즘이다. PBFT에서는 뷰 전환 시 모든 노드가 서로에게 상태를 전파해야 하므로 $O(n^2)$ 메시지가 발생한다. LinBFT는 새로운 리더가 선정될 때 기존 리더가 현재 상태를 압축한 임계 서명(aggregate signature) 형태로 하나의 메시지만 전송하도록 설계한다. 이때 사용되는 임계 서명은 BLS 서명을 기반으로 하며, $n$개의 서명을 $O(1)$ 크기의 하나의 서명으로 집계한다. 결과적으로 뷰 전환 과정에서 발생하는 통신량이 $O(n)$ 로 감소한다.
두 번째 기법은 임계 서명 자체이다. 블록 제안 단계와 커밋 단계 모두에서 각 노드가 개별 서명을 전송하는 대신, 수신된 서명을 즉시 집계해 새로운 임계 서명을 생성한다. 이렇게 하면 각 라운드당 전체 네트워크가 교환하는 데이터 양이 선형 수준에 머무른다. 또한, 임계 서명은 검증이 $O(1)$ 로 가능하므로 검증 비용도 크게 절감된다.
세 번째는 검증 가능한 난수 함수(VRF) 를 이용한 리더 선정 메커니즘이다. 전통적인 PBFT는 고정된 순서의 리더를 사용하거나, 복잡한 합의 기반의 리더 교체를 수행한다. LinBFT는 각 라운드 시작 시 모든 노드가 동일한 VRF 입력(예: 이전 블록 해시와 라운드 번호)을 사용해 난수를 생성하고, 이를 기반으로 리더를 무작위로 선택한다. 이 과정은 비대칭 암호 연산 하나만 필요하므로 통신 비용이 거의 발생하지 않으며, 리더가 악의적일 경우에도 빠른 뷰 체인지이므로 안전성을 유지한다.
LinBFT는 퍼블릭 블록체인 특수성도 고려한다. 익명 참여자를 위한 공개키 인프라가 없다는 점을 감안해, 초기 가입 시 각 노드가 자체적으로 키 쌍을 생성하고 이를 체인에 등록한다. 이후에는 스테이크 기반 슬래싱 메커니즘을 도입해, 악의적 행동을 감지하면 해당 노드의 스테이크를 몰수한다. 슬래싱은 임계 서명에 포함된 스테이크 정보를 활용해 자동으로 집계되므로 별도의 복잡한 절차가 필요 없다. 또한, 동적 참여자 집합을 지원하기 위해 프로토콜은 매 블록마다 최신 참여자 리스트를 업데이트하고, 새로운 노드가 합류하거나 기존 노드가 탈퇴할 경우에도 임계 서명 구조가 깨지지 않도록 설계되었다.
안전성 증명에서는 결정론적 안전과 결정론적 활성을 각각 두 가지 정리로 제시한다. 안전성은 3f+1 중 2f+1 이상의 정직 노드가 존재할 경우, 서로 다른 두 블록이 동일한 높이에서 동시에 커밋될 수 없음을 보인다. 활성은 네트워크 지연이 $\Delta$ 이하이고, 악의적 노드 비율이 $f < n/3$ 이하일 때, 일정 시간 내에 새로운 블록이 최종 확정됨을 증명한다. 이 두 정리는 기존 확률적 보장에 비해 훨씬 강력한 보장을 제공한다.
실험 결과는 시뮬레이션 환경에서 n=1000까지 확장했을 때, LinBFT가 평균 통신량을 $O(n)$ 수준으로 유지하면서 처리량이 기존 PBFT 대비 510배 향상됨을 보여준다. 특히, 뷰 체인지가 빈번히 발생하는 악조건에서도 통신량 급증이 없으며, 라운드 지연도 23배 이하로 억제된다.
종합적으로 LinBFT는 세 가지 기존 기술을 조합해 선형 통신 복잡도를 달성하면서도, 퍼블릭 블록체인에 필수적인 익명성, 스테이크 기반 인센티브, 동적 참여자 관리 등을 자연스럽게 통합한 최초의 결정론적 BFT 프로토콜이라 할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기