Bitcoin has reached a historic level of security

The process of securing the Bitcoin blockchain is often misunderstood due to its complex structure. Emerging technology is often described in technical terms before it is fully understood by the general public. For example, we can all describe relatively simply well-established technologies today: a car, a space station, a rocket, a bluetooth speaker… The technical understanding of these technologies comes after their conceptual and utilitarian understanding. Few would describe a car as: a metal chassis consisting of a combustion engine running on a fossil or non-fossil fuel source. The process of securing Bitcoin is, most of the time, in its technical description. I could simply say that Bitcoin is at this stage, but let’s limit ourselves here to popularizing its process of securing.

If you get lost in the corridors of the cryptosphere, and in particular Bitcoin, you will probably come face to face with a barbaric-sounding term: Hashrate. This English term, translated by hash rate in the language of Molière, refers to the total computing power of mining machines which is used by an algorithm (detailed below) to process transactions on a blockchain operating with proof. of work (Proof-of-Work) like Bitcoin. Let’s break down this “hash rate”.

The hash: késako?

In cryptography, the “hash” is a fixed-length alphanumeric code used to represent words, messages, and/or data of any length. Typically, using the hashing algorithm that Bitcoin uses, which goes by the name of SHA-256, the hash of the word “Trading” would be as follows:

“caz29204b336452a3r94ad5450f5ebc3c80130a85fbb91d62768741a3b45zt71”

Think of Bitcoin’s hashing algorithm as a generator of random words that are represented as an alphanumeric code. Going back to the previous example, if we modify the word even by a new letter like “Fonebourse” then the hash will be completely different:

“6az5849af1b5794bf6855c14532169d41rt713665e894b2314b8c9f081c61t78a”

Note that the input variable is a single letter, a word, a sentence or an entire novel, the output will always have the same length.

Example: A common use of this type of hash function is to store passwords.

When you create a user account with a web service (backed by a hash algorithm) that requires a password, the password is run through a hash function and the hash digest (output) of the message is stored. When you enter your password to log in, the same hash function is performed on the word you entered and the server checks if the result matches the stored digest.

This means that if a hacker manages to gain access to the database containing the stored hashes, they will not be able to immediately compromise all user accounts because there is no easy way to find the password that produced a hash. given.

Because each hash created is random and very difficult to predict, it can take millions of guesses – or hashes – to find the corresponding hash for an entry. This discourages hackers. But then what is the link with Bitcoin?

Hash function in bitcoin

In bitcoin mining, the inputs to the function are all of the most recent and unconfirmed transactions (instead of words or phrases in the example above) (along with some additional inputs relating to timestamp and a reference to the previous block).

Block hash
Source: OPECST

Remember, in the example of hashing the word “Trading” we saw that changing a small part of the input to a hash function results in a completely different output. This property is crucial for the proof-of-work algorithm involved in mining: to successfully “solve” a block, miners try to combine all inputs in such a way that the resulting hash starts with a certain number of zeros (like in the image above: 0000786dcda).

To put it simply and very briefly, but above all to avoid going into very complex algorithmic details, miners try to produce a hash that is less than or equal to the “target” hash. Think of the “target” hash as a set of numbers known to all miners. One could make the analogy with a lottery ticket system, where each new hash is a unique ticket with its own set of numbers. The objective for the participants – the miners – being to draw the most lottery tickets until they find a number – hash – less than or equal to that of the target.

It is important to understand that block generation is not a long and definite problem (like performing two million hashes), but rather a system similar to a lottery. Each hash gives you a random number between 0 and the maximum value of a 256-bit number (which is huge). If your hash is below the target, then you win. Otherwise, you have to try again. The problem being that the numbers of the “target” evolve. This translates into the difficulty of mining.

The difficulty of mining

Mining “difficulty” refers to how difficult it is for miners to produce a hash that is lower than the target hash. Or, to find a lottery ticket lower than the number displayed on the target ticket known by all minors. This is achieved by reducing the numeric value of the hashed block header. Below is the header of a block hashed on October 5, 2022.

Hash of a Bitcoin block on 05/10/2022

Source: Blockchair

The difficulty of Bitcoin, for example, is measured using a score that starts at 1 (the simplest level) and increases or decreases exponentially depending on the number of miners competing on the network. This score automatically adjusts every 2,016 blocks – approximately every two weeks. Right now, that number is around 137,663,771,321,538.

Bitcoin Block Mining Difficulty

Glassnode

Blocks are targeted to be found by miners every 10 minutes. So if miners solve blocks and find bitcoins more often than every 10 minutes on average, the difficulty increases. If miners find bitcoins less often than every 10 minutes on average, the difficulty decreases.

The more miners online, the higher the hash rate, which means more “guesses” generated – or lottery tickets generated. The more guesses – or lottery tickets – the more likely it is that the correct hash will be discovered quickly. Since blockchains are generally designed to add blocks (and release new coins) at a constant and predictable rate, the difficulty is programmed to automatically adjust after a set number of blocks (2016 for Bitcoin) to maintain this steady pace. We therefore understand that an increase in mining difficulty implies that more miners generate hashes to find a solution. Or else, in our analogy, if there are more lottery participants, and for the suspense to last 10 minutes on average, the value of the target ticket decreases (since participants must find a number equal to or less than that- here to win).

The hash rate is at its peak

There is no way to know for sure the exact hashrate of Bitcoin, although it can be estimated. Hashrate is traditionally estimated based on public Bitcoin data, including the difficulty metric described above. We can define it as the average number of hashes per second produced by miners in the network.

Bitcoin hashrate

Glassnode

An increase in this hash rate implies that more and more miners try to find the solution to the target hash. Otherwise, that the lottery attracts more and more participants. This evolution of the hash rate directly impacts the difficulty of mining previously described upwards or downwards depending on the number of calculations carried out per second (hash rate per second).

And it just so happens that the hash rate and mining difficulty are now at their highest level in Bitcoin’s short history. Which suggests that it has never been so complicated for an autonomous entity to take control of the Bitcoin blockchain. To understand this, a person or group that controls the majority of the hashrate could, in theory, block or reorganize transactions and even reverse their own payouts. This would create double-spending issues which, in turn, would completely compromise the integrity of the underlying blockchain. The immediate consequence of this phenomenon would be a loss of confidence in the network and therefore, by repercussion, a collapse in the economic value of BTC.

A drop in hashrate would mean a reduction in the cost to perform a 51% attack (holding 51% of Bitcoin’s computing power), making the network more vulnerable.

Solving the hash of a bitcoin block – which at the time of writing starts with 19 zeros – requires an amount of computation extremely large (the combined processing power of all computers on the network still takes about 10 minutes to solve the one-block solution). On the other hand, finding the solution of a block makes it possible to obtain a reward of 6.25 BTC, or at the current price 125,000 dollars. But you will understand, the probability of finding the solution for an individual miner is very very low. And in addition, this reward in BTC will decrease over time. More information on this reward reduction here: Bitcoin mining and halving day: let’s dig into the subject

Leave a Comment