MSTR Cat

Blockchain/Tahap II · Mekanisme/2.3 Blok dan rantaian/Pelajaran 7

Jadual bekalan 21 juta

Aritmetik kekurangan dan pepijat yang cuba merosakkannya

BahanPeneroka blok dengan data bekalan masa nyataKod sumber Bitcoin Core untuk GetBlockSubsidyKalkulator yang mampu mengira siri geometri

Ingin tahu

  1. Bagaimanakah nombor terhingga boleh terhasil daripada jujukan halving yang tidak terhingga?
  2. Apa yang berlaku apabila ralat perisian menghasilkan lebih banyak wang daripada yang dibenarkan oleh protokol?
  3. Mengapa bekalan yang beredar sebenar lebih rendah daripada maksimum teori?

Teroka

  1. Had 21 juta bukanlah janji, tetapi akibat matematik daripada jadual penerbitan. Bitcoin baharu memasuki peredaran hanya melalui subsidi blok, yang bermula pada 50 BTC setiap blok pada Januari 2009. Ganjaran ini dibahagi dua setiap 210,000 blok, kira-kira setiap empat tahun. Formula ini menjumlahkan satu siri geometri: 210,000 blok didarab dengan 50 BTC, didarab pula dengan hasil tambah kuasa satu perdua (1 + ½ + ¼ + …). Siri tak terhingga ini menumpu tepat kepada 21,000,000 BTC.
  2. Oleh sebab Bitcoin mengukur nilai dalam satoshi integer (satu per seratus juta bitcoin), setiap halving dibundarkan ke bawah. Subsidi mencapai unit minimum satu satoshi pada blok 6,720,000, sekitar tahun 2136 atau 2137. Menjelang blok 6,930,000, kira-kira pada tahun 2140, hampir kesemua 21 juta BTC telah dikeluarkan. Maksimum sebenar adalah sedikit kurang daripada 21 juta akibat pemangkasan pembundaran ini, iaitu kira-kira 20,999,999.9769 BTC.
  3. Bekalan efektif lebih rendah daripada had teori atas beberapa sebab. Ganjaran blok genesis sebanyak 50 BTC tidak boleh dibelanjakan secara reka bentuk. Sesetengah pelombong menuntut kurang daripada subsidi penuh, dan jumlah yang tidak dituntut tidak pernah dicipta. Koin telah dihantar ke output yang terbukti tidak boleh dibelanjakan, dan banyak kunci peribadi hilang selama-lamanya akibat kerosakan perkakasan atau kata laluan yang dilupakan. Faktor-faktor ini mengurangkan bekalan yang beredar di bawah had mutlak protokol.
  4. Had ini dikuatkuasakan oleh peraturan konsensus dalam perisian Bitcoin Core, bukan oleh pihak berkuasa luaran. Setiap nod mengesahkan bahawa tiada blok melebihi subsidi yang dibenarkan. Pada Ogos 2010, pepijat limpahan nilai (CVE-2010-5139) membolehkan satu transaksi mencipta lebih daripada 184 bilion BTC dalam blok 74,638. Klien yang telah dibaiki dikeluarkan dalam masa kira-kira lima jam, dan pelombong yang menjalankannya membina rantaian tanpa transaksi buruk itu, yang kemudiannya memintas rantaian asal 53 blok kemudian, sekali gus menghapuskan koin tersebut. Episod ini menunjukkan bahawa had itu hanya seteguh perisian nod yang menguatkuasakannya, dan bahawa rangkaian mampu berkoordinasi dengan pantas untuk mempertahankannya.
  5. Pada tahun 2018, satu lagi pepijat inflasi (CVE-2018-17144) ditemui dalam Bitcoin Core versi 0.15 hingga 0.16.2: pelombong boleh mencipta koin dengan transaksi yang menyenaraikan input yang sama dua kali. Pepijat ini telah dibaiki tanpa sebarang eksploitasi yang diketahui. Kedua-dua episod menunjukkan bahawa jadual tersebut bergantung pada perisian yang betul dan pada orang yang memantaunya.
  6. Buka peneroka blok dan semak bekalan beredar semasa berbanding 21,000,000 BTC. Perhatikan perbezaan antara maksimum teori dengan koin sebenar yang beredar. Semak tarikh halving seterusnya dan kira berapa banyak blok yang tinggal sehingga subsidi turun daripada 3.125 kepada 1.5625 BTC. Semakan ini mengesahkan bahawa jadual penerbitan berjalan tepat seperti yang dikodkan.

Fakta utama

  • Jadual penerbitan secara teorinya berjumlah 21,000,000 BTC.
  • Subsidi blok akan berkurangan separuh setiap 210,000 blok, bermula pada 50 BTC dan mencapai sifar sekitar tahun 2140.
  • Jumlah bekalan maksimum sebenar adalah sedikit kurang daripada 21 juta disebabkan oleh pembundaran nombor bulat untuk satoshi.
  • Ganjaran blok genesis sebanyak 50 BTC tidak boleh dibelanjakan, sekali gus mengurangkan bekalan efektif.
  • Pada Ogos 2010, satu pepijat (CVE-2010-5139) mencipta lebih daripada 184 bilion BTC sebelum rantaian disusun semula.
  • Pelombong boleh menuntut kurang daripada subsidi penuh; jumlah yang tidak dituntut tidak akan pernah dicipta.

Latihan sembilan, enam, tiga, satu

9KumpulSenaraikan 9 aset atau mata wang yang berbeza dengan bekalan tetap atau terhad. Catatkan kuantiti maksimumnya dan siapa yang menguatkuasakan had tersebut.
6KelompokkanKumpulkan 9 item tersebut kepada 6 mengikut mekanisme penguatkuasaan: dikuatkuasakan oleh kod, dikuatkuasakan oleh kontrak, kekurangan fizikal, dekri undang-undang, konvensyen pasaran, atau lain-lain.
3SaringKurangkan 6 kumpulan itu kepada 3 sebab mengapa had bekalan mungkin gagal atau diubah.
1KristalkanTulis 1 ayat tentang perkara yang membezakan had yang dikodkan secara tegar daripada janji politik.

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