HotStuff: Konsensus BFT dengan Komunikasi Linear dan Responsivitas

Penulis Yin, Maofan; Malkhi, Dahlia; Reiter, Michael K.; Gueta, Guy Golan; Abraham, Ittai
Tahun 2019
Proyek HotStuff / VMware Research
Lisensi arXiv Open Access
Sumber Resmi arxiv.org/abs/1803.05069
Disclaimer: Halaman ini merupakan ringkasan dan analisis edukatif dari whitepaper atau makalah teknis resmi. Konten ini disajikan untuk tujuan pendidikan semata dan bukan merupakan saran investasi atau keuangan. Selalu baca dokumen asli dan lakukan riset mandiri sebelum mengambil keputusan keuangan apa pun.

“HotStuff: BFT Consensus with Linearity and Responsiveness” oleh Maofan Yin, Dahlia Malkhi, Michael Reiter, Guy Golan Gueta, dan Ittai Abraham memperkenalkan protokol konsensus BFT baru yang mencapai dua properti yang sebelumnya tidak bisa dijamin bersamaan oleh protokol BFT mana pun: komunikasi linear O(n) per ronde konsensus dan responsivitas (kemajuan di kecepatan penundaan jaringan aktual, bukan timeout terburuk). HotStuff menjadi fondasi untuk Diem (Libra Facebook), kemudian AptosBFT (Aptos) dan Bullshark/Narwhal (Sui).

Publikasi dan Konteks

PBFT (Castro & Liskov, 1999) menetapkan konsensus BFT sebagai praktis tetapi memiliki komunikasi O(n²) — tidak dapat digunakan di skala besar. Tendermint (2016) meningkatkan ini tetapi masih memerlukan O(n²) dalam beberapa jalur. Wawasan utama HotStuff: dengan menambahkan fase “prepare” ekstra dan menggunakan tanda tangan threshold (BLS aggregation), view change menjadi O(n) bukan O(n²).

Facebook Research (Calibra) mengadopsi HotStuff untuk blockchain Diem, menghasilkan DiemBFT v4 (2021). Setelah Diem ditutup (2022), tim mendirikan Aptos dan Mysten Labs (Sui), keduanya membawa konsensus keturunan HotStuff.

Desain Protokol

Wawasan kunci — tanda tangan threshold: View change PBFT memerlukan penyiaran 2f+1 tanda tangan individual, menciptakan komunikasi O(n²). HotStuff mengagregasi tanda tangan menggunakan skema threshold (BLS): satu tanda tangan teragregasi merepresentasikan 2f+1 suara, mereduksi komunikasi view change ke O(n).

Empat fase per ronde konsensus:

  1. PREPARE: Leader mengusulkan blok; replika mengirim suara prepare (bagian tanda tangan threshold)
  2. PRE-COMMIT: Leader mengagregasi suara menjadi “prepare QC” (quorum certificate); replika mengirim suara pre-commit
  3. COMMIT: Leader mengagregasi pre-commit QC; replika mengirim suara commit
  4. DECIDE: Leader menyiarkan commit QC; replika mengeksekusi dan mengkomit blok

Setiap QC adalah satu tanda tangan threshold teragregasi — kecil dan cepat diverifikasi.

Pipelined HotStuff

Dalam praktiknya, empat fase di-pipeline: sementara satu blok dalam COMMIT, blok berikutnya dalam PRE-COMMIT, dan blok setelahnya dalam PREPARE. Ini berarti setiap blok hanya menambahkan satu ronde latensi, mencapai throughput mendekati optimal.

Chained HotStuff (digunakan di Diem/Aptos) mengaitkan QC sehingga commit blok bersifat implisit ketika tiga blok berturutan memperpanjangnya — mereduksi protokol ke struktur satu fase per blok yang bersih dengan keamanan tiga fase.

Warisan

HotStuff mewakili state of the art dalam konsensus BFT praktis. Semua sistem L1 kinerja tinggi modern yang membutuhkan finalitas deterministik (bukan probabilistik) menggunakan protokol keturunan HotStuff.

Istilah Terkait

Referensi