Byzantine Fault Tolerance dalam Bitcoin

Rafi Raihan
4 min readNov 19, 2020

Bitcoin dianggap sebagai cryptocurrency modern pertama di dunia. Mengapa? Karena bitcoin adalah cryptocurrency pertama yang dapat digunakan oleh orang banyak; menggabungkan aspek desentralisasi, anonimitas pengguna, dan pencatatan transaksi menggunakan blockchain. Hal tersebut membuat bitcoin menjadi cryptocurrency yang paling terkenal di dunia. Bitcoin menempati posisi pertama di situs coinmarketcap sebagai cryptocurrency yang memiliki market cap dan volume terbesar di dunia.

Sejarah Bitcoin

Pada akhir tahun 2008, saat krisis moneter melanda, sebuah posting terobosan muncul di forum internet yang berjudul Bitcoin: Sistem uang elektronik peer-to-peer. Post tersebut ditulis oleh orang misterius bernama Satoshi Nakamoto; nama samaran yang digunakan untuk menyamarkan identitas asli penulis.

Satoshi berpendapat bahwa bank dan pemerintah memiliki kekuasaan yang terlalu besar. Mereka menggunakan kekuasaan tersebut untuk kepentingan pribadi mereka sendiri. Satoshi membayangkan jenis uang baru yang disebut Bitcoin yang dapat mengubah kondisi tersebut: cryptocurrency yang tidak dikendalikan atau dijalankan oleh bank sentral atau pemerintah, yang dapat Anda kirim ke mana pun di seluruh dunia secara gratis, tanpa ada orang atau lembaga yang mengontrol.

Awalnya, tidak ada yang memperhatikan ide liar Satoshi ini tetapi perlahan-lahan semakin banyak orang mulai membeli dan menggunakan Bitcoin. Banyak yang percaya bahwa bitcoin ini adalah masa depan uang. Saat tingkah laku bank-bank besar menjadi semakin buruk, bitcoin menjadi semakin populer.

Sejak diluncurkan pada tahun 2009, Bitcoin telah berkembang menjadi jaringan yang berisi sekitar 10.000 node yang menggunakan proof-of-work untuk memvalidasi transaksi dan menambang (mining) bitcoin.

Byzantine Generals’ Problem

Sifat blockchain yang terdesentralisasi membuat pencapaian keputusan terhadap suatu aktifitas di dalam jaringan menjadi sulit. Proses perhitungan data yang ada di dalam blockchain memerlukan kesimpulan umum tentang status data dari semua partisipan yang ada di dalam jaringan.

Kesimpulan ini dikenal sebagai konsensus. Konsensus adalah salah satu bagian terpenting dari arsitektur blockchain.

Namun, karena sifat blockchain yang terdistribusi, partisipan di dalam jaringan blockchain akan bertingkah laku sesuai dengan insentif yang akan mereka dapatkan. Keputusan yang mereka ambil juga akan didasarkan pada berbagai jenis informasi yang mereka miliki.

Konsensus perlu dicapai secara konsisten untuk memastikan blockchain berjalan dengan mulus. Namun, pencapaian konsensus akan lebih sulit jika terdapat banyak “aktor” di dalam suatu jaringan. Konsensus di dalam blockchain dapat dicapai dengan memecahkan masalah lama yang dikenal sebagai Byzantine Generals’ Problem.

Apa itu Byzantine Generals’ Problem?

Byzantine Generals’ Problem adalah istilah yang digunakan dalam komputasi untuk menunjukkan situasi di mana komponen tertentu dari sistem akan tidak berfungsi jika partisipan tidak menyetujui strategi bersama untuk menangani masalah tersebut.

Di dalam kondisi tersebut, dapat diasumsikan bahwa terdapat “bad actor” di dalam jaringan yang menyebarkan informasi yang salah dengan cara tertentu.

Misalnya,

Jika ada suatu kota yang hanya bisa diambil alih hanya dengan serangan bersama dari banyak pasukan, maka pasukan tersebut diharuskan untuk bekerja sama dan menyerang kota. Namun, dalam situasi di mana ada jumlah pasukan yang ganjil, konsensus bersama harus dicapai di antara semua peserta agar berhasil melancarkan serangan.

