- Awesome cryptography papers - a curated list of papers on various cryptographic techniques
- Cryptographic hash function - the mechanism behind generating a hash
- Digital signature - how signing works. key ideas: asymmetric (public key) cryptography, hard to compute but easy to verify.
- Merkle tree - important data structure optimizing the storage of hashes in a blockchain
- Practical Byzantine Fault Tolerance (Castro and Liskov, 1999) - a seminal algorithm for state machine replication / transaction ordering in a distributed system with up to 1/3 malicious nodes
- Distributed Systems - excellent 101-level lecture notes. presumes some comfort with math notation, particularly predicate logic. distributed systems concepts can help answer questions like "why is Solana's "Proof of History" an innovation?"
- CAP Theorem - fundamental trade-off between staying consistent vs. staying available when there's a network partition, i.e. nodes can't communicate
- FLP Result - why distributed consensus is not guaranteed when a node goes down. in practice, this is solved by relaxing the constraints of their model
- Proof of useful work - using collective computing power to search for prime number chains. an academic application but interesting concept
- P vs. NP -
deep theoretical question on the very nature of computation: whether easy to verify implies (
=>
) easy to solve - Elliptic curve cryptography - in-depth blog post with plenty of diagrams on how elliptic curve cryptography works