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