[논문 리뷰] DispersedLedger: High-Throughput Byzantine Consensus on Variable Bandwidth Networks
DispersedLedger는 블록 동의를 대역폭 집약적인 블록 다운로드에서 분리함으로써 노드가 각자의 속도로 진행할 수 있도록 하는 비동기 Byzantine fault-tolerant (BFT) 합의 프로토콜이다. Verifiable Information Dispersal (VID)를 사용해 데이터 가용성을 보장하고, 전체 블록 다운로드 전에 블록 다이제스트에 투표할 수 있도록 함으로써, 실세계 광역망에서 HoneyBadger 대비 2배 높은 처리량과 74% 낮은 지연 시간을 달성한다.
The success of blockchains has sparked interest in large-scale deployments of Byzantine fault tolerant (BFT) consensus protocols over wide area networks. A central feature of such networks is variable communication bandwidth across nodes and across time. We present DispersedLedger, an asynchronous BFT protocol that provides near-optimal throughput in the presence of such variable network bandwidth. The core idea of DispersedLedger is to enable nodes to propose, order, and agree on blocks of transactions without having to download their full content. By enabling nodes to agree on an ordered log of blocks, with a guarantee that each block is available within the network and unmalleable, DispersedLedger decouples bandwidth-intensive block downloads at different nodes, allowing each to make progress at its own pace. We build a full system prototype and evaluate it on real-world and emulated networks. Our results on a geo-distributed wide-area deployment across the Internet shows that DispersedLedger achieves 2x better throughput and 74% reduction in latency compared to HoneyBadger, the state-of-the-art asynchronous protocol.
연구 동기 및 목표
- 광역망(WAN)에서 네트워크 대역폭이 변동적이고 비대칭적인 상황에서 발생하는 Byzantine fault-tolerant (BFT) 합의 프로토콜의 성능 저하 문제를 해결하기 위해.
- 대역폭이 변동하는 WAN 환경에서 느린 노드(지연자)가 진전을 방해함으로써 성능이 저하되는 상황에서도 고처리량 합의를 가능하게 하기 위해.
- 합의 과정을 완전한 블록 다운로드에서 분리함으로써, 빠른 노드가 느린 노드에 의해 차단되지 않도록 하기 위해.
- Verifiable Information Dispersal (VID)를 사용해, 노드가 블록을 완전히 다운로드하기 전에도 블록의 데이터 가용성을 보장하기 위해.
- 시간적·공간적 대역폭 변동이 발생하는 환경에서도 높은 성능을 유지할 수 있도록 설계된 시스템을 만들기 위해, 특히 지리적으로 분산된 환경에서의 적용을 고려하여.
제안 방법
- BFT 합의를 두 단계로 분해: (1) 블록 암호화(commitments, 예: Merkle 루트)에 대한 동의, (2) 각 노드가 자신의 대역폭 속도로 독립적으로 블록을 확보하는 것.
- Verifiable Information Dispersal (VID)를 사용해 블록 데이터를 노드 간에 저장하고 분산함으로써, 가용성 보장을 보장하고, Byzantine 동작 조건 하에서도 복구 가능하도록 함.
- 노드가 블록 분산이 성공적으로 완료된 것을 관찰한 즉시, 전체 블록 다운로드를 기다리지 않고도 블록 암호화에 투표할 수 있도록 허용함.
- 합의 단계를 블록 확보 과정에서 분리함으로써, 합의 진행이 가장 느린 노드에 의해 제한되지 않도록 함.
- 각 노드가 에러 코딩을 사용해 블록의 일부를 저장하는 블록 분산 메커니즘을 구현하고, 분산 완료에 대해 Byzantine Agreement (BA) 프로토콜을 사용해 동의함.
- 노드가 블록을 복원한 후에는 더 이상 조각을 전송하지 않도록 함으로써, 불필요한 트래픽을 줄이고 블록 확보를 최적화함.
실험 결과
연구 질문
- RQ1변동하는 대역폭을 가진 광역망에서, 일부 노드가 상당히 느릴 경우에도 BFT 합의 프로토콜이 근사 최적의 처리량을 달성할 수 있는가?
- RQ2대역폭 집약적인 블록 다운로드에서 합의를 분리함으로써, 지연자가 시스템 처리량을 저하시키는 것을 방지할 수 있는가?
- RQ3모든 노드가 투표하기 전에 전체 블록을 다운로드할 필요 없이도 블록의 데이터 가용성을 보장할 수 있는가?
- RQ4시간적·공간적 대역폭 변동 조건 하에서, 특히 실세계 인터넷 환경에서 프로토콜의 성능은 어떻게 되는가?
- RQ5128개 노드와 같은 큰 클러스터에 대해 프로토콜이 고처리량과 낮은 지연 시간을 유지하면서 얼마나 스케일업할 수 있는가?
주요 결과
- 실세계 지리적으로 분산된 환경에서 16개 주요 도시에 걸쳐 구현된 DispersedLedger는 HoneyBadger 대비 2배 높은 처리량과 74% 낮은 지연 시간을 달성한다.
- 시간적 대역폭 변동을 Gauss-Markov 과정으로 모델링한 제어 실험에서, DispersedLedger는 일정한 처리량을 유지하지만, HoneyBadger와 링킹 기능이 있는 HoneyBadger는 각각 20%와 25%의 처리량 감소를 보였다.
- 블록 크기와 클러스터 크기가 커질수록 블록 분산에 할애되는 트래픽 비율이 감소하여, 확장성 향상과 느린 노드의 부담 감소에 기여한다.
- 클러스터 크기가 16에서 128개 노드로 증가함에 따라 처리량이 약간 감소하는 경향이 있으나, 이는 Byzantine agreement 단계에서 O(N²) 메시징 비용이 발생하기 때문이며, 더 큰 블록 크기가 고정 비용을 분산시켜 이를 완화한다.
- 노드가 최소한의 대역폭으로 합의에 참여하고 나중에 블록 다운로드를 따라잡을 수 있기 때문에, 대역폭 변동에 강건한 성능을 유지한다. 이는 동적인 네트워크 조건에 대한 내성적 저항력을 제공한다.
- 프로토콜의 설계 덕분에 두 수준의 노드 역할이 가능하다: 고대역폭 노드는 빠르게 합의에 기여할 수 있고, 저대역폭 노드는 시스템을 차단하지 않고도 활성화된 상태를 유지할 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.