“Proof-of-work” mining successfully secures the two biggest blockchains in the world, Bitcoin and Ethereum. But it does its job by consuming the same amount of electricity as the entire country of Austria, making it the most powerful computing network in the world, and this fact raises an interesting question: could all of that computing power be doing something useful as a byproduct of validating transactions?
There are engineers around the world who are rethinking the potential of blockchain mining powerhouses. They are trying to figure out how to use them for something more beneficial than just computing hash values, and solving that particular puzzle is turning out to be very difficult.
We would like to thank the team at Fetch for their contributions to the design and implementation of the research and to the analysis of the result.
Why Proof of Work is Important
In a proof of work blockchain like Bitcoin, transactions are basically secured by pure brute force. Miners compete to solve a difficult computational puzzle, and whoever can find a valid answer to that puzzle first gets to create the next block on the blockchain and gets rewarded with 12.5 newly minted Bitcoins.
The beauty of this system is that if you want change something on the blockchain, you have to recaluculate new answers to all the puzzles in all the blocks after the change, even if that change is only tiny. Unless you have more computing power than the rest of the network put together, you’re not going to be able to do it. New blocks will be added with new puzzles faster than you can solve them.
This basically means that the Bitcoin blockchain is effectively impossible to hack because it would require a vast amount of computing power and money. For an attacker to gain control and manipulate it, they would need enough computing power to gain 51% of the network capacity, plus the electricity to run it. The total cost would be somewhere in the range of $2.5 billion, and this expense is only increasing as time goes by.
But It’s Very Wasteful
The proof of work consensus algorithm has given birth to probably the most secure decentralized network in history. But that security comes with high costs.
First, there’s the electricity. According to the Bitcoin Energy Consumption Index, the Bitcoin network alone consumes 71.12 terawatt hours of power per year. That’s about 0.32% of the world’s electricity consumption. That means it has a carbon footprint of about 34,851 kilotons of CO2, or 481.2kgs of CO2 per transaction. This makes Bitcoin transactions thousands of times less energy efficient than VISA.
Then there’s the investment going into mining. Bitcoin mining is all about finding suitable solutions to the SHA-256 hash function. As a result, investment in the computing hardware that is capable of solving this specific problem has skyrocketed alongside the price of Bitcoin. In the early days, you could mine Bitcoins with simple multi-core GPUs. But as the price of Bitcoin began to rise, so did the competition among miners. Miners now use powerful hardware designed and built with the sole purpose of mining Bitcoin.
The result is that now Bitcoin is the most powerful computing network in the world. It’s about 100,000 times more powerful than the world’s top 500 supercomputers combined. But all that computing power has no benefit other than securing the network.
The Idea of a ‘Useful’ Proof of Work
Of course, this isn’t really “waste.” All that energy is spent securing decentralized networks like Bitcoin and Ethereum. But blockchain networks are only getting more powerful over time. What if all this computing power, electricity, financial investment, and technological development could be doing something more useful on the side?
It turns out there are a few different ideas being tested and developed right now to make “useful roof of work” a reality.
Byproduct-Style Useful Work
“Useful Work” is the idea that cryptocurrency mining can, as a byproduct of securing a network, actually help solve some problems that’s useful to society. Rather than computing trillions of solutions to the SHA-256 hashing algorithm, it’s meant to compute solutions that can be used for something outside of mining.
Another use for this technology is searching for prime numbers. Large prime numbers and chains of prime numbers can be very useful for mathematicians and cryptographers. Much of modern cryptography relies on having new and difficult-to-find prime numbers.
Primecoin is a cryptocurrency that implements this idea of useful work. Mining Primecoins requires finding large chains of prime numbers (called Cunningham Chains) that are useful to academics, science, and computer technology. Primecoin has been successful so far, and has even set a few scientific world records.
The main challenge for this style of useful work is finding the right kinds of problems. The problem needs to be:
- Generated pseudo-randomly (i.e. there can’t be some central mediator choosing the problems. They must be able to be generated from nothing)
- Difficult to compute
- Consistent (block times need to be predictable)
- Easy to verify a correct solution (or have a mechanism to ensure verification in some other way)
- Derived from public information that all miners have access to
Beyond finding prime numbers, it’s difficult to think of new puzzles that meet all these requirements. The algorithm can’t solve some problems that are including private information. Otherwise, attacking blockchain networks would effectively be subsidized. If mining Ethereum gave you valuable solutions to a problem, you could use that value to offset some of the costs incurred by attacking the Ethereum network. This would make the network less secure.
Investment-Style Useful Work
The high value of new cryptocurrency from mining has led to a technological arms race among miners. Demand is so high for cutting edge hardware capable of efficiently mining cryptocurrency that there have been global shortages in GPUs and other specialist computing hardware. Much of this investment has gone towards building more and faster chips that can only be used for Bitcoin mining.
One possible way to indirectly benefit from mining is to make sure this investment goes towards more useful hardware development. This would require designing a new type of mining algorithm. One where the new hardware is manufactured and developed to solve it would be useful for other computing tasks, too.
Cryptocurrencies with this property could be something like Filecoin or Permacoin. These projects reward miners for storing and accessing files using an idea called the proof-of-space algorithm. With proof of space, the computational “work” you have to do is prove that you have stored some files. Here, miners are rewarded for storing large files (rather than computing hashes). The more efficiently they can store those files, the more mining rewards they receive.
This means the incentive is to invest in more and better hardware in order to store more files at a lower cost. This would naturally lead to more investment in computer storage capacity, with the added benefit of a decentralized storage network on the side.
If the hardware needed to mine a cryptocurrency is general purpose (e.g. with storage), it effectively reduces the cost of an attack. For example, a 51% attack on the Bitcoin network would require buying billions of dollars of Bitcoin-specific mining hardware. This would basically be impossible, as there simply isn’t enough supply. Alternatively, on a storage-based mining system, any cloud storage company could redirect a large amount of storage they already have to take control of the network. At this point, though, this type of threat is purely theoretical.
Network Focused Useful Work
The last style of a useful work doesn’t aim to repurpose mining power to benefit society. Instead, it tries to find creative ways to benefit the users of the network itself, beyond just security.
An example of a project trying to pull this off is Fetch, an ambitious project that is merging artificial intelligence with a distributed economic platform. The basic idea of Fetch is to provide a decentralized environment where Autonomous Economic Agents (AI bots that can trade and interact with each other without human intervention, i.e., agents that act on their own behalf) can live and do “useful economic work.”
Skipping over many of the technical details, Fetch requires a blockchain that can scale indefinitely. Obviously this technology doesn’t exist right now, so they’ve started developing their own platform to meet their needs.
The solution Fetch has come up with is based on parallel processing; these are processing transactions that don’t affect each other at the same time. This is the same principle that the Lightning Network and Raiden Network are using to scale Bitcoin and Ethereum. But Fetch has come up with a clever way to parallelize those transactions to the greatest extent possible and without the loss of individual transaction information that occurs on settlement networks.
On the Fetch network, the task of organizing parallel transactions in the most efficient way possible is done by the network as part of the proof-of-work algorithm. In other words, just by mining Fetch, you include your computing powers to the network and, therefore, help it to process its tasks much faster. The Fetch team has taken this idea even further and built a virtual machine for these “useful proof-of-work” tasks. It can be used for more than just block optimization, extending to AI and general purpose computing.
Fetch’s useful proof of work idea can supposedly change to run different computational tasks. These tasks are set by communications between the “autonomous-agents.” The big challenge for a project like this is to make sure this algorithm stays useful while fulfilling all of the proof of work requirements. Fetch achieved this using a combination of clever techniques.
The danger of reduced decentralization may result, along with a more complex proof-of-work system. There would need to be a trusted administrator to allocate and check that the correct work has been done. But it has a flip side. If cooperation between autonomous agents becomes complex, and each of its cases is different from another, then a central point of control/failure will be impossible. Fetch’s approach, actually, increases decentralization: everyone’s work is useful and rewarded, and there is great incentive to operate a node (to support agent requests and to perform UPoW tasks). So, why would it be necessary if the agents can authorize what is useful on their own?
We’ve created an infographic to better explain this idea to you:
Useful Work Could be the Future
In 10 years Bitcoin went from a whitepaper to the most powerful computing network that has ever existed. But right now, all of that power goes into securing just a few transactions per second.
A few people are now starting to wonder if all that electricity and hardware investment could be put to better use. There are some interesting ideas to use it to benefit society as a byproduct, and there are other ideas on how to make the blockchain networks themselves faster. We have yet to see any of these ideas implemented into the mainstream, but it’s hard to see a decentralized future without an elegant way to tap into these resources.