<< Return to blog posts

Bitcoin in a few words
2024-11-24
Simple explanations for very lazy people

Bitcoin has been introduced by Satoshi Nakamoto, an unknown person (or group of persons) using a pseudonym. It was first introduced by a paper known as “whitepaper” sent in a cryptography mailing list and was presented as a new idea of peer-to-peer electronic cash.

The paper mentions some concerns about the centralisation of online payment which is seen as a weakness. The reversibility of transactions makes merchant ask for more information (identity of buyers) and both buyers and sellers have to trust a third party, something which is not necessary for usual cash payment. According to Nakamoto, trust has to be replaced by cryptographic proofs (mathematical verification).

Electronic cash wasn’t a new topic. There was attempts but they weren’t satisfying, especially because money is not duplicable although data naturally is (think of photos, videos etc). This opens a possibility of “double spending” money. Nakamoto suggests a solution to that problem with a clever assemblage of several technologies developed in the 90s. The goal is to obtain something which behaves as much as possible to cash (which is peer-to-peer) or even gold (since cash requires a centralised production and certification) but with the distance and functioning of checks or online payments.

Because of popular misconceptions, Bitcoin is often seen as a type of immutable storage technology. However the real contribution of Nakamoto is a technology of consensus (hence it shouldn’t be called “blockchain”, which refers to how data is structured). The problem is how can several independent agents reach consensus in a fully adversarial setting (no one trust others and there can be cheating and betrayal) for data recording.

A peer-to-peer network with recording approval

Imagine a peer-to-peer network where computers (called nodes) are interconnected following the rules of the “Bitcoin protocol”. They all hold their own ledger to record transactions and the protocol is designed so to make all the ledgers as synchronised as possible. It’s like having a splitted bank.

Nodes are administrators which are allowed to record transactions on their ledger depending on the request the network receives.

Enforcing formal private property

In order to avoid identity theft, people requesting to register transactions need to prove our identity. This is done by cryptographic means. In asymmetric cryptography, you can hold two numeric codes which are mathematicall related:

How can one tell how many Bitcoin you have? We could store public addresses and account balances then sign transactions as a bank would do but it’s not what Bitcoin does (although other technologies like Ethereum do with the “account model”).

Bitcoin represents ownership with a “UTXO model”. There are several fragments of bitcoin of several sizes (called UTXO for Unspent Transaction Output) stored in the ledger exactly like how an amount of money can be represented by several banknotes and coins).

Senders of a transaction unlock available UTXOs that only them can unlock (since they have the associated private key) and lock them with the public key of the recipient so that only the recipient will be able to access them.

Creating consensus by competition

Every node have their own ledger but dissensus on data can occur because of errors or attacks. Someone could introduce a malicious transaction for instance.

A method of telling who is right is the true contribution of Satoshi Nakamoto that we sometimes call “Nakamoto consensus”. His solution is that any node can write on their ledger and publish them so that every other node can synchronise. Instead, nodes are competiting to be allowed to validate a transaction.

Chained timestamping

A solution has already been implemented in New York Times’ newspaper and other media in the 90s. Articles had a code at the end called “hash”. This code can be understood as a numeric summary or stamp generated from the content of the article. The next article then generate a hash of both its content but with the previous hash. This chains articles together with their hash.

The property of those hashes is that whenever you change at least a single character it gives a very different hash, thus giving an easy way to tell that the content has changed. In the case of the hash chain, one character difference anywhere in the chain of articles makes the last hash different. This makes falsification difficult. If someone want to create a false article, it has to recompute the all the next hashes.

In the Bitcoin network, transactions (actually groups of transaction to make things more efficient) are chained in blocks in the same way: we have a block chain.

In the case of newspapers, we could refer to an official hash to follow but in the case of Bitcoin, there is no official hash. Moreover, it is easy for a computer to compute hashes. This solution is not sufficient.

Mining by proof of work consensus

We should make the validation and inclusion of blocks more difficult, with a proof of work like how it is difficult to mine gold in a gold mine; Network participants then select the longest chain (actually, the chain with the most work invested) as the official chain to create consensus.

