Sistem blockchain telah menjadi teknologi yang sangat andal termasuk dalam cryptocurrency. Namun, bagaimana memastikan rantai blok bisa tetap andal, efisien dan transparan? Kenali konsep Byzantine Fault Tolerance (BFT), cara kerja hingga contohnya dalam konteks blockchain. Pahami juga bagaimana kisah militer Kekaisaran Bizantium bisa berkaitan dengan konsep ini.
Apa itu Byzantine Fault Tolerance (BFT)?
Byzantine Fault Tolerance (BFT) adalah kemampuan sebuah sistem terdesentralisasi untuk menemukan dan menolak informasi palsu. Sistem blockchain yang permissionless terbilang sebagai Byzantine fault tolerant kalau sudah bisa mengatasi “Masalah Jendral Bizantium”.
Saat ini, siapa pun dapat bergabung dengan sistem terdesentralisasi yang permissionless dan mulai menyiarkan informasi. Jika sistem ini tidak toleran terhadap kesalahan Bizantium, anggota jaringan dapat memberikan informasi palsu ke sistem dan membahayakan keandalan jaringan. Inilah sebabnya mengapa BFT sangat penting.
Masalah Jendral Bizantium
Oke, kita berbicara mengenai teknologi, kenapa harus membawa-bawa tentara Kekaisaran Roma Timur alias Bizantium? Jadi, nama Byzantine Fault Tolerance itu berasal dari kisah Romawi mengenai tentara Bizantium yang sedang mengepung sebuah kota.
Tentara Bizantium terdiri dari beberapa divisi pasukan di posisi-posisi berbeda di luar kota yang sedang mereka kepung. Setiap divisi memiliki seorang jendral sebagai pemimpin, yang secara bersamaan harus memberikan perintah untuk melakukan serangan atau mundur. Perintah ini sangat penting karena kalau mereka menyerang di waktu berbeda, mereka bisa kalah. Mereka hanya bisa menang kalau menyerang secara bersamaan.
Namun, para jendral ini tidak memiliki jalur komunikasi yang aman tanpa harus mempercayai pihak terpusat. Artinya, pesan yang mereka kirimkan bisa saja mengalami penyadapan atau manipulasi dari pengkhianat yang mendukung pihak lawan. Bahkan, pesan tersebut bisa saja hilang saat pengiriman.
Di sisi lain, jika pesan tersebut sudah sampai dengan selamat, apakah pesan tersebut dapat dipercaya? Bagaimana jendral bisa tahu bahwa kurir tidak tertangkap atau berkhianat dan memberikan pesan palsu?
Untuk mengatasi dilema ini, para jendral butuh sebuah cara yang bisa menjamin bahwa:
- Semua jenderal yang setia akan setuju dan melaksanakan rencana yang sama.
- Para jenderal yang setia akan mengikuti aturan yang ditentukan.
- Jenderal yang jujur harus mencapai konsensus terlepas dari tindakan para pengkhianat.
- Jenderal yang setia tidak akan mengikuti rencana yang salah di bawah pengaruh jenderal yang tidak loyal.
Nah, kisah tersebut menjadi analogi untuk teori penggunaan teknologi sekarang yaitu Masalah Jendral Byzantium. Jadi itu adalah tantangan untuk meraih konsensus dari berbagai pihak di sebuah sistem terdesentralisasi, tanpa harus mempercayai pihak terpusat. Teori ini muncul dari pemikiran sekelompok ilmuwan komputer yang terdiri dari Leslie Lamport, Marshall Pease, dan Robert Shostak pada 1982.
Cara kerja BFT dalam blockchain
Blockchain adalah sistem terdesentralisasi tanpa otoritas pusat tepercaya yang dapat menyelesaikan masalah ini. Jaringan node blockchain mirip dengan permasalahan umum dalam teori permainan dalam penjelasan sebelumnya. Tidak ada pihak pusat yang dapat mereka percaya untuk membantu berkomunikasi satu sama lain secara aman. Namun, mereka harus mencapai konsensus agar jaringan dapat berjalan dengan lancar. Dilema yang sama berlaku dalam sistem blockchain karena node harus menyetujui tindakan yang sama dan melaksanakannya secara bersamaan.
Satoshi Nakamoto menawarkan solusi terhadap Masalah Jenderal Bizantium ketika ia menerbitkan whitepaper Bitcoin pada bulan Oktober 2008. Solusi ini hadir dalam bentuk mekanisme konsensus proof-of-work (PoW). Di sini, anggota jaringan mendeklarasikan sebuah blok valid jika memiliki bukti kerja otentik yang dilampirkan padanya, yang diwakili oleh hash. Deklarasi ini berarti bahwa semua node dalam jaringan blockchain telah mencapai konsensus, dan node penambangan dapat menambahkan blok tersebut ke dalam rantai. Blok adalah tempat di blockchain Bitcoin yang menyimpan data transaksi.
Hash PoW membuktikan bahwa ada upaya (work) untuk menghasilkan sebuah blok. Upaya ini berupa modal investasi para penambang Bitcoin pada listrik dan peralatan untuk menjalankan operasi penambangan dan memproduksi sebuah blok. Oleh karena itu, investasi ini membuat mereka enggan bertindak jahat terhadap jaringan. Proses penambangan yang mahal membuat blockchain Bitcoin sangat aman dan andal.
Tak hanya Bitcoin, blockchain lain menyelesaikan Masalah Jenderal Bizantium dengan algoritma konsensus yang berbeda. Misalnya, blockchain Ethereum menggunakan bukti kepemilikan atau Proof of Stake (PoS). Dalam Ethereum, anggota jaringan menaruh (staking) sebanyak 32 ETH atau kurang (tergantung pada metode taruhannya). Dengan taruhan tersebut, para staker enggan bertindak melawan jaringan. Staker bisa kehilangan seluruh taruhannya jika mereka bertindak tidak jujur.
Practical Byzantine Fault Tolerance
Toleransi Masalah Bizantium Praktis (pBFT) adalah algoritma konsensus yang berupaya untuk mentolerir kesalahan Bizantium (kegagalan node). Barbara Liskov dan Miguel Castro memperkenalkannya dalam makalah akademis tahun 1999 berjudul “Practical Byzantine Fault Tolerance.”
pBFT lebih baik daripada algoritma toleransi kesalahan Bizantium sebelumnya. Model ini mengasumsikan bahwa ada kegagalan node independen. Hal ini juga mengasumsikan bahwa node independen dapat menyiarkan pesan palsu.
Sistem berbasis pBFT memiliki satu node utama, atau bernama node leader. Node lainnya adalah node sekunder atau cadangan. Setiap node dalam sistem dapat menjadi node utama. Misalnya, jika node primer gagal, node sekunder dapat menjadi node primer. Node utama berubah pada setiap putaran konsensus pBFT. Mayoritas node yang jujur juga dapat memilih untuk menghapus node utama yang rusak dan menggantinya dengan node berikutnya.
Kelebihan Practical Byzantine Fault Tolerance
pBFT menawarkan beberapa keunggulan daripada algoritma konsensus lainnya, khususnya PoW. Keunggulan tersebut antara lain sebagai berikut:
- Finalitas transaksi: Model pBFT memberikan finalitas transaksi tanpa memerlukan konfirmasi. Jika node menyetujui validitas blok yang diusulkan, maka transaksi dalam blok tersebut bersifat final. Hal ini berbeda dengan PoW, di mana setiap node memverifikasi transaksi secara individual sebelum node penambangan menambahkannya ke dalam rantai. Konfirmasi Bitcoin, misalnya, memerlukan waktu sekitar 10 hingga 60 menit, tergantung pada jumlah node yang mengonfirmasi pemblokiran.
- Penggunaan energi yang rendah: Tidak seperti PoW, pBFT tidak memerlukan banyak energi karena tidak memerlukan node untuk memecahkan masalah matematika yang rumit. Penambang Bitcoin memerlukan listrik untuk mengeluarkan bukti kerja, yang dapat mengakibatkan konsumsi listrik yang tinggi.
- Pembayaran rewards merata: Di pBFT, semua node mengimplementasikan permintaan klien, yang berarti mereka semua menerima hadiah.
Jenis-jenis kegagalan Bizantium
Ada dua jenis kegagalan Bizantium: fail-stop dan node sewenang-wenang. Kegagalan fail-stop terjadi ketika sebuah node gagal dan berhenti bekerja. Sebaliknya, kegagalan node yang sewenang-wenang dapat terjadi ketika:
- Sebuah node merespon dengan hasil yang salah.
- Node gagal memberikan hasil.
- Sebuah node dengan sengaja membalas dengan hasil yang salah.
- Node merespons dengan hasil yang berbeda pada bagian jaringan yang berbeda.
Pentingnya Byzantine Fault Tolerance
Byzantine Fault Tolerance penting karena jaringan blockchain dapat beroperasi secara normal meskipun beberapa node menyiarkan informasi palsu atau berhenti bekerja. Pengguna kripto harus memahami toleransi kesalahan Bizantium terhadap blockchain yang koinnya mereka investasikan karena hal ini memberi tahu mereka seberapa aman transaksi kripto mereka.
Contoh variasi BFT
Byzantine Fault Tolerance pada blockchain akan bergantung pada algoritma konsensus yang diputuskan oleh pengembang untuk digunakan. Artinya tidak semua blockchain memiliki toleransi kesalahan Bizantium yang sama.
Beberapa algoritma konsensus yang paling umum meliputi:
- Proof-of-work
- Proof-of-stake
- Delegated proof-of-stake (DPoS)
- practical Byzantine Fault Tolerance (pBFT)
- Leased proof-of-stake (LPoS)
- Proof-of-importance (PoI)
- Proof-of-authority (PoA)
- Direct Acyclic Graph (DAG)
- Delegated Byzantine Fault Tolerance (dBFT)
- Proof-of-capacity (PoC)
- Proof-of-identity (PoI)
- Proof-of-activity (PoA)
- Proof-of-elapsed-time (PoET)
Kesimpulan
Jaringan Blockchain memerlukan mekanisme konsensus yang baik agar efisien dan sukses. Ada banyak algoritma konsensus di pasar, masing-masing beroperasi sedikit berbeda. Meskipun tidak ada jaringan blockchain yang sempurna, sistem Byzantine Fault Tolerance dari PoW dan PoS telah muncul sebagai pendekatan yang bagus untuk memecahkan Masalah Jenderal Bizantium.
Pertanyaan yang sering muncul
Bizantium Fault Tolerance adalah kemampuan sistem terdesentralisasi untuk terus bekerja dengan andal meskipun beberapa node bertindak jahat atau gagal. Istilah ini berasal dari analogi teori permainan yang disebut Masalah Jenderal Bizantium. Dalam analogi ini, beberapa divisi tentara Bizantium ditempatkan di lokasi berbeda di sekitar kota dengan tujuan menyerang. Para jenderal di setiap divisi mengandalkan seorang utusan untuk berkomunikasi satu sama lain. Namun, pembela kota dapat mencegat pesan tersebut dan mengubah atau menghancurkannya. Pengirim pesan juga bisa kehilangan pesannya saat transit. Terlebih lagi, jenderal yang tidak setia dapat mengubah pesan tersebut setelah berhasil menerimanya. Oleh karena itu, hambatan-hambatan ini dapat menghalangi para jenderal untuk melakukan serangan secara kolektif atau mundur pada saat yang bersamaan.
Proses Bizantium berupaya menjadikan sistem toleran terhadap kegagalan dengan menyelesaikan Masalah Jenderal Bizantium. Blockchain melakukan hal ini dengan menerapkan algoritme konsensus berbeda yang mencegah node bertindak jahat dengan cara berbeda.
Ya. Ethereum menggunakan mekanisme konsensus bukti kepemilikan (proof of stake) untuk menjadi toleransi kesalahan Bizantium. PoS mengharuskan para pemangku kepentingan untuk mengunci 32 ETH atau kurang — tergantung pada metode stakingnya — sehingga mencegah mereka bertindak jahat terhadap jaringan. Node yang tidak jujur atau node yang mengalami downtime atau bertindak jahat dengan sengaja dapat kehilangan sebagian atau seluruh ETH yang dipertaruhkan.
Ya. Bitcoin menggunakan algoritma konsensus proof-of-work untuk menjadi Byzantine Fault Tolerance. Node jaringan tidak dapat menyatakan suatu blok sebagai valid kecuali blok tersebut berisi hash bukti kerja, yang menunjukkan bahwa pekerjaan telah dilakukan untuk memproduksinya. Penambang melakukan pekerjaan ini melalui proses penambangan bitcoin, di mana mereka menginvestasikan banyak uang pada perangkat keras dan listrik untuk menghasilkan blok baru. Investasi yang tinggi ini mendorong para penambang untuk bertindak jujur karena uang mereka dipertaruhkan.
Penyangkalan
Seluruh informasi yang terkandung dalam situs kami dipublikasikan dengan niat baik dan bertujuan memberikan informasi umum semata. Tindakan apa pun yang dilakukan oleh para pembaca atas informasi dari situs kami merupakan tanggung jawab mereka pribadi. Prioritas kami adalah menyediakan informasi berkualitas tinggi. Kami meluangkan waktu untuk mengidentifikasi, meriset, dan membuat konten edukasi yang sekiranya dapat bermanfaat bagi para pembaca. Kami menerima komisi dari para mitra kami untuk penempatan produk atau jasa mereka dalam artikel kami, supaya kami bisa tetap menjaga standar mutu dan terus memproduksi konten yang luar biasa. Meski demikian, pemberian komisi ini tidak akan memengaruhi proses kami dalam membuat konten yang tidak bias, jujur, dan bermanfaat.