Proof of Work will fail
In a centralized database, ensuring consistency is easy as there’s just a single source. Whatever the state of that single source is, is the current state of affairs. That naturally doesn’t need to imply you trust the state of the single source, because it’s easy to change by whomever has access.
If you don’t trust a single source, maybe it’s better to trust multiple sources. In the majority we trust, assuming the majority isn’t made up of corrupted entities? How do you ensure that the cost of bribing the majority stays prohibitively high?
Bitcoin wants to solve the double spend issue, by ensuring consistency with regards to the prescribed rules of operation, in a setting where you can’t trust anyone. But at the same time you are critically dependent on the resources provided by these entities you don’t trust, to ensure the continued progress of the ledger.
It’s a bit like some control systems, like those you for example find operating the avionic systems in the Space Shuttle. It has 5 identical computers, each responsible for the same calculations, where the majority output of these 5 decide the actions to take. Because shit happens, you don’t want a single source of trouble to go ahead uncontested.
But unlike the Space Shuttle, were we can assume that each of the 5 computers are made to everyones best effort into doing the right thing, there’s no such trust available for Bitcoin. The incentive to rip you off is too high, and unregulated, to assume any good intent by default.
So this changes the dynamics, and forces us to associate a high cost (and related inefficiencies) as a method of forcing trust in the majority decision. This is what Proof of Work enables, and it was the mechanism needed in the early days of cryptocurrencies, because no alternative source of value was associated with ensuring the smooth operations of the blockchain.
So what does PoW do?
Like we briefly mentioned in the previous post, Proof of Work (PoW) involves finding a hash value from previous and current data, which when combined with some random data, produces a hash with a given number of zeros according to some defined format.
Because it is difficult to guess the output of the hash function given some input, the only approach available is to try it out. Given some input, you see what hash output you get. And if that output, when combined with your random fraction, happens to produce the desirable output, you have found the next block.
As it is difficult to know exactly what input is needed to produce the given output, you finding this input proves that you’ve done sufficient work to claim your mining reward. It is easy for others to confirm this, as the cost of running the hash function itself is low. Running this for one iteration given some input is near free, it’s only when you have to initially run this many many times to find the right input that the cost goes up.
Naturally there’s randomness involved in the above process, and you might get lucky and find the right random data on your first try. But that’s unlikely, and very unlikely over several iterations. There is a risk of course that someone very smart manages to find a weakness in the hashing function, allowing them to predict in advance what random input data is needed to produce the desirable output. That would bring the cost for them down, allowing them to dictate the direction at a lower cost than the rest of the network. This would benefit them economically as they would be able to claim more minding profits, but it also introduces a risk that would break the integrity of the ledger. So far, there’s no known vulnerability associated with the hash functions used, so we don’t think PoW will fail for these reasons.
Why will PoW fail?
Imagine you run a transportation service company. Your job is to take goods and deliver them elsewhere. Associated with this process you have various costs, including fuel costs for your truck.
The customer doesn’t really care what type of truck is used. As long as it doesn’t break down and gets the job done, that’s good enough for them. But you care what the costs of operating the truck is, and thereby indirectly what type of truck is used.
If a different type of truck enters the market, one which is more efficient for whatever reason, then the cost of using that truck is less. That means some other transportation company can use these trucks instead, and can get away by charging less while still maintaining their profit margins.
If Bitcoin is a truck, as just a method of transporting value from one account to another, we don’t really care if it’s Bitcoin or some other type of cryptocurrency. What we care about is the efficiency at which this value can be transferred. This efficiency is measured by how long it takes to confirm the transaction, something which takes up to an hour for Bitcoin!
Now while PoW might have been required initially as a method of proving a point, it is an inefficient mechanism. And, as we’ll also be blogging about in the future, other methods exist. These other methods are more efficient. They allow you to accomplish the same as what Bitcoin does, and more, for less.
Simply for this reason, as the technology and market evolves and improves, PoW will die. And this is not even touching upon the 51% attacks that PoW is exposed to, another topic for a different post.