How to build crypto

/05

What is Bitcoin's architecture?

What you'll learn

  • The architecture of existing money
  • The architecture of Bitcoin
  • Bitcoin's main functions
  • Participants in the Bitcoin network

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. 

Architecture of the existing monetary 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:

  1. A monetary framework & settlement system - Rules & policy; infrastructure to issue new money & achieve consensus on transaction settlement.
  2. System hierarchy - Assigning different levels of privilege to different participants to implement the framework and settlement function - internally and externally.

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.

Bitcoin’s monetary framework

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:

  • There is a fixed supply schedule of bitcoin towards a maximum of 21 million
  • The rate at which bitcoins are created toward that maximum amount is fixed mathematically - halving every four years
  • New bitcoins are created roughly every ten minutes (currently set at 6,25); the system is self-regulating to ensure this
  • There is no other way that bitcoin can be created

The Main Functions Of Bitcoin’s Monetary System

In order to function as a monetary system, without a central mediator, Bitcoin needs different participants in its network to achieve the following:

  1. Maintaining an accurate historic ledger of transactions & unspent balances
  2. Validate new transactions that confirm with the rules (consensus mechanism)
  3. Add those transactions to the historic ledger, in the correct data format
  4. Issue new bitcoin at the defined rate - currently 6.25BTC per new block
  5. Allow wallets to spend & receive transactions & sync to the ledger
  6. Act as a service for external users/services to reference transactional data
  7. Route information across participants in its peer-to-peer network

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.

Nodes - Different participants in the Bitcoin network

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.

  • Full Nodes: All functions except creating new bitcoin
  • Lightweight Nodes: Routing & Wallet (1 & 5)
  • Miners: Issuance/Ordering; Routing & Full ledger (3,4 & 7)
  • API Clients - Providing ready made connections to Bitcoin Core
  • 3rd Party Services: Connecting to Bitcoin Core via API Clients or directly to Full Nodes to power external services

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 play

Go to next step