Kesalahan Byzantine, atau masalah Jeneral Byzantine, telah menjadi topik yang diperdebatkan secara meluas dalam pelbagai bidang seperti sains komputer atau sistem teragih. Dalam crypto, khususnya teknologi blockchain, Byzantine Fault Tolerance (BFT) memainkan peranan yang sangat penting. Mari ketahui lebih lanjut tentang BFT dalam artikel ini!
Apakah Toleransi Kesalahan Byzantine (BFT)?
Toleransi Kesalahan Byzantine ialah keupayaan bagaimana sistem atau rangkaian yang diedarkan boleh beroperasi dan mencapai kata sepakat (perjanjian neutral), memandangkan sesetengah peserta mungkin gagal bertindak atau berbuat demikian secara berniat jahat. Namanya berasal daripada paradoks yang dipanggil Masalah Jeneral Byzantine, manakala Toleransi Kesalahan Byzantine adalah penyelesaian kepada masalah itu.
Untuk rangkaian berfungsi dengan betul, walaupun sesetengah pesertanya menghadapi masalah (sengaja atau tidak sengaja), perlu ada beberapa peraturan dan syarat biasa supaya peserta berfungsi dapat menjamin konsensus rangkaian.
Apakah Masalah Jeneral Byzantine?
Masalah Jeneral Byzantine mula diperkenalkan pada tahun 1982 dalam kertas kerja oleh sekumpulan orang di Microsoft Research. Masalahnya diterangkan dengan jelas seperti berikut:
“Bayangkan beberapa bahagian tentera Byzantine berkhemah di luar bandar musuh, setiap bahagian diperintah oleh jeneralnya sendiri. Jeneral boleh berkomunikasi antara satu sama lain hanya melalui utusan. Selepas memerhatikan musuh, mereka mesti memutuskan pelan tindakan bersama.
Walau bagaimanapun, sesetengah jeneral mungkin pengkhianat, cuba menghalang jeneral yang setia daripada mencapai persetujuan. Jeneral mesti memutuskan masa untuk menyerang bandar, tetapi mereka memerlukan majoriti tentera mereka untuk menyerang pada masa yang sama.
Jeneral mesti mempunyai algoritma untuk menjamin bahawa (a) semua jeneral yang setia memutuskan rancangan tindakan yang sama dan (b) sebilangan kecil pengkhianat tidak boleh menyebabkan jeneral yang setia menggunakan rancangan yang buruk. Jeneral yang setia akan melakukan apa yang menurut algoritma mereka sepatutnya, tetapi pengkhianat boleh melakukan apa sahaja yang mereka mahu. Algoritma mesti menjamin keadaan (a) tanpa mengira apa yang dilakukan oleh pengkhianat. Jeneral yang setia bukan sahaja harus mencapai persetujuan tetapi harus bersetuju dengan rancangan yang munasabah.
Masalah Jeneral Byzantine, walaupun serupa dengan Masalah Dua Jeneral (Paradoks Dua Jeneral), adalah versi yang lebih umum. Dalam cara yang lebih rumit, Masalah Jeneral Byzantine boleh mengenakan lebih banyak variasi. Sebagai contoh, utusan boleh gagal untuk menyampaikan mesej dalam perjalanan atau bahkan sengaja menukar kandungan asal.
Apakah BFT dalam Crypto?
Dalam crypto, khususnya teknologi blockchain , Byzantine Fault Tolerance memainkan peranan yang sangat penting. Apabila kita menggunakan Masalah Jeneral Byzantine kepada kripto, jeneral ialah nod . Semua nod dalam rangkaian blockchain perlu berkomunikasi antara satu sama lain dan mencari jalan untuk mencapai kata sepakat, yang membawa kepada kaedah yang kami panggil algoritma konsensus .
Terdapat banyak cara untuk mencapai Toleransi Kesalahan Byzantine. Oleh itu, terdapat juga pelbagai algoritma konsensus dalam ruang blokchain, masing-masing dengan penyelesaiannya sendiri untuk masalah untuk kecekapan optimum.
Bitcoin , dengan algoritma konsensus Bukti Kerjanya, adalah antara yang pertama mencapai Toleransi Kesalahan Byzantine dalam crypto. Sejak diperkenalkan pada tahun 2008, Bukti Kerja telah terbukti sebagai salah satu penyelesaian yang paling selamat dan boleh dipercayai untuk masalah ini, bersama-sama dengan kejayaan Bitcoin.
Cara Bukti Kerja mencapai Toleransi Kesalahan Byzantine
Bagaimanakah Toleransi Kesalahan Byzantine Praktikal berfungsi?
Toleransi Kesalahan Byzantine Praktikal (pBFT) ialah algoritma konsensus yang diperkenalkan pada akhir 90-an oleh Barbara Liskov dan Miguel Castro dengan matlamat untuk menyelesaikan masalah sedia ada bagi penyelesaian Toleransi Kesalahan Byzantine yang sudah tersedia.
Secara umum, pBFT berfungsi dengan mulanya menetapkan 1 nod sebagai nod utama (pemimpin) dan lain-lain sebagai nod sekunder (sandaran). Mana-mana nod boleh menjadi nod utama sekiranya nod semasa gagal beroperasi.
Selain itu, sistem pBFT boleh berfungsi apabila dan hanya apabila bilangan maksimum nod berniat jahat tidak boleh lebih besar daripada atau sama dengan satu pertiga daripada semua nod dalam sistem.
Terdapat 4 fasa pusingan konsensus pBFT:
- Permintaan: Pelanggan menghantar permintaan ke nod utama (pemimpin).
- Pra-sediakan: Nod primer (pemimpin) menyiarkan permintaan kepada semua nod sekunder (sandaran).
- Sediakan: Nod (utama dan menengah) melaksanakan perkhidmatan yang diminta.
- Komit: Balasan dihantar kepada pelanggan jika ia sah.
Cara praktikal Byzantine Fault Tolerance (pBFT) berfungsi
Pemusatan dan desentralisasi
Seperti yang anda lihat, untuk mencapai Toleransi Kesalahan Byzantine, setiap nod (atau peserta) dalam rangkaian perlu berkomunikasi dan bekerjasama dengan yang lain. Tiada sumber maklumat yang boleh dipercayai untuk sesiapa sahaja bergantung. Oleh itu, hanya rangkaian terdesentralisasi perlu mempertimbangkan Toleransi Kesalahan Byzantine.
Sebaliknya, untuk rangkaian berpusat, sentiasa ada satu atau lebih pihak ketiga yang bertindak sebagai perantara antara setiap peserta, menjadikan komunikasi dan konsensus lebih mudah. Setiap peserta tidak perlu mempercayai satu sama lain lagi; mereka hanya boleh menyampaikan semua maklumat kepada pengantara.
Toleransi Kesalahan Byzantine dalam Pemusatan dan Desentralisasi
Soalan lazim tentang BFT dalam Crypto
Adakah Bukti Toleransi Kesalahan Byzantine Stake?
Seperti yang dinyatakan di atas, teknologi blockchain memerlukan algoritma konsensus untuk mencapai Toleransi Kesalahan Byzantine. Sebagai salah satu daripadanya, Proof of Stake boleh memenuhi keperluan Toleransi Kesalahan Byzantine sama seperti Bukti Kerja.
Cari lebih lanjut: Apakah PoS? Mengapa ia adalah Toleransi Kesalahan Byzantine?
Adakah Tendermint BFT?
Tendermint, pertama kali diperkenalkan pada 2014, ialah penyesuaian pertama konsensus Proof-of-Stake yang diperoleh daripada algoritma Practical Byzantine Fault Tolerant (PBFT). Oleh itu, ia dianggap sebagai algoritma konsensus BFT Proof-of-Stake.
Adakah Toleransi Kesalahan Ethereum Byzantine?
Ethereum kini menggunakan algoritma konsensus Bukti Kerja, sama seperti yang digunakan oleh Bitcoin. Pada masa hadapan, Ethereum akan menukar rangkaiannya kepada Proof-of-Stake.
Sama ada cara, Ethereum masih dapat memenuhi Toleransi Kesalahan Byzantine.
Kesimpulan
Toleransi Kesalahan Byzantine ialah keupayaan bagaimana sistem atau rangkaian yang diedarkan boleh beroperasi dan mencapai kata sepakat (perjanjian neutral), memandangkan sesetengah peserta mungkin gagal bertindak atau berbuat demikian secara berniat jahat.
Namanya berasal daripada paradoks yang dipanggil Masalah Jeneral Byzantine, manakala Toleransi Kesalahan Byzantine adalah penyelesaian kepada masalah itu.
Ringkasnya, Masalah Jeneral Byzantine merujuk kepada masalah apabila beberapa jeneral ingin menyerang kubu dan mesti membuat keputusan sebagai satu kumpulan sama ada untuk menyerang atau berundur. Kita perlu mengetahui bagaimana jeneral ini boleh mencapai kata sepakat tanpa mengira tindakan berniat jahat atau percubaan komunikasi yang gagal.
Apabila kita menggunakan Masalah Jeneral Byzantine kepada kripto, jeneral adalah nod. Semua nod dalam rangkaian blockchain perlu berkomunikasi antara satu sama lain dan mencari jalan untuk mencapai kata sepakat, yang membawa kepada kaedah yang kami panggil algoritma konsensus.
Terdapat banyak cara untuk mencapai Toleransi Kesalahan Byzantine. Oleh itu, terdapat juga pelbagai algoritma konsensus dalam ruang blokchain, masing-masing dengan penyelesaiannya sendiri untuk masalah untuk kecekapan optimum.