How Bitcoin Was Built Using Existing Tools
Bitcoin didn't invent new cryptography. It didn't invent a novel consensus algorithm. It wasn't the first project to try to be digital cash either.
What Bitcoin did do is combine three building blocks to solve an age old problem: trust between strangers.
Let's unpack that.
SHA256: An Uncrackable Lock SHA256 is a one way hash function used to verify an input's fingerprint instantly without allowing reverse engineering or faking. Because of the size of potential hashes (2^256 bits), it is considered wasteful for most things. It's perfect for when trust is the commodity.
ECDSA: Signatures Without Servers ECDSA generates signatures using elliptical curves. It's more efficient than RSA, but it has strict security requirements around using cryptographically secure random numbers. Satoshi chose ECDSA for its speed although there have been vulnerabilities due to poor key generation practices, including Android Bitcoin wallets in August 2013.
Merkle Trees: Scalable Trust The data structure is a clever way of bundling transactions into one fingerprint. It allows you to not need to verify everything. Instead, you can choose to verify only what you need to depending on your use case.
The genius was in the assembly.
Imagine sending a Bitcoin transaction. You sign it with your private key using ECDSA to prove it's really from you. That signature is hashed into a Merkle Tree so that thousands of transactions can be secured by a single root hash. Then, miners take the Merkle root and hash it repeatedly with SHA-256 to hunt for a valid proof-of-work nonce.
No single part of Bitcoin was new in 2009. Each building block tackles a different aspect of the trust problem: identity, scale, trustlessness. The combination works in concert to engineer trust in what is now a robust and battle tested decentralized consensus payments settlement network.
Design Choices That Endure
The Bitcoin protocol was built for the hardware of 2009. More importantly, it was built to work and not to impress.
It's a lesson in how even simple tools, if used correctly, can still change the world. It's a lesson in constraint-based engineering.
Today, we reach for tools that explode complexity without proportional clarity or resilience, like post-quantum encryption, complex layer 2 scaling solutions, and SegWit.
Maybe we should continue asking ourselves what the simplest tools for the job are.