Sejak awal Bitcoin pada tahun 2008 sebagai sistem keuangan elektronik peer-to-peer, banyak mata uang digital telah diciptakan, masing-masing beroperasi dengan mekanisme khusus. Namun satu kesamaan yang dimiliki semua mata uang digital adalah blockchain sebagai elemen dasar dalam strukturnya.
Semua blockchain sengaja dirancang untuk terdesentralisasi dan dengan sedikit pengecualian, mereka bertindak sebagai buku besar digital yang dikelola oleh jaringan node komputer terdistribusi. Oleh karena itu, teknologi blockchain telah memungkinkan terciptanya sistem ekonomi yang dapat dipercaya dimana transaksi keuangan dapat dilakukan secara transparan dan dapat diandalkan tanpa memerlukan perantara.
Penggunaan mata uang digital saat ini digunakan sebagai alternatif terhadap sistem perbankan tradisional dan metode pembayaran yang sangat bergantung pada kepercayaan.
Seperti halnya di sebagian besar sistem komputasi terdistribusi, peserta dalam jaringan mata uang kripto harus secara teratur menyepakati keadaan saat ini di mana blockchain beroperasi. Inilah yang kami sebut sebagai pencapaian konsensus. Namun, mencapai konsensus mengenai jaringan terdistribusi dengan cara yang aman dan terlindungi adalah tugas yang sangat sulit.
Jadi, bagaimana jaringan node komputer yang terdistribusi dapat menyetujui apakah beberapa node kemungkinan besar akan gagal atau bertindak secara ilegal? Inilah pertanyaan mendasar yang disebut Masalah Jendral Bizantium yang menjadi asal muasal konsep Toleransi Kesalahan Bizantium.
Apa masalah para jenderal Bizantium?
Singkatnya, Masalah Jenderal Bizantium tahun 1982 dipahami sebagai dilema logis yang menggambarkan bagaimana sekelompok jenderal Bizantium mungkin mengalami masalah dalam berkomunikasi satu sama lain ketika mencoba menyepakati langkah selanjutnya dalam rencana mereka.
Dilema ini mengasumsikan bahwa setiap jenderal memiliki pasukannya sendiri, bahwa setiap kelompok berlokasi di lokasi berbeda di sekitar kota yang ingin ia serang, dan bahwa setiap jenderal harus setuju untuk menyerang atau mundur. Tidak masalah apakah mereka menyerang atau mundur selama semua jenderal mencapai konsensus yaitu menyepakati keputusan bersama untuk melaksanakannya secara terkoordinasi.
Oleh karena itu, kami dapat mempertimbangkan tujuan berikut:
Setiap jenderal harus memutuskan: menyerang atau mundur (ya atau tidak).
Sekali keputusan sudah dibuat, keputusan itu tidak dapat diubah.
Semua jenderal harus menyepakati keputusan yang sama dan melaksanakannya secara sinkron.
Permasalahan komunikasi di atas berkaitan dengan kenyataan bahwa setiap jenderal hanya dapat berkomunikasi dengan jenderal lainnya melalui pesan yang dikirimkan oleh pengangkut/kurir. Oleh karena itu, tantangan utama bagi para jenderal Bizantium adalah bahwa pesan dapat tertunda, rusak, atau hilang.
Selain itu, meskipun pesan berhasil disampaikan, satu atau lebih jenderal dapat (untuk alasan apa pun) memilih untuk bertindak jahat dan mengirimkan pesan palsu untuk membingungkan jenderal lainnya, sehingga menyebabkan kegagalan misi sepenuhnya.
Jika kita menerapkan dilema ini dalam konteks blockchain, setiap gen mewakili node jaringan dan node tersebut harus mencapai konsensus mengenai keadaan sistem saat ini. Dengan kata lain, mayoritas peserta dalam jaringan terdistribusi harus menyetujui dan melakukan tindakan yang sama untuk menghindari kegagalan total.
Oleh karena itu, satu-satunya cara untuk mencapai konsensus dalam sistem terdistribusi jenis ini adalah dengan memiliki ⅔ (dua pertiga) atau lebih node yang jujur. Artinya, jika sebagian besar jaringan memutuskan untuk bertindak jahat, sistem akan rentan terhadap kegagalan dan serangan (misalnya serangan 51%).
Toleransi Kesalahan Bizantium - BFT
Singkatnya, toleransi kesalahan Bizantium (BFT) adalah properti sistem yang mampu menahan jenis kegagalan yang berasal dari Masalah Jenderal Bizantium. Artinya, sistem BFT dapat terus beroperasi meskipun beberapa node gagal atau berperilaku jahat.
Ada lebih dari satu kemungkinan solusi untuk masalah Jenderal Bizantium, dan ini berarti ada banyak cara untuk membangun sistem BFT. Demikian pula, ada beberapa pendekatan berbeda pada blockchain untuk mencapai toleransi kesalahan Bizantium dan ini membawa kita pada apa yang disebut algoritma konsensus.
Algoritma konsensus Blockchain
Kita dapat mendefinisikan algoritma konsensus sebagai mekanisme yang melaluinya jaringan blockchain mencapai konsensus. Aplikasi yang paling umum adalah Proof of Work (PoW) dan Proof of Stake (PoS). Tapi mari kita ambil kasus Bitcoin sebagai contoh.
Meskipun protokol Bitcoin menetapkan aturan dasar sistem, algoritme konsensus yang dikenal sebagai Proof of Work (PoW) yang menentukan bagaimana aturan ini diikuti untuk mencapai konsensus (misalnya, selama verifikasi transaksi).
Meskipun konsep Proof of Work lebih tua dari mata uang kripto, Satoshi Nakamoto mengembangkan versi modifikasinya sebagai algoritma yang memungkinkan terciptanya Bitcoin sebagai sistem BFT.
Perhatikan bahwa algoritma Proof of Work (PoW) tidak 100% toleran terhadap kesalahan Bizantium, namun karena proses penambangan dan teknik kriptografi yang memakan banyak biaya, PoW telah terbukti menjadi salah satu implementasi jaringan blockchain yang paling aman dan dapat dipercaya.
Oleh karena itu, algoritma Proof of Work yang dirancang oleh Satoshi Nakamoto digunakan oleh banyak orang sebagai salah satu solusi paling cerdik untuk kesalahan Bizantium.
Kesimpulan
Permasalahan para jenderal Bizantium merupakan dilema menarik yang akhirnya memunculkan sistem BFT yang banyak diterapkan dalam berbagai skenario. Bahkan di luar industri blockchain, beberapa kasus penggunaan BFT mencakup industri penerbangan, luar angkasa, dan energi nuklir.
Dalam konteks mata uang digital, memiliki jaringan komunikasi yang efisien serta mekanisme konsensus sangat penting untuk sistem blockchain apa pun. Mengamankan sistem ini merupakan upaya berkelanjutan dan algoritme konsensus yang ada masih berupaya mengatasi beberapa keterbatasan (seperti skalabilitas). Namun, Proof of Work (PoW) dan Proof of Stake (PoS) adalah dua pendekatan yang sangat menarik untuk sistem BFT dan potensi penerapannya tentunya menjadi sumber inspirasi yang luas.
