新一代信息技術的發(fā)展已成為數字經濟增長的新引擎。在此背景下,區(qū)塊鏈技術以其去中心化、防篡改、高度可擴展性等特點,成為各國技術創(chuàng)新與發(fā)展的重要推動力量,并逐步滲透至經濟發(fā)展的各個領域。本書以區(qū)塊鏈的產生、技術發(fā)展及應用為主線,系統(tǒng)介紹了區(qū)塊鏈的關鍵技術,例如,P2P網絡、隱私保護技術、共識算法和智能合約等。通過實際應用案例,從具體技術設計與實現角度,進一步分析和闡述了區(qū)塊鏈作為一種全新的分布式存儲技術與計算范式,如何與金融、電子政務、跨境貿易、醫(yī)療、物聯網和人工智能等多領域融合,最終實現從技術創(chuàng)新到應用創(chuàng)新的“區(qū)塊鏈+”時代。 本書理論與實際相結合,內容深入淺出、通俗易懂、重難點突出,適合經濟類、管理類、商貿類本科及高職高專學生作為教材使用,同時也可以作為公務員、企業(yè)管理者、信息技術人員區(qū)塊鏈技術與應用入門的參考用書或培訓教材。
陳韜偉,云南財經大學信息學院教授,碩士生導師,主要研究方向為計算機應用技術、區(qū)塊鏈技術、智能信息處理和信號處理技術。發(fā)表論文50余篇,其中SCI/EI檢索30篇;獲得發(fā)明專利12項,軟件著作權20余項。
第1部分 區(qū)塊鏈導論
第1章 區(qū)塊鏈的發(fā)展歷史 002
1.1 從互聯網、P2P網絡到區(qū)塊鏈 002
1.1.1 區(qū)塊鏈技術發(fā)展綜述 002
1.1.2 區(qū)塊鏈技術賦能數字經濟 008
1.2 從Web 1.0、Web 2.0到Web 3.0 010
1.2.1 萬維網的發(fā)展歷史 010
1.2.2 Web 3.0技術堆棧 013
第2章 什么是區(qū)塊鏈 019
2.1 區(qū)塊鏈的定義與分類 019
2.1.1 區(qū)塊鏈的定義 020
2.1.2 區(qū)塊鏈的特點與分類 021
2.2 區(qū)塊鏈工作原理 024
2.2.1 區(qū)塊鏈術語 024
2.2.2 區(qū)塊鏈工作流程 029
2.3 區(qū)塊鏈與新一代信息技術的融合 031
2.3.1 新一代信息技術 031
2.3.2 區(qū)塊鏈融合新一代信息技術的創(chuàng)新應用 032
2.4 區(qū)塊鏈技術的局限性和發(fā)展趨勢 034
2.4.1 區(qū)塊鏈的“不可能三角” 034
2.4.2 區(qū)塊鏈技術發(fā)展趨勢 036
2.4.3 區(qū)塊鏈技術前沿綜述 037
第3章 區(qū)塊鏈產業(yè)與趨勢 040
3.1 區(qū)塊鏈行業(yè)綜述 040
3.1.1 加密貨幣市場的發(fā)展 040
3.1.2 以太坊和比特幣的發(fā)展之路 043
3.2 區(qū)塊鏈行業(yè)展望 044
3.2.1 國際區(qū)塊鏈行業(yè)趨勢 044
3.2.2 國內區(qū)塊鏈產業(yè)發(fā)展趨勢 046
第2部分 區(qū)塊鏈核心技術
第4章 區(qū)塊鏈中的密碼學 050
4.1 引言 050
4.2 對稱密碼體制 051
4.2.1 數學基礎 053
4.2.2 凱撒密碼 053
4.2.3 仿射密碼 054
4.3 公鑰密碼體制 055
4.3.1 數學基礎 056
4.3.2 RSA密碼體制 061
4.3.3 基于離散對數問題的公鑰密碼體制 063
4.3.4 橢圓曲線密碼體制 066
4.4 Hash函數 071
4.5 數字簽名技術 076
4.5.1 RSA簽名方案 077
4.5.2 EIGamal數字簽名方案 078
4.5.3 數字簽名算法 080
4.5.4 橢圓曲線簽名算法 081
4.6 后量子密碼 082
4.6.1 基于哈希的公鑰密碼學 082
4.6.2 基于編碼的公鑰密碼學 083
4.6.3 基于格的公鑰密碼學 083
4.6.4 基于多變量的公鑰密碼學 084
第5章 區(qū)塊鏈與分布式一致性 085
5.1 P2P網絡 085
5.1.1 P2P網絡的定義 085
5.1.2 P2P網絡的特點 086
5.1.3 國內P2P網絡技術的發(fā)展歷程和研究現狀 088
5.1.4 P2P網絡的優(yōu)勢與不足 089
5.1.5 P2P網絡的主要模式 089
5.1.6 P2P網絡技術的應用 092
5.1.7 P2P網絡的應用研究 092
5.1.8 P2P網絡的發(fā)展趨勢 093
5.2 FLP不可能原理 094
5.2.1 FLP不可能原理的定義 094
5.2.2 正確理解FLP不可能原理 094
5.3 CAP原理 095
5.3.1 CAP原理的定義 095
5.3.2 CAP原理的特性 095
5.4 一致性協議和算法 096
5.4.1 分布式一致性協議 096
5.4.2 分布式一致性算法 097
第6章 共識算法 104
6.1 概述 104
6.2 工作量證明 107
6.3 權益證明 110
6.3.1 PoS共識算法的起源 111
6.3.2 第一代PoS+PoW混合共識 111
6.3.3 第二代純PoS共識 114
6.4 股份授權證明機制 115
6.4.1 DPoS共識過程中的見證人選舉 116
6.4.2 DPoS共識機制中的區(qū)塊生產 116
6.5 共識算法的改進 117
6.5.1 基于工作量證明的改進算法 117
6.5.2 基于權益證明的改進算法 118
6.5.3 其他共識算法的改進 118
6.6 本章小結 119
第7章 智能合約 120
7.1 智能合約概述 120
7.1.1 智能合約的定義 120
7.1.2 智能合約與區(qū)塊鏈的關系 122
7.1.3 智能合約的工作原理 124
7.2 智能合約基本架構模型及其挑戰(zhàn) 127
7.2.1 智能合約的理論模型 127
7.2.2 智能合約的挑戰(zhàn) 129
7.3 以太坊智能合約 130
7.3.1 以太坊智能合約的部署 130
7.3.2 不同平臺的智能合約對比 132
7.3.3 以太坊智能合約示例 133
第3部分 區(qū)塊鏈開源平臺
第8章 比特幣區(qū)塊鏈技術 138
8.1 比特幣簡介 138
8.1.1 比特幣的發(fā)展背景及歷史 139
8.1.2 比特幣的歷史價格 142
8.1.3 比特幣核心 142
8.2 比特幣密鑰、地址與錢包 144
8.2.1 比特幣密鑰及地址 144
8.2.2 比特幣錢包 145
8.3 比特幣交易 147
8.3.1 UTXO交易模型 147
8.3.2 交易的腳本和腳本語言 152
8.4 比特幣網絡 155
8.4.1 比特幣網絡架構 155
8.4.2 節(jié)點類型與分工 155
8.4.3 比特幣網絡發(fā)現 156
8.4.4 簡易支付驗證節(jié)點 157
8.5 比特幣區(qū)塊鏈 158
8.5.1 比特幣區(qū)塊 158
8.5.2 Merkle樹 160
8.5.3 比特幣激勵機制 161
第9章 以太坊區(qū)塊鏈技術 164
9.1 以太坊簡介 164
9.1.1 以太坊發(fā)展歷程 164
9.1.2 以太坊的設計原則 166
9.1.3 以太坊的發(fā)展路線圖 167
9.2 以太坊體系架構 171
9.2.1 以太坊整體架構 171
9.2.2 以太坊節(jié)點與客戶端 173
9.3 以太坊區(qū)塊鏈核心 175
9.3.1 以太坊虛擬機 175
9.3.2 以太坊交易與消息 176
9.3.3 以太坊的狀態(tài)轉換 178
9.3.4 以太幣與以太坊激勵機制 180
9.4 以太坊生態(tài)價值鏈 185
9.4.1 Token經濟學 185
9.4.2 Coin與Token 188
9.4.3 以太坊Token標準 190
9.4.4 去中心化自治組織生態(tài) 192
9.4.5 去中心化金融(DeFi)生態(tài) 194
9.4.6 非同質化代幣(NFT)生態(tài) 196
第10章 企業(yè)級區(qū)塊鏈技術 198
10.1 Fabric 200
10.1.1 Fabric交易流程 200
10.1.2 Fabric區(qū)塊鏈網絡 201
10.1.3 Fabric的共識機制 202
10.1.4 Fabric區(qū)塊鏈數據 203
10.1.5 Fabric合約模型 204
10.2 Corda 205
10.2.1 Corda交易流程 205
10.2.2 Corda區(qū)塊鏈網絡 206
10.2.3 Corda的共識機制 206
10.2.4 Corda分布式賬本 207
10.2.5 Corda合約模型 208
10.3 Quorum 209
10.3.1 Quorum交易流程 209
10.3.2 Quorum區(qū)塊鏈網絡 210
10.3.3 Quorum的共識機制 211
10.3.4 Quorum區(qū)塊鏈數據 211
10.3.5 Quorum合約模型 212
第4部分 區(qū)塊鏈應用開發(fā)
第11章 以太坊開發(fā)工具、組建及其服務 214
11.1 以太坊開發(fā)工具 214
11.1.1 以太坊開發(fā)框架 214
11.1.2 以太坊網絡 215
11.1.3 以太坊開發(fā)語言與集成開發(fā)環(huán)境 216
11.1.4 以太坊交互工具 218
11.2 以太坊開源庫與中間件 219
11.2.1 ZeppelinOS 220
11.2.2 ChainLink中間件 221
第12章 去中心化應用開發(fā) 225
12.1 去中心化應用 225
12.1.1 什么是去中心化應用 225
12.1.2 DApp程序設計架構與分析 226
12.1.3 DApp中的用戶身份 229
12.1.4 熱門的DApp 229
12.2 基于以太坊的投票系統(tǒng)設計 230
12.2.1 環(huán)境搭建 231
12.2.2 系統(tǒng)搭建與測試 234
12.2.3 投票智能合約設計 238
12.3 投票系統(tǒng)前后端設計 241
12.3.1 登錄功能的前后端設計 242
12.3.2 投票功能的前后端設計 245
12.4 基于區(qū)塊鏈的投票系統(tǒng)之加密算法解析 251
12.4.1 前端頁面的設計 251
12.4.2 后端智能合約設計 256
第13章 區(qū)塊鏈應用案例 260
13.1 區(qū)塊鏈與跨境無紙化貿易 261
13.1.1 跨境無紙化貿易背景 261
13.1.2 跨境無紙化貿易的發(fā)展歷程 263
13.1.3 區(qū)塊鏈技術在跨境貿易相關領域研究 266
13.1.4 區(qū)塊鏈數據安全共享現狀 267
13.1.5 跨境貿易數字身份及其認證方案 271
13.1.6 跨境貿易單證數據的隱私保護方案 282
13.2 區(qū)塊鏈與政務信息資源共享 299
13.2.1 政務信息資源共享的區(qū)塊鏈技術研究 300
13.2.2 政務信息資源共享的區(qū)塊鏈模型 301
13.2.3 區(qū)塊鏈政務信息資源共享與交換的業(yè)務流程 308
參考文獻 310