Skip to main content
QUICK REVIEW

[논문 리뷰] Bullshark: DAG BFT Protocols Made Practical

Alexander Spiegelman, Neil Giridharan|arXiv (Cornell University)|2022. 01. 14.
Distributed systems and fault tolerance인용 수 13
한 줄 요약

BullShark는 부분적으로 동기 네트워크를 고려한 실용적인 DAG 기반 비잔틴 원자 브로드캐스트(BAB) 프로토콜을 소개한다. 이는 동기 상태 기간 동안 저지연성 빠른 경로를 제공하면서도 이성적 보장을 통한 장애 내성도 확보한다. 50명의 참여자 환경에서 125,000 TPS의 성능을 기록하며 2초의 지연 시간을 달성했으며, HotStuff 대비 지연 시간을 33% 감소시키고, throughput을 두 배로 높였다. 이는 최적의 통신 복잡도, 양자 컴퓨팅 대비 보안성, 그리고 Tusk에 대한 200줄의 확장 기능을 통한 공정성 유지라는 특징을 함께 확보한다.

ABSTRACT

We present Bullshark, the first directed acyclic graph (DAG) based asynchronous Byzantine Atomic Broadcast protocol that is optimized for the common synchronous case. Like previous DAG-based BFT protocols, Bullshark requires no extra communication to achieve consensus on top of building the DAG. That is, parties can totally order the vertices of the DAG by interpreting their local view of the DAG edges. Unlike other asynchronous DAG-based protocols, Bullshark provides a practical low latency fast-path that exploits synchronous periods and deprecates the need for notoriously complex view-change mechanisms. Bullshark achieves this while maintaining all the desired properties of its predecessor DAG-Rider. Namely, it has optimal amortized communication complexity, it provides fairness and asynchronous liveness, and safety is guaranteed even under a quantum adversary. In order to show the practicality and simplicity of our approach, we also introduce a standalone partially synchronous version of Bullshark which we evaluate against the state of the art. The implemented protocol is embarrassingly simple (200 LOC on top of an existing DAG-based mempool implementation (Narwhal & Tusk). It is highly efficient, achieving for example, 125,000 transaction per second with a 2 seconds latency for a deployment of 50 parties. In the same setting the state of the art pays a steep 50% latency increase as it optimizes for asynchrony.

연구 동기 및 목표

  • 이론적 DAG 기반 BFT 프로토콜과 실질적 구현 간 격차를 해소하기 위해 일반적인 동기 네트워크 조건을 최적화하는 것.
  • DAG 기반 합의 프로토콜에서 복잡한 뷰 전환 및 뷰 동기화 메커니즘의 필요성을 제거하는 것.
  • 빠른 경로 성능을 제공하면서도 최적의 평균 통신 복잡도, 이성적 활성화, 양자 컴퓨팅 대비 안정성을 유지하는 것.
  • 기존 DAG 기반 프로토콜에 대해 실용적이고 최소한의 코드(200줄)로 확장하여 고처리량과 저지연성을 동시에 달성하는 것.

제안 방법

  • BullShark는 각 정점이 트랜잭션 배치와 이전 라운드의 최소 2f+1개 정점에 대한 참조를 포함하는 구조화된 라운드 기반 DAG를 사용한다. 이는 추가 통신 없이 국소 DAG 해석을 통해 전체 순서를 보장한다.
  • 이중 모드 메커니즘을 도입하여 동기 상태 기간에는 빠른 경로를, 파동 전송 실패 시에는 이성적 합의로 전환한다. 각 실패한 파동 이후 투표 유형을 전환한다.
  • 효율적인 트랜잭션 배포를 위해 Narwhal 메모리풀을 활용하고, 안전성과 공정성을 확보하기 위해 신뢰할 수 있는 브로드캐스트 및 임계값 서명에 의존한다.
  • 메모리 사용량을 제한하면서도 동기 상태에서 공정성을 유지하기 위해 쓰레기 수거 메커니즘을 구현한다. 이는 이전의 반응형 프로토콜과 달리 느린 정상 참여자를 배제하지 않는다.
  • 부분적으로 동기 버전은 경량 200-LOC 구현을 통해 단일한 합의 패tern을 피하고, DAG 구조에 모든 필요한 정보를 통합함으로써 뷰 전환 논리를 제거한다.
  • DAG-Rider의 핵심 로직(30줄 미만의 의사코드)을 상속받아, 안전성이나 활성화를 희생시키지 않고 네트워크의 동기성을 활용하는 빠른 경로 메커니즘을 확장한다.

실험 결과

연구 질문

  • RQ1동기 네트워크 상태 기간 동안 저지연성 성능을 달성하면서도 이성적 상태에서 안전성과 활성화를 유지할 수 있는가?
  • RQ2DAG의 구조를 활용해 모든 조정 작업을 처리함으로써 DAG 기반 합의에서 복잡한 뷰 전환 및 뷰 동기화 메커니즘을 제거할 수 있는가?
  • RQ3기존 DAG 기반 프로토콜에 대해 실용적이고 최소한의 코드(200줄)로 확장한 프로토콜이 양자 컴퓨팅 대비 보안성이나 공정성을 훼손하지 않고도 고처리량과 저지연성을 달성할 수 있는가?
  • RQ4실제 환경에서 빠른 경로를 갖춘 DAG 기반 BAB 프로토콜의 성능은 최신 기술인 HotStuff와 Tusk와 비교해 어떻게 되는가?

주요 결과

  • BullShark는 50명의 참여자 환경에서 125,000 TPS의 처리량과 2초의 지연 시간을 기록하여 실제 환경 조건에서 높은 효율성을 입증했다.
  • 부분적으로 동기 버전은 Narwhal 메모리풀 기반으로 구축된 이성적 Tusk 프로토콜 대비 지연 시간을 33% 감소시켰다.
  • 동일한 환경 설정에서 BullShark는 부분적으로 동기 HotStuff 프로토콜의 처리량을 두 배로 높여 2배 높은 성능을 달성했다.
  • 프로토콜은 트랜잭션당 최적의 평균 통신 복잡도 O(n)을 유지하여 확장성을 보장한다.
  • 양자 공격자 조건 하에서도 BullShark는 양자 컴퓨팅 대비 보안성과 공정성(유효성)을 유지하여 안전성이 손상되지 않음을 입증했다.
  • 전체 프로토콜 확장은 Tusk 기반으로 단 200줄의 코드로 구성되어 있어 뛰어난 실용성과 단순성을 입증했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.