zcash / zips

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

[ZIP 2004] Remove the dependency of consensus on note encryption #917

Open daira opened 3 weeks ago

daira commented 3 weeks ago

ZIP 213 added the ability for coinbase outputs to be shielded. An unfortunate side effect of this was to make consensus dependent on the details of note encryption, because these outputs are required to be validly encrypted with the zero key. From discussion with other Zcash protocol developers, I believe the consensus (no pun intended) is that this was a design mistake that has unnecessarily complicated the specification and implementation of consensus rules.

I intend to write a ZIP that disentangles note encryption from consensus, by instead requiring coinbase outputs for v6 and later transaction versions to be unencrypted. The disentanglement will only be complete once earlier transaction versions are no longer allowed on the network, but that is likely to happen in some later upgrade.

str4d commented 1 week ago

The ZIP Editors (me, @nuttycom, @conradoplg, @arya2) agree that the ZIP draft as-written is an Update ZIP, and have assigned it ZIP 2004.