區塊鏈原理與實踐

潘恆,斯雪明

  • 出版商: 電子工業
  • 出版日期: 2021-09-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 352
  • 裝訂: 平裝
  • ISBN: 7121419459
  • ISBN-13: 9787121419454
  • 相關分類: 區塊鏈 Blockchain
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

本書詳細介紹區塊鏈涉及的相關理論、思想和方法。全書共11章,按照區塊鏈3.0的體系架構思想,由底向上逐層介紹數據層、網絡層、共識層、激勵層、智能合約層、應用層所涉及的核心方法,同時對區塊鏈的安全和比特幣、以太坊、超級賬本三種典型區塊鏈系統進行了介紹,並輔以相應示例。本書內容知識點覆蓋全面,文字通俗易懂,技術介紹深淺有度,應用示例多,可操作性強,可作為高等學校區塊鏈工程與技術、電腦科學與技術、金融科技、商務智能等相關專業的教材,也可作為區塊鏈從業人員和相關企業事業單位相關人員的參考書。

作者簡介

潘恆,女,中原工學院計算機學院副院長,前沿信息技術研究院院長,現任中國計算機學會區塊鏈專委會委員,河南省區塊鏈研究會副會長兼秘書長,中國計算機學會鄭州分部秘書長,河南省計算機學會理事,河南省保密技術專家委員會專家,鄭州市信息化促進會專家委員會專家。曾任CCF Yocsef 鄭州2014屆副主席。

目錄大綱

目 錄
第1章 認識區塊鏈 1
1.1 區塊鏈概述 1
1.1.1 分佈式賬本 1
1.1.2 共識機制 4
1.1.3 非對稱密碼算法 8
1.1.4 智能合約 10
1.1.5 區塊鏈的典型工作流程 11
1.1.6 其他相關概念 12
1.2 區塊鏈的分類 16
1.3 區塊鏈的特點 18
1.4 區塊鏈技術發展歷程 19
1.5 典型區塊鏈系統 21
1.5.1 比特幣 21
1.5.2 以太坊 25
1.5.3 超級賬本 30
1.6 區塊鏈的技術發展方向 32
1.6.1 可擴展性 32
1.6.2 隱私保護 34
1.6.3 安全問題 34
1.6.4 監管問題 35
1.7 區塊鏈在信息時代的作用 35
1.7.1 區塊鏈的作用 35
1.7.2 區塊鏈的價值 37
本章小結 38
思考與練習 39
參考文獻 40

第2章 數據層 41
2.1 哈希函數 41
2.1.1 哈希函數的定義與性質 41
2.1.2 SHA-1算法 42
2.1.3 SHA-2算法 45
2.1.4 RIPEMD-160算法 47
2.1.5 SM3算法 48
2.2 非對稱加密算法與數字簽名 52
2.2.1 RSA密碼體制 53
2.2.2 橢圓曲線密碼體制 53
2.2.3 SM2算法 57
2.3 Merkle樹 57
本章小結 59
思考與練習 59
參考文獻 59

第3章 網絡層 60
3.1 P2P網絡 60
3.2 區塊鍊網絡拓撲結構 61
3.3 區塊鍊網絡技術 64
3.3.1 比特幣網絡技術 64
3.3.2 以太坊網絡 65
3.3.3 Fabric網絡 69
本章小結 72
思考與練習 72
參考文獻 72

第4章 共識層 73
4.1 分佈式一致性問題 73
4.2 共識算法概述 76
4.3 CFT類型算法詳解 78
4.3.1 Paxos算法 78
4.3.2 Raft算法 81
4.4 BFT類算法 87
4.4.1 PoW算法 87
4.4.2 PoS算法 90
4.4.3 DPoS算法 92
4.4.4 實用拜占庭容錯 94
4.5 新型區塊鏈共識算法 100
4.6 目前共識機制存在的問題 106
4.7 共識算法演進 108
本章小結 109
思考與練習 110
參考文獻 110

第5章 激勵層 111
5.1 激勵層概述 111
5.2 激勵層發行機制 112
5.2.1 比特幣的發行機制 112
5.2.2 以太坊中的發行機制 112
5.2.3 IPFS激勵層Filecoin中的發行機制 113
5.3 激勵層分配機制 114
5.3.1 比特幣中的分配機制 114
5.3.2 以太坊中的分配機制 115
5.3.3 IPFS激勵層Filecoin的分配製度 117
本章小結 117
思考與練習 118
參考文獻 118

第6章 智能合約層 119
6.1 智能合約概述 119
6.2 智能合約的特點 120
6.3 智能合約的應用 120
6.4 比特幣智能合約 121
6.5 以太坊智能合約 124
6.5.1 以太坊賬戶模型 125
6.5.2 以太坊智能合約的調用 126
6.5.3 智能合約執行的成本 126
6.5.4 以太坊虛擬機 127
6.5.5 智能合約在以太坊中的生命週期 128
6.5.6 以太坊智能合約實例 129
6.6 Hyperledger Fabric智能合約 130
本章小結 135
思考與練習 135
參考文獻 135

