I’m going to suggest a potentially unpopular approach -
- Leave coinbase outputs and kernels in place for HF4 (final scheduled HF)
- Leave the option open in the future to simplify these through a future (as yet undetermined) HF
We know how coinbase outputs work and we know the validation rules for these are in place and correct.
There is still some level of uncertainty around exactly how this proposed simplification affects miner incentives and double-spend incentives. I would hate to push a potentially contentious change out like this in our final scheduled hardfork and then subsequently discover we need to change the consensus rules back to something similar to what we have today (via an unscheduled hardfork).
My understanding is we do have consensus in the community around supporting “duplicate outputs” and I propose we focus on investigating and ideally implementing the changes required to get this rule change in for HF4, leaving coinbase outputs as they currently stand today. There are some edge cases to think through around the interaction between spending duplicate outputs and coinbase maturity rules andI propose we tackle these with the assumption that coinbase outputs will remain.
I’d love to hear arguments for why people do think we should tackle “coinbase outputs as transaction outputs” now in advance of HF4.