本书为河南省普通高等教育“十四五”规划教材,详细介绍区块链的相关理论、核心技术、平台机制与典型产业应用开发流程。全书共 7 章,系统讲解对等网络、密码算法、账本结构、共识机制、智能合约等区块链底层基础组件的核心技术与实现原理,同时重点剖析比特币、以太坊、超级账本 Fabric 三种典型区块链系统的架构与运行机制,补充Web3.0、加密货币与稳定币、联盟链产业应用开发等前沿内容,并辅以大量经过真机调试的实操实验与可运行示例代码。本书知识点覆盖全面,文字通俗易懂,技术介绍深浅有度,兼顾基础性、系统性与前沿性;同时结合农产品溯源、行业数据共享交换等真实落地案例,拆解联盟链应用开发全流程,实践示例丰富、可操作性强。本书提供章节实验及项目实践案例代码、课后习题答案及PPT,读者可登录华信教育资源网免费下载。 本书可作为高等学校计算机科学与技术、网络空间安全、信息安全、数据科学与大数据技术、软件工程、电子商务等相关专业的区块链课程教材,也可供区块链领域的研究生、技术研发人员以及数字经济、数据要素流通、政务服务的相关从业人员参考使用。
潘恒,女,中原工学院计算机学院副院长,前沿信息技术研究院院长,现任中国计算机学会区块链专委会委员,河南省区块链研究会副会长兼秘书长,中国计算机学会郑州分部秘书长,河南省计算机学会理事,河南省保密技术专家委员会专家,郑州市信息化促进会专家委员会专家。曾任CCF Yocsef 郑州2014届副主席。
目 录
第1章 概述 1
1.1 区块链的概念 1
1.1.1 区块链的基本术语 1
1.1.2 区块链的一般工作流程 4
1.1.3 区块链的分类 5
1.1.4 区块链的特点 7
1.2 基于区块链的应用发展 8
1.2.1 区块链技术发展历程 8
1.2.2 联盟链产业应用 10
1.2.3 Web3.0 12
1.2.4 加密货币与稳定币 13
1.3 区块链的价值与局限性 14
1.3.1 区块链的价值 14
1.3.2 区块链技术的局限性 15
1.4 本章小结 17
参考文献 18
第2章 区块链技术基础 19
2.1 分布式账本 19
2.1.1 中心化与去中心化 19
2.1.2 分布式记账 19
2.1.3 区块链账本 20
2.2 密码技术 22
2.2.1 哈希函数 22
2.2.2 椭圆曲线密码体制 23
2.3 共识机制 26
2.3.1 拜占庭类容错共识 26
2.3.2 拜占庭类容错共识算法 29
2.4 智能合约 30
2.4.1 智能合约的概念 30
2.4.2 智能合约的特点 31
2.4.3 智能合约的分类 32
2.5 P2P网络 32
2.5.1 P2P网络为区块链系统带来的优势 33
2.5.2 P2P网络常见拓扑结构 33
2.6 本章小结 35
参考文献 36
第3章 比特币系统 37
3.1 比特币的概述 37
3.1.1 比特币的相关概念 38
3.1.2 比特币的体系结构 39
3.2 区块结构与交易分析 41
3.2.1 区块结构 41
3.2.2 交易分析 42
3.3 比特币PoW共识机制 45
3.4 比特币网络 46
3.4.1 比特币网络节点类型 47
3.4.2 比特币网络运行 48
3.5 实验一:比特币Merkle Tree 50
3.6 实验二:比特币挖矿算法 52
3.7 本章小结 55
参考文献 57
第4章 以太坊 58
4.1 以太坊概述 58
4.1.1 以太坊发展历史 58
4.1.2 以太坊相关概念 59
4.1.3 以太坊体系结构 67
4.2 以太坊数据结构与数据存储系统 68
4.2.1 以太坊数据结构 68
4.2.2 以太坊数据存储系统 76
4.3 以太坊共识机制 77
4.3.1 LMD GHOST 77
4.3.2 Casper FFG 79
4.3.3 Gasper共识 80
4.4 以太坊激励机制 81
4.4.1 奖励机制 81
4.4.2 惩罚机制 82
4.5 以太坊智能合约 83
4.5.1 以太坊智能合约的调用 83
4.5.2 智能合约在以太坊中的生命周期 84
4.5.3 智能合约执行的成本 85
4.6 实验一:以太坊环境开发与Truffle的使用方法 85
4.7 实验二:以太坊智能合约调用与交互 91
4.7 本章小结 97
参考文献 99
第5章 Hyperledger Fabric 100
5.1 Hyperledger Fabric整体概述 100
5.1.1 Hyperledger Fabric简介 100
5.1.2 Hyperledger Fabric网络架构 101
5.1.3 Hyperledger Fabric系统架构 102
5.1.4 Hyperledger Fabric交易执行流程 104
5.2 Hyperledger Fabric共识算法 108
5.2.1 Hyperledger Fabric中Raft实现 108
5.2.2 Hyperledger Fabric中PBFT实现 111
5.3 Hyperledger Fabric数据结构与数据存储方法 113
5.4 实验一:Hyperledger Fabric 环境搭建 115
5.5 实验二:Hyperledger Fabric链码开发 119
5.6 本章小结 123
参考文献 125
第6章 基于区块链的农产品溯源平台 126
6.1 案例简介 126
6.2 需求分析 126
6.3 案例设计 127
6.3.1 角色划分 127
6.3.2 平台交互逻辑 128
6.4 环境搭建 128
6.4.1 开发环境准备 129
6.4.2 区块链环境准备 129
6.5 案例实现 133
6.5.1 系统框架介绍 133
6.5.2 数据库设计说明 133
6.5.3 智能合约设计、部署和调用 135
6.5.4 主要业务实现 139
第7章 基于目录链的数据共享交换平台 145
7.1 案例简介 145
7.2 需求分析 145
7.3 案例设计 146
7.3.1 目录拥有方 146
7.3.2 目录使用方 147
7.3.3 平台管理方 148
7.3.4 平台交互逻辑 149
7.4 环境搭建 150
7.4.1 开发环境准备 150
7.4.2 长安链搭建 154
7.5 案例实现 161
7.5.1 项目初始化 161
7.5.2 智能合约设计与部署 163
7.5.3 长安链API调用 168
7.5.4 主要业务实现 171