本書是重慶電子工程職業(yè)學(xué)院與火幣中國(guó)校企合作的成果,融入了火幣作為國(guó)際知名區(qū)塊鏈技術(shù)企業(yè)的最新技術(shù)和應(yīng)用。本書主要涵蓋區(qū)塊鏈技術(shù)原理、區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)與存儲(chǔ)技術(shù)應(yīng)用、區(qū)塊鏈密碼技術(shù)、P2P網(wǎng)絡(luò)在區(qū)塊鏈中的應(yīng)用、區(qū)塊鏈共識(shí)機(jī)制、區(qū)塊鏈智能合約、區(qū)塊鏈行業(yè)應(yīng)用等內(nèi)容。本書內(nèi)容通俗易懂,有理論有實(shí)踐,體現(xiàn)了理論實(shí)踐一體化和任務(wù)驅(qū)動(dòng)思想。本書內(nèi)容安排合理,每章從“學(xué)習(xí)目標(biāo)”“引導(dǎo)案例”開始,通過相關(guān)知識(shí)的展開、項(xiàng)目的提出,再到任務(wù)分解,循序漸進(jìn),深入淺出,體現(xiàn)問題導(dǎo)向和做中學(xué)的思想,實(shí)用性強(qiáng)。
武春嶺,男,(1975.2—),碩士,二級(jí)教授、重慶市網(wǎng)絡(luò)與信息安全等級(jí)保護(hù)專家,工信行指委計(jì)算機(jī)專指委委員,現(xiàn)任職重慶電子工程職業(yè)學(xué)院人工智能與大數(shù)據(jù)學(xué)院院長(zhǎng)。主要研究方向?yàn)楣I(yè)控制安全技術(shù),在信息安全風(fēng)險(xiǎn)評(píng)估、網(wǎng)絡(luò)安全等級(jí)保護(hù)、關(guān)鍵信息系統(tǒng)保護(hù)等領(lǐng)域有豐富的實(shí)踐經(jīng)驗(yàn)。主持/主研省部級(jí)項(xiàng)目12項(xiàng),授權(quán)專利9項(xiàng),發(fā)表論文30余篇,曾獲國(guó)家級(jí)教學(xué)成果一等獎(jiǎng)和二等獎(jiǎng)各1次。
第1章 區(qū)塊鏈初探 (1)
1.1 區(qū)塊鏈概念 (1)
1.2 區(qū)塊鏈特性 (2)
1.3 區(qū)塊鏈來源 (3)
1.4 區(qū)塊鏈發(fā)展的里程碑 (4)
1.5 區(qū)塊鏈與“新基建” (5)
1.5.1 物聯(lián)網(wǎng) (5)
1.5.2 大數(shù)據(jù) (5)
1.5.3 人工智能 (6)
1.5.4 云計(jì)算 (7)
1.6 區(qū)塊鏈的發(fā)展機(jī)遇與挑戰(zhàn) (8)
1.6.1 發(fā)展機(jī)遇 (8)
1.6.2 未來挑戰(zhàn) (9)
本章習(xí)題 (11)
第2章 區(qū)塊鏈初級(jí)技術(shù)應(yīng)用 (13)
2.1 區(qū)塊鏈內(nèi)涵及運(yùn)行原理 (13)
2.2 區(qū)塊鏈技術(shù)演化與分類 (15)
2.2.1 區(qū)塊鏈技術(shù)演化 (15)
2.2.2 區(qū)塊鏈分類 (15)
2.3 區(qū)塊鏈通用技術(shù)架構(gòu) (18)
2.4 區(qū)塊鏈核心技術(shù) (19)
2.4.1 密碼學(xué) (19)
2.4.2 P2P網(wǎng)絡(luò) (21)
2.4.3 共識(shí)機(jī)制 (21)
2.4.4 智能合約 (21)
2.5 區(qū)塊鏈技術(shù)的典型應(yīng)用 (22)
2.5.1 數(shù)字貨幣 (22)
2.5.2 加密數(shù)字貨幣的代表—比特幣 (25)
2.5.3 智能合約鼻祖—以太坊 (25)
2.5.4 迪士尼區(qū)塊鏈平臺(tái)—龍鏈 (26)
2.5.5 Linux基金會(huì)的開源賬本—Hyperledger (27)
2.5.6 區(qū)塊鏈操作系統(tǒng)—EOS (28)
2.6 項(xiàng)目 以太坊錢包插件MetaMask應(yīng)用實(shí)踐 (29)
2.6.1 任務(wù)1 創(chuàng)建MetaMask錢包 (29)
2.6.2 任務(wù)2 申請(qǐng)水龍頭代幣 (35)
2.6.3 任務(wù)3 轉(zhuǎn)賬/收款 (38)
2.6.4 任務(wù)4 導(dǎo)出私鑰 (40)
2.6.5 任務(wù)5 導(dǎo)入賬戶 (41)
2.6.6 任務(wù)6 鏈接硬件錢包 (42)
2.6.7 任務(wù)7 在Etherscan上查看詳情 (43)
本章習(xí)題 (44)
第3章 區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)與存儲(chǔ)技術(shù)應(yīng)用 (46)
3.1 賬本 (46)
3.2 區(qū)塊結(jié)構(gòu) (47)
3.3 創(chuàng)世區(qū)塊 (47)
3.4 Merkle樹 (48)
3.5 數(shù)據(jù)存儲(chǔ) (49)
3.5.1 賬本存儲(chǔ) (49)
3.5.2 Berkeley DB (49)
3.5.3 LevelDB (50)
3.5.4 Couch DB (51)
3.6 項(xiàng)目 Merkle樹的實(shí)現(xiàn) (51)
3.6.1 任務(wù)1 SHA256哈希函數(shù)的使用 (51)
3.6.2 任務(wù)2 生成一棵Merkle樹 (52)
本章習(xí)題 (55)
第4章 區(qū)塊鏈密碼學(xué)基礎(chǔ)應(yīng)用 (56)
4.1 密碼學(xué)概念 (56)
4.2 對(duì)稱密鑰加密和非對(duì)稱密鑰加密 (58)
4.3 數(shù)字簽名 (60)
4.4 哈希函數(shù) (62)
4.5 錢包與密鑰 (64)
4.6 項(xiàng)目 不同加密算法的實(shí)現(xiàn) (68)
4.6.1 任務(wù)1 Python環(huán)境部署 (68)
4.6.2 任務(wù)2 加密算法編程的實(shí)現(xiàn) (72)
本章習(xí)題 (76)
第5章 P2P網(wǎng)絡(luò)在區(qū)塊鏈中的應(yīng)用 (78)
5.1 P2P網(wǎng)絡(luò)技術(shù)架構(gòu) (78)
5.1.1 P2P網(wǎng)絡(luò)概念 (78)
5.1.2 P2P網(wǎng)絡(luò)技術(shù)架構(gòu) (79)
5.1.3 P2P網(wǎng)絡(luò)研究現(xiàn)狀 (80)
5.2 P2P網(wǎng)絡(luò)核心技術(shù) (80)
5.2.1 分布式哈希表 (80)
5.2.2 Kademlia協(xié)議 (82)
5.2.3 Gossip協(xié)議 (85)
5.3 P2P網(wǎng)絡(luò)應(yīng)用 (86)
5.3.1 文件交換 (86)
5.3.2 對(duì)等計(jì)算 (86)
5.3.3 協(xié)同工作 (87)
5.3.4 搜索引擎 (87)
5.3.5 流媒體 (87)
5.4 P2P技術(shù)在比特幣中的作用 (87)
5.5 項(xiàng)目 IPFS文件系統(tǒng)的實(shí)踐 (90)
5.5.1 任務(wù)1 IPFS環(huán)境部署 (90)
5.5.2 任務(wù)2 IPFS基本操作 (95)
5.5.3 任務(wù)3 IPFS項(xiàng)目的實(shí)踐 (98)
本章習(xí)題 (102)
第6章 區(qū)塊鏈共識(shí)機(jī)制及應(yīng)用 (104)
6.1 共識(shí)概述 (104)
6.1.1 共識(shí)與一致性 (104)
6.1.2 拜占庭將軍問題 (105)
6.1.3 共識(shí)協(xié)議的定義 (106)
6.2 PoW (106)
6.3 PoS (107)
6.4 DPoS (109)
6.5 PBFT (109)
6.6 項(xiàng)目1 PoW共識(shí)算法的實(shí)踐 (111)
6.6.1 任務(wù)1 Go語言運(yùn)行環(huán)境部署 (111)
6.6.2 任務(wù)2 PoW共識(shí)算法編程的實(shí)現(xiàn) (115)
6.7 項(xiàng)目2 挖礦算法與難度調(diào)整 (123)
任務(wù) Python實(shí)現(xiàn)區(qū)塊鏈挖礦與難度調(diào)整 (123)
本章習(xí)題 (131)
第7章 區(qū)塊鏈智能合約與編程實(shí)現(xiàn) (133)
7.1 智能合約概述 (133)
7.1.1 智能合約的起源 (133)
7.1.2 既不智能,也不是合約 (134)
7.2 用智能合約處理價(jià)值 (135)
7.2.1 通證 (135)
7.2.2 一個(gè)簡(jiǎn)單的智能合約:Faucet (136)
7.2.3 創(chuàng)建鏈上積分的智能合約示例 (137)
7.3 用智能合約處理業(yè)務(wù)邏輯 (138)
7.3.1 購物 (138)
7.3.2 拍賣 (141)
7.3.3 投票 (142)
7.3.4 支票 (146)
7.4 智能合約的編寫、部署與交互 (147)
7.5 項(xiàng)目 智能合約的開發(fā) (148)
7.5.1 任務(wù)1 Solidity語言的基本概念 (148)
7.5.2 任務(wù)2 編譯器remix部署與使用 (148)
7.5.3 任務(wù)3 Solidity語法 (151)
7.5.4 任務(wù)4 Solidity基礎(chǔ)數(shù)據(jù)操作 (158)
7.5.5 任務(wù)5 使用Solidity開發(fā)智能合約 (168)
本章習(xí)題 (173)
第8章 區(qū)塊鏈商業(yè)應(yīng)用 (174)
8.1 區(qū)塊鏈+金融 (174)
8.1.1 支付 (175)
8.1.2 證券 (178)
8.1.3 供應(yīng)鏈金融 (179)
8.2 區(qū)塊鏈+商業(yè) (181)
8.2.1 電子發(fā)票 (181)
8.2.2 商品的防偽溯源 (183)
8.2.3 積分營(yíng)銷 (185)
本章習(xí)題 (186)
第9章 區(qū)塊鏈民生應(yīng)用 (188)
9.1 區(qū)塊鏈+教育 (188)
9.2 區(qū)塊鏈+醫(yī)療 (191)
9.3 區(qū)塊鏈+公益 (192)
9.4 區(qū)塊鏈+智慧城市 (194)
9.4.1 智慧交通 (194)
9.4.2 智慧能源 (195)
9.4.3 其他 (196)
9.5 區(qū)塊鏈+城際互通 (197)
9.5.1 數(shù)字身份 (197)
9.5.2 征信 (200)
9.6 區(qū)塊鏈+政務(wù) (203)
9.7 區(qū)塊鏈+積分 (206)
本章習(xí)題 (208)
參考文獻(xiàn) (209)