News
Blockchain and Energy comsuption
October 3, 2022
A few months ago there was an important debate about the possibility of prohibiting certain crypto assets: those linked to blockchains that use consensus mechanisms of proof of work (PoW, proof of work), and which is the method used by the main blockchain networks, such as Bitcoin and Ethereum (the latter network is in the process of replacing it with a more efficient one). This has occurred within the framework of the European Union, in relation to the proposed Regulation of Cryptoactive Markets (MiCA). Although the Committee on Economic and Monetary Affairs of the European Parliament voted against this ban, we are facing an important debate related to the sustainability of these infrastructures, especially due to the immense waste of energy that the aforementioned consensus mechanisms entail.
But is there really such a waste? Definitely yes. It is worth remembering how the proof of work works in the blockchain: the blocks are ordered by the miners, sealing them with the result of a series of cryptographic operations, which finally reward the mining node that achieves a certain value with an amount of cryptocurrency , generating the block to be verified by the rest of the nodes. The goal is to make that reward more beneficial than using computing power to manipulate the chain of blocks. This is the safest method to prevent dishonest behavior, as alternatives such as proof of stake do not provide the same guarantees. But let’s be objective: it’s a huge waste of computation (and by extension, energy), which adds no value, except to the security of the network (and to the miners). If we situate ourselves in the current context, with a set of energy saving measures to alleviate the impact of the war in Ukraine, we must recognize that it is necessary to find solutions to this waste of energy from Software Engineering. By the way, the argument that much of this energy comes from 100% renewable sources is not valid for me (really, I don’t know where they get that data from), because it is still that: waste.
However, it is convenient to provide some elements of judgment that many colleagues who attack the blockchain seem to have forgotten. The idea behind the proof of work I think we can place it at the beginning of the expansion of the Internet, at the beginning of the 90s. At that time, mass mailings (spam) began, and to protect servers began to require clients a computational cost prior to sending, such as some complex arithmetic operations, to discourage these massive shipments. There are even earlier examples, but it is in 1999 when Markus Jakobsson and Ari Juels characterize the concept of proof of work with the following definition: “a tester demonstrates to a verifier that they have done a certain amount of computational work in a specified time interval.” architecture based on a p2p network, in Open Canarias we considered the proof of work as a mechanism to prevent an attacker from generating thousands of nodes per second to collapse network traffic.
But there is another scenario where the waste of energy is flagrant, but somehow unavoidable: the obfuscation of passwords (keywords) with which we authenticate in applications and services. This obfuscation is also done with a hash function, which derives a result from which you cannot extract the original password. When we talk about hash functions we can think of standards such as MD5, SHA-1 or SHA-256, but the problem is that these functions are fast and efficient, and an attacker can carry out millions of combinations until they find the one that allows access {{ < open_link_new_page “brute force attack” “(https://en.wikipedia.org/wiki/Brute_force_attack" >}}. Actually, we use methods like PBKDF2 (Password-Based Key Derivation Function 2), in which we force a slowdown by applying multiple iterations, simultaneously disabling the compute potential of the GPUs (yes , the one used by miners.) This enormous increase in computational cost that occurs billions of times a day has a direct effect: an immense waste of energy. Does anyone dare to calculate it?
At this point, and beyond these specific energy waste scenarios, we must give the software industry the “credit” of being probably the biggest predator of energy. While other industries have tried to make their products, services and supply chains more energy efficient, the reality is that in software development the energy footprint is not one of the factors to consider. Every bit of time saved running a program, or disabling unnecessary services, will generally reduce our energy consumption, but this also doesn’t help if the most popular languages, like Python or Javascript, represent a real waste of computing time. , and despite that we continue to use them for all kinds of scenarios, even for those that were not conceived. Well, we are going to leave it there, because this topic deserves a broader development, and also requires the contribution of empirical evidence on these statements.
As a conclusion, I would like to convey a message of calm for this type of discussion. I remember the debate on the MiCA on social networks, and how the Taliban for and against blockchain technology entrenched themselves in their positions. This technology is still a solution to the problem of representing and transferring value over the Internet, and the wasted energy of proof-of-work makes sense in order to provide the highest degree of security and confidence in those transactions. Other distributed ledger technologies in general, and some blockchain in particular, provide solutions to many other problems, and probably provide a reduction in the energy footprint of many economic and industrial processes. In reality, it is Software Engineering in general that must acquire a greater commitment to sustainability, and stop inhibiting us in the face of the problem we cause (without failing to recognize lines of work such as that of Coral Calero at UCLM).
Antonio Estévez September 2022