Namun, jenderal tertentu dari beberapa pasukan memilih untuk tidak setuju menyerang kota, yang menyebabkan kegagalan serangan tersebut. Tugas yang diminta (menyerang kota) tidak dilakukan karena ketidaksepakatan oleh bad actor tersebut.

Kegagalan ini dikenal sebagai Byzantine Fault. Byzantine Fault mewakili situasi dalam komputasi di mana tidak jelas apakah komponen dalam jaringan berfungsi dengan baik atau tidak. Hal ini diperluas ke blockchain karena setiap node dianggap sebagai jenderal yang berkontribusi pada konsensus jaringan.

Ada beberapa solusi awal yang diusulkan untuk memecahkan Byzantine Fault ini. Salah satu sistem Byzantine Fault-Tolerance (BFT) pertama hanya mungkin dilakukan jika jumlah bad actor tidak lebih dari 1/3 dari jumlah total partisipan di dalam jaringan. Sistem BFT lain juga menambahkan digital signature ke dalam pesan yang dikirim di dalam jaringan untuk memastikan bahwa pesan diverifikasi. Hal tersebut dapat dilakukan melalui private-public key encryption. Solusi awal tersebut berkembang menjadi mekanisme konsensus Byzantine Fault Tolerance yang dipakai dalam proof-of-work bitcoin.

Bagaimana Implementasi BFT di dalam Bitcoin?

BFT adalah salah satu bagian terpenting untuk memastikan bahwa blockchain berfungsi dengan lancar karena tidak dapat diragukan lagi bahwa di dalam blockchain pasti terdapat banyak partisipan/pengguna. Dalam kasus Bitcoin, BFT diperlukan untuk mencapai kesimpulan umum mengenai urutan transaksi.

Misalnya, jika A memiliki saldo 1 BTC dan mengirim 1 BTC ke Z, lalu A mencoba mengirim 1 BTC yang sama ke X, maka transaksi kedua tidak boleh diproses. Urutan transaksi harus diputuskan secara bersama agar tidak memungkinkan pembelanjaan ganda (double spend) dari 1 BTC yang sama oleh A. Jika tidak ada konsensus terhadap kondisi tersebut, maka akan merusak jaringan blockchain bitcoin.

Jika sebuah jaringan blockchain bukan BFT, bad actor dapat menyiarkan transaksi yang tidak sah. Hal ini dapat menghilangkan kegunaan sistem sebagai mekanisme pembayaran.

Untuk mengatasi ini, bitcoin memiliki node jaringan yang memproses transaksi, yang dikenal sebagai penambang (miners). Yang miners lakukan adalah menyetujui satu versi kebenaran tentang urutan transaksi. Miners melakukan proses tersebut melalui “a game of mathematical chance” yang adil dan sama untuk semua pemain, yang membutuhkan sejumlah “computational works” yang harus dilakukan untuk menentukan urutan transaksi.

Tentang EMURGO

EMURGO adalah perusahaan blockchain global yang menghadirkan solusi untuk developers, startups, enterprise, dan pemerintah. EMURGO mengembangkan aplikasi dengan standard enterprise, tools untuk developer, berinvestasi di startup, dan memberikan edukasi tentang teknologi blockchain. EMURGO memiliki kantor dan menangani proyek di Singapura, Jepang, Amerika Serikat, India, dan Indonesia. EMURGO juga adalah salah satu pendiri dari Cardano protocol.

Program Sertifikasi Blockchain: Foundations of Blockchain, Ethereum Developer Class

Pelajari lebih lanjut tentang EMURGO dengan mengunjungi website resmi kami di sini

Follow akun media sosial EMURGO Indonesia:

Twitter : http://bit.ly/EmurgotwitterId

Facebook :bit.ly/Emurgo_id

Instagram : http://bit.ly/EmurgoInstaId

Linkedin: http://bit.ly/emurgoidLinkedin

--

--