BITCOIN FIRST APPEARED in a 2008 white paper authored
by someone called Satoshi Nakamoto,
18 the mysterious
deus absconditus of the blockchain world. Today,
cryptocurrencies and blockchains are very much in the
news. Much of this coverage is lurid, sensationalistic,
and irresistible: roller-coaster prices and instant
riches, vast sums of money stolen or inexplicably lost,
underground markets for drugs and weapons, and
promises of libertarian utopias just around the corner.
This article is a tutorial on the basic notions and
mechanisms underlying blockchains, colored by
the perspective that much of the blockchain world
is a disguised, sometimes distorted, mirror image of
the distributeda computing world.
a In this article, “distributed computing” is used to encompass both message passing
and shared-memory models of concurrent computation.
This article is not a technical manual, nor is it a broad survey of the literature (both widely available elsewhere).
Instead, it attempts to explain blockchain research in terms of the many
similarities, parallels, semi-reinven-tions, and lessons not learned from
This article is intended mostly to appeal to blockchain novices, but perhaps
it will provide some insights to those
familiar with blockchain research but
less familiar with its precursors.
The Ledger Abstraction
The abstraction at the heart of blockchain systems is the notion of a ledger,
an invention of the Italian Renaissance originally developed to support
double-entry bookkeeping, a distant
precursor of modern cryptocurrencies. For our purposes, a ledger is
just an indelible, append-only log of
transactions that take place between
various parties. A ledger establishes
which transactions happened (“Alice
transferred 10 coins to Bob”), and
the order in which those transactions
happened (“Alice transferred 10 coins
to Bob, and then Bob transferred title
to his car to Alice”). Ledgers are public, accessible to all parties, and they
must be tamper-proof: no party can
add, delete, or modify ledger entries
once they have been recorded. In
short, the algorithms that maintain
ledgers must be immune to attack, ensuring the ledger remains secure even
The roots of blockchain technologies are
deeply interwoven in distributed computing.
BY MAURICE HERLIHY
˽ The long-term scientific value of
blockchain algorithms and systems is
independent of the fates of today’s coins.
˽ Many of the basic algorithms and
techniques used in blockchains are best
understood as variations on familiar
algorithms and techniques from classic
˽ A smart contract language should have
an explicit concurrency model to make
programmers aware of well-known
concurrency-related pitfalls and hazards.
˽ The blockchain world encompasses both
“permissioned” and “permissionless”
chains, and a number of promising
application areas beyond just coins.