ブロックチェーン/レベル II · 仕組み/2.3 ブロックとチェーン/レッスン 6
ブロック補助金と半減期
マネーサプライを定めるビットシフトと、新規コインにかかる100ブロックのロック
用意するものBitcoin Coreのソースコードのコピーで、特に`GetBlockSubsidy`を含む`validation.cpp`または`main.cpp`ブロックエクスプローラーのインターフェース(例:mempool.spaceやblockchain.com)2進数演算ができる電卓
問い
- なぜC++の右シフト演算子が、通貨供給の厳格な上限を強制するのでしょうか?
- マイナーが許容される最大額よりも少ない補助金を請求した場合、その差額はどうなるのでしょうか?
- 新しく発行されたコインを動かせるようになるまでに、何ブロックが経過しなければならないのでしょうか?
探究
- 新しいビットコインは、各ブロックのコインベーストランザクションを通じてのみ流通に加わります。これは別個の台帳記録ではなく、すべての有効なブロックの最初のトランザクションに含まれる特定のアウトプットで、マイナーはそこで新たな価値の所有権を主張します。金額は、Bitcoin Coreの検証ロジックにある`GetBlockSubsidy`によって決まり、暦の上の時間ではなく現在のブロック高に基づいて報酬が計算されます。
- 当初の補助金額は50 BTCとして固定されており、これは50億サトシに相当する。210,000ブロックごとにこの値を半減させるため、コードではブロック数を210,000で整数除算し、何回半減が行われたかを判断する。そして、完了した各期間に対して、当初の50億サトシという値に二進数右シフト演算子を適用する。
- このビットシフト機構は決定的で効率的です。整数上で動作するため、割り算によって生じる分数のサトシは切り捨てられます。このようなシフトを33回行うと、値は0に丸められます。この数学的収束性により、外部の経済状況やマイニングパワーの変動に関係なく、ビットコインの発行数はおよそ2100万枚を超えることはありません。
- 最初の半減期は2012年11月28日のブロック210,000で訪れ、補助金は25 BTCに減りました。その後、ブロック420,000(2016年7月9日)、630,000(2020年5月11日)と続き、直近では2024年4月20日のブロック840,000で報酬が3.125 BTCに引き下げられました。次の削減はブロック1,050,000で予定されています。
- マイナーの総収入は、この補助金と、ブロックに含めたトランザクションの手数料すべてで構成されます。ただし、マイナーは許容される最大額より少ない額を請求することもできます。請求されなかったサトシは単に生成されず、後から請求することもできません。補助金の半減が続くにつれ、ネットワークを守るコストのより多くを手数料が担わなければならなくなります。これは、ビットコインの将来のセキュリティ予算をめぐる長年の議論のテーマです。
- コインベースのアウトプットはコンセンサスルールによってロックされており、100承認を得るまで使用できません。コインベースのアウトプットはそのブロックを含むブランチ上にしか存在しないため、そのブロックが再編成で置き換えられると、新しいコインは消えてしまいます。この遅延により、そうしたコインが他のトランザクションに渡り、そのトランザクションが後で無効になる事態が防がれます。
重要な事実
- ブロック補助金は50BTCから始まり、210,000ブロックごとに半減します。
- Bitcoin Coreは、ブロック高に基づいて50億サトシを右シフトすることで補助金を計算します。
- 直近の半減期は2024年4月のブロック840,000で訪れ、補助金は3.125 BTCになりました。
- マイナーは補助金の全額より少ない額を請求することもでき、請求されなかった分は生成されません。
- コインベースのアウトプットは、使用できるようになるまでに100承認が必要です。
- 半減期の繰り返しによる等比級数は、約2,100万BTCの最大供給量に収束します。
演習 九・六・三・一
9集める補助金の9つの時代を挙げてください:2009年の開始と、その後の8回の半減期について、それぞれの補助金額と、すでに到来したかどうかを記載します。
6まとめる各時代が発行するビットコイン全体の割合によって、9つを6つにグループ分けしてください:2分の1、4分の1、8分の1、16分の1、32分の1、残り。
3絞り込む6つを、補助金の縮小がマイナーと手数料にもたらす3つの帰結に絞り込んでください。
1結晶化する補助金計算における整数の切り捨てが、供給量の絶対的な上限をどのように強制しているかを説明する文を1つ書いてください。
事実確認
日付、数字、主張は、下記に記載された公表資料と照合して確認しました。