diff --git a/doc/release-notes.md b/doc/release-notes.md index 27a1abb85..43887e095 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -11,6 +11,37 @@ This release fixes an issue that could potentially cause a node to crash with th log message "The wallet's best block hash `` was not detected in restored chain state. Giving up; please restart with `-rescan`." +Transparent pool and chain supply tracking +------------------------------------------ + +Since v2.0.0, `zcashd` has tracked the change in value within the Sprout and +Sapling shielded pools for each block; v5.0.0 added the Orchard pool. This +release completes the set, by tracking the change in value within the +"transparent" pool (more precisely, the value stored in Bitcoin-style UTXOs). + +`zcashd` also now tracks the change in "chain supply" for each block, defined as +the sum of coinbase output values, minus unclaimed fees. This is precisely equal +to the sum of the value in the transparent and shielded pools, and equivalent to +the sum of all unspent coins/notes on the chain. It is bounded above by the +theoretical maximum supply, but in practice is lower due to, for example, miners +not claiming transaction fees. + +> Bitcoin-style consensus rules implement fees as an imbalance between spent +> coins/notes and newly-created coins/notes. The consensus rules require that a +> coinbase transaction's outputs have a total value no greater than the sum of +> that block's subsidy and the fees made available by the transactions in the +> block. However, the consensus rules do not require that all of the available +> funds are claimed, and a miner can create coinbase transactions with lower +> value in the outputs (though in the case of Zcash, the consensus rules do +> require the transaction to include [ZIP 1014](https://zips.z.cash/zip-1014) +> Funding Stream outputs). + +After upgrading to v5.4.0, `zcashd` will start tracking changes in transparent +pool value and chain supply from the height at which it is restarted. Block +heights prior to this will not have any information recorded. To track changes +from genesis, and thus monitor the total transparent pool size and chain supply, +you will need to restart your node with the `-reindex` option. + RPC Changes ----------- @@ -20,6 +51,18 @@ RPC Changes case, they would (properly) require that the transaction didn’t have any change, but this could be confusing, as the documentation stated that these two conditions (using "ANY\_TADDR" and disallowing change) wouldn’t coincide. +- A new value pool object with `"id": "transparent"` has been added to the + `valuePools` list in `getblockchaininfo` and `getblock`. +- A new `chainSupply` key has been added to `getblockchaininfo` and `getblock` + to report the total chain supply as of that block height (if tracked), and the + change in chain supply caused by the block (for `getblock`, if measured). + +Mining +------- + +- Changes to `getblocktemplate` have been backported from upstream Bitcoin Core, + to significantly improve its performance by doing more work ahead of time in + the mempool (and reusing the work across multiple `getblocktemplate` calls). [Deprecations](https://zcash.github.io/zcash/user/deprecation.html) --------------