Description
Book SynopsisIntermedate user level
Table of ContentsChapter 1: The History of Money and Alternate Currencies
Chapter Goal: Explain the historical evolution of money and alternate currencies prior to bitcoin
Sub-Topics
1. Characteristics of money
2. Gold and silver backed currencies
3. Gold standard and fiat currencies
4. Alternate currencies prior to bitcoin (Liberty coin, etc.)
5. Bitcoin
6. The Darknet
7. Future evolution of cryptocurrencies
Chapter 2: Bitcoin and Altcoins
Chapter Goal: Discussion of bitcoin and altcoins in circulation and their properties and their raison d’etre.
Sub-Topics
1. Introduction
2. Bitcoin
3. Ethereum
4. Monero
5. Ripple
6. Stellar, Tron, and other cryptocurrencies
Chapter 3: Cryptographic Hash Functions
Chapter Goal: Explain cryptographic hash functions, their characteristics, and why they are important in blockchain and cryptocurrency application development.
Sub-Topics
1. Introduction
2. Cryptographic hash functions
3. The collision free property of cryptographic hash functions
4. Proving the tamper free property
5. The irreversible property
6. The unique range property
7. Hash pointers and data structures
8. Proving authenticity with crytpographic hashes
9. The SHA-256 cryptographic hash
10. Common cryptographic hash functions
Chapter 4: Symmetric Encryption
Chapter Goal: Explain what symmetric encryption is and it’s deficiency in secure key distribution
Sub-Topics:
1. Introduction
2. How symmetric encryption works
3. The key distribution problem
4. Common symmetric encryption algorithms
Chapter 5: Public Key Cryptography
Chapter Goal: Explain what public key cryptography is and how it works
Sub-Topics:
1. Introduction
2. Algorithms to generate public private key pairs
3. RSA and elliptic curve cryptography
4. Using public–private key pairs for encryption and decryption
5. Identity formation and proof with public keys
6. Generating globally unique IDs
Chapter 6: Digital Signatures Chapter Goal: Show how the digital signature algorithm is implemented and how it can be used to prove authorship and authenticity of documents
Sub-Topics:
1. Introduction
2. Creating digital signatures
3. Proving authorship and authenticity of documents
Chapter 7: Blockchain Construction
Chapter Goal: Discuss properties of a blockchain and how to create a blockchain
Sub-Topics:
1. Introduction
2. Properties of blockchain
3. How to create a blockchain
4. The bitcoin blockchain
5. Scalability issues in blockchain
6. Blockchain databases
7. The genesis block
8. Creating a simple cryptocurrency
Chapter 8: The Merkle Tree Algorithm
Chapter Goal: A discussion of the Merkle tree algorithm along with source code implementations
Sub-Topics:
1. Introduction
2. Implementation of the Merkle tree algorithm
Chapter 9: Topology of Cryptocurrency Networks
Chapter Goal: What is a peer-to-peer network and the use of such P2P networks in blockchain applications to broadcast and verify transactions.
Sub-Topics:
1. Introduction
2. Peer-to-peer networks
3. Node identity and supernodes
4. The bitcoin blockchain
5. Block and transaction propagation
Chapter 10: Cryptocurrency Parameters and Configuration
Chapter Goal: Enumerate some common configuration parameters that are used when creating a cryptocurrency and their implications.
Sub-Topics:
1. Introduction
2. Common cryptocurrency parameters
Chapter 11: Cryptocurrency Addresses
Chapter Goal: Creating and using cryptocurrency addresses
Sub-Topics:
1. Introduction
2. How to make a cryptocurrency address
3. How bitcoin uses addresses
4. Key generation algorithms
5. Hierarchical deterministic key generation
Chapter 12: Cryptocurrency Transactions
Chapter Goal: How transactions are implemented and broadcast in a cryptocurrency network.
Sub-Topics:
1. Introduction
2. Transaction mechanics
3. Canonical transaction structures
4. Broadcasting transactions
5. Transaction validation
6. How bitcoin implements transactions
7. Locking and unlocking transactions
8. Transaction fees
Chapter 13: Cryptocurrency Storage
Chapter Goal: Discuss methods for storing cryptocurrencies
Sub-Topics:
1. Introduction
2. Cold storage and hot storage
3. Wallets and local storage
4. Storage on the blockchain
5. Online wallets
6. Exchanges
Chapter 14: Mining
Chapter Goal: Explain how blocks are mined in a cryptocurrency network
Sub-Topics:
1. Introduction
2. How mining works
3. Incentives for block formation
4. Bitcoin mining
5. Chainstate database
6. Proof of work and the difficulty number
7. Energy consumption
8. ASIC resistant mining
9. Mining attacks
10. Proof of stake and virtual mining
11. Hash power computations
Chapter 15: The Bitcoin Distributed Consensus Algorithm
Chapter Goal: Discussion of the distributed consensus algorithm in bitcoin
Sub-Topics:
1. Introduction
2. Consensus formation in bitcoin
3. Blockchain forks
4. Double spend resolution in the bitcoin network
Chapter 16: Alternate Distributed Consensus Algorithms
Chapter Goal: Discussion of distributed consensus algorithm that is not based on bitcoin’s proof of work algorithm
Sub-Topics:
1. Introduction
2. Proof of stake distributed consensus
3. Delegated proof of stake
4. Proof of weight algorithms
5. The Byzantine Generals problem
6. Byzantine Fault tolerance
7. Federated Byzantine agreement algorithm
8. Proof of weight, DAGs, and other algorithms
Chapter 17: Working at Scale
Chapter Goal: How to build blockchain and cryptocurrency applications that scale
Sub-Topics:
1. Introduction
2. Scalability in the bitcoin network
3. Subchains
4. The lightening network
5. Sharded networks
6. Other solutions
Chapter 18: Anonymous Cryptocurrency Networks
Chapter Goal: Discussion of anonymity in cryptocurrency networks
Sub-Topics:
1. Introduction
2. Why bitcoin is not an anonymous currency
3. Some simple precautions for bitcoin transactions
4. Mixers
5. Implementing anonymity for a cryptocurrency
6. Using Tor
Chapter 19: Designing a Cryptocurrency
Chapter Goal: Architecture and logical design principles in cryptocurrency creation
Sub-Topics:
1. Introduction
2. Network architectures
3. Blockchain specification and implementation
4. Database implementation
5. Transaction specification
6. Selecting a distributed consensus algorithm
7. The mining algorithm
8. The money supply
9. The velocity of money
10. Creating the genesis block
11. Founder’s reserve
12. Language selection
13. Bon voyage
Appendix: Installing and Using a Bitcoin Node
Chapter Goal: Install a full Bitcoin node on a Linux machine