Blockchain Research Reading Group
Reading List, Fall 2017
Organizer: Bhaskar Krishnamachari,
Professor, USC Viterbi School of Engineering
Topic 1: Introduction to Blockchain
- The original paper by Satoshi Nakamoto: “Bitcoin: A Peer-to-Peer Electronic Cash System“, October 2008.
- The Bitcoin Developer Guide
- Additional related reading: how bitcoin works under the hood
- Infographic: how a bitcoin transaction works, (original article by Venzen Khaosan), Cryptocoinsnews.com, December 2013.
- M. Clifton, Understanding Merkle Trees, March 2017
Topic 2: introduction to Ethereum, Smart Contracts, and DApps
- Nick Szabo, “Smart Contracts: Building Blocks for Digital Markets“, Extropy #16, 1996.
- The Hitchhiker’s Guide to Smart Contracts in Ethereum
- An introduction to Ethereum and Smart Contracts
- Building a smart contract using the command line
- Vitalik Buterin, “DAOs, DACs, DAs and More: An Incomplete Terminology Guide“, May 2014.
- DApps for Beginners: Your first Dapp
- Ethereum Pet Shop: a series of tutorials on building a dapp
- Solidity Developer Guide
- W. Warren, A. Bandeali, 0x: An open protocol for decentralized exchange on the Ethereum blockchain, February 2017.
Topic 3: Permissioned Distributed Ledger and Distributed Consensus Protocols
- C. Cachin, “Architecture of the Hyperledger Blockchain Fabric,” July 2016.
- R. Nair, Why aren’t distributed systems engineers working on blockchain technology?
- Leslie Lamport, “Paxos made Simple,” 2001.
- Paxos By Example
- M. Castro and B. Liskov, “Practical Byzantine Fault Tolerance“, OSDI 1999.
- RAFT: D. Ongaro and J. Ousterhout, “In search of an understandable consensus Algorithm,” USENIX ATC 2014.
- Visual explanation of RAFT
- L Baird, “The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance,” May 2016.
Topic 4: More on Consensus: Data Consistency Perspectives on Blockchain
- Bei Chun Zhou (IBM), Data Consistency and Blockchain
- Emin Gün Sirer, “Bitcoin Guarantees Strong, not Eventual, Consistency,” March 2016.
- S. Tai, J. Eberhardt, and M. Klems, “Not ACID, not BASE, but SALT: A Transaction Processing Perspective on Blockchains“, April 2017.
Topic 5: Proof of Work and Alternatives for Public Blockchains
- Adam Back, Hash cash Original Announcement, 1997
- Adam Back, “Hash Cash – A denial of service counter measure,” August 2002.
- Adam Back, “The Hashcash Proof-of-Work Function“, Internet Draft, June 2003*
(Note: Difference between Hashcash and Bitcoin Proof of Work – From Wikipedia entry on Hashcash: While hashcash uses the SHA-1 hash and requires the first 20 of 160 hash bits to be zero, bitcoin’s proof of work uses two successive SHA-256 hashes and originally required at least the first 32 of 256 hash bits to be zero. However the bitcoin network periodically resets the difficulty level to keep the average rate of block creation at 6 per hour. As of August 2017 (block #478608) the bitcoin network has responded to deployments of ever faster hashing hardware by miners by hardening the requirement to first 72 of 256 hash bits must be zero.) - Proof of Stake: Vitalik Buterin, “On Stake“, July 2014
- Wikipedia Entry on Proof-of-Stake
- Proof of Importance: The Beginner’s Guide to NEM
- Proof of Importance, in NEM Technical Reference, May 2015
Topic 6: Scaling and Performance
- T. McConaghy et al., “BigchainDB: A Scalable Blockchain Database,” June 2016.
- K. Croman et al. “On Scaling Decentralized Blockchains,” FC 2016.
- T. Dinh, “Untangling Blockchain: A data processing view of blockchain systems,” August 2017.
- J. Bonneau et al., “SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies,” IEEE Security and Privacy, 2015.
Topic 7: From Chains to More General Graphs
- Block Tree: The GHOST protocol: Y. Sompolinsky and A. Zohar, “Secure High-Rate Transaction Processing in Bitcoin,” 2013
- Block Directed Acyclic Graph (DAG) for IOTA: S. Popov, The Tangle, October 2017.
- DAG for Byteball, Launched December 2016, White paper: A. Churyumov, “Byteball: A decentralized system for storage and transfer of value“.
Topic 8: Critiques of Blockchain, or, when do you (not) need to use a Blockchain
- Ask HN: Why is the community so negative towards blockchain technology?
- Blockchains vs centralized databases
- M. E. Peck, “Do You Need a Blockchain?” IEEE Spectrum, September 2017.
Topic 9: Decentralized Storage using Blockchain
- Juan Benet, Whitepaper: IPFS – Content Address, Versioned, P2P File System (DRAFT 3), July 2014.
Website: IPFS: Peer to Peer Hypermedia Protocol - Sia: Whitepaper: D. Vorick and L. Champine, “Sia: Simple Decentralized Storage,” November 2014. Website
- Swarm: V. Tron et al., “Swap, swear and swindle incentive system for swarm,” May 2016. Webpage
- Storj: White Paper (December 2016), Website
- Filecoin: A Decentralized Storage Network, White Paper (August 2017), Website
Topic 10: Network Services and Public Key Infrastructure using Blockchain
- Blockstack: A New Internet for Decentralized Apps, White Paper (October 2017), Website
- Ethereum Name Service
- PKI using Blockchain: C. Fromkneht, D. Velicanu, and S. Yakoubov, A Decentralized Public Key Infrastructure with Identity Retention, November 2014.
Additional Resources:
Book: Narayanan et al., Bitcoin and Cryptocurrency Technologies
If interested in joining our research reading group on blockchain, please contact Bhaskar Krishnamachari via email bkrishna@usc.edu