Bitcoin
Bitcoin is the original blockchain. It was proposed in 2008 by a pseudonymous developer named Satoshi Nakamoto and deployed in early 2009 as an open-source software project. Bitcoin introduced the first practical implementation of a decentralized timestamping mechanism using proof-of-work and a consensus-driven ledger. The system’s design was a direct reaction to centralized failure points and it sparked an entirely new field of programmable, distributed systems.
Unlike account-based models used in platforms like Ethereum, Bitcoin operates on the UTXO (Unspent Transaction Output) model. Each transaction consumes one or more previous outputs and creates new ones, forming a directed acyclic graph of spendable outputs. This model enables a high degree of statelessness and p arallelism in transaction validation, and it naturally supports features like privacy-preserving mechanisms.
Bitcoin scripting is intentionally minimal. It uses a stack-based language called Script, which supports primitives like time locks (OP_CHECKLOCKTIMEVERIFY), hashlocks (OP_HASH160, OP_EQUALVERIFY), and multi-signature authorization (OP_CHECKMULTISIG). These building blocks can be composed into complex contract logic such as payment channels, escrows and other structures.
Key upgrades in Bitcoin’s history include:
- BIP16 (P2SH): Introduced Pay-to-Script-Hash to hide complex scripts behind a hash.
- SegWit (BIP141): Fixed transaction malleability and laid the groundwork for scaling via second-layer protocols.
- Taproot (BIP341): Enabled more private and composable smart contracts using Schnorr signatures and Merkleized script trees.
Consensus changes are rare and conservative, since tens of millions of users are affected by them. Most upgrades are implemented via soft forks, requiring careful coordination among miners, nodes, and developers.
A good starting place to understand how Bitcoin works is this video by 3Blue1Brown.
💡 Tasks
- Watch 3B1B's video.
- Download and run the Electrum Bitcoin wallet.
- Use Kraken to get yourself $20's worth of real Bitcoin on the Bitcoin main net and move them to your Electrum.
- Read CS251 Lecture 2 slides.
- From the Bitcoin Developer Guide, read the sections on Blockchain, Transaction, P2P Network, and Wallets.
- Read CS251 Lecture 3 slides.
- Read Satoshi Nakamoto's original whitepaper that introduced Bitcoin and blockchains. The full paper is easy to read and understand.
- Read the Beginners chapter of learn me a bitcoin, excluding the SegWit section.
- Read the Bitcoin entry of the reference. Which facts are relevant to other blockchains and which are unique to Bitcoin (and its clones)? (Outdated, please do not rely on it for post-taproot information.)
- Read about transaction confirmation.
- Read and understand the logic of a simple binary option contract in Bitcoin. What steps does the Oracle take in each of the two contract versions? Do these solutions have any privacy/security issues? If so what?
- Read the Wikipedia page on the Lightning Network.