동현 유
척척석사
동현 유
전체 방문자
오늘
어제
  • 분류 전체보기 (181)
    • BlockChain (48)
      • [paper] Consensus (13)
      • [paper] Execution (19)
      • [paper] Storage (5)
      • [paper] ZKP (1)
      • [paper] Oracle (1)
      • Blockchains (9)
    • Java (19)
      • Java의 정석 (13)
      • Java 파헤치기 (5)
    • Python (20)
      • Python 뜯어보기 (6)
      • 데이터 분석 기초 (5)
      • Python 기초 강의 (6)
      • Python 기초 강의 부록 (3)
    • Golang (0)
    • MySQL (3)
      • programmers (2)
      • 기본 문법 (0)
    • 웹 프로젝트 (IBAS) (36)
      • Django 레거시 (14)
      • SpringBoot api 개편 (14)
      • Infra (3)
      • 서버 장애 기록 (4)
      • 신입팀원 교육 자료 (1)
    • CS (30)
      • Operating System (22)
      • Computer Security (3)
      • Network (4)
      • DBMS (1)
    • 책 (10)
      • 도메인 주도 설계 철저 입문 (9)
      • Real MySQL 8.0 (1)
    • BOJ 문제 풀이 (3)
    • 이러쿵저러쿵 (10)
    • 회고 (1)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
동현 유

척척석사

[논문 리뷰] Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus
BlockChain/[paper] Consensus

[논문 리뷰] Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus

2023. 4. 23. 00:50

Authors

  : George Danezis, Lefteris Kokoris-Kogias, Alberto Sonnino, and Alexander Spiegelman

 

Journal/Conference

  : EuroSys '22, New York, NY, USA, 34–50.

 

Source

  :  https://doi.org/10.1145/3492321.3519594

 


Abstract

  We propose separating the task of reliable transaction dissemination from transaction ordering, to enable high-performance Byzantine fault-tolerant quorum-based consensus. We design and evaluate a mempool protocol, Narwhal, specializing in high-throughput reliable dissemination and storage of causal histories of transactions. Narwhal tolerates an asynchronous network and maintains high performance despite failures. Narwhal is designed to easily scale-out using multiple workers at each validator, and we demonstrate that there is no foreseeable limit to the throughput we can achieve.

  Composing Narwhal with a partially synchronous consensus protocol (Narwhal-HotStuff) yields significantly better throughput even in the presence of faults or intermittent loss of liveness due to asynchrony. However, loss of liveness can result in higher latency. To achieve overall good performance when faults occur we design Tusk, a zero-message overhead asynchronous consensus protocol, to work with Narwhal. We demonstrate its high performance under a variety of configurations and faults.

  As a summary of results, on a WAN, Narwhal-Hotstuff achieves over 130,000 tx/sec at less than 2-sec latency compared with 1,800 tx/sec at 1-sec latency for Hotstuff. Additional workers increase throughput linearly to 600,000 tx/sec without any latency increase. Tusk achieves 160,000 tx/sec with about 3 seconds latency. Under faults, both protocols maintain high throughput, but Narwhal-HotStuff suffers from increased latency.


Introduction

  • Leader-based BFT protocols have leader-bottleneck.
  • Block message size (10MB) is larger than consensus message size (100B). Therefore, they should be separated.
  • Implemented Batched-HS(using WRBC), Narwhal-HS, and Tusk.

Narwhal

  : shared mempool protocol. A leader in any leader-based BFT protocols combined with Narwhal can just propose block hash and its own id (40B in Narwhal-HotStuff).

 

  • HotStuff-like round structure (Threshold Clock structure) => using qualified certificates, and \(O(n)\) bits complexity.
  • All parties are leaders, meaning that each party propose a block of transactions in a Threshold Clock structured way, and contructs a DAG locally using qualified certificates, which includes causual history of broadcasts.
  • Garbage collection
  • Adopt pull strategy to re-transmission for missing blocks at the next round.

DAG + Threshold qualified certificates + pull strategy => amortized O(n) communication complexity RBC with censorship resilience.


Tusk

  : fully asynchronous BFT protocol by combining Narwhal and modified DAG-Rider.

  • Replace RBC protocol \(O(n^2)\) to Narwhal \(O(n)\).
  • Remove weak-links for garbage collection.
  • Reduce the number of rounds per a wave. Therefore, the expected number of rounds is reduced from 5.5 rounds to 4.5 rounds 

Limitations

  • Fairness: slow authorities are indistinguishable from faulty ones, and as a result the protocol proceeds without them. This creates issues around fairness and incentives, since perfectly correct, but geographically distant authorities may only be able to commit transactions submitted to them much later --> fundamental limitation of asynchronous protocols
  • Censorship: Narwhal relies on clients to re-submit a transaction if it is not sequenced in time, due to the leader being faulty.
  • Narwhal 's scale-out approach places a new burden on the execution engine. The execution engine now needs to locate and retriever transaction data from the various workers
  • the high throughput of Narwhal and Tusk is only useful if there exist a transaction engine capable to match their speed.

'BlockChain > [paper] Consensus' 카테고리의 다른 글

[논문 세미나] Bullshark: DAG BFT Protocols Made Practical  (0) 2023.07.05
[KCC 2023] Survey on Asynchronous BFT consensus Algorithms for Scalable and Robust Blockchain  (2) 2023.06.21
[논문 세미나] HotStuff: BFT Consensus with Linearity and Responsiveness  (0) 2023.04.22
[논문 세미나] Practical Signature-Free ACS in Constant Time  (0) 2023.04.15
[논문 리뷰] Scaling Blockchain Consensus via a Robust Shared Mempool  (1) 2023.03.16
    동현 유
    동현 유
    Fault Tolerant System Researcher for more Trustful World and Better Lives. (LinkedIn: https://www.linkedin.com/in/donghyeon-ryu-526b8a276/)

    티스토리툴바