Proof of Work is part of the group of consensus protocols where an effort is required of the participants in the draw to determine who proposes the next block.
What are consensus protocols?
They are systems of rules that allow communication between computers to share information. With the arrival of Bitcoin and decentralized funding for the development of open protocols, entrepreneurs have been inspired to develop applications on this new base by creating new protocols to operate in a decentralized world.
Blockchain-based cryptocurrencies have the main characteristic of this technology: trust and decentralization, this goes beyond whether the participants have full confidence or not. That is why it is necessary to reach agreements on how a process should operate. In computing, these agreements refer to mathematical formulas that record the conditions, principles and common functionalities for all participants, called algorithms or consensus protocols.
A consensus protocol is the procedure by which a node is chosen to propose a new block. This choice is intended to be random, as we mentioned in the previous section, although not all participants have the same probability of winning the “draw”, since the system will assign the mining prize among the miners that have the highest computational power. The purpose of this random choice is to avoid having a single person in charge of proposing blocks that can be appropriated, in this way, from the chain.
For this end, all participants can be chosen to propose blocks, but those who have a greater individual interest in the correct development of the Blockchain are more likely to win that draw.
Proof of work (PoW)
With the emergence of the digital money concept introduced by David Chaum in 1983, the proposal of a trustworthy central server that prevented possible double expenses was known. To avoid privacy risks of the individuals produced by this server, and to ensure the safe use of electronic money, Chaum introduced a blind firm to avoid linking the firms of the central server, which represented the currency, but maintaining the central server to avoid double expenses.
Much work was done in the development of alternatives that increased security in terms of servers for digital money and information security and management. With the approach of the information security concept, it is resolved that the development of security strategies should focus on implementing preventive and reactive measures that allowed organizations the development of technological systems in order to safeguard and protect the information, aiming to maintain the confidentiality, availability and integrity of the data.
Many systems for the protection of electronic transactions have been developed ever since, using cryptography and some of them are still effective and in use. Some of them are the Secure Sockets Layer (SSL), the Secure Electronic Transaction Protocol (SET), all of them focused on protecting the confidentiality of the information, the payment information integrity and the authentication of the merchant and the credit card owner.
But the failures in terms of computer security and information security—concepts that tend to be understood as one thing but are not —continued and were practically the same for all users of IT services: denial of services (DDoS), intrusion attacks, spread of malicious software, so the need to develop protection systems was urgent for all sectors.
In the midst of all this, the Proof of Work protocol emerged as an economic measure to discourage denial of service, attacks and other abuse of services, such as spam on a network, by requiring the service requester to performing a job, which usually means that processing time by a computer should increase.
The concept was conceived by Cynthia Dwork, an American computer scientist at Harvard University and Moni Naor, an Israeli computer scientist, currently a professor at the Weizmann Institute of Science, as presented in a press article in 1993. The term “Proof of Work ” or POW as such was coined and formalized for the first time in a 1999 article by Markus Jakobsson and Ari Juels, both renowned experts in computer science.
In 1997 Hashcash appeared as the first proof of work system, whose fundamental idea is that the unreliable nodes that intervene in a system must provide proof of their interest in the system. For this they have to show that they have dedicated a certain amount of resources, proof of work.
From this idea, new systems have been appearing that try to take advantage of the concept of proof of work for more general applications. In 1998, B-Money of Wei Dai and Bit Gold of Nick Szabo appear. In 2004, Reusable Proof of Work by Hall Finney appeared, systems that despite of their weaknesses were the first effective approaches to have a working system that would allow the exchange of value.
Bitcoin was born in 2009, attributed to Satoshi Nakamoto, becoming the first widely used implementation of a peer-to-peer electronic money system, which does not require trust in peers. It replaces the signature of the central server with a consensual signing mechanism, made by non-reliable nodes called miners, based on proofs of work where signatories are encouraged to act cooperatively and honestly, whose operation and results are based on the PoW.
How does Proof of Work work?
Within this protocol, the user of the service must perform some type of work that has a certain cost and that is easily verified by the server, consisting of making an algorithm on the client’s computer to avoid unwanted behavior (denial of service attacks or spam). There are two types of consensus proofs:
- Challenge-response: these take a direct interactive link between the client and the server. The server chooses a challenge in which the client finds an appropriate response in the set, which is sent back to the server where it is verified.
- Solution-verification: these don’t take a link as in the previous case, therefore the challenge must be self-imposed before the client can find a solution, and the server must verify both the chosen challenge and the solution found.
The functions used by the different protocols can be of two kinds:
CPU-bound where the computation is executed at the speed of the processor, which changes visibly in time according to Moore’s law, and also of servers dedicated to portable devices.
Memory-bound where the speed of computation depends on the speed of access to the main memory, which in turn can be limited by latency or insufficient bandwidth, which is expected to be less sensitive to hardware evolutions.
Finally, some POW systems offer shortcut computations that allow participants who know some key, usually a private key, to access the service generating minimal work. The idea is that, for example, an owner of a mailing list can send messages to all those registered without incurring a high cost. Whether this feature is desirable or not depends on the scenario in which the POW system is used.
Proof of Work is part of the group of consensus protocols where an effort is required of the participants in the draw to determine who proposes the next block, and a reward is given to the winner.
The effort here consists of using computational capacity to find the hash code that validates the previous block. The greater the power of the computer, the greater the energy consumption and the greater the probability of obtaining the valid code.
Cryptocurrency mining using PoW
The process occurs when someone proposes a new block without a hash code, so that all the nodes can compete to find it, only some do and are known as miners, since the process of finding the hash is known as mining.
This protocol uses a large computational capacity to find the hash with which an economic expense is incurred and since no node is guaranteed to be the first to find it, it constitutes a security guarantee since it seems unreasonable that an evil node is wasting energy and money in that purpose, especially taking into account that if it won the draw and proposed an invalid block, the rest of the nodes would reject it and it would be left without the reward
To motivate non-evil miners to try to find valid hashes, blockchains that implement this method offer a reward in the form of a cryptocurrency to the first node that finds it, and it is precisely this protocol that is used in Bitcoin mining.
The value of the current reward for each validated block is 12.5 bitcoins and a block is validated every 10 minutes on average. This method is only used in blockchains associated with cryptocurrencies.
As the network of miners grows accumulating more computing power, it takes less and less time to find the solution and the block time is reduced, with which the timeline of issuance of the currency is altered, because each time a block is processed, coins are issued to reward the miner. In the beginning, the value of this reward was 50 BTC, but due to the nature of the mining process it has decreased.
On the other hand, if the network loses computing power, the block time becomes longer, and this affects the stability of the network because transactions take longer to process.
In order to avoid this, networks periodically adjust the conditions that the hash function must fulfill, in order to keep the block time constant. In other words, the network makes adjustments of difficulty to keep the block time constant before the possible growth or decrease of the miners network.
Huge energy expenditure
One of the arguments used against this protocol is precisely the large amount of energy used, or wasted according to many, to perform the process of block mining, but we must not forget that this process is not only used to determine who proposes the next block but also results in the security of the chain, because if someone modifies something in a block, both the block and all subsequent ones will have an invalid hash that needs to be mined again.
Therefore, if someone succeeded in modifying the blockchain they would have to re-undermine not only that block but all subsequent ones, and they would have to do that in each copy of the blockchain that is owned by each node. This represents an even greater degree of difficulty for the hacker than the initial miners of the process had to overcome. Thus, whoever wants to corrupt the network would have to spend as much energy in doing it as what was spent in validating it originally. If the difficulty is high, the energy used is greater but so is security.
On the other hand, we must also say that, from a certain level of difficulty in the hash, which implies a greater energy expenditure in finding it, the chain can be considered safe enough and the extra energy used to obtain valid hashes of greater difficulty can be considered wasted.
The reason why all this energy is spent despite all this is that the difficulty of the hash is not configured according to how much security is sought but what is the average time intended that the mining process takes.
That is to say, as the miners compete to find the hash for each block, if a mining difficulty is established that would provide enough security for the chain, then when miners increase in number or resources, blocks will be mined faster and faster, therefore they will be more empty and would contain fewer transactions.
But this is not so important, so that what is set is the average time that it would take for the blocks to be mined, for example in Bitcoin mining is 10 minutes and every 2 weeks approximately, the mining difficulty is recalculated so that this requirement is met.
In personal use this is not so relevant because quantities are very small, but mining is an intensive activity that requires the permanent use of all the processing capacity of the machine.
To have a rough idea of the energy consumed in mining processes, the annual consumption of electricity used in Bitcoin is 39.03 TWh, which is equal to the approximate 39 TWh that were needed to power a country the size of Peru last year.
Advantages and disadvantages
With the experience of using the working test algorithm, especially in Bitcoin, it has been argued that the chosen algorithm would be better if it met certain restrictions:
- Resistance to ASIC technologies. In Bitcoin the specialization of the mining process, in order to make it profitable, is causing the power to create blocks to be centralized in those that use scale economies to compete and invest in ASIC technologies. This causes the centralization of the power to produce blocks in external entities. For this inconvenience if you want to use proof of work algorithms it is good that they are resistant to ASIC technology.
- Proof Of Useful Work. In Bitcoin the amount of computational work that is currently spent in the mining process is extraordinary. It is estimated that several hundred megawatts have been spent. That is why some propose to use consensus algorithms by work test in such a way that the work that is done can be used to obtain some benefit. For example, the Primecoin consensus algorithm looking for cousins with certain characteristics and Permacoin, based on distributed storage of information, giving rise to the so-called proof of storage or proof of retrievability.
Mining by proof of work has been the first to be established and is currently the most widespread and developed. It is the protocol used to mine Bitcoin, Litecoin and the one that Ethereum used before implementing the Proof of Stake.
The security of this protocol is proven and supported by the market value of the three mentioned cryptocurrencies, which is hundreds of millions of dollars, and none of them has ever been attacked.
However, it has some points that are the subject of debate. On the one hand, the high electricity consumption of these networks threatens the need to preserve the planet’s natural resources. On the other hand, the industrialization and the development of specialized hardware are creating a centralization tendency, making the fundamental nature of this technology to be lost. Finally, it has difficulties for scalability, that is, its speed to process transactions is limited, which in turn limits the growth of networks.
Blockchain is a new technology, which is in constant development. There are brilliant developers and researchers who work every day looking for solutions that make it safer, more efficient, more scalable and with greater possibilities.
More and more consensus protocols are being developed that seek to provide solutions to the drawbacks of PoW, as in the case of the Proof of Stake protocol, which proposes solutions to some of the problems discussed, and combinations or variations have been proposed to improve the results.
The changes implemented in these protocols are complex since they put the security of the network at risk, even more so when managing assets that have a monetary value, so these systems must still be tested in order to better understand their performance in the most unfavorable conditions.
Fortunately, technological progress is a constant process, which are challenged day by day and the limits are exceeded in order to achieve better results. Blockchain technology will most likely continue to evolve in the coming years, generating great expectations of which solutions will be implemented to make it more efficient and to increase its contribution to humanity.