
Block

Chain
Blockchain is this hot new buzzword.
We have to start with the big one, Bitcoin.
Bitcoin was started in late 2008. Open-sourced January 2009.
Creator pseudonym Satoshi Nakamoto.
First decentralized virtual currency.
Before we talk about Bitcoin we need to talk about what money even is.

What is money?
Medium of exchange: portable, durable, fungible
Unit of account: divisible, fungible
Store of value: durable, scarce, fungible
One more property: acceptable (people like using it)
Next: things we've used as money

Durable | |
---|---|
Portable | |
Divisible | |
Fungible | |
Scarce |
Shells
Used on most continents.
Still a legal currency in Papua New Guinea alongside their paper money.

Durable | |
---|---|
Portable | |
Divisible | |
Fungible | |
Scarce |
Stone money
Made in Micronesia and Guam
Transported to the island of Yap as currency.
Value from the story of how hard it was to transport.
Ownership transferred by oral history, stones not moved.

Durable | |
---|---|
Portable | |
Divisible | |
Fungible | |
Scarce |
Precious metals, gold and silver.
Used widely today as money but not currency.
Less portable and divisible than its competitors.

Durable | |
---|---|
Portable | |
Divisible | |
Fungible | |
Scarce |
Cash
Used to represent gold and silver.
Starting with FDR's New Deal in 1933 and ending with Nixon Shock in 1971, the US (and practically everyone else) switched to unbacked "floating money" to take more direct control of national markets.
How could we make
digital currency?

Digital items can be duplicated; how can I send you something the way I do in the physical world? The Yapanese people had the right idea: use a ledger.
Joshua | 25 | - 15 |
---|---|---|
Tim | 57 | |
Dave | 9 | |
Jack | 12 | + 15 |
George | 40 |
A ledger keeps track each person's money.
To send money, reduce my account and increase their account.
Like Paypal.
BUT - requires trust. One way to reduce the trust required is with...

Cryptography
We can use public and private keys to control balances in an anonymous ledger.
1D4FA353C82B4 |
11.5 | - 11 |
---|---|---|
37563EA8932FB |
6.0 | |
D163512ECD12E |
9.0 | |
D15F73E98432A |
13.5 | - 4 |
333BCBA13A54C |
9.7 | |
8DCFD9B98C72B |
57.0 | |
8DBDA78D8BEF2 |
1.1 | |
C5F83ED13497A |
6.0 | + 15 |
92A1E683111A2 |
30.2 |
Then instead of sending a payment from "Joshua" to "Jack", it's a payment from "private keys A and B" to "public key C".
There's a company that actually did this, called DigiCash. They used a centralized ledger with cryptographically controlled balances. Consumers weren't concerned enough about security or privacy and they ran out of money.
Centralized providers can be fragile since there's a single point of failure.
How to decentralize?

You get a ledger! You get a ledger!
YOU ALL GET A LEDGER!!
Give everyone their own copy of the ledger. When you make a change to the ledger, send it out to everyone so all the ledgers stay up to date. Use cryptographic keys for privacy, and so that one person can't change another person's balance.
Double Spending
What if I send two transactions at once, spending the same money in two places?
Real world, double spending is easy. Write two checks, first one cashed "wins", it's about timing.
How can a decentralized network solve timing issues?
Analogous problem:

the
Byzantine Generals’
problem
The Byzantine army is divided into groups, each group led by a general. But some of the generals are traitors. How can the loyal generals share one plan of attack, even in the presence of a small group of traitors?
This kind of tamper-proof consensus they are looking for is called "Byzantine consensus".

Hashes
Hashing is a one-way transformation of some arbitrary data into some random-seeming but bounded output.
We can get Byzantine consensus with creative use of hashes.

Proof of Work
In 1997 this guy Adam Back came up with HashCash. The idea is that an email client would brute-force a certain amount of zeros as the output to a cryptographic hashing algorithm.
Hash Pointers
+ Proof of Work
= Blockchain
A good structure for a ledger is a linked list: each block of transactions points to the previous block. But we want this log to be tamper-proof. Hash pointers can make it so that changes earlier in the chain affect every item after that. To change history, you have to redo all the work after that point. But new blocks are still being added.

Incentives
Why would someone do all this work solving hashes to putting new transactions on the ledger? Well, Bitcoin kills two birds with one stone. The protocol specifies that whoever solves one of these hash puzzles is rewarded some newly created currency. (hence "mining") Also, transactions can include fees which miners collect.
Applications
So what can we use this technology for? It's a tamper-proof ledger, with timestamps and encryption and a giant network of computers running it.
Money
Blockchains are pretty great as money. Bitcoin specifically is only anonymous, not fully private, but there are ways to improve that. Blockchains' value as money is at the heart of its incentives. Private blockchains that don't try to be money face serious challenges.
Verifiable Data
Embedding a hash in the blockchain demonstrates an item's existence at point in the past.
Identity
DNS
Digital Assets
Instead of monetary value, we can treat blockchain tokens as deeds, and use the blockchain as a decentralized register of ownership.
Smart Contracts
We can attach scripts to blockchain tokens, and the network will execute the script to find out who the money belongs to. This enables the creation of self-executing contracts and complicated financial arrangements.