| Penulis | Buchman, Ethan; Kwon, Jae |
|---|---|
| Tahun | 2016 |
| Proyek | Tendermint Inc. / Interchain Foundation |
| Lisensi | Apache 2.0 |
| Sumber Resmi | atrium.lib.uoguelph.ca — Buchman MSc Thesis |
“Tendermint: Byzantine Fault Tolerance in the Age of Blockchains” adalah tesis MSc Ethan Buchman (University of Guelph, 2016), dikembangkan bersama Jae Kwon yang menerbitkan paper Tendermint awal pada 2014. Karya ini memformalkan Tendermint sebagai protokol konsensus BFT berbasis ronde dengan finalitas langsung, rotasi validator berbasis proof-of-stake, dan ABCI (Application BlockChain Interface) — arsitektur yang memisahkan mesin konsensus dari logika aplikasi. Tendermint menjadi tulang punggung ekosistem Cosmos dan puluhan blockchain lain.
Publikasi dan Konteks
Sebelum Tendermint, blockchain publik (Bitcoin, Ethereum) menggunakan Nakamoto Consensus — konsensus probabilistik di mana blok menjadi “cukup final” setelah cukup banyak blok berikutnya dibangun di atasnya. Ini berarti finalitas membutuhkan waktu menit hingga jam dan tidak pernah benar-benar absolut. Sistem keuangan tradisional membutuhkan finalitas deterministik.
BFT klasik (PBFT, 1999) mencapai finalitas langsung tetapi memiliki skalabilitas buruk: komunikasi O(n²) antar validator membuatnya tidak praktis untuk lebih dari ~20 node. Tendermint menyeimbangkan BFT dan praktikalitas: finalitas deterministik dalam hitungan detik dengan validator set yang bisa berkisar dari puluhan hingga ratusan node.
Protokol Inti: Struktur Ronde
Tendermint beroperasi dalam ronde. Setiap ronde terdiri dari empat langkah:
- Propose: Proposer yang ditunjuk (dipilih berdasarkan round-robin tertimbang stake) menyiarkan proposal blok
- Prevote: Semua validator menyiarkan prevote untuk blok yang diusulkan (atau nil jika menduga proposer bermasalah)
- Precommit: Validator yang menerima 2/3+ prevote untuk suatu blok menyiarkan precommit untuk blok tersebut
- Commit: Validator yang menerima 2/3+ precommit untuk blok yang sama mengkomitnya — blok tersebut final secara permanen
Jika suatu langkah timeout tanpa 2/3+ kesepakatan, ronde bertambah dan proposer baru dipilih. Mekanisme timeout ini memastikan liveness di bawah partial synchrony.
Mekanisme Lock dan Keamanan
Untuk mencegah validator mengkomit blok berbeda di ronde berbeda (equivocation), Tendermint menggunakan mekanisme lock:
- Saat validator menerima polka (2/3+ prevote) untuk blok B, validator tersebut “terkunci” pada B
- Validator terkunci hanya bisa prevote atau precommit B di ronde berikutnya — kecuali menerima polka untuk blok berbeda di ronde lebih tinggi
- Ini mencegah commit ganda bahkan jika jaringan terfragmentasi sementara
Keamanan: Membutuhkan 2/3+ validator jujur berdasarkan bobot stake.
Liveness: Membutuhkan sinkronisasi eventual (jaringan akhirnya mengirimkan pesan).
Finalitas: Langsung — tidak ada reorganisasi, tidak ada fork setelah dikomit.
ABCI: Pemisahan Mesin dari Aplikasi
Kontribusi arsitektur terpenting Tendermint adalah memisahkan konsensus dari aplikasi melalui ABCI (Application BlockChain Interface) — protokol socket yang memungkinkan aplikasi dalam bahasa apa pun berkomunikasi dengan Tendermint:
- DeliverTx: Mengirimkan transaksi ke aplikasi untuk dieksekusi
- CheckTx: Memvalidasi transaksi sebelum masuk ke mempool
- BeginBlock / EndBlock: Menandai awal dan akhir pemrosesan blok
- Commit: Mengkomit state baru
Cosmos SDK adalah framework Go yang mengimplementasikan ABCI, memungkinkan pengembang membangun blockchain dengan Tendermint consensus tanpa menulis logika konsensus sendiri.
Bukti Kesalahan dan Slashing
Misbehavior validator (menandatangani dua blok berbeda di ronde yang sama — bukti equivocation) dapat dideteksi dan dibuktikan secara on-chain. Validator yang terbukti melakukan equivocation kehilangan sebagian stake mereka (slashing). Insentif kriptoekonomi ini menegakkan perilaku jujur tanpa proof-of-work.
Keterbatasan
- Finalitas langsung mengorbankan availability: jika 1/3+ validator offline, rantai berhenti (tidak menghasilkan blok baru)
- Komunikasi O(n²) di antara validator membatasi ukuran set validator praktis (umumnya 100–175 validator)
- Membutuhkan validator set yang diketahui di muka — tidak cocok untuk lingkungan permissionless murni
Warisan dan Dampak
Tendermint menjadi protokol konsensus untuk Cosmos Hub, Terra, Osmosis, Binance Chain (BSC menggunakan fork), Cronos, dan puluhan chain di ekosistem Cosmos. HotStuff (digunakan oleh Diem/Libra Facebook) dan Casper FFG Ethereum terinspirasi sebagian dari Tendermint. CometBFT (fork komunitas Tendermint, 2023) melanjutkan pengembangan aktif.
Istilah Terkait
- Byzantine Fault Tolerance
- Konsensus Terdistribusi
- Cosmos Whitepaper
- Byzantine Generals Problem
- Algorand Whitepaper
Referensi
- Buchman, Ethan. “Tendermint: Byzantine Fault Tolerance in the Age of Blockchains,” MSc Thesis, University of Guelph, 2016
- Tesis lengkap (PDF)