2021-10-05

Toleransi Sesar Byzantine


Toleransi Sesar Byzantine (BFT) adalah kemampuan bagi sesuatu rangkaian untuk mencapai persetujuan walaupun terdedah kepada serangan dalam rangkaian tersebut. Tujuan BFT adalah untuk mengurangkan pengaruh penyerang rangkaian bagi mengelakkan kegagalan keseluruhan sistem rangkaian.

BFT memainkan peranan penting dalam teknologi blok rantai kerana dalam sesuatu blok rantai, transaksi dalam blok diabsahkan oleh pelombong-pelombong blok rantai yang tidak diketahui tahap kepercayaan mereka. Fungsi BFT pada blok rantai ialah ia dapat mengelakkan blok-blok daripada diceroboh oleh pelombong yang berniat jahat dan dapat mengekalkan integriti blok melalui pelombong-pelombong yang jujur.

Byzantine

Masalah Jeneral Byzantine

 

BFT berasal daripada satu masalah dalam sains komputer iaitu Masalah Jeneral Byzantine. Masalah Jeneral Byzantine adalah seperti berikut:

1. Terdapat 3 jeneral Byzantine yang ingin menyerang sebuah kota

2. Ketiga-tiga jeneral ini terpisah antara satu sama lain

3. Mereka hanya boleh berkomunikasi melalui pengutus surat

4. Mereka perlu buat keputusan untuk menyerang atau tidak melalui persetujuan bersama

Jika salah seorang jeneral telah dirasuah oleh pihak musuh, bagaimanakah jeneral-jeneral yang jujur dapat bersetuju untuk bertindak? Adakah wujud penyelesaian bagi masalah ini?

Andaikan situasi berikut:

3 jeneral tersebut terbahagi kepada 3 kumpulan, salah satunya dipimpin oleh ‘Commander’, dan bakinya dipimpin oleh 2 ‘Lieutenant’. Kita lihat 2 situasi berikut daripada perspektif Lieutenant 1.

Situasi 1

 

Jika Lieutenant 2 dirasuah oleh musuh, Lieutenant 1 mendapat arahan ‘attack’ daripada Commander, manakala Lieutenant 1 mendapat berita daripada Lieutenant 2 bahawa Commander telah mengarahkan untuk ‘retreat’.

 

Jika Commander dirasuah oleh musuh, Lieutenant 1 mendapat arahan ‘attack’ daripada Commander, manakala Lieutenant 1 mendapat berita daripada Lieutenant 2 bahawa Commander telah mengarahkan untuk ‘retreat’.

 

Dalam kedua-dua situasi ini, Lieutenant 1 telah mendapat maklumat yang bercanggah daripada Commander dan Lieutenant 2. Namun, daripada perspektif Lieutenant 1, beliau tidak dapat mengetahui siapa pengkhianat sebenar.

Penyelesaian

 

Bagi Masalah Jeneral Byzantine di atas, tiada penyelesaian yang wujud jika terdapat 1 jeneral pengkhianat dan 2 jeneral jujur.

Secara umumnya, penyelesaian Masalah Jeneral Byzantine hanya wujud jika terdapat lebih 2/3 jumlah jeneral yang jujur daripada keseluruhan jeneral yang ada. Dalam aspek sistem rangkaian pula, sesuatu rangkaian masih boleh mencapai persetujuan jika jumlah nod yang jujur melebihi 2/3 daripada jumlah keseluruhan nod dalam rangkaian tersebut.

Selain serangan dalam rangkaian, wujud juga masalah kegagalan nod atas sebab seperti terputus internet atau bekalan kuasa. Masalah seperti ini diselesaikan melalui kaedah ‘Toleransi Sesar’. Toleransi Sesar Byzantine melibatkan nod yang hidup, tetapi mengkhianati rangkaian.

Teknologi blok rantai

 

Teknologi blok rantai berasas daripada sistem rangkaian yang menghubungkan nod-nod (pelombong) untuk mengabsahkan setiap blok. Oleh sebab nod-nod ini tidak terjamin kejujuran mereka, maka teknologi blok rantai terdedah kepada Masalah Jeneral Byzantine.

Terdapat pelbagai kaedah yang digunakan bagi mengatasi masalah ini seperti bukti kerja dilaksanakan (Proof of Work) dan bukti taruhan (Proof of Stake). Setiap penyelesaian masalah ini mempunyai kelebihan dan kekurangan masing-masing.

Blockchain
 

Rujukan

 

1. Lamport, Leslie, Robert E. Shostak and Marshall C. Pease. “The Byzantine Generals Problem.” ACM Trans. Program. Lang. Syst. 4 (1982): 382-401.