This work is basically solving a difficult but useless computational problem which is like a free slot machines in casino: you activate the machine (and pay with manual labour) until you get the jackpot. In the case of Bitcoin, computers do computations to obtain a certain class of hash for the block to be validated by incrementally trying all combinations. Hence, only the machines which succeeded can provide a proof that they put the necessary amount of work

Participants are competing to validate blocks first and receive a reward in Bitcoin for their work. This is how new coins are created.

This idea of proof of work is not new, it has actually been suggested in the 90s to avoid spams in e-mails (a computational work had to be provided so that it was difficult for spammers to send a lot of emails).

Falsification is still theoretically possible in Bitcoin but it is very difficult since you have to provide a proof of work for your fake block but also for all the next blocks. The competition between participants (now called miners) is usually strong enough to make it not worth the electricity you’re paying. However, you can still deceive the network if you own more than 50% of the mining power. This is known as the 51% attack.

Who participate in the Bitcoin network

Participants I described are miners. They receive transactions received by network users and use the computational power of machines they invested in to validate transactions. They receive validation rewards which creates new bitcoin and are paid by users’ fees. There is a competition between miners to validate transactions and get mining rewards. In practice, there are groups of miners called mining pools since mining becomes more and more difficult (at the beginning it was possible to use graphics cards often used for video games but now we need expensive dedicated machines like ASIC machines).

You can participate to the Bitcoin network without being a miner. You can be a full node and manage a read-only version of the ledger. Since the ledger is public, anyone can audit it, track financial flows and track the origin and source of transactions.

Characteristics of Bitcoin

Bitcoin is designed like cash (confidential and fragmented) but for electronic payment (distant) but with the value of gold (no authority deciding the value and created by work and technological performance).

Like gold, it is limited. There will be only around 21 millions coins created. This is done by cutting in half the rewards of miners every 210 000 validated blocks of transactions.

Moreover, since machines can be improved and become more efficient, mining is designed so that in average, one block is validated every 10 minutes by making the difficulty of the proof of work problem vary over time.

What Bitcoin allows you to do

Bitcoin has no border. It can connect network participants all over the world. Hence it is possible to make transactions from and to anywhere without the approval of an authority.

Anybody can make confidential transactions and create an account in a few minutes without providing any information (identity, personal address, …).

Although it is immaterial, you actually own your coins in some sense. They are not really located somewhere. It is protected by private keys you have to protect and only the person who own the keys can unlock the corresponding coins.

You can audit any transaction with online block explorers so you know where money goes. Although public addresses are not necessarily identified, they can be if somebody share their address with a public identity.

What makes Bitcoin reliable

The computer programs making the Bitcoin networks work are public (open source) and published on the internet. Hence, anybody (with knowledge in computer programming) can audit it and tell if something is wrong. Bitcoin is developed by an open community.

Asymmetric cryptography and hashing, on which Bitcoin based on are known to be reliable. If it happens that there is a flaw, we would have way more problems since so many current systems rely of that.

So far (in 2024), there has been only one successful attack on Bitcoin but it has been fixed extremely quickly by the community and changes have been approved by network participants.

There are a lot of enthusiasts so it is easy to find learning resources and there are many actors and competitors improving things slowly (although there is also a lot of scams and suspicious projects).

What are the challenges of Bitcoin

A common criticism is that such cryptography-based tools are not convenient to use. And this is right: there’re a lot of misconceptions, keys and coins losses and scams. The current state of these technologies requires knowledge. It redefined finance from another basis but there are still efforts to be done to reconstruct a whole structure and ecosystem.

There are also more technical challenges. Transactions are not so quick and cheap on Bitcoin. It is actually not a good payment mean but efforts have been made to find roundabout ways to make it more practical (Lightning network).

There is also the problem of miners earning. Once all coins are mined and no others are created, mining rewards disappear and only fees pay miners but will these fees be sufficient? Will the network be active enough to generate enough fees to keep miners active?

Mining uses a lot of resources and this has been a major criticism on Bitcoin. Now, other competitors use more efficient consensus methods but the dynamics of money creation and rewarding is very different. It is not sufficient to make Bitcoin’s consensus dead. In the end, this may still be a technology searching its own meaning and purpose. Its final purpose or importance may be different from what we currently imagine.

<< Return to blog posts