第7章 應用層 136
7.1 區塊鏈的金融應用 136
7.2 區塊鏈的實體經濟應用 137
7.3 區塊鏈的行業服務應用 139
7.4 典型區塊鏈應用開發環境及流程 140
7.4.1 比特幣應用開發 140
7.4.2 以太坊應用開發 142
7.4.3 超級賬本Fabric 143
本章小結 144
思考與練習 144
參考文獻 144

第8章 區塊鏈安全 146
8.1 區塊鏈安全概述 146
8.1.1 區塊鏈面臨的安全威脅 146
8.1.2 區塊鏈的安全目標 147
8.2 區塊鏈安全威脅 149
8.2.1 數據層的安全威脅 150
8.2.2 網絡層的安全威脅 152
8.2.3 激勵層的安全威脅 157
8.2.4 共識層的安全威脅 159
8.2.5 合約層的安全威脅 161
8.2.6 應用層的安全威脅 163
8.3 區塊鏈安全技術 163
8.3.1 區塊鏈數據安全技術 163
8.3.2 區塊鏈身份保護技術 170
8.3.3 區塊鏈共識安全技術 173
8.3.4 區塊鏈智能合約安全技術 175
8.3.5 區塊鏈內容安全技術 176
8.3.6 區塊鏈使用安全技術 178
本章小結 178
思考與練習 178
參考文獻 179

第9章 比特幣系統 180
9.1 比特幣簡介 180
9.2 比特幣的原理 181
9.2.1 比特幣的體系結構 181
9.2.2 比特幣網絡 184
9.2.3 比特幣系統更新 185
9.3 共識機制 186
9.3.1 比特幣共識算法 186
9.3.2 比特幣挖礦 189
9.4 區塊結構和交易信息 192
9.4.1 區塊及交易結構分析 192
9.4.2 區塊及交易示例 196
9.5 比特幣運行 201
9.5.1 交易構建和驗證 201
9.5.2 區塊構建和傳播 203
9.6 比特幣錢包 203
9.7 比特幣源碼解讀 204
9.7.1 Bitcoin Core簡介 204
9.7.2 Bitcoin Core編譯 204
9.7.3 模塊分析 209
9.7.4 bitcoind啟動過程源碼分析 210
9.7.5 區塊結構源碼分析 213
9.7.6 交易結構源碼分析 214
9.7.7 交易過程源碼分析 214
9.8 Bitcoin Core操作 215
9.8.1 生成目錄和文件說明 216
9.8.2 命令行及配置文件說明 217
9.8.3 bitcoin-qt. exe的使用 219
9.8.4 bitcoind. exe/bitcoin-cli. exe RPC命令 221
9.8.5 bitcoind. exe/bitcoin-cli. exe regtest測試 222
思考與練習 224
參考文獻 225

第10章 以太坊系統 226
10.1 以太坊詳解 226
10.1.1 以太坊體系結構 226
10.1.2 以太坊工作流程及運行原理 227
10.1.3 以太坊區塊結構和鏈結構 236
10.2 以太坊開發環境 237
10.2.1 以太坊開發工具及框架 238
10.2.2 以太坊開發環境的搭建 242
10.3 以太坊智能合約開發 244
10.3.1 智能合約運行環境 244
10.3.2 智能合約開發語言 248
10.4 應用系統開發實例 262
本章小結 264
思考與練習 265
參考文獻 265

第11章 超級賬本Fabric 266
11.1 超級賬本簡介 266
11.1.1 超級賬本設計思想 266
11.1.2 超級賬本頂級項目 267
11.2 Fabric基礎 269
11.2.1 Fabric概況 269
11.2.2 Fabric版本演進及特點 270
11.2.3 Fabric架構 272
11.2.4 Fabric數據存儲結構 278
11.2.5 Fabric交易流程 278
11.3 Fabric鏈碼 281
11.3.1 Fabric鏈碼的概念 281
11.3.2 Fabric鏈碼結構 283
11.3.3 區塊鏈開發者模式 284
11.4 Fabric環境搭建 285
11.4.1 開發環境準備 285
11.4.2 Fabric網絡搭建 286
11.5 Fabric鏈碼示例解析 286
11.6 基於Fabric的電子合同存證系統開發實例 292
11.6.1 實例需求分析 292
11.6.2 實例區塊鍊網絡架構 294
11.6.3 實例詳細設計 295
本章小結 304
思考與練習 304
參考文獻 305

附錄A 安裝VMware和Ubuntu 306
附錄B 安裝Go語言環境 309
附錄C 安裝Docker 310
附錄D Fabric常用工具 312
附錄E 拉取Fabric鏡像 313
附錄F 搭建Fabric網絡 316
附錄G 以太坊投票智能合約代碼示例 324
附錄H 以太坊積分商城項目智能合約代碼示例 327
附錄I 以太坊積分商城項目DApp代碼示例 338