mirror of https://github.com/zcash/zips.git
Respond to ZIP Editors' review
This commit is contained in:
parent
b3b72a2a00
commit
ca1f8aba0a
|
@ -32,21 +32,22 @@ Abstract
|
||||||
========
|
========
|
||||||
|
|
||||||
In the current Zcash protocol, the miner of a coinbase transaction is permitted to
|
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
|
claim up to and including the total amount of miner subsidy plus fees from other
|
||||||
block, but is not required to claim the full amount.
|
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
|
This proposal would require the full amount of miner subsidy and fees to be
|
||||||
transactions.
|
collected in coinbase transactions.
|
||||||
|
|
||||||
|
|
||||||
Motivation
|
Motivation
|
||||||
==========
|
==========
|
||||||
|
|
||||||
The current semantics of coinbase transactions creates a potential for miners to
|
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
|
miscalculate the total amount of miner subsidy plus fees in a block. If they claim
|
||||||
the actual total fees, the block will be invalid, but if they claim a lower amount,
|
a higher amount than the actual miner subsidy plus total fees, the block will be
|
||||||
the excess is effectively burnt. As a consequence, the effective ZEC issuance can
|
invalid, but if they claim a lower amount, the excess is effectively burnt. As a
|
||||||
fall short of the amount calculated from the intended issuance curve.
|
consequence, the effective ZEC 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
|
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 defined as not including the amounts that were left unclaimed by miners, then it
|
||||||
|
@ -63,8 +64,8 @@ The consensus rule change specified in this ZIP must:
|
||||||
|
|
||||||
* allow issuance to be predicted exactly in advance, starting from the point at
|
* allow issuance to be predicted exactly in advance, starting from the point at
|
||||||
which it activates;
|
which it activates;
|
||||||
* preclude errors by miners in computing the total fees for transactions in the
|
* preclude errors by miners in computing the total miner subsidy plus fees for
|
||||||
mined block;
|
transactions in the mined block;
|
||||||
* be deployable in the NU6 network upgrade, which is not expected to define a new
|
* be deployable in the NU6 network upgrade, which is not expected to define a new
|
||||||
transaction version.
|
transaction version.
|
||||||
|
|
||||||
|
@ -92,9 +93,9 @@ Specification
|
||||||
=============
|
=============
|
||||||
|
|
||||||
From the activation block of this ZIP onward, coinbase transactions MUST claim all
|
From the activation block of this ZIP onward, coinbase transactions MUST claim all
|
||||||
of the available fees in their block. More specifically, the following paragraph
|
of the available miner subsidy plus fees in their block. More specifically, the
|
||||||
and consensus rule in § 3.4 "Transactions and Treestates" of the Zcash Protocol
|
following paragraph and consensus rule in § 3.4 "Transactions and Treestates" of
|
||||||
Specification [#protocol-transactions]_:
|
the Zcash Protocol Specification [#protocol-transactions]_:
|
||||||
|
|
||||||
Transparent inputs to a transaction insert value into a transparent transaction
|
Transparent inputs to a transaction insert value into a transparent transaction
|
||||||
value pool associated with the transaction, and transparent outputs remove value
|
value pool associated with the transaction, and transparent outputs remove value
|
||||||
|
@ -116,11 +117,12 @@ is modified to become:
|
||||||
As in Bitcoin, the remaining value in the transparent transaction value pool of
|
As in Bitcoin, the remaining value in the transparent transaction value pool of
|
||||||
a non-coinbase transaction is available to miners as a fee. That is, the sum of
|
a non-coinbase transaction is available to miners as a fee. That is, the sum of
|
||||||
those values for non-coinbase transactions in each block is treated as an implicit
|
those values for non-coinbase transactions in each block is treated as an implicit
|
||||||
input to the transaction value balance of the block's coinbase transaction.
|
input to the transaction value balance of the block's coinbase transaction (in
|
||||||
|
addition to the implicit input created by issuance).
|
||||||
|
|
||||||
The remaining value in the transparent transaction value pool of coinbase transactions
|
The remaining value in the transparent transaction value pool of coinbase transactions
|
||||||
in blocks prior to NU-X is destroyed. From activation of NU-X, this remaining value
|
in blocks prior to NU-X is destroyed. From activation of NU-X, this remaining value
|
||||||
is required to be zero; that is, all of the available fees MUST be consumed by
|
is required to be zero; that is, all of the available balance MUST be consumed by
|
||||||
outputs of the coinbase transaction.
|
outputs of the coinbase transaction.
|
||||||
|
|
||||||
**Consensus rules:**
|
**Consensus rules:**
|
||||||
|
|
Loading…
Reference in New Issue