Mikaylabinar.com– Penjelasan Byzantine Generals’ Problem Pada Bitcoin. Sejak kemunculan Bitcoin banyak para ahli komputer yang terpesona dengan kecanggihannya. Sehingga membuat penasaran siapa aktor jenius dibalik mata uang virtual tersebut.
Satoshi Nakamoto, nama samaran dibalik pencipta Bitcoin berhasil memecahkan teka-teki Jenderal Bizantium (Byzantine Generals’ Problem). Sebuah teka-teki yang selama tiga dekade membingungkan para ilmuwan komputer. Banyak yang mengira bahwa soal ini tidak akan dapat dipecahkan hingga kemunculan Bitcoin.
Table of Contents
Berikut Penjelasan Byzantine Generals’ Problem
Apa itu Byzantine Generals’ Problem (BGP) ?
Byzantine Generals’ Problem (BGP) pertamakali diajukan oleh ilmuwan komputer Leslie Lamport, Robert Shostak, dan Marshall Pease pada tahun 1982. Berupa teka-teki membentuk kepercayaan dengan pihak yang saling tidak berhubungan dalam sebuah jaringan komunikasi yang tidak dapat dipercayai.
Penjelasan Byzantine Generals’ Problem dapat dilihat dari Soal aslinya sebagaimana berikut ini:
“- Kita bayangkan terdapat beberapa divisi dari tentara Byzantium sedang berkemah diluar sebuah kota musuh, masing-masing divisi dikomandoi oleh seorang jenderal. Para jenderal dapat berkomunikasi dengan satu sama lain hanya melalui kurir pesan. Setelah mengobeservasi musuh, mereka harus memutuskan sebuah rencana aksi.
Akan tetapi, beberapa jenderal mungkin adalah pengkhianat yang mencoba untuk mencegah jenderal yang loyal untuk membentuk sebuah kesepakatan. Para jenderal harus memiliki sebuah algoritma yang memastikan bahwa: A. Semua jenderal yang loyal memutuskan rencana aksi yang sama. Semua jenderal yang loyal akan melakukan apa yang diperintahkan oleh algoritma, tetapi para pengkhianat akan melakukan apa yang mereka inginkan.
Algoritma tersebut harus memastikan kondisi A terlepas dari apa yang dilakukan oleh pengkhianat. Para jenderal yang loyal tidak hanya harus mencapai kesepakatan, tetapi harus menyetujui sebuah rencana yang masuk akal. Oleh karena itu, kita juga ingin memastikan bahwa; B. Sejumlah kecil pengkhianat tidak menyebabkan jenderal yang loyal untuk menyetujui rencana yang buruk – “
BGP perpanjangan dari Two Generals’ Problem (TGP)
BGP sebenarnya merupakan perpanjangan dari Two Generals’ Problem yang pertamakali dikemukakan oleh A. Akkoyunlu, K. Ekanadham, dan R.V Huber tahun 1975 dalam artikelnya yang berjudul “Some constraints and trade-offs in the design of network communications”. Atau dalam bahasa Indonesia berjudul “Beberapa kendala dan pertukaran dalam rancangan jaringan komunikasi”.
Two Generals’ Problem berisi tentang dua pasukan tentara yang ingin menyerang sebuah kota dan menjarah kekayaan didalamnya.
Kota yang memiliki benteng tersebut terletak disebuah lembah diantara dua bukit dan dapat ditaklukkan jika dua pasukan menyerang secara bersamaan.
Para jenderal memutuskan untuk berkomunikasi mengenai waktu penyerangan setelah mereka memiliki kesempatan untuk memeriksa kota tersebut. Dan pasukan mereka sudah siap di dua bukit yang berseberangan
Setelah para jenderal tiba diposisinya, satu-satunya cara untuk berkomunikasi adalah mengirimkan seorang kurir melewati lembah yang berisiko kena tangkap. Atau dia berkhianat mengirimkan sebuah pesan yang palsu.
Masalah dari dua jenderal tersebut adalah mereka butuh untuk memberitahu waktu dari serangan secara bersamaan dengan mengirimkan seorang kurir pesan melewati lembah yang tidak aman
Mengatasi Permasalahan Jaringan Komputer
Cerita diatas adalah gambaran dari permasalahan jaringan sistem komputer jika informasi penting sedang dikirimkan antar komputer. Setiap komputer dalam jaringan adalah gambaran jenderal dalam scenario tersebut.
Satu-satunya cara komputer untuk berkomunikasi antar komputer adalah melalui jaring laba-laba yang tidak aman dari kabel telpon, fiber optic, atau bahkan satelit yang kita sebut sebagai internet
Internet adalah jaringan komputer yang tidak aman, ini adalah lembah yang harus dilalui setiap pesan. Internet dalam Two Generals’ Problem adalah lembah yang harus dilalui oleh kurir pesan. Setiap komputer membutuhkan cara untuk memastikan pesan yang diterima adalah benar dan sah.
Perlu diketahui sebagaimana yang diungkapkan oleh NSA (National Security Agency). Bahwa pesan yang dikirimkan melalui internet dapat dihalangi dan ini menjadi problem pada saat mengirim pesan yang berharga
Masalah yang harus diselesaikan adalah bagaimana mengomunikasikan pesan agar kedua jenderal ini dapat setuju untuk melancarkan serangan diwaktu yang bersamaan.
Sesudah jenderal pertama mengirimkan kurir pesan, ia tidak tahu kalau kurirnya berhasil atau gagal melewati lembah.
Dan jenderal yang menerima pesanpun tidak dapat memastikan apakah pesan yang diterimanya itu asli dan sah atau tipuan dari kurir palsu.
Melewati lembah memiliki risiko ditangkap atau berkhianat. Solusi dengan mengirim banyak kurir bukanlah hal yang tepat. Ini karena tidak ada jaminan bahwa kurir yang sampai membawa pesan yang tepat
Dan tidak ada jaminan bagi jenderal untuk mengetahui bahwa kurir yang menyampaikan pesan bukanlah pengkhianat. Jika salah satu jenderal ragu maka serangan akan gagal
Hal ini menjadi masalah yang dihadapi ilmuwan komputer sejak tahun 1975. Bahkan dipercaya kasus Two Generals’s Problem tidak mungkin dapat diselesaikan.
Bidang ilmu komputer menerima kesimpulan ini sebagai fakta, sampai kemunculan Satoshi Nakamoto yang dapat memecahkannya
Bagaimana BGP dapat diatasi di Bitcoin?
Permasalahan BGP yang selama ini dianggap tidak mungkin diatasi dapat diselesaikan dalam Bitcoin.
Solusi BGP membutuhkan beberapa cara yang bekerja bersamaan. Sebuah metode untuk melindungi isi suatu pesan, sebuah cara untuk mengurangi jumlah pesan yang dikirim. Sebuah cara untuk mendeteksi pesan palsu dan beberapa cara untuk membayar semua hal tersebut
Bitcoin menyelesaikan BGP dengan mengenkripsi pesan, menentukan sebuah biaya untuk mengonversi pesan, menyediakan sebuah cara untuk melakukan verifikasi pesan tersebut dikonversi secara sah, dan menyediakan insentif bagi para ‘’jenderal’ yang jujur.
Ketika sebuah pesan dibuat, kode program bitcoin menggunakan teknik kriptografi untuk mengubah sebuah pesan dalam ukuran apapun kedalam 64 bit, hal ini dinamakan algoritma SHA-256 untuk Secure Hash Algorithm.
Dengan menggunakan algoritma ini, sebuah pesan yang panjangnya terdiri dari dua paragraph atau lebih akan dikerucutkan menjadi 64 karakter alfanumerik acak, dan begitupun dengan sebuah pesan yang panjangnya hanya dua kalimat akan diubah menjadi deret huruf acak dan angka 64 bit.
Setelah pesan diubah, maka pesan tersebut tidak dikenali lagi dan dapat dibaca hanya dengan mengkonversinya menggunakan persamaan matematika yang rumit
Kode Bitcoin menjelaskan bahwa soal persamaan harus bisa diselesaikan komputer tercepat dalam sepuluh menit, dan setiap dua minggu kode tersebut menyetel ulang tingkat kesulitannya sehingga waktu rata-rata untuk menyelesaikan adalah tetap sepuluh menit.
Daya komputasi dan energy yang diperlukan untuk menyelesaikan soal matematika menjadi beban untuk mengirimkan pesan palsu.
Protocol Bitcoin
Dengan protocol Bitcoin, seorang jenderal curang yang ingin mengirimkan pesan palsu, ia akan harus membayar komputer yang cepat dan listrik yang dibutuhkan untuk mengoperasikannya
Jika seorang jenderal ingin mengirimkan pesan palsu tanpa melakukan pekerjaan menyelesaikan soal persamaan, maka jenderal lain hanya harus melihat pada berapa banyak daya komputasi yang dihabiskan oleh jenderal pengkhianat.
Jika jumlahnya kecil atau tidak menggunakan daya komputasi sama sekali, maka jenderal tersebut dapat langsung mengasumsikan pesan tersebut palsu
Sebagai bukti verifikasi sebuah pesan itu benar dan sah maka para jenderal harus memperlihatkan bukti yang menyatakan bahwa butuh waktu 10 menit untuk menyelesaikan soal persamaan tersebut dengan melihat total jumlah daya komputasi dalam jaringan.
Jika total jaringan membutuhkan waktu 10 menit untuk menyelesaikan soal matematika maka para jenderal dapat mengasumsikan pesan yang disiarkan telah dikonversi secara sah.
Bitcoin membutuhkan enam jenderal untuk mengonfirmasi bahwa mereka telah menerima pesan yang sama, dengan bukti ini maka para jenderal dapat percaya bahwa pesan yang disiarkan valid.
Protocol Bitcoin menyediakan insentif untuk jenderal yang jujur karena telah menjadi yang pertama mengonversi pesan secara sah.
Jenderal pertama yang menyelesaikan soal ini dan menyiarkan pesan valid ke jaringan menerima kompensasi dalam bentuk sebuah mata uang.
Mata uang dari solusi ini disebut bitcoin dan mewakili sepotong informasi yang sah.
Blockchain
Setiap bitcoin di jaringan bersifat transparan dan dicatat dalam buku kas besar yang disebut Distributed Ledger Technology atau yang dikenal Blockchain dari saat ia muncul sehingga sulit sekali untuk dapat dipalsukan.
Bitcoin menggunakan ilmu kriptografi dan skema bukti kerja (proof of work) untuk menyelesaikan BGP Solusi Bitcoin atas BGP adalah mengganti komunikasi dengan komputasi. Untuk menyelesaikan BGP Bitcoin mengirimkan pesan kepada seluruh jenderal secara simultan.
Ketika semua jenderal menerima pesan tersebut mereka mulai bekerja untuk menyelesaikan soal matematika didalamnya. Pihak pertama yang menyelesaikan soal tersebut akan menyiarkan jawabannya kepada jenderal lainnya.
Ketika jenderal lain juga telah menyelesaikan soal tersebut, mereka dapat melakukan verifikasi bahwa jawabannya adalah sama dan membandingkan satu sama lain.
Daya komputasi yang digunakan untuk menyelesaikan masalah itu adalah bukti bahwa para jenderal memang mengerjakan soal tersebut alias bukti kerja (proof of work).
Ketika ada jenderal yang menyiarkan pesan palsu maka jenderal lain tidak akan mendapatkan jawaban yang sama dengan yang disiarkan oleh si jenderal pengkhianat itu.
—
Referensi:
Brian Kelly ,2018. The Bitcoin Big Bang. Elex Media Komputindo, Jakarta