ok Why not decentralize this and give a material incentive to the nodes to be nodes? Without an incentive the biggest stakeholders or those with non-material goals would run nodes. But the system itself doesn't guarantee that nodes are run.
What makes you think those with non-material goals wouldn't be making so much more? If we pay nodes to participate then everyone will want to be on the receiving side which means you need a fixed reward divided among all players.
Lets step back a second and reconsider everything... suppose you did something like this:
1) Use a mining algorithm like momentum where the difficulty is adjusted by square of the coin days destroyed by the block.
2) Pay a very small percentage of the fees to the miner.
3) If two blocks are found at once, the one with the most CDD wins.
The consequences of this approach are as follows:
1) block times return to 5 minute intervals rather than seconds...
2) if there are no transactions CDD is 0 and difficulty is infinity... therefore variation in transaction volume will have a bigger impact on the difficulty adjustment than adding or removing miners.
3) centralization one block at a time returns... but if you allow everyone's CDD to factor in then someone excluding transactions is unlikely to win. Thus the network errors on the side of including transactions rather than excluding them.
4) You end up increasing the expenses of operating the network (paying miners) and thus reducing the dividend.
I suspect that the mining reward can be as low as 1% of the transaction fees and it would be enough incentive for many people to mine in the background at some steady state. Mining will always be profitable because if it were not people would stop mining.
Overall I think I like this... though I lament the performance cost.