商用區塊鏈技術與實踐
內容描述
本書首先介紹了區塊鏈技術的誕生、演進歷程,以及產品化、商用化區塊鏈需求的緊迫性,進而對商用區塊鏈展開了探索,分析了商用區塊鏈的目標和難題,介紹瞭解決這些難題需要的區塊鏈關鍵技術,範圍覆蓋了密碼學基礎、賬本結構、共識算法、智能合約,以及關系區塊鏈擴展性的擴容和跨鏈技術。最後,本書開放了作者團隊多年研發和積累的區塊鏈開發接口,讀者基於這些接口可以輕易地構建並部署自己的區塊鏈應用。現在市場上的區塊鏈相關書籍種類繁多,想要瞭解區塊鏈技術原理、體系架構、典型項目介紹的選擇也很多。然而有這麽一部分讀者,他們不僅渴望瞭解區塊鏈技術,而且更想拿到打開區塊鏈商業應用大門的鑰匙,目前這類書籍鳳毛麟角。本書的作者團隊結合在區塊鏈商業應用領域多年的積累與經驗,圍繞著應用簡單、落地見效這個目標,從關鍵技術選型、區塊鏈擴展到接口開發應用、典型案例介紹,打造了一本兼顧區塊鏈技術與應用實踐的鑰匙類實用圖書。
目錄大綱
第1部分 區塊鍊及其商業應用
第1章 區塊鏈技術的演進 3
1.1 比特幣 3
1.1.1 起源 3
1.1.2 發展 5
1.1.3 技術創新 8
1.2 以太坊 9
1.2.1 以太坊的誕生 9
1.2.2 智能合約 11
1.2.3 去中心化應用程序 14
1.2.4 未來規劃 15
1.3 商用區塊鏈 17
1.4 本章小結 18
第2章 探索商用區塊鏈 19
2.1 價值流通的網絡 19
2.1.1 商用區塊鏈的目標 20
2.1.2 商用區塊鏈的難題 21
2.2 區塊鏈產品架構 22
2.2.1 賬戶中心 23
2.2.2 分佈式賬本服務 24
2.2.3 擴展服務 26
2.2.4 策略與管理 27
2.3 商用產品的技術特性 28
2.3.1 技術突破 28
2.3.2 產品成熟度 32
2.4 本章小結 35
第2部分 商用區塊鏈的關鍵技術
第3章 密碼學基礎技術 39
3.1 哈希算法 39
3.1.1 定義 39
3.1.2 常用的哈希算法 40
3.1.3 SHA256算法 42
3.2 加密和解密算法 42
3.2.1 對稱密碼體制 43
3.2.2 非對稱密碼體制 44
3.2.3 ED25519算法 45
3.3 國密算法 45
3.3.1 非對稱密碼算法SM2 46
3.3.2 哈希算法 SM3 46
3.4 數字證書 47
3.4.1 數字證書的基本介紹 47
3.4.2 數字證書的應用 48
3.5 默克爾樹 48
3.5.1 原理與實現 49
3.5.2 簡單支付證明 51
3.6 本章小結 51
第4章 區塊鏈賬本 52
4.1 區塊 54
4.1.1 區塊的結構 55
4.1.2 區塊的生成 58
4.1.3 區塊的同步 60
4.1.4 區塊的前後關聯 61
4.2 賬戶 64
4.2.1 賬戶模型 65
4.2.2 賬戶地址 68
4.3 資產 69
4.3.1 原始數字資產 69
4.3.2 基於賬戶的資產 69
4.4 交易 70
4.4.1 交易的定義 70
4.4.2 操作 72
4.4.3 交易事務處理 77
4.4.4 交易緩存隊列 78
4.5 費用 83
4.5.1 交易費用簡介 83
4.5.2 費用的計算 83
4.5.3 費用的配置 84
4.6 激勵 86
4.7 賬本的升級 86
4.7.1 簡介 86
4.7.2 消息定義 86
4.7.3 升級過程 87
4.8 P2P網絡 88
4.8.1 P2P網絡設計 89
4.8.2 廣播消息 90
4.8.3 連接數 92
4.9 本章小結 92
第5章 共識算法 93
5.1 共識算法概要 93
5.1.1 PoW算法 93
5.1.2 PoS算法 95
5.1.3 DPoS算法 95
5.1.4 PBFT算法 96
5.2 Firework共識算法介紹 97
5.2.1 概述 97
5.2.2 結合驗證節點池選取協議的BFT算法 98
5.3 高性能算法BFT 99
5.3.1 系統模型 99
5.3.2 狀態機副本協議 100
5.3.3 Quorum機制 105
5.3.4 超時處理 106
5.4 安全、高效的驗證池選取算法 106
5.4.1 動態選取模型 107
5.4.2 角色劃分 108
5.4.3 准入和退出機制 109
5.4.4 選取機制 109
5.4.5 配置更新 111
5.5 本章小結 112
第6章 智能合約 113
6.1 智能合約概要 113
6.1.1 虛擬機介紹 113
6.1.2 虛擬機設計的原則 115
6.2 智能合約實現 115
6.2.1 智能合約介紹 115
6.2.2 合約執行過程 116
6.2.3 智能合約的安全 117
6.3 智能合約開發簡介 119
6.3.1 DEMO介紹 119
6.3.2 語法介紹 120
6.3.3 內置接口和內置變量 121
6.3.4 異常處理 122
6.3.5 合約創建與執行 123
6.4 智能合約安全開髮指南 123
6.5 本章小結 124
第7章 擴容技術方案 125
7.1 概述 125
7.1.1 背景 125
7.1.2 區塊鏈擴容 126
7.1.3 多鏈Orbits擴容方案 127
7.2 雙層多態的主-子鏈體系Orbits 127
7.2.1 架構設計 127
7.2.2 主-子鏈介紹 128
7.3 高可擴展性的多鏈賬本 130
7.3.1 多鏈賬本設計 130
7.3.2 多鏈賬本的數據結構 132
7.3.3 多級聯動的賬本索引設計 132
7.4 共識算法 133
7.4.1 主鏈的共識機制 133
7.4.2 子鏈的共識機制 134
7.5 挑戰者機制 141
7.5.1 子鏈的安全性威脅 141
7.5.2 實現方案 142
7.6 激勵機制 143
7.6.1 共識激勵 144
7.6.2 提案激勵 145
7.6.3 存儲激勵 145
7.7 本章小結 146
第8章 跨鏈技術方案 147
8.1 概述 147
8.1.1 背景 147
8.1.2 跨鏈的難點 148
8.2 多態跨鏈體系Canal 149
8.3 中繼鏈 151
8.3.1 平行鏈介紹 151
8.3.2 平行鏈跨鏈映射 152
8.3.3 跨鏈證據校驗 152
8.4 可插拔組件 152
8.4.1 網關節點介紹 152
8.4.2 公證人模式 153
8.4.3 可信硬件模式 155
8.4.4 哈希時間鎖定 157
8.5 費用與激勵機制 158
8.6 本章小結 159
第9章 隱私保護方案 160
9.1 概述 160
9.1.1 背景 160
9.1.2 隱私保護方案Cocoon 161
9.2 隱私保護方案 161
9.2.1 金額隱藏的設計與實現 161
9.2.2 非交互的設計與實現 164
9.2.3 地址隱匿的設計與實現 166
9.2.4 為何要使用Schnorr 聚合 168
9.2.5 怎樣與區塊鏈系統適配 168
9.3 審計 170
9.4 本章小結 171
第3部分 商用區塊鏈的應用實踐
第10章 bubichain的開發與使用 175
10.1 SDK支持 175
10.1.1 Java SDK開發 175
10.1.2 其他語言版本 184
10.2 API介紹 184
10.2.1 了解密鑰對 184
10.2.2 接口 192
10.2.3 WebSocket接口 200
10.3 部署與運維 202
10.3.1 節點安裝 202
10.3.2 節點運維 205
10.4 本章小結 214
第11章 bubichain開髮指南 215
11.1 應用開發示例 215
11.1.1 存證應用 215
11.1.2 智能合約開發 216
11.1.3 區塊鏈錢包 221
11.1.4 區塊鏈瀏覽器 224
11.1.5 區塊鏈智能合約IDE 226
11.2 數字資產協議的設計與實現 228
11.2.1 數字資產協議的設計原則 228
11.2.2 數字資產設計與實現示例 228
11.3 本章小結 244
第12章 區塊鏈商用案例介紹 245
12.1 供應鏈金融 245
12.1.1 行業痛點 245
12.1.2 解決方案 246
12.1.3 區塊鏈的價值 248
12.2 數據安全共享和交易 251
12.2.1 行業痛點 251
12.2.2 解決方案 252
12.2.3 區塊鏈的價值 254
12.3 供應鏈溯源 254
12.3.1 行業痛點 254
12.3.2 解決方案 255
12.3.3 區塊鏈的價值 257
12.4 本章小結 258
作者介紹
本書由布比區塊鏈團隊核心開發者共同編著。
該團隊由大學教授、中國科學院博士、資深區塊鏈專家等組成。
他們對區塊鏈技術的本質和理論知識有深入的研究與獨到見解,在區塊鏈共識機制、智能合約、跨鏈技術、多鏈分片、隱私保護技術等方面具有深厚積累,並擁有數十項區塊鏈核心專利技術;他們擁有區塊鏈業務開發經驗,透徹地理解區塊鏈的技術內涵與應用外延,準確地理解客戶需求與區塊鏈技術間的契合價值,在過去的三年多時間裡與上千家機構有過區塊鏈技術科普和應用落地的交流,擁有豐富的區塊鏈商業落地經驗;過去四年,他們榮獲過外多家專業機構(如福布斯、畢馬威、中國計算機學會、中關村區塊鏈產業聯盟等)的獎項100餘次。