ブロック報酬と半減期

このページでは、Bitcoinに着想を得たParallaxの発行スケジュール、コインベース成熟メカニズム、そしてプロトコル状態におけるブロック報酬の管理方法を解説します。

貨幣パラメータ
パラメータ記号備考
初期報酬
R₀
50 × 10¹⁸ wei
ブロックあたり50 LAX
半減期間隔
H
210,000ブロック
10分間隔で約4年
コインベース成熟期間
M
100ブロック
報酬のアンロック遅延
ロックボックスアドレス
0x0000000000000000000000000000000000000042
成熟レコードの状態格納場所
エポック別累積供給量
各半減期エポックまでに発行された報酬の合計 (LAX単位)。
ブロックあたり報酬 (階段状)
各エポックにおける1ブロックあたりの報酬 (LAX)。
概要
Parallaxの貨幣スケジュールはBitcoinを反映しています。総供給量は2,100万、50 → 25 → 12.5... と210,000ブロックごとに半減します。
  • 初期ブロック報酬: 50 LAX (weiでは 50 × 10¹⁸)。
  • 半減期間隔: 210,000ブロックごと (10分ブロックで約4年)。
  • 理論上の総供給: 約21,000,000 LAXを上限とします。
  • Bitcoinと構造的に同一のデフレ型発行モデルを実装し、EVM互換のためweiで表記します。
報酬関数 (consensus.goより)
疑似コード
calcBlockReward(height):
  if height == 0:
    return 0
  reward = 50 * 1e18
  halvings = height / 210000
  if halvings > 63:
    return 0  // reward effectively zero
  divisor = 2 ** halvings
  return reward / divisor
コインベース成熟スケジューリング
ブロック報酬は成熟までロックされ、即時の利用を防ぎ、決定的なアンロックを保証します。
  • 各報酬はアンロック高に紐づけられます: 現在の高さ + 100ブロック。
  • 報酬は専用のロックボックスアドレス (0x...42) のもとでステートトライに書き込まれます。
  • チェーン高がアンロックに達すると、報酬はマイナーのアドレスに送金されます。
  • これにより台帳状態における未確定供給と利用可能供給がきれいに分離されます。
報酬スケジューリング (簡易版)
疑似コード
Finalize(block):
  height = block.number
  reward = calcBlockReward(height)
  unlock = height + CoinbaseMaturityBlocks

  if reward > 0:
    lockbox[unlock].addr = coinbase
    lockbox[unlock].amt  = reward

  // Pay matured rewards for current height
  if lockbox[height].amt > 0:
    AddBalance(lockbox[height].addr, lockbox[height].amt)
    Clear(lockbox[height])
経済的特性
Parallaxは予測可能な希少性とプレマインゼロの発行を徹底します。
  • 各半減期エポックで新規発行量は50%ずつ減少します。
  • 累積発行量は2,100万の上限に漸近しますが、これを超えることはありません。
  • 報酬はマイナーにのみ分配されます — 開発者や財団への割当はありません。
  • 発行曲線はハードコードされており、ローンチ後の裁量的な貨幣変更はありません。
総発行量の近似
疑似コード
totalIssued(upToHeight):
  sum = 0
  for h in 1..upToHeight:
    sum += calcBlockReward(h)
  return sum
// approaches 21e6 * 1e18 wei
状態表現
ステートトライ内部での報酬成熟追跡。
  • アンロック高ごとに2つの状態キーを使用します: schedKeyAddr(height) と schedKeyAmt(height)。
  • 両キーは keccak256("maturity:addr:" + height) および ("maturity:amt:" + height) で導出されます。
  • 値は報酬メタデータをユーザーアカウントから分離するため、ロックボックスアドレスの下に格納されます。
  • 支払い完了時に両キーは状態から削除され、trieのスペースが回収されます。
状態キー導出 (consensus.goより)
疑似コード
schedKeyAddr(height):
  return keccak256("maturity:addr:" || height)

schedKeyAmt(height):
  return keccak256("maturity:amt:" || height)
まとめ

発行のまとめ

Parallaxの発行は完全に決定的です。報酬は210,000ブロックごとに半減し、ゼロへと収束していきます。流通するすべてのコインはオンチェーンのマイニング出力までトレースでき、Parallaxをフェアローンチで作業によって守られる、プレマインや隠れた補助金のないネットワークにしています。