| 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 |
“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:
- PREPARE: Leader mengusulkan blok; replika mengirim suara prepare (bagian tanda tangan threshold)
- PRE-COMMIT: Leader mengagregasi suara menjadi “prepare QC” (quorum certificate); replika mengirim suara pre-commit
- COMMIT: Leader mengagregasi pre-commit QC; replika mengirim suara commit
- 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
- Yin, M. et al. (2019). HotStuff: BFT Consensus with Linearity and Responsiveness. PODC 2019. arxiv.org/abs/1803.05069