Block Reward at Halving

Ipinapaliwanag ng page na ito ang Bitcoin-inspired na emission schedule ng Parallax, ang coinbase maturity mechanism, at kung paano pinapamahalaan ang block rewards sa protocol state.

Monetary Parameters
ParameterSymbolValueNotes
Initial reward
R₀
50 × 10¹⁸ wei
50 LAX kada block
Halving interval
H
210,000 blocks
≈ 4 years sa 10 min intervals
Coinbase maturity
M
100 blocks
Reward unlock delay
Lockbox address
0x0000000000000000000000000000000000000042
State location para sa maturity records
Cumulative Supply by Epoch
Sum ng lahat ng issued rewards hanggang sa bawat halving epoch (LAX units).
Per-block Reward (step)
Reward sa LAX kada block sa bawat epoch.
Overview
Sumasalamin ang Parallax monetary schedule sa Bitcoin: 21 milyong total supply, 50 → 25 → 12.5 ... halvings kada 210,000 blocks.
  • Initial block reward: 50 LAX (sa wei, 50 × 10¹⁸).
  • Halving interval: kada 210,000 blocks (≈ 4 years sa 10-minutong blocks).
  • Total theoretical supply: capped sa ~21,000,000 LAX.
  • Nagpapatupad ng deflationary issuance model na pareho sa structure ng Bitcoin pero naka-denominate sa wei para sa EVM compatibility.
Reward function (mula sa consensus.go)
pseudocode
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
Coinbase Maturity Scheduling
Naka-lock ang block rewards hanggang sa maturity — pinipigilan ang instant spend at sinisiguro ang deterministic unlocks.
  • Bawat reward ay naka-associate sa unlock height: current_height + 100 blocks.
  • Isinusulat ang rewards sa state trie sa ilalim ng special lockbox address (0x...42).
  • Kapag umabot ang chain height sa unlock, inililipat ang reward sa address ng miner.
  • Sinisiguro ang malinis na separasyon ng pending vs spendable supply sa ledger state.
Reward scheduling (simplified)
pseudocode
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])
Economic Properties
Ipinapatupad ng Parallax ang predictable scarcity at zero pre-mine issuance.
  • Bumababa ng 50% ang bagong issuance sa bawat halving epoch.
  • Ang cumulative issuance ay umuusad nang asymptotically papunta sa 21M cap pero hindi ito lumalagpas.
  • Ipinapamahagi ang rewards exclusively sa miners — walang developer o foundation allocation.
  • Hard-coded ang emission curve, na sinisiguro na walang discretionary monetary changes pagkatapos ng launch.
Total issued approximation
pseudocode
totalIssued(upToHeight):
  sum = 0
  for h in 1..upToHeight:
    sum += calcBlockReward(h)
  return sum
// approaches 21e6 * 1e18 wei
State Representation
Reward maturity tracking sa loob ng state trie.
  • Dalawang state keys ang ginagamit kada unlock height: schedKeyAddr(height) at schedKeyAmt(height).
  • Pareho silang derived gamit ang keccak256("maturity:addr:" + height) at ("maturity:amt:" + height).
  • Iniimbak ang values sa ilalim ng lockbox address para hiwalayin ang reward metadata sa user accounts.
  • Sa payout, kinaclear ang parehong keys sa state para mabawi ang trie space.
State key derivation (mula sa consensus.go)
pseudocode
schedKeyAddr(height):
  return keccak256("maturity:addr:" || height)

schedKeyAmt(height):
  return keccak256("maturity:amt:" || height)
Summary

Emission Summary

Fully deterministic ang issuance ng Parallax. Hina-halve ang rewards kada 210,000 blocks hanggang umusad sila papunta sa zero. Bawat coin sa circulation ay matrace sa on-chain mining output, na ginagawang Parallax na fair-launch, work-secured network nang walang premine o nakatagong subsidies.