本書全面介紹區(qū)塊鏈發(fā)展歷史及密碼學(xué)在區(qū)塊鏈中應(yīng)用研究成果。全書共6章,第1章介紹密碼學(xué)與區(qū)塊鏈原理,第2章介紹區(qū)塊鏈技術(shù)架構(gòu)與發(fā)展,第3章介紹哈希函數(shù)及其在區(qū)塊鏈中的應(yīng)用,第4章數(shù)字簽名及其在區(qū)塊鏈中的應(yīng)用,第5章介紹密碼協(xié)議及其在區(qū)塊鏈中的應(yīng)用,第6章介紹區(qū)塊鏈中高級密碼學(xué)原語與協(xié)議。本書不僅包括密碼學(xué)的實(shí)用算法與協(xié)議,同時(shí)也覆蓋了適合區(qū)塊鏈應(yīng)用的密碼學(xué)的最新研究成果,是首本關(guān)于區(qū)塊鏈中所采用密碼學(xué)方法與技術(shù)的系統(tǒng)性著作,力求使讀者通過本書的學(xué)習(xí)了解本領(lǐng)域最新的發(fā)展方向。
更多科學(xué)出版社服務(wù),請掃碼獲取。
中國密碼學(xué)會安全協(xié)議專委會委員,中國密碼學(xué)會青年專委會副主任委員,計(jì)算機(jī)學(xué)會區(qū)塊鏈專委會常務(wù)委員
目錄
“密碼理論與技術(shù)叢書”序
前言
第1章 密碼學(xué)與區(qū)塊鏈概述 1
1.1 公鑰密碼學(xué)基本概念 1
1.1.1 公鑰密碼體制的工作原理 2
1.1.2 公鑰密碼體制存在的條件 4
1.1.3 公鑰密碼體制的計(jì)算復(fù)雜性假設(shè) 4
1.1.4 RSA假設(shè) 5
1.1.5 離散對數(shù)相關(guān)假設(shè) 6
1.1.6 公鑰密碼技術(shù)在區(qū)塊鏈中的應(yīng)用 8
1.2 區(qū)塊鏈基本概念 8
1.2.1 分布式系統(tǒng) 8
1.2.2 拜占庭將軍問題 12
1.2.3 區(qū)塊鏈工作機(jī)制 13
1.2.4 區(qū)塊鏈技術(shù)特點(diǎn) 14
參考文獻(xiàn) 15
習(xí)題 17
第2章 區(qū)塊鏈技術(shù)原理 19
2.1 區(qū)塊鏈技術(shù) 19
2.1.1 區(qū)塊鏈的定義 19
2.1.2 區(qū)塊鏈參考架構(gòu) 20
2.1.3 區(qū)塊鏈系統(tǒng)的分類 22
2.2 比特幣簡介 23
2.2.1 比特幣的創(chuàng)立 23
2.2.2 比特幣數(shù)據(jù)存儲層 24
2.2.3 比特幣網(wǎng)絡(luò)通信層 35
2.2.4 比特幣共識激勵(lì)層 42
2.2.5 比特幣交易執(zhí)行層 51
2.2.6 比特幣應(yīng)用服務(wù)層 65
2.3 以太坊簡介 69
2.3.1 以太坊的創(chuàng)立 69
2.3.2 以太坊數(shù)據(jù)存儲層 70
2.3.3 以太坊網(wǎng)絡(luò)通信層 78
2.3.4 以太坊共識激勵(lì)層 83
2.3.5 以太坊交易執(zhí)行層 90
2.3.6 以太坊應(yīng)用服務(wù)層 93
2.4 超級賬本簡介 95
2.4.1 超級賬本的創(chuàng)立 96
2.4.2 Fabric數(shù)據(jù)存儲層 97
2.4.3 Fabric網(wǎng)絡(luò)通信層 99
2.4.4 Fabric共識激勵(lì)層 100
2.4.5 Fabric交易執(zhí)行層 103
2.4.6 Fabric應(yīng)用服務(wù)層 104
2.5 區(qū)塊鏈的發(fā)展與展望 105
參考文獻(xiàn) 106
習(xí)題 108
第3章 哈希函數(shù)及其在區(qū)塊鏈中的應(yīng)用 109
3.1 哈希函數(shù)簡介 109
3.1.1 哈希函數(shù)的應(yīng)用模式 110
3.1.2 哈希函數(shù)的安全性 110
3.2 哈希函數(shù)基本結(jié)構(gòu) 112
3.2.1 迭代哈希函數(shù) 112
3.2.2 海綿結(jié)構(gòu) 113
3.3 哈希函數(shù)的應(yīng)用 113
3.3.1 哈希函數(shù)在密碼學(xué)中的常見應(yīng)用 113
3.3.2 哈希函數(shù)在區(qū)塊鏈中的其他應(yīng)用 115
3.4 區(qū)塊鏈中常用的哈希函數(shù) 116
3.4.1 SHA2-256 (SHA2) 116
3.4.2 SM3 121
3.4.3 SHA3 (Keccak) 125
3.4.4 Scrypt 132
3.4.5 Ethash 136
3.4.6 Equihash 140
3.4.7 X11 142
3.4.8 零知識證明友好的哈希函數(shù) 143
3.5 Merkle樹 145
3.5.1 Merkle樹構(gòu)造 145
3.5.2 Merkle樹在區(qū)塊鏈中的應(yīng)用 146
3.6 Merkle Patricia樹 147
3.6.1 Trie樹和Patricia樹 148
3.6.2 Merkle Patricia樹 148
3.6.3 Merkle Patricia樹在區(qū)塊鏈中的應(yīng)用 151
參考文獻(xiàn) 151
習(xí)題 154
第4章 數(shù)字簽名及其在區(qū)塊鏈中的應(yīng)用 155
4.1 數(shù)字簽名基本概念 155
4.1.1 數(shù)字簽名的要求 155
4.1.2 數(shù)字簽名的組成 156
4.1.3 DSA數(shù)字簽名 156
4.2 區(qū)塊鏈中常用數(shù)字簽名 158
4.2.1 ECDSA數(shù)字簽名方案 159
4.2.2 Schnorr數(shù)字簽名方案 163
4.2.3 EdDSA數(shù)字簽名方案 166
4.2.4 我國商用數(shù)字簽名算法SM2 169
4.2.5 BLS數(shù)字簽名方案 172
4.2.6 CL數(shù)字簽名方案 174
4.3 多重簽名 177
4.3.1 多重Schnorr簽名算法 178
4.3.2 多重Schnorr簽名正確性分析 179
4.3.3 多重簽名在區(qū)塊鏈中的應(yīng)用 180
4.4 聚合簽名 180
4.4.1 BLS聚合簽名 181
4.4.2 BLS聚合簽名正確性分析 182
4.4.3 聚合簽名在區(qū)塊鏈中的應(yīng)用 182
4.5 門限簽名 183
4.5.1 BLS門限簽名 183
4.5.2 BLS門限簽名正確性分析 185
4.5.3 門限ECDSA簽名 186
4.5.4 門限簽名在區(qū)塊鏈中的應(yīng)用 192
4.6 群簽名 193
4.6.1 BBS群簽名 193
4.6.2 BBS群簽名正確性分析 196
4.6.3 群簽名在區(qū)塊鏈中的應(yīng)用 197
4.7 環(huán)簽名 197
4.7.1 LSAG簽名方案 198
4.7.2 LSAG簽名正確性分析 199
4.7.3 環(huán)簽名在區(qū)塊鏈中的應(yīng)用 199
4.8 盲簽名 200
4.8.1 BLS盲簽名方案 201
4.8.2 BLS盲簽名正確性分析 202
4.8.3 盲簽名在區(qū)塊鏈中的應(yīng)用 202
4.9 后量子簽名 203
參考文獻(xiàn) 205
習(xí)題 211
第5章 區(qū)塊鏈中的基本密碼協(xié)議 212
5.1 密鑰協(xié)商 212
5.1.1 中間人攻擊 213
5.1.2 認(rèn)證密鑰協(xié)商 214
5.1.3 門羅幣隱藏地址 215
5.2 秘密承諾 217
5.2.1 哈希承諾 218
5.2.2 Pedersen承諾 218
5.2.3 多項(xiàng)式承諾 219
5.2.4 向量承諾 220
5.3 秘密分享 222
5.3.1 Shamir秘密分享 222
5.3.2 可驗(yàn)證秘密分享 223
5.3.3 公開驗(yàn)證秘密分享 224
5.3.4 先應(yīng)式秘密分享 226
5.4 分布式密鑰生成 228
5.5 可驗(yàn)證偽隨機(jī)函數(shù) 230
5.6 公平交換 232
5.7 零知識證明 237
5.7.1 Sigma協(xié)議 239
5.7.2 離散對數(shù)知識證明 239
5.7.3 離散對數(shù)相等性證明 240
5.7.4 Fiat-Shamir啟發(fā)式轉(zhuǎn)換 241
5.8 安全多方計(jì)算 241
5.8.1 安全多方計(jì)算模型 242
5.8.2 混淆電路 245
5.8.3 不經(jīng)意傳輸 250
5.8.4 同態(tài)加密 253
5.8.5 安全多方計(jì)算與區(qū)塊鏈 254
參考文獻(xiàn) 255
習(xí)題 266
第6章 區(qū)塊鏈中的高級密碼協(xié)議 267
6.1 可驗(yàn)證延遲函數(shù) 267
6.1.1 可驗(yàn)證延遲函數(shù)基本概念 267
6.1.2 陷門可驗(yàn)證延遲函數(shù)構(gòu)造 269
6.1.3 可驗(yàn)證延遲函數(shù)在區(qū)塊鏈中的應(yīng)用 271
6.2 Fabric MSP成員關(guān)系服務(wù)提供商機(jī)制 272
6.2.1 MSP基本概念 272
6.2.2 MSP結(jié)構(gòu) 276
6.2.3 MSP證書簽發(fā)、驗(yàn)證與撤銷 278
6.2.4 MSP在區(qū)塊鏈中的應(yīng)用 279
6.3 Identity Mixer匿名認(rèn)證體系 280
6.3.1 Identity Mixer基本概念 280
6.3.2 Identity Mixer協(xié)議 281
6.3.3 Identity Mixer在區(qū)塊鏈中的應(yīng)用 284
6.4 環(huán)保密交易RingCT協(xié)議 284
6.4.1 環(huán)保密交易基本概念 284
6.4.2 環(huán)保密交易1.0版 285
6.4.3 環(huán)保密交易2.0版 288
6.4.4 環(huán)保密交易3.0版 293
6.4.5 環(huán)保密交易在區(qū)塊鏈中的應(yīng)用 299
6.5 zk-SNARK協(xié)議 299
6.5.1 zk-SNARK基本概念 299
6.5.2 zk-SNARK通用構(gòu)造 300
6.5.3 zk-SNARK實(shí)現(xiàn) 301
6.5.4 zk-SNARK在區(qū)塊鏈中的應(yīng)用 305
6.6 Bulletproofs協(xié)議 305
6.6.1 Bulletproofs基本概念 306
6.6.2 Bulletproofs構(gòu)造 306
6.6.3 Bulletproofs在區(qū)塊鏈中的應(yīng)用 310
6.7 MimbleWimble協(xié)議 310
6.7.1 MimbleWimble基本概念 310
6.7.2 MimbleWimble構(gòu)造 311
6.7.3 MimbleWimble在區(qū)塊鏈中的應(yīng)用 315
6.8 時(shí)空證明 315
6.8.1 時(shí)空證明基本概念 315
6.8.2 時(shí)空證明構(gòu)造 316
6.8.3 時(shí)空證明在中區(qū)塊鏈的應(yīng)用 321
參考文獻(xiàn) 321
習(xí)題 326
附表 328
附表A 比特幣腳本操作碼 328
附表B 以太坊字節(jié)操作碼: 以太坊虛擬機(jī)字節(jié)碼和對應(yīng)的gas開銷 332
索引 336
“密碼理論與技術(shù)叢書”已出版書目