Instead of miners solving computationally difficult "puzzles" for every block, what if they only had to demonstrate they have the MEANS to do so?
Those "puzzles" are the cryptographic functions that keep the blockchain from being rewritten and thus securing transaction finality. It's more than just computation for the sake of computation.
For example, there might be a 5-10 minute contest once a week, during which all miners demonstrate how much processing capacity they have.
Those with the most capacity would be granted the right to publish a larger share of the blocks over the following week, against much lighter competition and with much lighter processing power per block.
Who grants the right to publish blocks?
How to ensure that all miners involved only publish their predetermined share of blocks, ie. how to limit their respective hashrate and thus prevent someone without the right to publish blocks to simply rewrite the blockchain?
How to keep block times steady?
How to prevent miners with the permission to publish blocks from blocking other people's transactions or forcing double spend attacks of their own?
How to determine how long a week is without relying on an external centralized oracle?
How to determine how long 5-10 minutes are without relying on an external centralized oracle?
Edit:
Apart from the above, what then prevents these miners from simply pointing their hashrate at a different cryptocurrency when no contest is taking place?
What prevents these miners from simply spending resources on hardware rather than electricity, now that they have less electricity to pay for?