區(qū)塊鏈原理與技術(shù)應(yīng)用
定 價(jià):69 元
- 作者:趙其剛 王紅軍 李天瑞 王明文 成飏
- 出版時(shí)間:2020/9/1
- ISBN:9787115537430
- 出 版 社:人民郵電出版社
- 中圖法分類:F713.361.3
- 頁碼:362
- 紙張:
- 版次:01
- 開本:小16開
本書詳細(xì)介紹了區(qū)塊鏈的概念與技術(shù)體系,涉及其本質(zhì)、作用、技術(shù)背景、原理、關(guān)鍵知識(shí)點(diǎn)和應(yīng)用場(chǎng)景等,在內(nèi)容寫作上由整體到局部,層次分明,難度由淺入深,理論聯(lián)系實(shí)際,力圖使讀者能快速、全面地了解區(qū)塊鏈相關(guān)技術(shù)。
全書共10章。第1章從區(qū)塊鏈的背景知識(shí)切入,介紹了區(qū)塊鏈的基本概念,分析了區(qū)塊鏈的價(jià)值基礎(chǔ),概括了當(dāng)前區(qū)塊鏈的主要應(yīng)用與面臨的挑戰(zhàn)。第2章介紹了區(qū)塊鏈的發(fā)展歷程,揭示了區(qū)塊鏈技術(shù)從產(chǎn)生到發(fā)展壯大的過程。第3章介紹了區(qū)塊鏈的總體技術(shù)體系架構(gòu)、核心層原理、開發(fā)架構(gòu)與評(píng)估體系,并介紹了目前經(jīng)典的區(qū)塊鏈軟件架構(gòu)。第4章主要介紹區(qū)塊鏈的賬戶系統(tǒng),詳細(xì)介紹了區(qū)塊鏈涉及的主要密碼學(xué)知識(shí)。第5章介紹了區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu),闡述了區(qū)塊鏈產(chǎn)生和運(yùn)行的基本原理。第6章介紹了區(qū)塊鏈的網(wǎng)絡(luò)基礎(chǔ),即P2P網(wǎng)絡(luò)的結(jié)構(gòu)和基本原理。第7章分析了區(qū)塊鏈的共識(shí)機(jī)制,并對(duì)不同共識(shí)機(jī)制的特性與適用場(chǎng)景進(jìn)行了分析。第8章介紹了智能合約的基本原理、發(fā)展過程與面臨的挑戰(zhàn)。第9章詳細(xì)介紹了在以太坊上編寫智能合約的方法和部署過程。第10章介紹了一個(gè)簡(jiǎn)單的區(qū)塊鏈系統(tǒng)的開發(fā)實(shí)例,逐步帶領(lǐng)助讀者進(jìn)行區(qū)塊鏈系統(tǒng)的開發(fā)。
本書可作為信息類相關(guān)專業(yè)本科生教學(xué)類用書,也適合作為有志于研究區(qū)塊鏈的讀者的入門圖書,還可作為科研人員、工程技術(shù)人員以及商務(wù)人員的參考用書。
1.詳細(xì)介紹區(qū)塊鏈的產(chǎn)生背景與發(fā)展歷程,讓讀者快速了解區(qū)塊鏈;
2.全面講解區(qū)塊鏈技術(shù)體系與數(shù)據(jù)結(jié)構(gòu),幫助讀者深入理解區(qū)塊鏈;
3.深度剖析共識(shí)機(jī)制和智能合約,幫助讀者掌握區(qū)塊鏈核心技術(shù);
4.結(jié)合案例介紹區(qū)塊鏈搭建過程,幫助讀者成功搭建自己的區(qū)塊鏈。
趙其剛,博士后,國(guó)信區(qū)塊鏈研究中心主任,成都高新信息技術(shù)研究院院長(zhǎng),西南交通大學(xué)教師,國(guó)信公鏈(CIC)、CNG 農(nóng)業(yè)鏈?zhǔn)紫軜?gòu)師;長(zhǎng)期從事互聯(lián)網(wǎng)、智慧城市及軟件技術(shù)架構(gòu)相關(guān)研究、教學(xué)及工程實(shí)踐活動(dòng),近年來重點(diǎn)從事工業(yè)4.0、區(qū)塊鏈相關(guān)理論及技術(shù)研發(fā)工作;發(fā)表學(xué)術(shù)論文20 余篇,出版圖書5 種,并在中國(guó)大學(xué)MOOC 平臺(tái)開設(shè)“區(qū)塊鏈技術(shù)與應(yīng)用”在線課程;主持各類科研課題100 余項(xiàng),獲得軟件著作權(quán)、發(fā)明專利及相關(guān)科技成果獎(jiǎng)勵(lì)50 余項(xiàng)(區(qū)塊鏈技術(shù)發(fā)明專利20 余項(xiàng))。
王紅軍,博士, 西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院副研究員, 碩士生導(dǎo)師, 中國(guó)計(jì)算機(jī)學(xué)會(huì)高級(jí)會(huì)員,中國(guó)計(jì)算機(jī)學(xué)會(huì)人工智能與模式識(shí)別專委會(huì)委員,中國(guó)計(jì)算機(jī)學(xué)會(huì)協(xié)同計(jì)算專委會(huì)委員,中國(guó)人工智能學(xué)會(huì)機(jī)器學(xué)習(xí)專委會(huì)委員,四川省學(xué)術(shù)與技術(shù)帶頭人后備人選;主持、主研國(guó)家級(jí)項(xiàng)目5項(xiàng);發(fā)表學(xué)術(shù)論文70 余篇。
李天瑞,博士, 西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院教授, 博士生導(dǎo)師, 人工智能研究院副院長(zhǎng), 四川省云計(jì)算與智能技術(shù)高校重點(diǎn)實(shí)驗(yàn)室主任, 四川省學(xué)術(shù)與技術(shù)帶頭人, 國(guó)際粗糙集學(xué)會(huì)會(huì)士和指導(dǎo)委員會(huì)主席;主持國(guó)家重點(diǎn)研發(fā)計(jì)劃課題、國(guó)家自然科學(xué)基金項(xiàng)目等國(guó)家級(jí)項(xiàng)目7 項(xiàng), 在國(guó)際會(huì)議做大會(huì)報(bào)告24 次;發(fā)表學(xué)術(shù)論文360 余篇,出版圖書6 種, 主編SCI 期刊專輯10 集, 獲得發(fā)明專利12 項(xiàng)。
王明文,博士, 西南交通大學(xué)數(shù)學(xué)學(xué)院副教授, 碩士生導(dǎo)師, 中國(guó)計(jì)算機(jī)學(xué)會(huì)高級(jí)會(huì)員,四川省計(jì)算機(jī)學(xué)會(huì)多媒體專委會(huì)委員;主持國(guó)家級(jí)項(xiàng)目1 項(xiàng), 省部級(jí)項(xiàng)目5 項(xiàng);發(fā)表學(xué)術(shù)論文30 余篇,獲得發(fā)明專利3 項(xiàng)。
成飏,博士,西南交通大學(xué)信息化研究院助理研究員,主要研究方向?yàn)閰^(qū)塊鏈技術(shù)、云計(jì)算與計(jì)算智能,主持、主研國(guó)家和省部級(jí)項(xiàng)目多項(xiàng),發(fā)表論文10 余篇,參與編寫教材2 種。
第 1章 區(qū)塊鏈概述
1.1 區(qū)塊鏈產(chǎn)生的背景 002
1.1.1傳統(tǒng)信任體系的局限 004
1.1.2互聯(lián)社會(huì)發(fā)展的瓶頸 005
1.1.3區(qū)塊鏈“信任”的發(fā)展 006
1.2 區(qū)塊鏈的基本概念 008
1.2.1區(qū)塊鏈的定義 009
1.2.2私有鏈、聯(lián)盟鏈與公有鏈 010
1.2.3主鏈和側(cè)鏈 011
1.3 區(qū)塊鏈的價(jià)值基礎(chǔ) 012
1.3.1區(qū)塊鏈解決的根本問題 012
1.3.2區(qū)塊鏈思維 014
1.3.3區(qū)塊鏈技術(shù)架構(gòu) 015
1.3.4區(qū)塊鏈服務(wù)網(wǎng)絡(luò) 017
1.3.5區(qū)塊鏈價(jià)值生態(tài)系統(tǒng) 018
1.4 區(qū)塊鏈的應(yīng)用 020
1.4.1資產(chǎn)區(qū)塊鏈化 020
1.4.2價(jià)值存儲(chǔ)區(qū)塊鏈化 022
1.4.3提升社會(huì)協(xié)同效率 022
1.4.4催生互助型產(chǎn)業(yè)生態(tài) 023
1.4.5培育共識(shí)自治社群 024
1.5 區(qū)塊鏈的挑戰(zhàn) 025
1.5.1技術(shù)的挑戰(zhàn) 025
1.5.2商業(yè)的挑戰(zhàn) 026
1.5.3社會(huì)治理的挑戰(zhàn) 026
1.6 課后習(xí)題 027
第 2章 區(qū)塊鏈的發(fā)展
2.1 區(qū)塊鏈的發(fā)展歷程 029
2.2 區(qū)塊鏈1.0 030
2.2.1比特幣簡(jiǎn)介 030
2.2.2比特幣的獲取與交易 031
2.2.3比特幣的工作流程 032
2.2.4“雙花”問題 033
2.2.5“分叉”問題 034
2.3 區(qū)塊鏈2.0 036
2.3.1從智能合約到以太坊 036
2.3.2以太坊的工作流程 038
2.3.3基于以太坊的去中心化應(yīng)用 039
2.4 區(qū)塊鏈3.0 041
2.4.1超級(jí)賬本 042
2.4.2區(qū)塊鏈3.0 應(yīng)用場(chǎng)景 043
2.5 區(qū)塊鏈在中國(guó)的發(fā)展 045
2.6 課后習(xí)題 046
第3章 區(qū)塊鏈技術(shù)體系
3.1 總體架構(gòu) 048
3.1.1基礎(chǔ)層 050
3.1.2合約層 051
3.1.3應(yīng)用層 052
3.1.4接入層 055
3.2 核心層技術(shù)原理 055
3.2.1共識(shí)賬本 056
3.2.2核心層架構(gòu) 056
3.2.3區(qū)塊鏈中的交易 059
3.2.4區(qū)塊與區(qū)塊鏈的形成 061
3.3 開發(fā)架構(gòu) 062
3.3.1系統(tǒng)分析 062
3.3.2總體設(shè)計(jì) 065
3.3.3軟件設(shè)計(jì) 066
3.3.4特殊考慮 068
3.4 典型區(qū)塊鏈軟件架構(gòu) 069
3.4.1比特幣 069
3.4.2以太坊 071
3.4.3超級(jí)賬本 074
3.4.4EOS 077
3.5 區(qū)塊鏈項(xiàng)目評(píng)價(jià) 079
3.5.1指標(biāo)體系 080
3.5.2指標(biāo)評(píng)價(jià) 082
3.5.3評(píng)估流程 084
3.6 課后習(xí)題 086
第4章 區(qū)塊鏈賬戶
4.1 哈希函數(shù) 088
4.1.1概述 089
4.1.2SHA256 算法 090
4.2 公鑰密碼體制 094
4.2.1非對(duì)稱加密算法 094
4.2.2數(shù)字簽名技術(shù) 096
4.2.3RSA 算法 097
4.2.4橢圓曲線算法 100
4.3 區(qū)塊鏈狀態(tài)庫 104
4.3.1狀態(tài)庫 104
4.3.2用戶賬戶和合約賬戶 104
4.4 用戶賬戶活動(dòng) 105
4.4.1用戶地址 106
4.4.2交易發(fā)起 107
4.5 合約賬戶活動(dòng) 108
4.5.1合約的創(chuàng)建 108
4.5.2合約的調(diào)用 110
4.6 課后習(xí)題 111
第5章 區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)
5.1 設(shè)計(jì)思路 113
5.1.1哈希指針 113
5.1.2默克爾樹 114
5.2 數(shù)據(jù)結(jié)構(gòu) 116
5.2.1區(qū)塊 116
5.2.2區(qū)塊結(jié)構(gòu) 117
5.2.3區(qū)塊頭 117
5.2.4區(qū)塊體 118
5.3 結(jié)構(gòu)樹 119
5.3.1交易樹 120
5.3.2狀態(tài)樹 121
5.3.3收據(jù)樹 122
5.4 區(qū)塊鏈的生成 122
5.4.1區(qū)塊的生成 123
5.4.2區(qū)塊的傳播 127
5.4.3區(qū)塊的校驗(yàn) 127
5.5 比特幣交易示例 128
5.6 課后習(xí)題 133
第6章 區(qū)塊鏈與P2P網(wǎng)絡(luò)
6.1 P2P網(wǎng)絡(luò)概述 135
6.1.1P2P 網(wǎng)絡(luò)的基本概念 135
6.1.2P2P 網(wǎng)絡(luò)的特點(diǎn) 137
6.1.3P2P 網(wǎng)絡(luò)的主要應(yīng)用場(chǎng)景 140
6.2 P2P網(wǎng)絡(luò)模型 142
6.2.1P2P 網(wǎng)絡(luò)模型概述 142
6.2.2集中目錄式P2P 網(wǎng)絡(luò)模型 143
6.2.3純P2P 網(wǎng)絡(luò)模型 145
6.2.4分層式P2P 網(wǎng)絡(luò)模型 148
6.3 區(qū)塊鏈P2P網(wǎng)絡(luò) 152
6.3.1P2P 與區(qū)塊鏈的關(guān)系 152
6.3.2區(qū)塊鏈網(wǎng)絡(luò)的可靠性 153
6.3.3案例:日食攻擊 154
6.4 實(shí)現(xiàn)案例:比特幣系統(tǒng)的P2P網(wǎng)絡(luò) 156
6.4.1節(jié)點(diǎn)發(fā)現(xiàn) 157
6.4.2連接節(jié)點(diǎn) 158
6.4.3初始化區(qū)塊下載 159
6.4.4區(qū)塊廣播 164
6.4.5孤立區(qū)塊 166
6.4.6交易廣播 166
6.4.7交易池(內(nèi)存池) 167
6.5 實(shí)現(xiàn)案例:以太坊的P2P網(wǎng)絡(luò) 167
6.5.1引導(dǎo)節(jié)點(diǎn)的實(shí)現(xiàn) 168
6.5.2以太坊的P2P 協(xié)議結(jié)構(gòu)類型 169
6.5.3以太坊的P2P 協(xié)議 170
6.5.4以太坊的P2P 節(jié)點(diǎn) 171
6.6 課后習(xí)題 176
第7章 共識(shí)機(jī)制與獎(jiǎng)勵(lì)機(jī)制
7.1 共識(shí)機(jī)制的引入 178
7.1.1兩軍問題 179
7.1.2拜占庭將軍問題 181
7.2 共識(shí)機(jī)制與獎(jiǎng)勵(lì)機(jī)制概述 183
7.2.1共識(shí)機(jī)制的設(shè)計(jì) 183
7.2.2獎(jiǎng)勵(lì)機(jī)制的設(shè)計(jì) 185
7.3 PoW共識(shí)機(jī)制 191
7.3.1基本概念 191
7.3.2比特幣系統(tǒng)PoW 共識(shí)機(jī)制的實(shí)現(xiàn)原理 192
7.3.3以太坊PoW 共識(shí)機(jī)制的實(shí)現(xiàn)原理 195
7.3.4算法分析 196
7.4 PoS系列共識(shí)機(jī)制 198
7.4.1PoS 共識(shí)思想 199
7.4.2股份授權(quán)證明共識(shí)機(jī)制 201
7.4.3基于投注的共識(shí)機(jī)制 204
7.4.4基于認(rèn)證的共識(shí)機(jī)制 205
7.5 其他常見的公有鏈共識(shí)機(jī)制 209
7.6 拜占庭共識(shí)機(jī)制 210
7.6.1拜占庭容錯(cuò)系統(tǒng) 210
7.6.2實(shí)用拜占庭容錯(cuò) 212
7.6.3授權(quán)拜占庭容錯(cuò) 214
7.7 傳統(tǒng)分布式共識(shí)機(jī)制 215
7.7.1帕克索斯算法系列 215
7.7.2Raft 算法 217
7.8 共識(shí)機(jī)制總結(jié) 219
7.9 實(shí)現(xiàn)案例:共識(shí)機(jī)制 221
7.9.1比特幣系統(tǒng)PoW 共識(shí)機(jī)制的實(shí)現(xiàn)案例 221
7.9.2以太坊PoW 共識(shí)機(jī)制的實(shí)現(xiàn)案例 230
7.9.3以太坊的PoS 共識(shí)機(jī)制的實(shí)現(xiàn)原理 237
7.10 課后習(xí)題 259
第8章 智能合約
8.1 智能合約概述 262
8.1.1智能合約的定義 262
8.1.2智能合約與區(qū)塊鏈結(jié)合的意義 264
8.2 智能合約的工作原理 266
8.2.1區(qū)塊鏈智能合約的演變 266
8.2.2以太坊智能合約的運(yùn)行原理 270
8.2.3以太坊智能合約的構(gòu)建與執(zhí)行過程 272
8.3 以太坊智能合約基礎(chǔ) 274
8.3.1智能合約的編程語言 274
8.3.2入門代碼例程 275
8.3.3智能合約的操作 275
8.3.4EVM 的存儲(chǔ)方式 277
8.3.5指令集和消息調(diào)用 278
8.3.6日志功能 279
8.4 智能合約的潛在問題 280
8.4.1以太坊智能合約安全事件 280
8.4.2其他安全事件 283
8.4.3智能合約的安全建議 287
8.5 課后習(xí)題 288
第9章 以太坊智能合約的開發(fā)與實(shí)踐
9.1 以太坊開發(fā)環(huán)境的搭建 290
9.2 以太坊的交易與合約 291
9.2.1以太坊的賬戶類型 291
9.2.2交易與消息 292
9.3 以太坊接口 293
9.3.1接口方式 293
9.3.2以太坊接口配置 294
9.4 以太坊智能合約開發(fā) 296
9.4.1本地私有鏈的搭建與配置 296
9.4.2智能合約的結(jié)構(gòu) 301
9.4.3智能合約的開發(fā)工具 303
9.4.4智能合約的部署與調(diào)用 304
9.5 創(chuàng)建企業(yè)級(jí)智能合約 307
9.5.1探索ganache-cli 307
9.5.2ganache-cli 的安裝與使用 308
9.5.3可用RPC 方法 310
9.5.4Truffl e 概述 311
9.5.5編譯合約 313
9.5.6配置文件 314
9.5.7合約部署與測(cè)試 315
9.6 課后習(xí)題 318
第 10章 區(qū)塊鏈設(shè)計(jì)案例:AppChain
10.1 環(huán)境的搭建 320
10.1.1環(huán)境準(zhǔn)備 321
10.1.2安裝所需要的環(huán)境 321
10.2 學(xué)習(xí)搭建自己的基本區(qū)塊鏈 333
10.2.1基于Python 2 的基本區(qū)塊鏈 333
10.2.2基于Python 3 的區(qū)塊鏈例程 335
10.3 搭建自己的區(qū)塊鏈 338
10.3.1創(chuàng)建一個(gè)區(qū)塊鏈 338
10.3.2區(qū)塊鏈接口 347
10.3.3運(yùn)行區(qū)塊鏈 351
10.3.4網(wǎng)絡(luò)一致性 355
10.4 課后習(xí)題 361