zcash / zips

Zcash Improvement Proposals
https://zips.z.cash
MIT License
268 stars 152 forks source link

[ZIP idea] Blocks should balance exactly #864

Open daira opened 3 days ago

daira commented 3 days ago

Abstract

In the current Zcash protocol, the miner of a coinbase transaction is permitted to claim up to and including the total amount of fees from other transactions in the block, but is not required to claim the full amount.

This proposal would require the full amount of fees to be collected in coinbase transactions.

Motivation

The current semantics of coinbase transactions creates a potential for miners to miscalculate the total amount of fees in a block. If they claim a higher amount than the actual total fees, the block will be invalid, but if they claim a lower amount, the excess is effectively burnt. As a consequence, the effective Zcash issuance can fall short of the amount calculated from the intended issuance curve.

This unnecessarily complicates the question of how much ZEC has been issued: if it is defined as not including the amounts that were left unclaimed by miners, then it is difficult to calculate, and cannot be predicted exactly in advance for any given block height. Alternatively if it is defined to include those amounts, then that introduces potentially confusing discrepancies between different definitions of issuance or total supply.