HyperledgerFabric分布式賬本技術原理與應用檢視原始碼討論檢視歷史
《HyperledgerFabric分布式賬本技術原理與應用》,馬超群 等 著,出版社: 科學出版社。
書,是歷史的見證、文化的賦形、知識的寶庫、智慧[1]的結晶,是一個民族一個國家顯示其文明的標誌。讀書,是時代的呼喚、歷史的昭示、職責的要求,是一個民族一個國家走向偉大復興的證明[2]。
內容簡介
《Hyperledger Fabric分布式賬本技術原理與應用》系統闡述了Hyperledger Fabric分布式賬本技術原理及其應用。主要內容包括區塊鏈基本知識、Hyperledger Fabric分布式賬本技術的基礎架構、網絡部署、賬本模型、共識機制、身份管理、隱私保護等技術原理以及Fabric重要模塊的使用方法,給出了多個應用開發示例。《Hyperledger Fabric分布式賬本技術原理與應用》內容豐富,注重理論與實踐相結合,試圖用通俗易懂的語言、問題導向的邏輯架構、示例演示的實戰方式,讓讀者快速建立對Hyperledger Fabric的全面認識,理解與掌握Hyperledger Fabric重要模塊的原理與功能,並可以根據不同的業務場景進行分布式賬本技術的應用開發。
目錄
第1章 區塊鏈技術概述 1
1.1 區塊鏈發展的技術背景 1
1.1.1 密碼學 1
1.1.2 分布式共識 3
1.2 區塊鏈發展的社會背景 4
1.2.1 數字經濟 5
1.2.2 數字社會 6
1.2.3 數字技術 7
1.3 區塊鏈基本概念與原理 8
1.3.1 基本概念 8
1.3.2 關鍵技術 12
1.3.3 基本原理 13
1.4 區塊鏈技術特性與分類 15
1.4.1 技術特性 15
1.4.2 區塊鏈分類 16
1.5 區塊鏈技術代際演進 18
1.5.1 密碼朋克 18
1.5.2 加密貨幣 19
1.5.3 智能合約 20
1.5.4 應用拓展 21
1.6 區塊鏈技術應用現狀與發展趨勢 21
1.6.1 應用現狀 21
1.6.2 發展趨勢 24
本章小結 29
第2章 Hyperledger Fabric分布式賬本技術基礎架構 31
2.1 Fabric概述 31
2.1.1 Fabric項目背景 31
2.1.2 Fabric技術特徵 32
2.2 基礎架構 33
2.2.1 網絡層 34
2.2.2 核心層 36
2.2.3 接口層 36
2.3 基本概念 36
2.3.1 網絡節點 36
2.3.2 分布式賬本 39
2.3.3 智能合約和鏈碼 39
2.3.4 賬本通道 39
2.3.5 私有數據集 40
2.4 交易流程 41
2.4.1 交易流程簡介 41
2.4.2 案例說明 42
本章小結 44
第3章 Hyperledger Fabric分布式賬本技術環境 45
3.1 Ubuntu操作系統 45
3.1.1 Linux概述 45
3.1.2 Ubuntu Server操作 46
3.2 Docker 47
3.2.1 Docker原理 48
3.2.2 Docker操作 49
3.2.3 Docker-Compose 51
3.3 Go語言 57
3.3.1 Go語言環境配置 57
3.3.2 Go語言語法 59
3.3.3 Go語言編譯與運行 60
本章小結 61
第4章 Hyperledger Fabric分布式賬本網絡 63
4.1 Fabric網絡原理 63
4.1.1 P2P網絡 63
4.1.2 RPC協議 65
4.1.3 gRPC協議 68
4.1.4 Gossip協議 73
4.2 Fabric網絡部署 75
4.2.1 環境配置 75
4.2.2 源碼編譯 79
4.2.3 身份證書生成 81
4.2.4 容器啟動模式 84
4.2.5 本地啟動模式 98
4.3 Fabric網絡運維與管理 108
4.3.1 增刪普通組織 108
4.3.2 網絡監控與測試 113
本章小結 116
第5章 Hyperledger Fabric分布式賬本Peer節點 118
5.1 Peer概述 118
5.1.1 Peer節點類型 118
5.1.2 Peer交互流程 119
5.2 Peer編譯和部署 122
5.2.1 Peer編譯 122
5.2.2 Peer核心配置 123
5.2.3 Peer啟動 132
5.3 Peer命令 134
5.3.1 Peer命令類型 134
5.3.2 通道操作命令 135
5.3.3 鏈碼操作命令 137
5.3.4 節點操作命令 140
本章小結 141
第6章 Hyperledger Fabric分布式賬本存儲 142
6.1 Fabric分布式賬本 142
6.1.1 賬本概念 142
6.1.2 核心組件 144
6.1.3 賬本設計模式 146
6.1.4 賬本架構 148
6.1.5 文件存儲 151
6.2 賬本數據庫 153
6.2.1 LevelDB 154
6.2.2 CouchDB 155
6.2.3 數據庫索引 157
6.3 賬本區塊 159
6.3.1 區塊數據結構 159
6.3.2 區塊交易事務 162
6.3.3 區塊數據訪問 164
6.4 賬本區塊瀏覽器 168
6.4.1 區塊數據可視化概念 168
6.4.2 Hyperledger Explorer架構 170
6.4.3 Hyperledger Explorer頁面 171
6.4.4 Hyperledger Explorer實驗 173
本章小結 178
第7章 Hyperledger Fabric分布式賬本共識 179
7.1 分布式共識概述 179
7.1.1 共識問題 179
7.1.2 共識演進 183
7.2 分布式共識理論 188
7.2.1 FLP理論 188
7.2.2 CAP理論 188
7.2.3 BASE理論 191
7.3 分布式共識原理 192
7.3.1 Paxos 192
7.3.2 PBFT 197
7.3.3 PoW 201
7.3.4 PoS 203
7.4 Fabric共識機制 208
7.4.1 共識框架 208
7.4.2 Solo共識 216
7.4.3 Kafka共識 216
7.4.4 Raft共識 219
7.5 Fabric共識部署和測試 223
7.5.1 Solo部署和測試 223
7.5.2 Kafka部署和測試 225
7.5.3 Raft部署和測試 231
本章小結 233
第8章 Hyperledger Fabric分布式賬本身份管理 234
8.1 PKI基本原理 234
8.1.1 PKI架構 234
8.1.2 數字證書 235
8.1.3 數字簽名 237
8.1.4 消息認證 239
8.1.5 PKI示例 239
8.2 Fabric CA架構與部署 244
8.2.1 Fabric CA架構 245
8.2.2 Fabric CA部署 247
8.3 Fabric CA操作 249
8.3.1 Fabric CA操作命令 249
8.3.2 Fabric CA操作示例 252
本章小結 260
第9章 Hyperledger Fabric分布式賬本隱私保護機制 261
9.1 區塊鏈隱私保護問題、方法與機制 261
9.1.1 區塊鏈隱私保護問題 261
9.1.2 區塊鏈隱私保護方法與機制 262
9.2 Fabric隱私保護機制 264
9.2.1 Fabric隱私保護體系 264
9.2.2 訪問控制 265
9.2.3 通道隔離 267
9.2.4 私有數據集 271
9.3 Fabric隱私保護機制示例 276
9.3.1 通道隔離示例 276
9.3.2 私有數據集示例 279
本章小結 284
第10章 Hyperledger Fabric分布式賬本鏈碼 285
10.1 智能合約概述 285
10.1.1 智能合約定義 285
10.1.2 智能合約應用 286
10.2 Fabric鏈碼開發規範 287
10.2.1 鏈碼類型 287
10.2.2 鏈碼編寫 289
10.2.3 鏈碼部署 291
10.2.4 鏈碼調用 292
10.3 Fabric鏈碼編程示例 293
10.3.1 狀態轉移型鏈碼 293
10.3.2 食品溯源型鏈碼 296
本章小結 304
第11章 Hyperledger Fabric Go SDK Web服務開發 305
11.1 Web服務概述 305
11.1.1 Web框架 305
11.1.2 Gin框架 306
11.2 Go Web服務控制層 307
11.2.1 連接配置文件 307
11.2.2 控制層開發 311
11.3 Go Web服務路由層 318
11.3.1 路由層開發 318
11.3.2 路由綁定 320
本章小結 321
第12章 基於Node SDK的數字版權保護系統實現 322
12.1 版權保護場景分析 322
12.1.1 需求分析 322
12.1.2 架構設計 324
12.1.3 數據模型設計 324
12.1.4 環境準備 325
12.2 Node SDK應用開發 328
12.2.1 模塊接口 328
12.2.2 鏈碼開發 331
12.2.3 網絡連接配置 336
12.2.4 客戶端身份註冊與登記 337
12.2.5 業務層實現 341
12.3 Express後端服務實現 346
12.3.1 路由文件 346
12.3.2 應用主文件 353
12.4 應用部署與測試 353
12.4.1 啟動網絡 353
12.4.2 啟動後端服務 354
12.4.3 應用測試 354
本章小結 356
第13章 基於Go SDK的物聯網數據採集系統 358
13.1 物聯網數據採集場景分析 358
13.1.1 需求分析 358
13.1.2 架構設計 358
13.1.3 數據模型設計 360
13.1.4 環境準備 360
13.2 傳感器數據採集 362
13.2.1 傳感器簡介 362
13.2.2 Gobot框架 363
13.2.3 數據採集實現 363
13.3 鏈碼與應用開發 365
13.3.1 鏈碼開發 365
13.3.2 網絡連接配置 369
13.3.3 應用開發 374
13.4 應用部署與測試 377
13.4.1 系統搭建 378
13.4.2 應用測試 378
本章小結 383
參考文獻 384