모카 차세대 BFT 합의 알고리즘

모카 차세대 BFT 합의 알고리즘
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

모카는 부분 동기식 모델을 기반으로 한 강한 일관성을 제공하는 비잔틴 결함 허용(BFT) 합의 프로토콜로, RAFT의 아이디어를 차용하면서도 공개 네트워크와 분산 원장(DLT) 환경에 최적화된 설계를 제시한다.

상세 분석

모카 알고리즘은 전통적인 RAFT의 리더‑팔로워 구조를 유지하면서, 비잔틴 공격에 대비한 추가적인 검증 메커니즘을 도입한다. 먼저 시스템은 부분 동기식(partial‑synchronous) 가정 하에 동작한다. 이는 네트워크 지연이 일정 시간 이하로 수렴한다는 전제이며, 이때 합의는 안전성(safety)과 진행성(liveness)을 동시에 보장한다. 모카는 각 라운드마다 새로운 리더를 선출하는데, 리더 후보는 이전 라운드의 로그와 현재 상태를 증명하는 서명을 포함한 ‘투표 요청(VoteRequest)’ 메시지를 전파한다. 비잔틴 노드가 존재하더라도, 다수(≥2f+1) 의 정직 노드가 동일한 서명을 검증하면 해당 제안은 유효하다고 판단한다.

합의 과정은 크게 두 단계로 나뉜다. ① 제안 단계에서는 리더가 제안값과 함께 최신 커밋 인덱스를 포함한 ‘제안 메시지(Proposal)’를 전송하고, 팔로워들은 이를 검증 후 ‘응답(Reply)’ 서명을 반환한다. ② 커밋 단계에서는 리더가 충분한 수의 응답 서명을 수집하면 ‘커밋 메시지(Commit)’를 브로드캐스트하고, 모든 정직 노드는 이를 최종 로그에 기록한다. 이때 커밋 메시지는 2f+1 서명을 포함해야 하므로, 비잔틴 노드가 임의로 조작하거나 거부하더라도 전체 시스템은 일관된 상태를 유지한다.

모카는 또한 ‘뷰 전환(View Change)’ 메커니즘을 제공한다. 리더가 일정 시간 내에 충분한 응답을 받지 못하면, 타임아웃이 발생하고 모든 노드는 새로운 리더 후보를 선정한다. 이 과정에서 각 노드는 자신이 마지막으로 본 커밋 인덱스와 해당 인덱스에 대한 서명을 포함한 ‘뷰 전환 요청(ViewChange)’을 전파한다. 다수의 노드가 동일한 뷰 전환 요청을 수신하면 새로운 리더가 즉시 선출되고, 이전 라운드의 미완료 제안은 폐기된다.

성능 측면에서 모카는 메시지 복잡도를 O(N) 수준으로 유지한다. 리더가 제안과 커밋을 전파하는 과정에서 각 노드와 일대일 통신을 수행하지만, 서명 집계(aggregate signature) 기법을 활용하면 네트워크 대역폭을 크게 절감할 수 있다. 또한 부분 동기식 모델 덕분에 최악의 경우에도 제한된 타임아웃 내에 진행성을 확보한다는 점이 특징이다.

보안 분석에서는 비잔틴 노드가 최대 f개일 때, 3f+1개의 전체 노드 중 2f+1개의 정직 노드가 일관된 서명을 제공함으로써 ‘정합성(Consistency)’과 ‘정전성(Liveness)’을 동시에 만족한다는 것을 증명한다. 특히 공개 네트워크 환경에서 노드 간 신뢰 관계가 없을 때도, 공개키 기반 서명과 투표 집계 방식을 통해 신뢰성을 확보한다.

마지막으로 모카는 기존 PBFT와 RAFT 대비 몇 가지 장점을 가진다. PBFT는 3단계(Pre‑Prepare, Prepare, Commit)와 복잡한 메시지 교환이 필요해 확장성이 떨어지는 반면, 모카는 2단계 구조와 뷰 전환 시 최소한의 오버헤드만을 요구한다. RAFT는 비잔틴 공격을 고려하지 않으므로 보안성이 낮지만, 모카는 동일한 리더‑팔로워 구조를 유지하면서 서명 기반 검증을 추가해 비잔틴 환경에서도 안전하게 동작한다. 이러한 설계는 특히 트랜잭션 처리량과 최종 확정성을 동시에 요구하는 DLT 시스템에 적합하다.


댓글 및 학술 토론

Loading comments...

의견 남기기