My Bitcoin vision of the future (2)
In the last post we left our ideas a bit half-baked and left some questions unanswered. It is now necessary to specify how Bitcoin works in order to create a transaction system that does not depend on any intermediary and how it stills offers trust, and then, explain why a technology like Bitcoin has never existed before. These will be today’s topics, so let’s start.
The first reason why Bitcoin has been the only solution so far is because we’ve always had two great challenges which have never been solved without the need to introduce a centralized control body. The first one is about a vulnerability that can easily occur in any type of electronic payment: that an amount of digital money can be spent more than once. Also known as the double spending problem.
The second was born as a distributed computing problem presented by Leslie Lamport, Robert Shostak and Marshall Pease in 1982. The so-called “problem of the Byzantine generals” questions the following: How do you get a network of distributed and decentralized computers to agree without the necessity of a central power?
As we said, Bitcoin is a decentralized network that allows the transfer of value without intermediaries. The first rule for this to happen is that all network participants (the nodes that have the Bitcoin software installed) must have a copy of the ledger in order to keep the wallet accounts in order and agree on who has what, now that we have no central entity that imposes its own criteria. Each node verifies the information on its own, comparing the data with its copy of the Blockchain (distributed ledger).
Following this protocol, if John wants to make a transfer of 1 BTC to Mary, he won’t go to the bank, but he will notify the entire network (nodes) that he wants to send 1 BTC to Mary. This transaction will reach all the nodes that will individually verify if this transaction is correct and should be accepted. It will check if John is really him (this is achieved through double-key cryptography, something that we will see in another post) and that he has enough money to make the transaction. As all the nodes have a copy of the ledger that collects all the transactions that have been made from the first day, it is easy for them to check if he has the money (1 BTC).
Clarifications: the network pseudo-anonymously identifies its users through their public key. Your private key is what allows you to be able to move your BTCs and be their real owner. Users do not talk to each other; they are computers that use the Bitcoin protocol to communicate; Finally, there are several types of participants:
- Wallets, which are simple users who use the network without having downloaded the Bitcoin protocol in a node
- The full nodes, which are the computers that have the Bitcoin software and an entire copy of the Bitcoin Blockchain
- The mining nodes, which in addition to being a full node (and therefore verifying transactions) provide computational strength, and in return, the network gives them the power to write the Blockchain (ledger that all nodes have saved), also receiving a reward in Bitcoins. This is how each of the network’s tokens were created; in some point, all of them were given to a miner thanks to his contribution of computational force.
Every transaction will be ready to be carried out by the time more than half of the network nodes verifies it. But it will not happen immediately, because if it worked that way it would be impossible to maintain a shared ledger that is exactly the same for the thousands of nodes on the planet. Mainly because each node would receive the transactions in a different order.
To solve this problem, transactions approved by more than half of the nodes are sent to a transaction pool. A place where transactions are kept so that they are recorded in the ledger. This is where miners, Blockchain, and consensus algorithms, come in.
Transactions are collected by the miners, who group them into blocks and then add them (forming a chain of blocks) to the Blockchain. These miners, so that we can trust them, solve a mathematical problem. They provide computational strength to solve a complex calculation, which has a high electrical cost. In this way, an essential premise is created in Bitcoin: attacks are economically inconvenient. If you do the wrong thing, you are not rewarded, so it is not wise not to be honest. As if it was a lottery, every 10 minutes miners around the world use computational force to solve this problem and generate a new block. Whoever obtains the solution, which is verified by more than half of the miners, will have the power to include the new block to the Blockchain (distributed ledger organized in the form of mathematically connected transaction blocks) and in exchange, will receive Bitcoin as a reward.
I’m also going to clarify a couple of more ideas; the blocks are 1MB in size and hold around 2000 transactions (5–6 transactions per second). Each block created is hashed (it is encrypted with the SHA-256 algorithm used by Bitcoin creating a “fingerprint” of that block). Currently the reward for each block is 12.5 BTC every ten minutes, this is halved every 210,000 blocks, approximately 4 years. This event is known as Halving, something that has a great significance for the network and for the community, since if demand is maintained and supply is divided in two, it causes a considerable increase in price. This bullish scenario has lasted for about a year and has generated big profits for Bitcoin and other cryptocurrencies in the last halvings. The next halving will take place between May and June 2020.
There is a lot of information, I know, but we still have some more facts left to understand 100% how Bitcoin works. We have to work a little harder. In the next post we’ll delve into the consensus algorithm and the calculation of the mathematical problem that miners must perform in order to understand why the Bitcoin network is so secure, so we can comfortably answer questions like: How does actually the Blockchain make attacks economically inconvenient? How does the Blockchain prevent that information introduced in the past isn’t changed? And finally, what is it, and how does the network manage to make an attack on 51% of the network so excessively difficult? This and much more is, by the way, what we will talk in depth at the Blockchain Master in Barcelona.
See you in the next post!