Proof of work wouldn't be as bad if it didn't have everyone competing to complete the same problem at the same time. Redundancy isn't necessarily bad, but the work itself exists mainly for the sake of work. As long as the solutions are easy to verify there isn't any reason you couldn't hand out a different problem (or some set of problems with minimal overlap) to everyone in the network and let the next person to complete forge a block. Anyone who hasn't finished can keep working on their problem (assuming they didn't overlap with someone who just finished it) and forge a subsequent block when they complete their problem. It'd make transactions significantly less expensive or allow a similar rate at considerably less power.
The other idea would be to find some kind of PoW friendly problems that have some use outside work for the sake of work. Would anyone really be griping about BitCoin mining if all of the computations were essentially being used for cancer research or something similar?
The other idea would be to find some kind of PoW friendly problems that have some use outside work for the sake of work. Would anyone really be griping about BitCoin mining if all of the computations were essentially being used for cancer research or something similar?