Proof-of-Work as a concept was originally proposed back in 1993 and was conceived as a means to prevent cyber-attacks such as denial-of-service attacks on a network.

In computing, a denial-of-service attack is a cyber-attack in which a malicious party seeks to make a computer, or node, unavailable to its intended users by temporarily or indefinitely disrupting services.

Adopted by Bitcoin in 2009, and subsequently many other Blockchains, Proof-of-Work has become one of the most widely used consensus algorithms within the world of cryptocurrency.

But how does it work? 

The Bitcoin blockchain is maintained by a global decentralised network of nodes, some of which are referred to as miners.

Miners are responsible for adding new blocks to the blockchain, although in order to do so they must first solve a complex system generated equation. In doing so miners receive a reward, in the form of cryptocurrency, for their efforts. Miners, therefore, compete with one another to be the first to solve the equation and receive their reward. 

You can think of this task as the “work” in Proof-of-Work. 

The equation itself is purposely designed to require a certain amount of brute force, computational power, energy consumption & time to compute.

And though these attributes make the equation difficult to solve, it must also be easy to verify.

Let's break these attributes down a little further.

 

Brute Force

Brute force refers to the fact that Proof-of-Work equations require brute force, in the form of countless random guesses to solve. In fact, at the time of writing this course, it’s estimated that it takes over one Quintillion guesses to solve just one equation. That’s a 1 with 32 zeros.

 

Computational Power

Completing over one Quintillion random calculations requires huge amounts of computational power.

Proof-of-Work equations are therefore almost impossible for individual nodes with limited processing power to solve on their own, and instead rely on the combined resources of all individually competing miners on the network, to find a solution. Although, not everyone works alone.

To boost one's chances of receiving a reward, miners may in some cases join mining pools, where communities of miners combine their computational resources to better their chances of being the first to solve the equation.

In such instances, individual miners within a pool are rewarded based on their specific contribution, typically calculated by the computational resources they were able to commit to the wider effort.

 

Energy Consumption & Cost

We all know that the initial cost of purchasing powerful computing hardware is costly; this coupled with the on-going energy consumption cost of having to continuously perform mining calculations can be very expensive. 

 

Time

With the combined effort of all miners on the network, including both individual miners, as well as all those within mining pools, all competing to solve the equation, one might think that the solution to the equation would be found within a fraction of a second.

However, this is not the case. In fact, the difficulty of the equation also referred to as “network difficulty” is adjusted every 2016 blocks or roughly 2 weeks.

The adjustment itself factors in the combined computational power of all of the miners on the network, with the system always aiming to ensure that the network will only produce one valid block every 10 minutes on average."