MSTR Cat

Blockchain/Tahap I · Wang/1.2 Jalan cypherpunk/Pelajaran 7

Masalah perbelanjaan berganda dan jeneral-jeneral Byzantine

Masalah kepercayaan yang mendahului penyelesaian

BahanAntaramuka peneroka blok (contohnya, mempool.space atau blockchain.com)Kertas putih Nakamoto, Bahagian 4Lamport dan rakan-rakan, ‘The Byzantine Generals Problem’ (1982)

Ingin tahu

  1. Jika fail digital boleh disalin dengan sempurna dan serta-merta, apa yang menghalangnya daripada digunakan dua kali?
  2. Bagaimanakah sekumpulan orang asing yang tidak mempunyai identiti bersama dapat bersetuju mengenai sejarah yang sama tanpa pemimpin untuk menyelesaikan pertikaian?
  3. Apa yang menjadikan undian dalam rangkaian terbuka lebih berharga daripada kata-kata orang lain?

Teroka

  1. Token digital hanyalah sebuah fail. Berbeza dengan wang tunai fizikal, ia boleh disalin bit demi bit tanpa sebarang kos dan tanpa penurunan kualiti. Jika Alice menghantar sepuluh unit kepada Bob, dia tetap memegang fail asal dan boleh menghantar sepuluh unit yang sama kepada Charlie pada masa yang sama. Sehingga tahun 2008, setiap sistem wang tunai digital yang berfungsi bergantung pada penerbit yang dipercayai: skema dalam talian menyemak setiap pembayaran secara berpusat, manakala skema luar talian hanya dapat mengenal pasti pelaku perbelanjaan berganda selepas kejadian.
  2. DigiCash ciptaan David Chaum mewajibkan setiap penerima bayaran mendepositkan syiling ke bank, yang menyemak setiap nombor siri dengan senarai syiling yang telah dibelanjakan. Reusable Proofs of Work ciptaan Hal Finney pula bergantung pada satu pelayan yang menjalankan kod sumber terbuka di atas perkakasan selamat untuk menjejak token yang telah dibelanjakan. b-money ciptaan Wei Dai mencadangkan pelayan yang meletakkan deposit dan boleh didenda jika menipu, tetapi ia tidak pernah dibina. Setiap reka bentuk ini mengekalkan pihak yang dipercayai, atau kumpulan yang diketahui, di pusatnya.
  3. Pada tahun 1982, Leslie Lamport, Robert Shostak, dan Marshall Pease telah memformalkan Masalah Jeneral Byzantine dalam jurnal ACM Transactions on Programming Languages and Systems. Para jeneral yang mengelilingi sebuah bandar perlu bersetuju sama ada untuk menyerang atau berundur, tetapi ada di antara mereka yang merupakan pengkhianat yang menghantar mesej yang bercanggah; para utusan itu sendiri pula boleh dipercayai. Dengan mesej tanpa tandatangan, persetujuan hanya dapat dicapai jika kurang daripada satu pertiga jeneral merupakan pengkhianat (n ≥ 3f+1); sekiranya satu pertiga atau lebih yang menjadi pengkhianat, tiada protokol yang dapat menjaminnya.
  4. Protokol toleransi kesalahan klasik seperti PBFT memerlukan sekumpulan peserta yang tetap dan diketahui. Pendekatan ini berkesan untuk buku akaun dalaman bank, tetapi gagal dalam rangkaian terbuka di mana sesiapa sahaja boleh menyertai. John Douceur mengenal pasti serangan Sybil pada tahun 2002: penyerang boleh menjana identiti palsu tanpa had untuk mencairkan undian yang jujur atau mengawal kuorum. Dalam rangkaian peer-to-peer yang terbuka, identiti murah dan tidak terhad, jadi sebarang skema yang mengira identiti boleh diambil alih oleh satu pihak sahaja.
  5. Kertas putih Satoshi Nakamoto menangani perkara ini secara langsung. Abstraknya membentangkan bitcoin sebagai penyelesaian kepada perbelanjaan berganda tanpa pihak ketiga yang dipercayai. Daripada bergantung pada identiti atau kepercayaan institusi, sistem ini mengikat setiap blok kepada bukti kerja terkumpul. Undian ditimbang mengikut pengiraan, yang tidak boleh digandakan dengan mereka-reka identiti; penyerang perlu mengatasi kuasa pengiraan rangkaian yang jujur untuk menulis semula sejarah.
  6. Hasilnya ialah kemuktamadan probabilistik. Sesuatu transaksi tidak muktamad secara kekal dari segi matematik, tetapi menjadi semakin selamat apabila setiap blok baharu memanjangkan rantaian. Selagi penyerang menguasai kurang daripada separuh kuasa hashing, peluang pembalikan berkurangan secara eksponen dengan setiap pengesahan. Kompromi ini menerima kemungkinan teori pembalikan demi mencapai ketakbolehubahan praktikal tanpa kawalan pusat. Buka peneroka blok dan perhatikan bagaimana kerja terkumpul bertambah dengan setiap ketinggian blok; kos terkumpul inilah yang menambat buku akaun kepada realiti fizikal.

Fakta utama

  • Lamport, Shostak, dan Pease menerbitkan “The Byzantine Generals Problem” dalam ACM TOPLAS pada tahun 1982.
  • Konsensus dengan mesej tanpa tandatangan memerlukan lebih daripada dua pertiga peserta untuk bersikap jujur (n ≥ 3f+1).
  • John Douceur menghuraikan serangan Sybil pada tahun 2002, menunjukkan bahawa identiti tanpa had melumpuhkan kuorum tradisional.
  • Setiap sistem wang digital sebelum tahun 2008 bergantung kepada penerbit yang dipercayai untuk menangani masalah perbelanjaan berganda.
  • Bitcoin mencapai konsensus dengan menerima rantai yang mempunyai bukti kerja terkumpul paling banyak.
  • Satoshi Nakamoto menjelaskan penyelesaiannya dalam istilah “jeneral Byzantine” di senarai e-mel kriptografi pada bulan November 2008.

Latihan sembilan, enam, tiga, satu

9KumpulSenaraikan 9 sistem atau protokol teragih yang memerlukan beberapa pihak bersetuju mengenai keadaan tertentu. Nyatakan siapa yang mempunyai kuasa penentuan akhir dan apa yang akan berlaku jika salah satu pihak berbohong.
6KelompokkanKumpulkan 9 item tersebut kepada 6 kategori berdasarkan model kepercayaan: kuasa pusat, kuorum tetap, bukti kerja (PoW) tanpa kebenaran, bukti pegangan (PoS) berkebenaran, konsensus sosial, atau lain-lain.
3SaringKurangkan 6 kumpulan tersebut kepada 3 kompromi asas antara keselamatan, desentralisasi, dan skalabiliti.
1KristalkanTulis 1 ayat yang menerangkan mengapa ‘undian’ yang ditimbang mengikut penggunaan tenaga lebih sukar dipalsukan berbanding undian yang ditimbang mengikut identiti.

Semakan fakta

Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.

Buka dalam akademi interaktif →

EN PT ES ZH JA KO RU DE FR