Introduction To Cryptocurrency
A free course on cryptocurrencies for developers. Covers history, cryptographic foundations, networking, consensus, game theory, Bitcoin, Ethereum.

Managing partner at Dragonfly Capital. Formerly: partner at Metastable Capital, software engineer at Airbnb and Earn.com. Effective altruist, writer, educator.
A free course on cryptocurrencies for developers. Covers history, cryptographic foundations, networking, consensus, game theory, Bitcoin, Ethereum.
Bitcoin's P2P network comes with its own unique challenges: bootstrapping your initial peers, defending against spam, and ensuring network-level privacy.
Gnutella was one of the first decentralized P2P protocols to take off after the death of Napster. It's a direct predecessor to Bitcoin's networking design.
Bitcoin is built atop the shoulders of the early P2P file sharing protocols. And the history of P2P file sharing starts with the grandfather of all massive P2P protocols, Napster.
Without public key cryptography, Bitcoin would be impossible. It lays the foundation for digital identities and cryptographically enforced property rights.
To understand Bitcoin's consensus mechanism and the concept of proof-of-work, we first have to understand Hashcash.
Merkle trees magically represent arbitrary amounts of data with a constant amount of space.
We don't know who Satoshi Nakamoto was, where they came from, or where they are today. But here's what we do know.
"Cypherpunks write code. We know that someone has to write software to defend privacy, and we're going to write it." — The Cypherpunk's Manifesto, 1993
To understand why cryptocurrencies were invented, you first have to understand the problem they were meant to solve.