Apa Itu Byzantine Fault Tolerance?

Apa itu byzantine fault tolerance? Seperti apa itu byzantine fault tolerance? Apa hubungannya dengan blockchain dan kriptokurensi?

Blockchain merupakan teknologi yang dapat digunakan untuk mencatat sesuatu seperti transaksi dan lainnya. Blockchain memungkinkan kita bertransaksi tanpa melalui orang ketiga. Blockchain tersusun dari blok – blok yang saling terhubung, yang mana tiap bloknya bisa mencatat transaksi dan dapat ditambang. Kebanyakan blockchain saat ini bersifat desentralisasi dan memiliki sistem yang terdistribusi. Contoh blockchain yang bersifat desentralisasi dan memiliki sistem terdistribusi adalah Bitcoin, Ethereum, dan Free TON Blockchain. Semua nodes (perangkat atau peserta yang berada di dalam jaringan blockchain) harus secara teratur setuju dengan kondisi blockchain saat ini (mencapai konsensus). Kenapa harus mencapai konsensus? Untuk menghindari kegagalan. Nodes bertugas untuk menjaga jaringan blockchain, seluruh nodes harus mencapai konsensus agar blok baru dan transaksi yang terjadi terverifikasi. 

Baca juga :
Jenis – Jenis Algoritma Konsensus Pada Blockchain Protocol

Berkenalan Dengan Free TON Blockchain

Nodes adalah singkatan dari network of multiple devices. Jaringan blockchain terdiri dari banyak node yang tersebar dan saling terhubung melalui internet. Untuk mencapai konsensus, semua nodes harus setuju. Tetapi mencapai konsensus secara aman di sistem terdistribusi bukanlah hal yang mudah. Ada kalanya terdapat node yang error ataupun bertindak jahat yang dapat menyebabkan kegagalan sistem. 

Dari mana asal nama Byzantine Fault Tolerance (BFT)? Kenapa disebut Byzantine Fault Tolerance (BFT)? Pada tahun 1982 terdapat sebuah publikasi eksperimen pemikiran yang diterbitkan dengan judul “The Byzantine Generals Problem” karya Leslie Lamport, Robert Shostak, dan Marshall Pease. Publikasi menjelaskan terdapat beberapa jenderal byzantine yang mengepung sebuah kota. Mereka berada di titik yang berbeda dengan pasukan masing – masing. Mereka perlu mencapai konsensus (setuju) untuk menyerang atau tidak.  Terdapat satu jenderal yang secara khusus memerintahkan kepada jenderal – jenderal lainnya. 

Cara satu – satunya untuk mengirim perintah adalah berkomunikasi melalui pesan. Mereka juga mengetahui bahwa terdapat jenderal yang jahat atau berkhianat. Ketika jenderal – jenderal menerima perintah dari jenderal khusus, mereka mengirim pesan satu sama lain untuk menyerang atau tidak. Mereka harus menyerang bersamaan untuk menang. Masalah yang muncul pada saat mengkomunikasikan pesan disebut byzantine generals problem, misalnya pesan yang dikirim bisa saja hilang, gagal diterima, atau dipalsukan. Beberapa jenderal bisa saja adalah musuh dalam selimut yang berkhianat sehingga pendapat mereka merupakan pendapat yang menjatuhkan dan palsu seperti berkata akan menyerang tetapi tidak melakukannya sehingga jenderal yang lainnya akan menyerang dan kalah dalam pertempuran. Sama seperti sistem terdistribusi, setiap nodes harus setuju untuk melakukan hal yang sama untuk menghindari kegagalan sistem. 

Lalu bagaimana caranya agar sistem terdistribusi tidak mengalami kegagalan walaupun ada nodes yang jahat atau error? Byzantine generals problem melahirkan konsep Byzantine Fault Tolerance (BFT). BFT adalah konsep dimana sistem BFT akan tetap membiarkan sistem terdistribusi berjalan walaupun terdapat nodes yang berlaku jahat atau gagal mengirim pesan. 

Byzantine Fault Tolerance merupakan kemampuan sebuah sistem untuk menahan kegagalan komponen – komponennya dengan tetap mempertahankan dirinya sendiri. Untuk mencegah kerusakan jaringan karena nodes yang berlaku jahat, BFT menggunakan beberapa sistem komponen yang saling melakukan cross-check dan mencapai konsensus atau setuju pada bagaimana cara memprosesnya. Jika seluruh komponen atau nodes setuju tetapi ada komponen yang tidak setuju dan bereaksi jahat, BFT akan membuat sistem tetap berjalan tanpa ada kerusakan atau kegagalan. Tetapi, jika terlalu banyak nodes yang jahat, BFT bisa rusak dan sistem mengalami kegagalan. Jangan khawatir, arsitektur blockchain dapat berkembang lebih baik, dan masalah ini sudah diselesaikan oleh para expert blockchain. Tetapi BFT tetap menjadi prinsip dasarnya. 

Terimakasih, dan semoga bermanfaat:)

Baca juga : Apa Itu Cascading Stylesheets (CSS)?

Sumber :

Lamport, Leslie., Robert Shostak., dan Marshall Pease. The Byzantine Generals Problem. ACM 4, 3 (3 July 1982)  382-401.

https://www.youtube.com/watch?v=2c_Z2EMHPnY

https://zipmex.com/id/learn/distributed-vs-decentralized/

https://id.freeton.wiki/Perbandingan_Free_TON_dengan_proyek_Blockchain_lainnya#Perbandingan_antara_DPOS_dengan_BFT_PoS

https://id.freeton.wiki/Free_TON_Wiki

https://freeton.org/