What is the Proof of Work?

Bitcoin is not the result of solving complex mathematical problems as is often said when explaining to beginners. This concept of complex mathematical problems can be useful in explaining to someone who is just starting out, but it can also lead to misunderstandings about how Bitcoin works and how new units are generated.
The Work
What do we mean by “work” in this digital world? We call work to the execution of computational instructions. This means that when a software or application we use performs an action, it is working. This digital work is performed on hardware, which requires energy to function.
What is the purpose of that work?
When we think about Bitcoin and how it works, there are several problems to solve to ensure that the system works and is sustainable over time. Among these problems, we can identify the following: how do we achieve open participation without abuse? And how is each new bitcoin generated?
To achieve open and public participation, we usually need any entity (person or company) to be able to join the network on equal terms. This includes the task of ordering transactions and thus ensuring that a person cannot spend the same bitcoins twice. But, following our premise, anyone should be able to order those transactions. If we let anyone do it, we could be victims of someone who wants to attack the network with malicious intentions. In addition to that, there is a factor of time and synchronization to consider, which is not easy on a distributed network around the world with different computers and connections, each operating at a different capacity.
On the other hand, the answer to how and when each new bitcoin is generated is not a minor issue if, after all, we are creating a new monetary system. The issuance of this new asset will determine its economic behavior and its virtues or flaws as money. Once again, our problems must be able to be solved in an open and public way without unilaterally choosing actors with more power or authority than others, as otherwise, we would return to the system we are trying to overcome.
The way that Bitcoin ingeniously chose to solve these problems was to require network members to perform a certain amount of work to earn the right to order transactions. As a reward for this work, not only will each member who chooses to participate have the possibility to order transactions, but they will also receive a reward in the form of new bitcoin. In this way, there is a cost in the form of work for anyone who wants to participate in this task, making it not free to attack the network; and there is also a reward for virtuous participation, which generates incentives to act in this way. In the end, everything is about incentives in this world.
As an additional benefit, we will think of that work to be done in such a way that it inevitably takes time to complete. Here we solve several problems of synchronicity and coordination as well.
How do we verify the work?
How do we verify that a network member whom we do not know or have access to has actually performed the work we asked them to do?
For example, if the task in question were to add the number 8 ten million times, then a computer would have to perform ten million operations and return the result of 80,000,000. However, another computer could simply perform a single multiplication operation of 8 by 10,000,000. Both would arrive at the same result, and the result is the only thing we can see and validate since we have no way of knowing how each computer did its task. After all, let’s not forget that we are dealing with an open and publicly distributed network globally without a central authority and, of course, without identity or registration requirements. The only tool we have to verify work performed is the result of the work.
This lends itself to scenarios where some parties may “cheat.” Even the solutions that we could come up with to solve this should maintain determinism and consistency over time so that verification of the work performed can be done by any network member easily without relying on third parties. This rules out complicated solutions or even using complex and random problems.
A Proof of Work Analogy
Our goal then is to find that proof that a job was done. And that’s where the “Proof of Work” in Bitcoin comes in, which is not about solving complex mathematical problems… but about the repetition of tasks and a game of probabilities.
Suppose you ask me to roll 8 dice, with 4 of them being the number “1,” and then show you the video as proof. Every time I succeed, you’ll give me a reward (economic incentive).
To achieve this, I’ll probably have to roll the dice dozens of times until I manage to film one that meets the condition. You estimate that this could take me, for example, 10 minutes. Motivated by the reward you’ll give me, I buy 16 more dice, so with a total of 24 dice, I can roll 3 sets of 8 in parallel ( hashpower). This way, I can find the desired roll in an average of 3 or 4 minutes instead of 10.
Seeing this new situation and realizing that I generate results faster now, you demand that instead of 4 dice with the number “1,” I have to find 6 dice with the number “1” (difficulty increase). Even with 3 sets of rolls at a time, I’ll probably still take 10 minutes to meet the new condition. The interesting thing about all of this is that you, and anyone observing, will always take just 4 seconds to watch the video (here’s the proof of work) to easily and quickly verify what I had to work hard to achieve.
The Proof of Work on Bitcoin
Following the previous analogy, the rolls of the dice are the computational operations that members of the Bitcoin network must perform. They do this in the form of a hash function. A hash function takes content and returns a small code calculated from that content that represents it practically uniquely, like a digital fingerprint. The trick is that there is no practical way to guess what content will generate a specific digital fingerprint (also called a hash). So the only way to find a specific hash is to simply try multiple contents until it is found.
If we require network members to submit content whose hash is less than a certain value (this is called difficulty), then those network members will have no choice but to try again and again with different content until the result is a hash code that meets the predefined condition. Of course, once found, it is very simple for anyone to check if that given content actually produces the required hash.
In Bitcoin, the hash function used for this is SHA256, and the content in question is nothing more than a block in the blockchain, which contains some values that can be arbitrarily altered to produce different hash codes until the desired one is found. We will call miners to those members of the network who perform this work and generate hash codes to test, for which they then receive their rewards.
For many, it will be evident that a miner could be lucky and find the desired hash on the first or second try, having worked little to achieve it. That is true, and that is why we said earlier that this is also a game of probability. In the long run, the probability of finding results that meet the rules will depend on their difficulty and, combined with the computing power of all network miners, allows us to classify the total duration of that work at approximately 10 minutes between results. In other words, between blocks.
Sources
¿Qué es la “Prueba de Trabajo”? — Estudio Bitcoin
Visit our Website
With so many hardware wallets on the market, it can be challenging to choose the right one for your needs. That’s where our Hardware Wallet Comparison TheBitcoinHole.com website comes in. You will find the most comprehensive and honest resource for comparing the features of the top hardware wallets.
Support Us
There are different ways to support our work:
Tip
If you enjoyed this article, you might get value out of these as well!