本書(shū)介紹區(qū)塊鏈技術(shù)原理及其基本應(yīng)用。全書(shū)共6章。第1章為區(qū)塊鏈思想的誕生,第2章為區(qū)塊鏈技術(shù)的密碼學(xué)基礎(chǔ)。在第2章的基礎(chǔ)上,第3章與第4章論述了區(qū)塊鏈技術(shù)原理與區(qū)塊鏈安全。第5章和第6章重點(diǎn)論述了區(qū)塊鏈技術(shù)的應(yīng)用方向和應(yīng)用案例。本書(shū)每章都配有習(xí)題,便于檢驗(yàn)和加深學(xué)生對(duì)所學(xué)內(nèi)容的理解和掌握。
本書(shū)可作為高等院校計(jì)算機(jī)科學(xué)、信息安全等相關(guān)專(zhuān)業(yè)本科生的教材或參考書(shū)。
區(qū)塊鏈技術(shù)源于比特幣,是“數(shù)字密碼貨幣”的底層支撐技術(shù)。自比特幣誕生后的十多年來(lái),比特幣系統(tǒng)在無(wú)中心維護(hù)機(jī)構(gòu)的情況下穩(wěn)定運(yùn)行,一個(gè)比特幣最貴時(shí)價(jià)值六萬(wàn)多美元。隨著比特幣的流行,更多“數(shù)字密碼貨幣”快速涌現(xiàn),人們發(fā)現(xiàn)構(gòu)建比特幣技術(shù)基礎(chǔ)的區(qū)塊鏈技術(shù)具有更大的應(yīng)用價(jià)值。
以比特幣為代表的“數(shù)字密碼貨幣”僅僅是區(qū)塊鏈的應(yīng)用之一。區(qū)塊鏈作為一種新的數(shù)字技術(shù),已經(jīng)被用于電子政務(wù)、數(shù)字經(jīng)濟(jì)、版權(quán)保護(hù)、醫(yī)療保險(xiǎn)等領(lǐng)域。對(duì)區(qū)塊鏈技術(shù)進(jìn)行更深入的研究,有利于發(fā)掘區(qū)塊鏈技術(shù)潛在的若干優(yōu)勢(shì)。
隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,其在社會(huì)各領(lǐng)域得到越來(lái)越廣泛的應(yīng)用。目前,區(qū)塊鏈技術(shù)的研究熱點(diǎn)主要有以下幾個(gè)方面:
1. 共識(shí)機(jī)制
共識(shí)機(jī)制是區(qū)塊鏈系統(tǒng)中的核心技術(shù)。共識(shí)機(jī)制主要用于確保分布式系統(tǒng)中消息的一致性。共識(shí)機(jī)制保證了區(qū)塊鏈的安全性、可擴(kuò)展性以及去中心化等特性。目前比較常見(jiàn)的共識(shí)機(jī)制有PoW、權(quán)益證明PoS、PBFT等。這些共識(shí)機(jī)制都有各自的優(yōu)缺點(diǎn)。進(jìn)一步改進(jìn)共識(shí)機(jī)制,提高其安全性、效率等,才能使共識(shí)機(jī)制更好地應(yīng)用于區(qū)塊鏈系統(tǒng)中。
2. 隱私保護(hù)
隨著區(qū)塊鏈技術(shù)的發(fā)展以及區(qū)塊鏈系統(tǒng)在各個(gè)領(lǐng)域的應(yīng)用,區(qū)塊鏈系統(tǒng)中的隱私保護(hù)問(wèn)題成為關(guān)注的熱點(diǎn)。區(qū)塊鏈公開(kāi)透明的特性雖然確保了公平公正,但用戶(hù)的隱私仍然有泄露的風(fēng)險(xiǎn)。如比特幣交易,攻擊者可以獲得交易地址,進(jìn)而獲得交易者的身份,實(shí)現(xiàn)交易者身份和現(xiàn)實(shí)身份的有效關(guān)聯(lián)。針對(duì)隱私問(wèn)題,采用將交易分成多個(gè)小交易并混入無(wú)效交易的方法,可以達(dá)到隱藏信息的目的。但這樣的方法仍然有隱患,為此,研究人員在區(qū)塊鏈系統(tǒng)中使用零知識(shí)證明及環(huán)簽名等方法來(lái)保護(hù)數(shù)據(jù)的隱私。
3. 智能合約
智能合約的出現(xiàn)擴(kuò)大了區(qū)塊鏈的適用范圍。智能合約具有透明可信、自動(dòng)執(zhí)行、強(qiáng)制履約的優(yōu)點(diǎn)。智能合約一旦被部署到區(qū)塊鏈系統(tǒng),其程序代碼和數(shù)據(jù)就是公開(kāi)透明的,無(wú)法被篡改,并且一定會(huì)按照預(yù)先定義的邏輯去執(zhí)行,且執(zhí)行情況將被記錄下來(lái)。由于智能合約的開(kāi)放性,其代碼和內(nèi)容均可通過(guò)公開(kāi)方法獲得,在很大程度上可以讓黑客進(jìn)行合約分析并針對(duì)弱點(diǎn)進(jìn)行攻擊。黑客一旦攻擊成功,就會(huì)造成重大損失。所以,智能合約的安全性至關(guān)重要。
自清華大學(xué)開(kāi)設(shè)區(qū)塊鏈技術(shù)課程后,北京大學(xué)也開(kāi)設(shè)了此門(mén)課程并在網(wǎng)上提供了視頻課程,西南交通大學(xué)制作了區(qū)塊鏈技術(shù)課程的慕課。此外,西安電子科技大學(xué)、上海交通大學(xué)、復(fù)旦大學(xué)、武漢大學(xué)、杭州電子科技大學(xué)等高校也相繼開(kāi)設(shè)了區(qū)塊鏈技術(shù)課程。隨著區(qū)塊鏈技術(shù)的高速發(fā)展及區(qū)塊鏈技術(shù)應(yīng)用的快速推廣,相信國(guó)內(nèi)開(kāi)設(shè)區(qū)塊鏈技術(shù)及應(yīng)用課程的高校會(huì)越來(lái)越多。
介紹區(qū)塊鏈的書(shū)籍有許多,但未見(jiàn)有系統(tǒng)介紹區(qū)塊鏈技術(shù)的教材。本書(shū)從密碼學(xué)的基本思想出發(fā),深入討論區(qū)塊鏈技術(shù),以期讓讀者更好地認(rèn)識(shí)區(qū)塊鏈技術(shù)的基礎(chǔ)原理。
鑒于水平有限,書(shū)中難免存在不妥之處,懇請(qǐng)各位讀者不吝指正。
編著者
2022年3月
第1章 區(qū)塊鏈思想的誕生 1
1.1 比特幣 1
1.1.1 比特幣的誕生 1
1.1.2 比特幣基本概念與系統(tǒng) 2
1.1.3 比特幣與數(shù)字貨幣 5
1.2 從實(shí)物貨幣到數(shù)字貨幣 6
1.2.1 貨幣的歷史演化 6
1.2.2 紙幣的缺陷 7
1.2.3 “去中心化”的技術(shù)難關(guān) 7
1.3 區(qū)塊鏈與數(shù)字貨幣 8
1.3.1 區(qū)塊鏈與比特幣的關(guān)系 8
1.3.2 區(qū)塊鏈與比特幣之爭(zhēng) 9
習(xí)題 10
參考文獻(xiàn) 10
第2章 區(qū)塊鏈技術(shù)的密碼學(xué)基礎(chǔ) 12
2.1 對(duì)稱(chēng)密碼算法 12
2.1.1 DES描述 13
2.1.2 三重DES 19
2.1.3 高級(jí)加密標(biāo)準(zhǔn)AES 20
2.1.4 AES描述 20
2.1.5 SM4算法 23
2.2 非對(duì)稱(chēng)密碼算法 27
2.2.1 公鑰密碼體制的基本概念 27
2.2.2 公鑰加密 30
2.3 Hash函數(shù) 39
2.3.1 Hash函數(shù)的定義和性質(zhì) 39
2.3.2 Hash函數(shù)MD5 40
2.3.3 Hash函數(shù)SHA1 44
2.3.4 Hash函數(shù)SHA256 47
2.3.5 SM3 49
2.4 數(shù)字簽名 50
2.4.1 ECDSA 50
2.4.2 環(huán)簽名 51
2.4.3 盲簽名 53
2.5 密鑰管理與數(shù)字錢(qián)包 54
2.5.1 非對(duì)稱(chēng)密碼體制的密鑰分發(fā)與管理 55
2.5.2 數(shù)字錢(qián)包 57
2.6 Merkle樹(shù)結(jié)構(gòu) 58
2.7 同態(tài)加密 59
習(xí)題 59
參考文獻(xiàn) 60
第3章 區(qū)塊鏈技術(shù)原理 61
3.1 區(qū)塊鏈的概念 61
3.2 區(qū)塊鏈的核心技術(shù) 62
3.2.1 Hash函數(shù)與區(qū)塊鏈 62
3.2.2 數(shù)字簽名與區(qū)塊鏈 64
3.2.3 共識(shí)算法 65
3.2.4 智能合約 67
3.2.5 零知識(shí)證明協(xié)議 70
3.2.6 P2P網(wǎng)絡(luò) 71
3.3 區(qū)塊鏈的特性 73
3.3.1 透明可信 73
3.3.2 防篡改可追溯 74
3.3.3 隱私安全保障 74
3.3.4 系統(tǒng)高可靠 75
3.4 區(qū)塊鏈的分類(lèi) 76
3.4.1 公有鏈 76
3.4.2 聯(lián)盟鏈 77
3.4.3 私有鏈 78
習(xí)題 78
參考文獻(xiàn) 78
第4章 區(qū)塊鏈安全 79
4.1 區(qū)塊鏈安全威脅 79
4.1.1 直接威脅 79
4.1.2 間接威脅 84
4.2 區(qū)塊鏈安全類(lèi)型與案例 87
4.3 區(qū)塊鏈安全防范 91
4.3.1 資金與交易安全 92
4.3.2 信息與協(xié)議安全 94
4.3.3 系統(tǒng)與設(shè)備安全 97
習(xí)題 98
參考文獻(xiàn) 98
第5章 區(qū)塊鏈應(yīng)用 99
5.1 云計(jì)算與區(qū)塊鏈 99
5.1.1 云計(jì)算 99
5.1.2 云計(jì)算與區(qū)塊鏈 101
5.2 物聯(lián)網(wǎng)與區(qū)塊鏈 103
5.2.1 物聯(lián)網(wǎng) 103
5.2.2 物聯(lián)網(wǎng)與區(qū)塊鏈 103
5.3 大數(shù)據(jù)與區(qū)塊鏈 105
5.3.1 大數(shù)據(jù) 105
5.3.2 大數(shù)據(jù)與區(qū)塊鏈 106
習(xí)題 107
參考文獻(xiàn) 107
第6章 區(qū)塊鏈應(yīng)用案例 108
6.1 區(qū)塊鏈在金融領(lǐng)域的應(yīng)用案例 108
6.1.1 區(qū)塊鏈在供應(yīng)鏈中的應(yīng)用案例 108
6.1.2 區(qū)塊鏈在共享場(chǎng)景中的應(yīng)用案例 111
6.2 區(qū)塊鏈在政務(wù)服務(wù)領(lǐng)域的應(yīng)用案例 112
6.2.1 區(qū)塊鏈在稅務(wù)改革中的應(yīng)用案例 113
6.2.2 區(qū)塊鏈在財(cái)政票據(jù)場(chǎng)景中的應(yīng)用案例 114
6.3 區(qū)塊鏈在數(shù)字版權(quán)領(lǐng)域的應(yīng)用案例 116
習(xí)題 118
參考文獻(xiàn) 119
附錄 120
附錄A 數(shù)論基本知識(shí) 120
A.1 整除與素?cái)?shù) 120
A.2 同余與模運(yùn)算 120
附錄B 代數(shù)基本知識(shí) 121
B.1 群 121
B.2 環(huán) 121
B.3 域 122