本书介绍区块链技术原理及其基本应用。全书共6章。第1章为区块链思想的诞生,第2章为区块链技术的密码学基础。在第2章的基础上,第3章与第4章论述了区块链技术原理与区块链安全。第5章和第6章重点论述了区块链技术的应用方向和应用案例。本书每章都配有习题,便于检验和加深学生对所学内容的理解和掌握。
本书可作为高等院校计算机科学、信息安全等相关专业本科生的教材或参考书。
区块链技术源于比特币,是“数字密码货币”的底层支撑技术。自比特币诞生后的十多年来,比特币系统在无中心维护机构的情况下稳定运行,一个比特币最贵时价值六万多美元。随着比特币的流行,更多“数字密码货币”快速涌现,人们发现构建比特币技术基础的区块链技术具有更大的应用价值。
以比特币为代表的“数字密码货币”仅仅是区块链的应用之一。区块链作为一种新的数字技术,已经被用于电子政务、数字经济、版权保护、医疗保险等领域。对区块链技术进行更深入的研究,有利于发掘区块链技术潜在的若干优势。
随着区块链技术的不断发展,其在社会各领域得到越来越广泛的应用。目前,区块链技术的研究热点主要有以下几个方面:
1. 共识机制
共识机制是区块链系统中的核心技术。共识机制主要用于确保分布式系统中消息的一致性。共识机制保证了区块链的安全性、可扩展性以及去中心化等特性。目前比较常见的共识机制有PoW、权益证明PoS、PBFT等。这些共识机制都有各自的优缺点。进一步改进共识机制,提高其安全性、效率等,才能使共识机制更好地应用于区块链系统中。
2. 隐私保护
随着区块链技术的发展以及区块链系统在各个领域的应用,区块链系统中的隐私保护问题成为关注的热点。区块链公开透明的特性虽然确保了公平公正,但用户的隐私仍然有泄露的风险。如比特币交易,攻击者可以获得交易地址,进而获得交易者的身份,实现交易者身份和现实身份的有效关联。针对隐私问题,采用将交易分成多个小交易并混入无效交易的方法,可以达到隐藏信息的目的。但这样的方法仍然有隐患,为此,研究人员在区块链系统中使用零知识证明及环签名等方法来保护数据的隐私。
3. 智能合约
智能合约的出现扩大了区块链的适用范围。智能合约具有透明可信、自动执行、强制履约的优点。智能合约一旦被部署到区块链系统,其程序代码和数据就是公开透明的,无法被篡改,并且一定会按照预先定义的逻辑去执行,且执行情况将被记录下来。由于智能合约的开放性,其代码和内容均可通过公开方法获得,在很大程度上可以让黑客进行合约分析并针对弱点进行攻击。黑客一旦攻击成功,就会造成重大损失。所以,智能合约的安全性至关重要。
自清华大学开设区块链技术课程后,北京大学也开设了此门课程并在网上提供了视频课程,西南交通大学制作了区块链技术课程的慕课。此外,西安电子科技大学、上海交通大学、复旦大学、武汉大学、杭州电子科技大学等高校也相继开设了区块链技术课程。随着区块链技术的高速发展及区块链技术应用的快速推广,相信国内开设区块链技术及应用课程的高校会越来越多。
介绍区块链的书籍有许多,但未见有系统介绍区块链技术的教材。本书从密码学的基本思想出发,深入讨论区块链技术,以期让读者更好地认识区块链技术的基础原理。
鉴于水平有限,书中难免存在不妥之处,恳请各位读者不吝指正。
编著者
2022年3月
第1章 区块链思想的诞生 1
1.1 比特币 1
1.1.1 比特币的诞生 1
1.1.2 比特币基本概念与系统 2
1.1.3 比特币与数字货币 5
1.2 从实物货币到数字货币 6
1.2.1 货币的历史演化 6
1.2.2 纸币的缺陷 7
1.2.3 “去中心化”的技术难关 7
1.3 区块链与数字货币 8
1.3.1 区块链与比特币的关系 8
1.3.2 区块链与比特币之争 9
习题 10
参考文献 10
第2章 区块链技术的密码学基础 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 环签名 51
2.4.3 盲签名 53
2.5 密钥管理与数字钱包 54
2.5.1 非对称密码体制的密钥分发与管理 55
2.5.2 数字钱包 57
2.6 Merkle树结构 58
2.7 同态加密 59
习题 59
参考文献 60
第3章 区块链技术原理 61
3.1 区块链的概念 61
3.2 区块链的核心技术 62
3.2.1 Hash函数与区块链 62
3.2.2 数字签名与区块链 64
3.2.3 共识算法 65
3.2.4 智能合约 67
3.2.5 零知识证明协议 70
3.2.6 P2P网络 71
3.3 区块链的特性 73
3.3.1 透明可信 73
3.3.2 防篡改可追溯 74
3.3.3 隐私安全保障 74
3.3.4 系统高可靠 75
3.4 区块链的分类 76
3.4.1 公有链 76
3.4.2 联盟链 77
3.4.3 私有链 78
习题 78
参考文献 78
第4章 区块链安全 79
4.1 区块链安全威胁 79
4.1.1 直接威胁 79
4.1.2 间接威胁 84
4.2 区块链安全类型与案例 87
4.3 区块链安全防范 91
4.3.1 资金与交易安全 92
4.3.2 信息与协议安全 94
4.3.3 系统与设备安全 97
习题 98
参考文献 98
第5章 区块链应用 99
5.1 云计算与区块链 99
5.1.1 云计算 99
5.1.2 云计算与区块链 101
5.2 物联网与区块链 103
5.2.1 物联网 103
5.2.2 物联网与区块链 103
5.3 大数据与区块链 105
5.3.1 大数据 105
5.3.2 大数据与区块链 106
习题 107
参考文献 107
第6章 区块链应用案例 108
6.1 区块链在金融领域的应用案例 108
6.1.1 区块链在供应链中的应用案例 108
6.1.2 区块链在共享场景中的应用案例 111
6.2 区块链在政务服务领域的应用案例 112
6.2.1 区块链在税务改革中的应用案例 113
6.2.2 区块链在财政票据场景中的应用案例 114
6.3 区块链在数字版权领域的应用案例 116
习题 118
参考文献 119
附录 120
附录A 数论基本知识 120
A.1 整除与素数 120
A.2 同余与模运算 120
附录B 代数基本知识 121
B.1 群 121
B.2 环 121
B.3 域 122