Mastering Bitcoin Programming the Open Blockchain by Andreas M. Antonopoulos and David A. Harding
CHAPTER 1
Introduction
Bitcoin is a collection of concepts and technologies that form the basis of a digital
money ecosystem. Units of currency called bitcoin are used to store and transmit
value among participants in the Bitcoin network. Bitcoin users communicate with
each other using the Bitcoin protocol primarily via the internet, although other
transport networks can also be used. The Bitcoin protocol stack, available as open
source software, can be run on a wide range of computing devices, including laptops
and smartphones, making the technology easily accessible.
In this book, the unit of currency is called “bitcoin” with a small b,
and the system is called “Bitcoin,” with a capital B.
Users can transfer bitcoin over the network to do just about anything that can
be done with conventional currencies, including buying and selling goods, sending
money to people or organizations, or extending credit. Bitcoin can be purchased,
sold, and exchanged for other currencies at specialized currency exchanges. Bitcoin
is arguably the perfect form of money for the internet because it is fast, secure, and
borderless.
Unlike traditional currencies, the bitcoin currency is entirely virtual. There are no
physical coins or even individual digital coins. The coins are implied in transactions
that transfer value from spender to receiver. Users of Bitcoin control keys that allow
them to prove ownership of bitcoin in the Bitcoin network. With these keys, they can
sign transactions to unlock the value and spend it by transferring it to a new owner.
Keys are often stored in a digital wallet on each user’s computer or smartphone.
Possession of the key that can sign a transaction is the only prerequisite to spending
bitcoin, putting the control entirely in the hands of each user.
Bitcoin is a distributed, peer-to-peer system. As such, there is no central server or
point of control. Units of bitcoin are created through a process called “mining,” which
involves repeatedly performing a computational task that references a list of recent
Bitcoin transactions. Any participant in the Bitcoin network may operate as a miner,
using their computing devices to help secure transactions. Every 10 minutes, on
average, one Bitcoin miner can add security to past transactions and is rewarded with
both brand new bitcoins and the fees paid by recent transactions. Essentially, Bitcoin
mining decentralizes the currency-issuance and clearing functions of a central bank
and replaces the need for any central bank.
The Bitcoin protocol includes built-in algorithms that regulate the mining function
across the network. The difficulty of the computational task that miners must per‐
form is adjusted dynamically so that, on average, someone succeeds every 10 minutes
regardless of how many miners (and how much processing) are competing at any
moment. The protocol also periodically decreases the number of new bitcoins that
are created, limiting the total number of bitcoins that will ever be created to a
fixed total just below 21 million coins. The result is that the number of bitcoins in
circulation closely follows an easily predictable curve where half of the remaining
coins are added to circulation every four years. At approximately block 1,411,200,
which is expected to be produced around the year 2035, 99% of all bitcoins that will
ever exist will have been issued. Due to Bitcoin’s diminishing rate of issuance, over the
long term, the Bitcoin currency is deflationary. Furthermore, nobody can force you to
accept any bitcoins that were created beyond the expected issuance rate.
Behind the scenes, Bitcoin is also the name of the protocol, a peer-to-peer network,
and a distributed computing innovation. Bitcoin builds on decades of research in
cryptography and distributed systems and includes at least four key innovations
brought together in a unique and powerful combination. Bitcoin consists of:
• A decentralized peer-to-peer network (the Bitcoin protocol)
• A public transaction journal (the blockchain)
• A set of rules for independent transaction validation and currency issuance
(consensus rules)
• A mechanism for reaching global decentralized consensus on the valid block‐
chain (proof-of-work algorithm)
As a developer, I see Bitcoin as akin to the internet of money, a network for propagat‐
ing value and securing the ownership of digital assets via distributed computation.
There’s a lot more to Bitcoin than first meets the eye.
Mastering Bitcoin Programming the Open Blockchain by Andreas M. Antonopoulos and David A. Harding