Toleransi terhadap Kesalahan Bizantium Dijelaskan

Saya selalu terpesona oleh konsep toleransi kesalahan Bizantium ini. Sejak munculnya Bitcoin pada tahun 2008 sebagai sistem moneter peer-to-peer, saya telah melihat begitu banyak cryptocurrency, masing-masing dengan mekanisme mereka sendiri. Namun hampir semuanya berbagi elemen fundamental: blockchain.

Blockchain dirancang secara sengaja untuk terdesentralisasi, berfungsi sebagai buku besar digital yang dikelola oleh jaringan node komputer yang terdistribusi. Teknologi ini telah memungkinkan penciptaan sistem ekonomi tanpa kepercayaan, di mana transaksi keuangan yang transparan dan dapat diandalkan dapat dilakukan tanpa perantara. Crypto telah menjadi alternatif yang layak untuk sistem perbankan tradisional yang sangat bergantung pada kepercayaan - dan jujur, siapa yang masih mempercayai bank?

Seperti dalam sebagian besar sistem komputer terdistribusi, peserta di jaringan crypto harus secara teratur menyepakati keadaan terkini dari blockchain - ini disebut konsensus. Namun, mencapai konsensus ini dalam lingkungan terdistribusi, dengan cara yang aman dan efisien? Itu jauh dari sederhana!

Jadi bagaimana jaringan terdistribusi dari node dapat mencapai kesepakatan jika beberapa node dapat mengalami kegagalan atau bertindak tidak jujur? Ini adalah pertanyaan mendasar dari masalah terkenal Para Jenderal Bizantium, yang melahirkan konsep toleransi terhadap kesalahan bizantium.

Masalah Jenderal Bizantium

Dilema logis ini dibayangkan pada tahun 1982 untuk menggambarkan bagaimana sekelompok jenderal Byzantine dapat mengalami masalah komunikasi ketika mereka mencoba untuk sepakat tentang manuver berikutnya.

Dilema ini mengasumsikan bahwa setiap jenderal memiliki angkatan bersenjatanya sendiri dan bahwa setiap kelompok berada di lokasi yang berbeda di sekitar kota yang ingin mereka serang. Para jenderal harus sepakat untuk menyerang atau mundur. Apa pun tindakan yang dipilih, selama semua jenderal mencapai konsensus untuk melaksanakan tindakan tersebut secara terkoordinasi.

Mari kita pertimbangkan persyaratan ini:

  • Setiap jenderal harus memutuskan: menyerang atau mundur
  • Sekali keputusan dibuat, tidak mungkin untuk mengubahnya
  • Semua jenderal harus sepakat pada keputusan yang sama untuk mengeksekusinya secara sinkron.

Tantangan utamanya? Seorang jenderal tidak dapat berkomunikasi dengan yang lain kecuali melalui utusan. Dan pesan-pesan ini dapat tertunda, dihancurkan, atau hilang.

Lebih parah lagi, bahkan jika sebuah pesan berhasil disampaikan dengan benar, satu atau lebih jenderal mungkin memilih untuk bertindak dengan jahat dan mengirimkan pesan palsu untuk menimbulkan kebingungan.

Dalam konteks blockchain, setiap jenderal mewakili sebuah node dalam jaringan, dan node-node harus mencapai konsensus tentang keadaan saat ini dari sistem. Dengan kata lain, mayoritas peserta dari jaringan terdistribusi harus sepakat dan melakukan tindakan yang sama untuk menghindari kegagalan total.

Satu-satunya cara untuk mencapai konsensus adalah memiliki setidaknya ⅔ node yang dapat diandalkan dan jujur. Jika mayoritas jaringan memutuskan untuk bertindak jahat, sistem menjadi rentan terhadap serangan - seperti serangan 51% yang bodoh ini yang selalu membuat saya jengkel.

Byzantine fault tolerance (BFT)

Toleransi kesalahan Bizantium adalah sifat dari sistem yang mampu bertahan dari kegagalan yang berasal dari masalah Jenderal Bizantium. Ini berarti bahwa sistem BFT dapat terus berfungsi bahkan jika beberapa node mengalami kegagalan atau bertindak secara jahat.

Ada beberapa solusi yang mungkin untuk masalah ini dan dengan demikian beberapa cara untuk membangun sistem BFT. Demikian pula, ada berbagai pendekatan agar sebuah blockchain mencapai toleransi ini, yang membawa kita ke algoritma konsensus.

Algoritma konsensus blockchain

Algoritma konsensus adalah mekanisme di mana jaringan blockchain mencapai kesepakatan. Yang paling umum? Proof of Work (PoW) dan Proof of Stake (PoS). Mari kita ambil Bitcoin sebagai contoh.

Sementara protokol Bitcoin menetapkan aturan dasar sistem, algoritma PoW menentukan bagaimana aturan ini akan diikuti untuk mencapai konsensus - terutama saat memverifikasi transaksi.

Meskipun konsep Proof of Work lebih tua daripada cryptocurrency, Satoshi mengembangkan versi yang dimodifikasi sebagai algoritme yang memungkinkan penciptaan Bitcoin sebagai sistem BFT.

Perhatikan bahwa algoritma PoW tidak 100% toleran terhadap kesalahan byzantine, tetapi berkat proses penambangan yang mahal dan teknik kriptografi yang mendasarinya, ia terbukti menjadi salah satu implementasi yang paling aman dan dapat diandalkan untuk jaringan blockchain. Saya merasa ini brilian, meskipun tidak sempurna!

Refleksi Akhir

Masalah Jenderal Bizantium adalah dilema yang menarik yang pada akhirnya melahirkan sistem BFT, yang banyak diterapkan dalam berbagai skenario. Di luar industri blockchain, sistem ini juga ditemukan di penerbangan, luar angkasa, dan bahkan industri nuklir.

Dalam konteks kripto, memiliki komunikasi jaringan yang efektif dengan mekanisme konsensus yang baik adalah vital untuk setiap ekosistem blockchain. Mengamankan sistem-sistem ini adalah upaya yang terus-menerus, dan algoritma konsensus yang ada masih harus mengatasi beberapa keterbatasan seperti skalabilitas. Namun, PoW dan PoS tetap menjadi pendekatan yang menarik sebagai sistem BFT, dan aplikasi potensial mereka jelas menginspirasi inovasi berskala besar.

BTC0.02%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)