目錄
第一章 區(qū)塊鏈簡史 2
1.1. 區(qū)塊鏈的史前時代 2
1.1.1. 密碼朋克社區(qū) 2
1.1.2. 經濟危機與比特幣誕生前夜 7
1.2. 公有鏈的澎湃浪潮 9
1.2.1. 引言 9
1.2.2. 中本聰的星星之火 10
1.2.3. 最早的加密貨幣和區(qū)塊鏈社區(qū) 12
1.2.4. 10000 BTC for 2 pizzas 13
1.2.5. “絲綢之路”網站 17
1.2.6. 比特金,萊特銀 19
1.2.7. POS的誕生 24
1.2.8. bytemaster、DPoS與去中心化公司 27
1.2.9. Vitalik封神,以太坊突進 33
1.2.10. 匿名幣群雄并起 43
1.2.11. “黎明女神”EOS以及以太坊的其他“對手” 51
1.2.12. 比特幣擴容之爭始末 57
1.3. 聯盟鏈的洶涌波濤 65
1.3.1. 引言 66
1.3.2. R3聯盟:區(qū)塊鏈金融應用領域的務實派 66
1.3.3. HyperLedger Project:區(qū)塊鏈金融應用領域的技術派 69
1.3.4. 國內知名區(qū)塊鏈聯盟 73
2. 第二章 區(qū)塊鏈技術總體架構 77
2.1. 總體架構 77
2.2. 密碼學技術 79
2.2.1. 非對稱加密 80
2.2.2. 哈希函數 80
2.2.3. 數字簽名 82
2.2.4. 隱私保護 82
2.3. 分布式賬本 84
2.3.1. 賬本 84
2.3.2. 網絡 84
2.3.3. 共識 85
2.4. 合約 85
2.5. 應用 86
2.6. 擴展技術 86
2.6.1. Layer 0 86
2.6.2. Layer 1 87
2.6.3. Layer 2 89
3. 第三章 賬本 91
3.1. 賬本模型設計 91
3.1.1. UTXO模型 92
3.1.2. 賬戶模型 97
3.2. 賬本結構設計 102
3.2.1. 區(qū)塊鏈 102
3.2.2. 區(qū)塊 104
3.2.3. 新一代區(qū)塊典型結構——以太坊 106
3.2.4. 有向無環(huán)圖——DAG 110
3.3. 底層存儲的技術實現 113
3.3.1. 區(qū)塊鏈的存儲方式 114
3.3.2. 新一代存儲方式——以太坊 115
3.3.3. 鏈外擴展存儲——IPFS 120
4. 第四章 網絡 125
4.1. P2P網絡簡介 125
4.1.1. 什么是P2P網絡? 125
4.1.2. 從BT下載看P2P網絡 125
4.1.3. P2P網絡與區(qū)塊鏈 131
4.2. P2P網絡中的重要技術 132
4.2.1. 分布式哈希表 132
4.2.2. Kademlia協議 135
4.2.3. NAT與NAT穿越 141
4.3. libp2p 149
4.3.1. libp2p是什么? 149
4.3.2. libp2p的設計 151
4.3.3. libp2p的組成 153
5. 第五章 共識 157
5.1. 共識與一致性 157
5.1.1. 一致性 157
5.1.2. 共識 159
5.2. FLP和CAP 159
5.2.1. FLP 160
5.2.2. CAP 160
5.3. 區(qū)塊鏈中的共識及思路 163
5.4. PoX類共識 165
5.4.1. 工作量證明(PoW) 165
5.4.2. 權益證明(PoS) 172
5.4.3. 其他PoX共識 178
5.5. BFT類共識 181
5.5.1. 針對無拜占庭錯誤場景進行優(yōu)化 181
5.5.2. 針對拜占庭錯誤場景進行優(yōu)化 188
5.5.3. 基于密碼學的改進 190
5.6. 混合類共識 191
5.6.1. PoW+BFT 191
5.6.2. DPoS+BFT 192
5.6.3. Tendermint 192
5.6.4. Algorand 193
6. 第六章 合約引擎 198
6.1. 合約設計 198
6.1.1. 確定性 199
6.1.2. 可終止性 200
6.2. 腳本方式 202
6.2.1. 比特幣的分叉幣競爭幣 203
6.2.2. 匿名加密貨幣 203
6.2.3. 部分DAG 203
6.2.4. 擴展方法 203
6.3. 容器方式 204
6.4. 虛擬機方式 205
6.4.1. 改進 EVM 207
6.4.2. 兼容傳統指令集 208
6.4.3. wasm 方式 209
7. 第七章 應用 212
7.1. 應用基礎設施-錢包 212
7.1.1. 多角度看錢包 212
7.1.2. 錢包的技術實現原理 215
7.2. 應用的外部輔助機制 225
7.2.1. 預言機Oracle 225
7.2.2. 鏈下支付通道 230
7.3. Dapp應用生態(tài) 236
7.3.1. 主流生態(tài)平臺現狀 237
7.3.2. Dapp生存挑戰(zhàn) 239