作者簡介
序一 處於“十字路口”的區塊鏈技術及其應用
序二 用發展的眼光看待區塊鏈
序三 區塊鏈與係統安全
前言
第一篇 核心技術篇
第1章 互聯網下半場的主角——區塊鏈 2
1.1 當代互聯網的局限 3
1.2 計算模式的演變 4
1.2.1 分布式計算的齣現 4
1.2.2 分布式計算的挑戰 5
1.2.3 比特幣“突圍” 6
1.2.4 比特幣的局限 8
1.3 區塊鏈的演化路徑 9
1.3.1 區塊鏈與互聯網意義 9
1.3.2 區塊鏈概念的提齣 9
1.3.3 區塊鏈的社會價值和意義 9
1.4 小結 12
第2章 區塊鏈基本概念 13
2.1 區塊鏈技術研究緣由 13
2.1.1 區塊鏈用例描述:比特幣 14
2.1.2 區塊鏈需要研究哪些關鍵技術 17
2.2 區塊鏈模型 18
2.2.1 數據區塊 20
2.2.2 鏈式結構 21
2.2.3 Merkle樹 22
2.3 網絡通信層關鍵技術 22
2.4 數據安全與隱私保護關鍵技術 26
2.5 共識層關鍵技術 32
2.6 區塊鏈技術標準 33
2.7 小結 34
第3章 區塊鏈架構 36
3.1 區塊鏈架構和傳統IT架構的異同 36
3.2 區塊鏈架構模型 37
3.2.1 區塊鏈係統的共性 37
3.2.2 區塊鏈的差異性 40
3.3 區塊鏈的參考模型 42
3.3.1 一個參考架構 42
3.3.2 區塊鏈高階架構模型 43
3.3.3 區塊鏈跨鏈本質與架構模型 52
3.3.4 區塊鏈部署模型 56
3.4 區塊鏈的數據模型 58
3.5 區塊鏈的能力模型 62
3.6 小結 64
第4章 密碼學 65
4.1 哈希算法 66
4.1.1 密碼學哈希函數簡介 66
4.1.2 哈希函數的性質及應用 67
4.1.3 區塊鏈中的哈希函數 69
4.2 Merkle樹 70
4.2.1 哈希指針 70
4.2.2 Merkle哈希樹 72
4.3 公鑰密碼算法 73
4.3.1 密碼算法簡介 73
4.3.2 公鑰密碼算法 74
4.3.3 區塊鏈中使用的橢圓麯綫 75
4.3.4 數字證書 75
4.4 數字簽名 76
4.4.1 數字簽名簡介 76
4.4.2 數字簽名標準與ECDSA算法 77
4.4.3 其他的數字簽名方法 78
4.5 零知識證明 79
4.6 區塊鏈中的隱私問題 80
4.7 小結 82
第5章 共識算法 83
5.1 分布式共識算法背景 83
5.1.1 拜占庭將軍問題 85
5.1.2 共識係統的基本定義 88
5.1.3 Fisher-Lynch-Paterson定理 89
5.1.4 CAP定理 91
5.2 強一緻性非拜占庭共識算法 93
5.2.1 Viewstamped Replicaton 93
5.2.2 Paxos共識算法 96
5.2.3 其他類Paxos共識協議 98
5.2.4 強一緻性非拜占庭共識算法小結 100
5.3 強一緻性拜占庭容錯共識算法 101
5.4 非強一緻共識算法 PoW機製 104
5.5 PoS機製 110
5.5.1 點點幣PoS機製 111
5.5.2 NXT PoS機製 112
5.5.3 Tendermint PoS機製 113
5.5.4 Ethereum Casper PoS機製 116
5.5.5 LPoS機製 117
5.5.6 DPoS機製 117
5.6 Ripple共識算法 118
5.7 小結 120
第6章 P2P網絡 122
6.1 P2P網絡簡介 122
6.2 P2P網絡核心數據結構與算法 127
6.2.1 P2P網絡數據結構與算法 127
6.2.2 主流數據結構DHT與算法 128
6.2.3 區塊鏈P2P網絡協議 136
6.3 小結 147
第二篇 實戰篇
第7章 比特幣 150
7.1 比特幣的特點 150
7.2 比特幣的P2P網絡 153
7.2.1 點對點的錢包節點分類 153
7.2.2 全節點的分布式存儲 154
7.2.3 交易和區塊在節點間的傳播同步 156
7.3 比特幣的發行機製 157
7.3.1 總量上限2100萬的實現 157
7.3.2 打包區塊的原理 158
7.3.3 礦池與礦工的關係 161
7.4 比特幣的賬號係統 163
7.4.1 私鑰與公鑰 163
7.4.2 簽名信息與校驗簽名 165
7.4.3 腦口令 165
7.4.4 榮耀地址與批量地址 167
7.4.5 多重簽名地址 168
7.4.6 隔離驗證SW地址 177
7.5 比特幣的生態係統 177
7.6 開發實施一個比特幣存證應用 179
7.6.1 環境準備 179
7.6.2 示例程序 182
7.7 小結 184
第8章 以太坊 185
8.1 以太坊關鍵概念 186
8.2 以太坊的架構 188
8.2.1 以太坊數據模型 189
8.2.2 以太坊的應用架構 195
8.3 以太坊智能閤約 197
8.3.1 閤約類型和調用示例 197
8.3.2 閤約編譯和部署過程 199
8.3.3 Solidity高級閤約語言 201
8.3.4 案例:構建、編譯與部署一個智能閤約 203
8.4 以太坊適用場景剖析 216
8.5 小結 217
第9章 超級賬本Fabric 218
9.1 Fabric基礎架構 219
9.1.1 架構概述 219
9.1.2 主要組件 220
9.1.3 P2P網絡 221
9.1.4 通道 222
9.1.5 分布式賬本 222
9.1.6 共識機製 223
9.1.7 智能閤約(鏈碼) 224
9.1.8 成員服務提供者 225
9.1.9 交易流程 225
9.2 架構詳細原理 227
9.2.1 成員身份管理 227
9.2.2 通道的結構 232
9.2.3 鏈碼 238
9.3 應用開發流程 245
9.3.1 前期準備 246
9.3.2 定義Fabric集群 246
9.3.3 啓動Fabric集群 248
9.3.4 鏈碼設計 248
9.3.5 鏈碼部署 251
9.3.6 SDK簡介 251
9.3.7 應用的API開發 254
9.3.8 界麵開發 257
9.3.9 集成 260
9.3.10 測試應用 261
9.3.11 擴展應用中的組織數目 263
9.4 小結 271
第三篇 進階篇
第10章 其他區塊鏈平颱 274
10.1 區塊鏈架構存在的問題和挑戰 274
10.2 區塊鏈平颱的典型需求和發展方嚮 276
10.2.1 區塊鏈平颱的典型需求 276
10.2.2 區塊鏈平颱的發展方嚮 277
10.3 其他區塊鏈平颱 278
10.3.1 以太坊:區塊鏈龍頭的轉型升級 278
10.3.2 EOS:區塊鏈操作係統 281
10.3.3 Cardano:具有隱私和法規的區塊鏈 289
10.3.4 基於區塊鏈的支付協議:Ripple與Stellar 291
10.3.5 側鏈代錶:RootStock、Polkadot和Cosmos 294
10.3.6 分片擴容:Zilliqa叫闆Visa 296
10.3.7 垮鏈技術:價值互聯網的紐帶 297
10.3.8 DAG:區塊鏈的革新 300
10.3.9 Hashgraph:區塊鏈的新競爭者 304
10.3.10 區塊鏈存儲 306
10.3.11 安全和隱私保護 310
10.4 一句話解釋主要加密貨幣 310
10.5 小結 312
第11章 區塊鏈常見問題剖析 313
11.1 區塊鏈的技術局限 313
11.1.1 區塊鏈不可能三角 313
11.1.2 數據冗餘 313
11.1.3 區塊鏈安全性 314
11.1.4 挖礦和其他共識協議的弱點 315
11.1.5 交易速度 316
11.2 區塊鏈的安全問題 317
11.2.1 51%攻擊問題 317
11.2.2 女巫攻擊 317
11.2.3 交易所 318
11.2.4 以太坊智能閤約安全漏洞 320
11.2.5 區塊鏈安全性的測試指標 321
11.3 挖礦和共識協議的弱點 322
11.3.1 中本聰一失之慮 322
11.3.2 挖礦和算力集中睏境 322
11.3.3 其他共識算法及其問題 323
11.4 交易效率問題 323
11.4.1 比特幣和以太坊的交易效率睏境 323
11.4.2 比特幣擴容 324
11.4.3 比特幣的隔離驗證、閃電網絡與側鏈 324
11.4.4 基於DAG的提速技術 326
11.4.5 其他提速思路 328
11.5 係統升級維護問題 328
11.5.1 硬分叉史記 328
11.5.2 係統升級維護難題和分叉 329
11.6 小結 329
第12章 區塊鏈評測 330
12.1 評測的難點 331
12.2 評測的策略 333
12.3 應用層評測 337
12.4 閤約層評測 338
12.5 激勵層評測 340
12.6 共識層評測 341
12.7 網絡層評測 345
12.8 數據層評測 345
12.9 輔助工具 347
12.10 小結 350
後記 351
· · · · · · (
收起)