Bitcoin is the first successful example of a trustless monetary system - one that has no need for a central authority, like the Federal Reserve or the European Central Bank. By learning how Bitcoin’s technical architecture achieves this - the functions and specific roles - you can discover the wide range of opportunities available to build within that unique ecosystem or be inspired to create your own cryptocurrency.
To start, let’s look at the fundamental requirements of any monetary system, then compare that to Bitcoin’s unique architecture, and the functions that humans play alongside hardware and software.
FYI - Bitcoin as a peer-to-peer cashless monetary system is generally written with a big B, enabling the use of bitcoin (small ‘b’ ) as a currency of that system.
Existing monetary systems are known as fiat money. Fiat is a latin term that means 'by decree' and it is used to describe how currencies such as the US Dollar, Euro and Yen are created and managed.
Since 1971 global currencies have only had value because the governments that issue them say so. They are not backed by any asset, such as gold - which was previously the case - and work on a trust-based model.
Anyone using fiat money must trust a central authority to establish the rules of the monetary system and how they are enforced. This can broadly be broken down into:
At the top of the system hierarchy (2) is some kind of governing body that sets the rules of the overall framework (rules and policy) and oversees/delegates the settlement system (1).
In the real world, this is the government who generally delegates that power to a central bank to enforce the policy, issue new money and manage a settlement system, while various regulators try to keep the system in check.
Different privileges to interact with the monetary system cascade down a network hierarchy to banks, payment services, and on to individual users of money - merchants & consumers.
Designing a digital monetary system that can reliably work without the need for a central mediator is hard because of something known as the Byzantine General’s Problem.
This is an allegory of a Byzantine General who needs to make a decision in battle when he knows he cannot rely on the accuracy of everyone giving him information about the state of battle. So in relation to systems, this problem is agreeing on a course of action where information is incomplete or unreliable.
In specific relation to a monetary system, the problem is what is known as a ‘Double Spend’ - the chance that a balance can be spent more than once.
The Double Spend problem undermines trust in a financial system and therefore justifies the need for a central authority to have the final word - to be the general - but at the same time, that central authority creates a point of weakness because of the power they wield.
In the case of fiat money, that weakness has resulted in the abuse of the power that governments have over the money supply, creating more and more of it. This results in the real world problem of inflation; eroding purchasing power of your savings and wages.
Satoshi Nakamoto - Bitcoin’s creator - solved the Double Spend issue by creating a monetary system with fixed rules defined in computer code, not a government policy document.
Those rules run as a piece of software across a distributed network of computers without hierarchy, permission or trust. No central authority enforces the rules; participants in the Bitcoin network follow them because of economic incentives provided for issuing Bitcoin at a predictable and unchangeable rate toward a maximum fixed supply. This removes the risk of monetary abuse and generates ongoing consensus on balances, solving the double spend problem.
The key rules of Bitcoin’s monetary system can be summarised as:
In order to function as a monetary system, without a central mediator, Bitcoin needs different participants in its network to achieve the following:
Satoshi Nakamoto encapsulated these functions in the original reference code he wrote in 2008. The software has since been updated and is made available in a reference client, the most commonly used being Bitcoin Core.
Bitcoin Core enables anyone with a modest computer set-up to join a network of Nodes fulfilling Bitcoin’s functions, as well as providing a bridge to those that want to build services to expand the ecosystem and user adoption.
The Bitcoin network has no hierarchy, but does have different types of Nodes fulfilling the required functions (as detailed above) to a greater or lesser extent.
In the next article you’ll learn how the ways in which Nodes interact to make Bitcoin work. You’ll all begin to understand the opportunities for you to actively participate in running the Bitcoin ecosystem - by fulfilling one of those roles - as well as to maintain and improve the software and infrastructure that sits behind it.
Our overview of Bitcoin’s architecture - and subsequent articles - excludes the complexities of exactly how the protocol works. If the use of hashing, elliptic-curve cryptography or peer-to-peer networks is your bag then there are ways to actively participate in maintaining and improving the Bitcoin Protocol.
That will also be explained in the next article in this section..
Next step: What role does a Bitcoin Full Node playGo to next step