I would like to start this third post on Bitcoin sharing with you a personal thought, and I feel like we’ll all agree that the moment we are living right now is, without a doubt, historical. Unprecedented. Countries being closed, stock exchanges with blocked short sales, stock exchanges even being closed in daily timeframes, Bitcoin collapsed … Today’s article comes in handy, because in times of low confidence, the most important thing is to fundamentally the root of what we are buying (in this case Bitcoin).
THE PROOF OF WORK CONSENSUS
Let’s get back to one of the main questions we left unanswered in the last post: How do we make sure that miners are honest? If a miner ends up controlling more than 51%, he could include blocks with false transactions in his name and therefore steal from the network … To avoid this, Satoshi Nakamoto used the Proof of Work (PoW) consensus algorithm to finally convert Bitcoin into a network that is safe, secure, and virtually impossible to destroy. A consensus algorithm is a computing method that allows a network made of independent computers to reach an agreement and, in the case of Bitcoin, to determine which are the correct transactions.
Satoshi literally invented many elements of the Bitcoin protocol, but Proof of Work is not one of them. It was created by Adam Back proposing the HashCash algorithm as a solution to spam problems in emails. The idea is the following, to prevent hundreds of SPAM emails from being sent, every time an email is sent, the computer that wants to send it will have to solve a mathematical problem. What this creates is that you’ll end up having an economic cost (electricity used to solve the problem) for every email you want to send. This allows you to be sure that the emails sent/received will not be SPAM by default, and will most likely be legitimate emails, since they do have to use computing power and electricity to send them.
Satoshi then transferred this idea to Bitcoin, with some variations.
Let’s look at the structure of a Block: (hash / “fingerprint” of the previous block, a time stamp, all the transactions (combined with each other and then hashed creating what is known as Merkle Root) and an unknown X number called “nonce”).
The Bitcoin protocol defines that the resulting hash of each Block must start with a specific number of “0”. Then, what is the miners’ job? Using computational force to find the number X that makes the complete hash of the block start with that given number of “0”. This number known as “nonce” can only be found by brute force, testing and expending huge amounts of electricity. To look it from a different perspective, if you have a Block, it is very easy to get its hash (fingerprint), but if you have the hash (fingerprint) it is impossible to know from which Block it comes; the only way is to try, and try again, and, once found, it is very easy for the rest of the network to check if the result is correct and accept it as valid.
Each time the network increases in value and therefore more miners want to insure it to obtain benefits, the number of “0” needed increases. This is known as harvesting and is self-regulating every 2,100 blocks (approx. 2 weeks), so that the calculation time required for miners to find said nonce will always be approximately 10 minutes.
THE STRENGTH OF THE PROTOCOL
This wonderful idea has enormous benefits: it makes the network extremely secure, not only because a miner should have more than half the computing power of the network to manipulate it, but also because it is designed to discourage the desire to attack. This is known as “Game Theory”: you win if you do the right thing, and you are penalized if you try to do the opposite. The system does not expect to function properly by relying on good morals, but on human selfishness and greed.
Attacks are not economically convenient; in the first place because you spend too much money just trying it, paying for energy investment and also for ASIC machinery. In the second place, because the moment a false transaction is registered, bitcoin as the coin would automatically lose a lot of value, since trust would be lost, and all the money invested in achieving the attack would have been spent for nothing. And finally, because the most economical and practical thing is to be part of the network. If you have invested millions not only in electricity supply but also in machinery, you obviously want to get a return on it, and this is only possible by acting correctly and being rewarded by the network with bitcoins.
Perhaps the only possibility of generating fake blocks would be through a government or an alliance of different ones (with large amounts of money that can be allocated to a lost fund) that do not seek profitability and simply want to eliminate Bitcoin, since it could represent a threat to their monetary control. Assuming that the on-deck purchase of chips and mining machines would be successful and that they would be willing to invest billions of euros, they would only gain power over the network for 10 minutes before the developers work to eject them (if necessary, breaking the chain with a Hard-Fork) and even so, it would most likely have no result. We need to think that ultimately, the complete nodes of the network have to accept the blocks in their chain, so if the word spreads that the blocks from a certain miner are corrupt, the nodes would simply not accept them, and so much money and effort would have been on deaf ears.
THE IMMUTABILITY OF THE CHAIN
Another fundamental characteristic of Bitcoin is the immutability of the chain, which makes it practically impossible to change transactions of old blocks. A small change in the information of the block would alter the result of the hash (block fingerprint) and therefore it would not coincide with the hash in the next block that refers to the previous block. This makes all the blocks mathematically related making it impossible to change something, even one letter, since it would not match, and the network would not accept it as good. The only option would be to hack and outnumber in power, at the same time, all the thousands and thousands of computers that support the network and re-find the correct nonce for each block. Only possible on a theoretical level.
A clear use case for this concept is the safe and reliable traceability of any merchandise, even money. In another post we will see that this is usually done in other blockchains such as Ethereum, since Bitcoin, despite being more secure and robust, does not offer the possibility of executing Smart Contracts natively, even though this is still evolving.
These are the two main benefits that make Bitcoin an exaggeratedly robust, safe and reliable network. Although what fascinates me most about this system is that it allows me to hold Bitcoin, which is the most solid form of money ever created. There is no way to manipulate the Bitcoin’s money supply, as the difficulty is readjusted so that new tokens are always generated as a reward to miners every 10 minutes. Even if today’s network has twice the computational strength, the blocks will not be generated every 5 minutes, because the difficulty will be readjusted and it will continue to take approximately 10 minutes.
Some people believe that the energy that Bitcoin spends in keeping the network secure is too high and not justified. They do no often take into account that most miners run on renewable energy as they are incentivized to obtain cheap energy. They also don’t contemplate the amount of energy that the actual financial system needs to function and guarantee a confidence that is also doubtful (based on trust of institutions, not mathematics), and finally, they clearly underestimate or don’t understand the meaning and implications of having a solid, decentralized and accessible money for everyone. This is where I’m going to focus from now on, and let me remind you that we talked at length about all this at the Barcelona Master.
Don’t miss my next post!
- Bitcoin Blockchain Explorer
- Bitcoin Blocks Creator