Blockchain & Money: Session 4: Blockchain Basics & Consensus by M.I.T. Sloan School of Management with Professor Gary Gensler
Session 4: Blockchain Basics and Consensus
- Session 4 Study Questions:
- What is the Byzantine General’s problem? How does proof-of-work and mining in Bitcoin address it? More generally, how does blockchain technology address it?
- What other consensus protocols are there? What are some of the tradeoffs of alternative consensus algorithms–proof-of-work, proof-of-stake, etc.?
- How do economic incentives work within blockchain technology to maintain decentralized ledgers and avoid double spending?
- What are the incentives of consensus protocols & mining?
- Session 4 Readings:
- ‘Geneva Report’ Chapter 1 (pages 1-7); Casey, Crane, Gensler, Johnson & Narula.
- ‘Blockchain Technology Review’ NIST (pages 23-32, section 3 & 4).
- ‘The Byzantine Generals Problem’; Lamport, Shostak & Pease (382-387).
- ‘A Short Guide to Consensus Protocols’; Coindesk.
Overview: Review of Blockchain Design; Consensus through Proof-of-Work; Bitcoin Mining; Native Currency; Network; Other consensus protocols; Conclusion.
Blockchain/Bitcoin Technical Features:
- Cryptography & Timestamped Logs
- Cryptographic Hash Functions
- Timestamped Append-only Logs (blocks)
- Block Headers & Merkle Trees
- Asymmetric Cryptography & Digital Signatures
- Addresses
- Decentralized Network Consensus
- Proof of work
- Native Currency
- Network
- Transaction Script & UTXO–Transaction Code & Ledgers
- Transaction Inputs & Outputs
- Unspent Transaction Output (UTXO) set or account-based
- Scripting Language–Script, Solidity, or other programming languages.
- Hashcash–Proof of Work (Adam Back, 1997)
- Proposed to address Email, Spam, & Denial of Service attacks
- Requires computational work to find a hash within predeterminded range.
- Difficultly defined by Hash output’s # of leading zeros.
- Blockchain–Proof of Work
- Innovation–Chained Proof-of-Work for Distribute Network Consensus & Timestamping.
- Bitcoin–Proof of Work Difficulty
- Targets 10 minute average block generation time.
- Defined by the # of leading zeros Hash output requires to solve proof of work
- Adjusts every 2016 blocks–about every 2 weeks
- Currently, greater-than or equal to 18 leading zeros (out of 64 hexadecimal characters)
- Block 541974 (09/18/18)–18 leading zeros.
- Genesis Block (01/03/09)–10 leading zeros, though only required 8
- ex: 000000000019d6689c085ae165831e934ff763ae46c2a6c172b…
Bitcoin Mining Evolution
- Native Currency
- Economic Incentive System
- ‘Monetary Policies’ vary widely
- Bitcoin–BTC
- Created through Coinbase Transaction in each block
- ‘Monetary Policy’ preset in Bitcoin Core
- Creation originally 50 Bitcoin per block
- Reward halves (1/2s) every 210,000 blocks
- Currently, 12.5 BTC’s created per block–thus ‘inflation’ 4.1%
- Currently, 17.3 million BTC; capping at 21 million BTC in 2040.
- Market based transaction fee mechanism also provided for in Bitcoin Core
- Ethereum
- Currently, 3 ETH per block–thus ‘inflation’ 7.4%
- Recent proposal to decline to 2 ETH per block in 11/18
- Fees paid in ‘Gas’ (109 Gas per ETH) for computation are credited to miners.
- ‘Gas’ is a small unit of Ethereum, like how ‘satoshi’ is a small unit of Bitcoin.)
- Network
- Full Nodes–Store full blockchain & able to validate all transactions
- Pruning Nodes–Prune transactions after validation & aging.
- Lightweight Nodes–Simplified Payment Verification (SPV) nodes–Store Blockchain Headers only
- Miners–Performs Proof of Work & Create new Blocks–Do Not need to be a full node.
- Mining Pool Operators
- Wallets–Store, View, Send & Receive Transactions & Create Key Pairs.
- Mempool–Pool of unconfirmed (yet validated) Transactions.
- Alternative Consensus Protocols
- Generally Randomized or Delegated Selection of Nodes to Validate next Block
- May have added mechanism to confirm Block Validators Work
- Randomized Selection May be Based Upon:
- Proof of Stake–Stake in Native Currency
- Proof of Activity–Hybrid of POW & POS
- Proof of Burn–Validation comes with Burning of Coins.
- Proof of Capacity (storage or space)–Based upon Hardware Space
- Delegated Selection May Be Based Upon Tiered System of Nodes
- Major Permissionless Blockchain Applications still use Proof of Work though:
- DASH is a hybrid of POW with a tiered system of ‘Masternodes’
- NEO uses a Delegated protocol of ‘Professional Nodes’.
- Generally Randomized or Delegated Selection of Nodes to Validate next Block
- Conclusions
- Reviewed Bitcoin Design Features
- Timestamped Append-only Logs (Blocks)
- Secured through Cryptographic Hash Functions & Digital Signatures
- Decentralized Network Consensus
- Consensus through Proof of Work
- Native Currency
- Network
- Transactions Ledgers
- Transaction Inputs & Outputs
- Unspent Transaction Output (UTXO) set
- Scripting language
- Reviewed Bitcoin Design Features
Biblio:
- Gary Gensler. 15.S12 Blockchain and Money. Fall 2018. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
- Video Link: Session 4:Blockchain Basics & Consensus.
- Slides Link: Session 4: Blockchain Basics & Consensus Slides.