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