<< 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 using a pseudonym. It began with a paper known as “whitepaper” sent in a cryptography mailing list which presents an 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 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 numeric entities naturally are (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 technology of data recording, like a secure online-shared immutable database. However the real contribution of Nakamoto is a technology of consensus. The (rather specific) 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) in data recording. This problem is usually illustrated by the “Byzantine generals problem” which was already known in distributed computing. In this problem, several generals communicating by distant messages want to attack a fortress but they don’t trust each other and there may be traitors. How to limit catastrophic consequences (called “Byzantine failure”) and make the operation successful (“Byzantine failure tolerance” or BFT)?

Stand-alone shared ledger

Let’s reconstruct Bitcoin incrementally. First, imagine a shared record with voluntary writers who can write transactions like “Bob pays Alice 5 BTC” with a virtual money called BTC (Bitcoin). You don’t actually send anything. You just record your transaction and that’s sufficient. If people want to do a transaction without participating to the network, they can simply ask a writer.

It is similar to how bank record transactions but the difference here is that several participants in the Bitcoin network manage a copy of a same record and want to agree on what is written so that it is immutable and unfalsifiable. Whenever a participant receives a transaction, it is shared and propagated in the network and everyone includes the transaction in their copy of recorded transactions in order to synchronise.

Enforcing formal private property

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

Now, how is the ownership of Bitcoin represented? How can one tell how many Bitcoin you have? We could store public addresses and account balances 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) stored in the ledger exactly like how an amount of money can be represented by several banknotes and coins). Those UTXO fragments can be locked with the public key and unlocked with the private key.

The sender of a transaction unlocks available UTXO (that no one else can unlock since they don’t have the associated private key) and lock them with the public key of the recipient.

Chained timestamping

Everyone have their own copy of transactions but differences can appear because of errors or attacks. Someone can add a malicious transaction for instance.

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 hash is that whenever you change even one character it gives a different hash, which gives 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

Nakamoto’s suggestion was that:

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 number by using a lot of combinations. Hence, only the machines which succeeded can provide a proof that they put the necessary amount of work (there is strong reasons in theoretical computer science to think that there is no other known way to solve this problem). 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 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