A reading list on blockchain and related technologies, targeted at technical people who want a deep understanding of those topics.
This is a list of readings (and watchings) on blockchain related topics.
The word "blockchain" (or "block chain") started off as a more or less narrowly defined technical term.
It ("blockchain") later became a buzzword that represented anything related to BitCoin, alt-coins (ex: LiteCoin, Ethereum, etc), cryptocurrencies, etc.
And now that the word "blockchain" is on the verge of becoming a household name, it seems like it is starting to include what some others used to call "P2P", and are now calling "distributed computing".
(In some usages of the label "blockchain", neither blocks or hash lists seemed to be necessary for that thing to be called a "blockchain".)
This seems to somewhat mirror how previously the usage of the word "P2P" seemed to broaden and also include what others are calling "distributed computing".
(Although this time around, cryptography and various concepts of "money" seems to have prominence.)
Regardless, this document focuses on a more traditional definition of "blockchain".
But also includes some topics that the author of this document feels that, while not strictly about blockchains, will help provide readers with a deep(er) technical background that can be useful when working with or creating blockchain based technologies.
This document is targeted at technical people, who are looking to gain a deep understand of the concepts behind blockchain based technologies.
Please, not another bias! An evolutionary take on behavioural economics, by Jason Collins
The Hidden Agenda of the Political Mind, by Jason Weeden, Robert Kurzban
Hierarchy in the Forest, by Christopher Boehm
The Biology of Moral Systems, by Richard D. Alexander
See also: Handicap Principle
Bitcoin: A Peer-to-Peer Electronic Cash System, by Satoshi Nakamoto
Annotated: "Bitcoin: A Peer-to-Peer Electronic Cash System", by Satoshi Nakamoto, Balaji Srinivasan, Et al.
How the Bitcoin protocol actually works, by Michael Nielsen
But how does bitcoin actually work?, by Grant Sanderson
Ever wonder how Bitcoin (and other cryptocurrencies) actually work?, by Grant Sanderson
Mastering Bitcoin, by Andreas M. Antonopoulos
Why Is It Taking 20 Minutes to Mine This Bitcoin Block?, by Russell O’Connor
OP_RETURN and the Future of Bitcoin, by Rich Apodaca
Hidden surprises in the Bitcoin blockchain and how they are stored: Nelson Mandela, Wikileaks, photos, and Python software, by Ken Shirriff
MAGNET v0.1 (Draft Tech Overview/Spec), by Gordon Mohr
A URN Namespace For Identifiers Based on Cryptographic Hashes by Peter Thiemann
Trusty URIs: Verifiable, Immutable, and Permanent Digital Artifacts for Linked Data, by Tobias Kuhn, Michel Dumontier
See also: Distributed Hash Tables
Everything you need to know about cryptography in 1 hour, by Colin Percival
$5 wrench attack, by Randall Munroe
Communication Theory of Secrecy Systems, by Claude Elwood Shannon
New Directions in Cryptography, by Whitfield Diffie, Martin E. Hellman
A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, by Ronald Linn Rivest, Adi Shamir, Leonard Adleman
How RSA Works With Examples, by Barry Steyn
Why RSA Works: Three Fundamental Questions Answered, by Barry Steyn
Cryptographic Hash VS MAC: What You Need To Know, by Barry Steyn
End to End Encryption (E2EE) (Computerphile), by Mike Pound
Secret Key Exchange (Diffie-Hellman) (Computerphile), by Mike Pound
See also: Onion Routing, Randomness, Zero-Knowledge Proof Protocol
Perspectives on the CAP Theorem, by Seth Gilbert, Nancy A. Lynch
The Log: What every software engineer should know about real-time data's unifying abstraction, by Jay Kreps
Notes on Distributed Systems for Young Bloods, by Jeff Hodges
Immutability Changes Everything (video), by Pat Helland
Immutability Changes Everything (paper), by Pat Helland
Kafka: a Distributed Messaging System for Log Processing, by Jay Kreps, Neha Narkhede, Jun Rao
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan
Dynamo: Amazon’s Highly Available Key-value Store , by Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, Werner Vogels
MapReduce: Simplified Data Processing on Large Clusters, by Jeffrey Dean, Sanjay Ghemawat
The Chubby Lock Service for Loosely-Coupled Distributed Systems, by Mike Burrows
So, you want to trace your distributed system? Key design insights from years of practical experience by Raja R. Sambasivan, Rodrigo Fonseca, Ilari Shafer, Gregory R. Ganger
Dapper, a Large-Scale Distributed Systems Tracing Infrastructure, by Benjamin H. Sigelman, Luiz André Barroso, Mike Burrows, Pat Stephenson, Manoj Plakal, Donald Beaver, Saul Jaspan, Chandan Shanbhag
Queues Don't Fix Overload, by Fred Hebert
See also: Consensus, Peer-to-Peer Networks
Blind signatures for untraceable payments, by David Chaum
Information Theory & Coding (Computerphile), by David Brailsford
Multiple Dimension Error Correction (Computerphile), by David Brailsford
The Perfect Code (Computerphile), by David Brailsford
EXTRA BITS: More on Perfect Codes (Computerphile), by David Brailsford
Ethereum in 25 Minutes, by Vitalik Buterin
Ethereum Yellow Paper, by Gav Would, et al
Ethereum Beige Paper: Rewrite of the Yellowpaper in non-Yellowpaper syntax, by Micah Dameron
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
See also: Solidity
A Cypherpunk's Manifesto, by Eric Hughes
The Crypto Anarchist Manifesto, by Timothy C. May
Cyphernomicon, by Timothy C. May
This Machine Kills Secrets, by Andy Greenberg
Crypto, by Steven Levy
The Cathedral and the Bazaar , by Eric Steven Raymond
Homesteading the Noosphere, by Eric Steven Raymond
The Wikipedia Revolution, by Andrew Lih
Identity Crisis: How Identification Is Overused and Misunderstood, by Jim Harper
Secrets and Lies: Digital Security in a Networked World, by Bruce Schneier
Secure Electronic Commerce: Building the Infrastructure for Digital Signatures and Encryption, by Warwick Ford, Michael S. Baum
Understanding Windows CardSpace: An Introduction to the Concepts and Challenges of Digital Identities , by Vittorio Bertocci, Garrett Serack, Caleb Baker
7 Laws of Identity by Kim Camerons,
Getting Started with OAuth 2.0, by Ryan Boyd
Digital Identity, by Phillip J. Windley
Identity Management: A Primer, by Graham Williamson, David Yip, Ilan Sharoni, Kent Spaulding
Mastercoin: A Second-Generation Protocol on the Bitcoin Blockchain, by Vitalik Buterin
MasterCoin Complete Specification Version 1.0, by J.R. Willett
Shelling Out: The Origins of Money, by Nick Szabo
The Ascent of Money: A Financial History of The World (Documentary), by Niall Ferguson
Onion Routing (Computerphile), by Mike Pound
EXTRA BITS: Onion Routing (Computerphile), by Mike Pound
Tor: The Second-Generation Onion Router, by Roger Dingledine, Nick Mathewson, Paul Syverson
Circuit Fingerprinting Attacks: Passive Deanonymization of Tor Hidden Services, by Albert Kwon, Mashael AlSabah, David Lazar, Marc Dacier, Srinivas Devadas
Neat Algorithms - Paxos, by Harry Brundage
The Paxos Algorithm, by Luis Quesada Torres
The Part-Time Parliament, by Leslie Lamport
Understanding Churn in Peer-to-Peer Networks, by Daniel Stutzbach, Reza Rejaie
See also: BitCoin, Bit Gold, Distributed Hash Tables
On Stake and Consensus, by Andrew Poelstra
Cryptocurrencies without Proof of Work, by Iddo Bentov, Ariel Gabizon, Alex Mizrahi
The Raft Consensus Algorithm, by Diego Ongaro, Et al.
Raft: Understandable Distributed Consensus, by Ben Johnson
In Search of an Understandable Consensus Algorithm (Extended Version), by Diego Ongaro, John Ousterhout
Tangaroa: a Byzantine Fault Tolerant Raft, by Christopher Copeland, Hongxia Zhong
Island Money, by Michael F. Bryan
The Rai Stones are huge stone wheels used as currency on the island of Yap, by Boban Docevski
Uniform Non-Random Random Numbers, by Timothy Masters
TIFU by using Math.random(), by Mike Malone
The Lava Lamps That Help Keep The Internet Secure, by Tom Scott
Majority is not Enough: Bitcoin Mining is Vulnerable, by Ittay Eyal and Emin G ̈un Sirer
See also: Proof-of-Work
The Idea of Smart Contracts, by Nick Szabo
Solidity Bytecode and Opcode Basics, by Bernard Peh
The Playdough Protocols, by Nick Szabo
See also: Hash Lists
Advogato's Trust Metric, by Raph Levien
Attack Resistant Trust Metrics, by Raph Levien
Advogato Has Failed, by Bryan Taylor
Eigenmorality, by Scott Aaronson
See also: Sybil Attack
The Rise of “Worse is Better”, by Richard P. Gabriel
Worse Is Better, by Richard P. Gabriel
“RethinkDB: why we failed” (Worse Is Better: RethinkDB vs MongoDB), by Slava Akhmechet
Lisp: Good News, Bad News, How to Win Big, by Richard P. Gabriel
Zero Knowledge Proofs (Computerphile), by Alberto Sonnino
Zero Knowledge Proofs, by Scott Twombly
Introduction to zkSNARKs, by Christian Reitwiessner
Bulletproofs: Short Proofs for Confidential Transactions and More, by Benedikt Bünz, Jonathan Bootle, Dan Boneh, Andrew Poelstra, Pieter Wuille, Greg Maxwell
Blockchain Reading List created, and maintained by Charles Iliya Krempeaux.
Canonical URL: https://github.com/reiver/blockchain-reading-list