Speaking as a ZIP Editor, I wanted to raise a concern about the security of the incentives in this split:
In Nate’s original post about the fee split, he talks about balancing the incentive for mining the current block, and the incentive for increasing the payouts of future blocks.
So I’m not sure if 50/50 is the best split as we move into the future. When issuance drops to zero, a 50/50 split is only balanced if there is a single mining pool on the entire network. Because to get the full 50% in future block payouts, they would need to be the only miner, and plan to be there for the long term. So there is still an significant incentive to roll back blocks for a larger fee.
So whenever the fee difference between blocks exceeded mining costs plus issuance, miners would have an incentive to roll back.
Ideally we’d want a strong incentive to mine even for miners that are significantly less than 50% of the network. And we’d want the current fee share to be low enough to avoid significant fee differences between blocks creating incentives for a rollback.
But we’re not in the far future now, so maybe it’s all ok. But maybe it’s not. So let’s check first, before we deploy the ZIP and find out.
So as part of the ZIP, I’d like to see an incentive model that justifies the proposed fee split for the current blockchain:
- maximum fee differences between recent adjacent blocks
- typical mining costs
- issuance rate before the halving, after the halving, and if the smoothing ZIP is accepted
- a mining pool that is 50%, 10%, and 1% of the hash rate
A model like this would help us work out a reasonable range of splits, and when we’d next need to review the split.
As an engineer I also have a slight objection to equal fractions, because it will be harder to discover some kinds of bugs. For example, swapping the miner and ZSF fractions, or swapping the checks for the miner and ZSF amounts. (A swap like this happened in Zebra before, but we caught it in code review.)
Any other split than 50/50 would fix this concern. (51/49 would be fine, because the difference between these fractions of the median transaction fee is larger than zero.)