《区块链网络构建和应用:基于超级账本Fabric的商业实践》从一个区块链商业项目的可研、设计、落地建设和运维的角度去理解、分析和解决问题,囊括了区块链入门、具体开源社区版本Fabric技术架构及核心原理、网络及存储方案、行业实践指南以及发展趋势等方面的内容
目录
- 推荐序
- 前言
- 第1章区块链基础 1
- 1.1区块链常用名词解释 2
- 1.2区块链的发展历程 4
- 1.3区块链概念 7
- 1.3.1区块链是什么 7
- 1.3.2区块链的特性 7
- 1.3.3区块链分类 8
- 1.3.4区块链构建信任 9
- 1.3.5区块链的社会价值 10
- 1.4区块链核心技术 10
- 1.4.1综述 10
- 1.4.2区块链结构 15
- 1.4.3智能合约 17
- 1.4.4跨链技术 20
- 1.4.5ILP详解及应用 26
- 1.5热门区块链平台对比分析 31
- 1.5.1分析背景 31
- 1.5.2平台简介 31
- 1.5.3类别对比 33
- 1.5.4共识机制对比 34
- 1.5.5性能对比 35
- 1.5.6隐私保护对比 36
- 1.5.7智能合约对比 37
- 1.5.8技术路线对比 37
- 1.5.9经济模型对比 38
- 第2章分布式系统技术 41
- 2.1一致性问题 41
- 2.1.1问题挑战 42
- 2.1.2一致性的要求 42
- 2.1.3一致性模型 43
- 2.2一致性的共识算法 45
- 2.2.1问题挑战 45
- 2.2.2常见算法 45
- 2.2.3理论界限 48
- 2.3FlP不可能原理 49
- 2.4CAP原理 49
- 2.4.1CAP原理定义 49
- 2.4.2应用场景 50
- 2.5ACID原则 51
- 2.6可靠性指标 52
- 2.7小结 53
- 第3章密码学安全技术 54
- 3.1Hash算法与数字摘要 54
- 3.1.1Hash定义 55
- 3.1.2常见算法 55
- 3.1.3性能 56
- 3.1.4数字摘要 56
- 3.1.5Hash攻击与防护 56
- 3.1.6区块链中的Hash应用 57
- 3.2加密算法 57
- 3.2.1加解密系统基本组成 57
- 3.2.2对称加密算法 58
- 3.2.3非对称加密算法 59
- 3.2.4选择明文攻击 60
- 3.2.5混合加密机制 60
- 3.2.6离散对数与DH密钥交换协议 61
- 3.2.7区块链加密技术 62
- 3.3消息认证码与数字签名 64
- 3.3.1消息认证码 64
- 3.3.2数字签名 64
- 3.3.3安全性 65
- 3.3.4区块链数字签名 65
- 3.4数字证书 66
- 3.4.1X.509证书规范 66
- 3.4.2证书格式 67
- 3.4.3证书信任链 68
- 3.5PKI体系 69
- 3.5.1PKI基本组件 69
- 3.5.2证书的签发 69
- 3.5.3证书的撤销 71
- 3.6Merkle树结构 71
- 3.6.1快速对比大量数据 72
- 3.6.2快速定位修改 72
- 3.6.3零知识证明 72
- 3.7布隆过滤器 72
- 3.7.1基于Hash值的快速查找 73
- 3.7.2更高效的布隆过滤器 73
- 3.8同态加密 73
- 3.8.1定义 73
- 3.8.2问题与挑战 74
- 3.8.3函数加密 75
- 3.9其他问题 75
- 3.9.1零知识证明概述 75
- 3.9.2量子密码学 75
- 3.9.3社交工程学 76
- 3.9.4安全多方计算 76
- 3.10小结 76
- 第4章构建Fabric区块链网络 78
- 4.1超级账本Fabric简介 78
- 4.2Fabric特性和架构设计 80
- 4.2.1Fabric特性 80
- 4.2.2Fabric系统架构 82
- 4.3Fabric部署 85
- 4.3.1单节点部署 85
- 4.3.2多节点区块链网络部署 90
- 4.4Fabric开发 97
- 4.4.1ChainCode开发 97
- 4.4.2应用开发示例 117
- 4.5Fabric方案设计 125
- 4.5.1数据库选用方案 125
- 4.5.2私钥证书管理方案 127
- 4.5.3数据上链方案 132
- 4.5.4背书验证方案 133
- 第5章Fabric源代码解析 135
- 5.1概述 135
- 5.1.1源码中的简拼 136
- 5.1.2源码中的惯例 137
- 5.1.3源码目录的基本结构 138
- 5.2peer命令结构 138
- 5.2.1peer目录结构 138
- 5.2.2第三方包 139
- 5.2.3peer命令结构解析 140
- 5.2.4子命令结构解析 140
- 5.3日志系统 142
- 5.3.1go-logging简介 142
- 5.3.2flogging 142
- 5.4配置系统 143
- 5.4.1viper简介 143
- 5.4.2viper搜索路径和文件 144
- 5.4.3InitViper 144
- 5.4.4安全文件配置 145
- 5.4.5命令选项配置 145
- 5.4.6环境变量配置 146
- 5.5账本 146
- 5.5.1账本简介 146
- 5.5.2数据存储服务对象 149
- 5.5.3四类账本 151
- 5.6加密服务 171
- 5.6.1BCCSP的接口和选项 172
- 5.6.2SW实现方式 174
- 5.6.3PKCS11实现方式 177
- 5.6.4BCCSP工厂 179
- 5.7chaincode 180
- 5.7.1chaincode元数据 180
- 5.7.2chaincode元工具 184
- 5.7.3SCC的注册和部署 185
- 5.7.4ACC的安装和部署 190
- 5.8Orderer服务 199
- 5.8.1简介 199
- 5.8.2模块 200
- 5.8.3配置 201
- 5.8.4模块初始化 202
- 5.8.5建立连接 204
- 5.8.6Broadcast 205
- 5.8.7Orderer 206
- 5.8.8Deliver 209
- 5.8.9orderer共识机制 210
- 5.9channel 213
- 5.9.1目录 213
- 5.9.2配置文件 214
- 5.9.3命令 215
- 第6章区块链政务数据共享及服务 220
- 6.1背景 220
- 6.2现有系统面临的挑战 221
- 6.3业务需求 221
- 6.4系统总体架构设计 222
- 6.4.1系统架构设计 222
- 6.4.2逻辑架构视图 224
- 6.4.3逻辑组网示例 225
- 6.4.4物理组网示例 226
- 6.5证照办件方案描述 227
- 6.5.1场景描述 227
- 6.5.2办件消息发布 228
- 6.5.3可订阅消息频道查询 229
- 6.5.4办件消息订阅 229
- 6.6文件共享方案 230
- 6.6.1场景描述 230
- 6.6.2云存储方案 230
-
6.6