Classical Blockchain systems with Proof of Work have been suffering from the fact that the work for resolving the cryptographic puzzle is actually not a useful one. There are many attempts to overcome this problem, however the real problem is that finding a useful computational problem that can be scaled both with difficulty and with timing to a blockchain algorithm is extremely difficult:
- Such an algorithm has to have a difficulty level that can be adjusted based on the miners or validators.
- The algorithm has to produce result in a certain time frame.
There is only one attempt that managed successfully to find such an algorithm, that is Primecoin.
There is however a fundamentally different approach to deal with Proof of Userful work and that is actually via Proof of Stake. In Proof of Stake something has to be deposited as a stake to provide an incentive to stabilize the network. This deposit can be actually produced with the help of a scare resource that might be a computationally intensive algorithm that is doing something useful. In this way several problems of a classical Proof of Work system is eliminated: the useful algorithm must not necessarily be solved in a certain timeframe, the difficulty should not be necessarily varied, and what is most important the actual miners should not compete on the resources but everyone who puts work in gets rewarded.
Certainly, there are some open questions as well:
- How can be guaranteed and measured that a certain amount of work has been really carried out ?
- How can be made sure that the resulting algorithm and consensus really provide a Nash equilibrium to maintain the consistency of the network,