Blockchain/Tahap II · Mekanisme/2.3 Blok dan rantaian/Pelajaran 6
Subsidi blok dan halving
Anjakan bit yang menentukan bekalan wang dan kunci 100 blok ke atas koin baharu
BahanSalinan kod sumber Bitcoin Core, khususnya `validation.cpp` atau `main.cpp` yang mengandungi `GetBlockSubsidy`Antaramuka peneroka blok (contohnya, mempool.space atau blockchain.com)Kalkulator yang mampu melakukan operasi binari
Ingin tahu
- Mengapakah operator anjakan kanan dalam C++ menguatkuasakan had kewangan yang tegar?
- Apakah yang berlaku kepada bakinya jika pelombong menuntut subsidi kurang daripada jumlah maksimum yang dibenarkan?
- Berapa banyak blok perlu berlalu sebelum koin yang baru dicetak boleh dipindahkan?
Teroka
- Bitcoin baharu memasuki peredaran secara eksklusif melalui transaksi coinbase setiap blok. Ini bukan entri lejar yang berasingan, tetapi satu output khusus dalam transaksi pertama setiap blok yang sah, di mana pelombong mengisytiharkan pemilikan nilai baharu. Jumlahnya ditentukan oleh `GetBlockSubsidy` dalam logik pengesahan Bitcoin Core, yang mengira ganjaran berdasarkan ketinggian blok semasa dan bukannya masa kalendar.
- Subsidi awal ditetapkan secara tegar dalam kod pada 50 BTC, bersamaan 5 bilion satoshi. Untuk membahagi dua nilai ini setiap 210,000 blok, kod melakukan pembahagian integer ketinggian blok dengan 210,000 untuk menentukan berapa kali halving telah berlaku. Kemudian, ia menggunakan operator anjakan kanan binari ke atas nilai awal 5 bilion satoshi bagi setiap selang yang telah lengkap.
- Mekanisme anjakan bit ini bersifat deterministik dan cekap. Oleh sebab ia beroperasi pada integer, sebarang pecahan satoshi hasil pembahagian dipangkas ke bawah. Selepas 33 anjakan sedemikian, nilainya menjadi sifar. Penumpuan matematik ini memastikan tidak lebih daripada kira-kira 21 juta bitcoin akan pernah dicipta, tanpa mengira keadaan ekonomi luaran atau turun naik kuasa perlombongan.
- Halving pertama berlaku pada blok 210,000 pada 28 November 2012, mengurangkan subsidi kepada 25 BTC. Halving berikutnya berlaku pada blok 420,000 (9 Julai 2016), 630,000 (11 Mei 2020), dan yang terbaru pada blok 840,000 pada 20 April 2024, menurunkan ganjaran kepada 3.125 BTC. Pengurangan seterusnya dijadualkan pada blok 1,050,000.
- Jumlah pendapatan pelombong terdiri daripada subsidi ini ditambah semua yuran transaksi daripada transaksi yang dimasukkan ke dalam blok. Namun, pelombong boleh memilih untuk menuntut kurang daripada jumlah maksimum yang dibenarkan. Satoshi yang tidak dituntut tidak akan pernah dicipta dan tidak boleh dituntut kemudian. Memandangkan subsidi terus dibahagi dua, yuran perlu menanggung bahagian yang lebih besar daripada kos melindungi rangkaian, iaitu topik perdebatan yang telah lama berlangsung tentang bajet keselamatan bitcoin pada masa hadapan.
- Output coinbase dikunci oleh peraturan konsensus: ia tidak boleh dibelanjakan sehingga mencapai 100 pengesahan. Output coinbase hanya wujud pada cabang yang mengandungi bloknya, jadi jika blok itu digantikan dalam penyusunan semula rantaian, koin baharu tersebut akan lenyap. Kelewatan ini menghalang koin sedemikian daripada beralih ke transaksi lain yang kemudiannya akan menjadi tidak sah.
Fakta utama
- Subsidi blok bermula pada 50 BTC dan berkurangan separuh setiap 210,000 blok.
- Bitcoin Core mengira subsidi dengan menganjak 5 bilion satoshi ke kanan berdasarkan ketinggian blok.
- Halving terbaru berlaku pada blok 840,000 pada April 2024, menetapkan subsidi kepada 3.125 BTC.
- Pelombong boleh menuntut kurang daripada subsidi penuh; jumlah yang tidak dituntut tidak akan pernah dicipta.
- Output coinbase memerlukan 100 pengesahan sebelum boleh dibelanjakan.
- Siri geometri halving menumpu kepada bekalan maksimum kira-kira 21 juta BTC.
Latihan sembilan, enam, tiga, satu
9KumpulSenaraikan 9 era subsidi: permulaan pada 2009 dan lapan halving seterusnya, berserta subsidi bagi setiap era dan sama ada ia telah berlaku atau belum.
6KelompokkanKumpulkan 9 era tersebut kepada 6 mengikut bahagian daripada keseluruhan bitcoin yang dikeluarkan oleh setiap era: separuh, satu perempat, satu perlapan, satu perenam belas, satu pertiga puluh dua, dan bakinya.
3SaringKurangkan 6 kumpulan itu kepada 3 akibat subsidi yang semakin mengecil terhadap pelombong dan yuran.
1KristalkanTulis 1 ayat yang menerangkan bagaimana pemangkasan integer dalam pengiraan subsidi menguatkuasakan had bekalan mutlak.
Semakan fakta
Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.