《深度探索区块链》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张增骏,董宁,朱轩彤,陈剑雄著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111589329
  • 页数:308 页
图书介绍:

第一篇 准备篇 2

第1章 区块链概述 2

1.1区块链的前世今生 2

1.1.1区块链的历史起源——比特币 2

1.1.2欢迎来到区块链的世界 3

1.1.3区块链演进趋势 4

1.2区块链概念 5

1.2.1区块链本质 6

1.2.2区块链工作原理 6

1.2.3区块链技术特点 7

1.2.4区块链层次模型 8

1.2.5区块链共识算法 8

1.2.6区块链并不一定去中心化 9

1.3区块链技术平台 10

1.3.1比特币 10

1.3.2以太坊 11

1.3.3瑞波 13

1.3.4区块链商用平台:超级账本 13

1.3.5区块链技术平台比较 15

1.4区块链的商用之道 15

1.4.1区块链的2.0时代:商用区块链 15

1.4.2超级账本:商用区块链的“第五元素” 17

1.4.3区块链的商业应用场景 17

1.5本章小结 18

第2章 超级账本初体验 19

2.1基础环境安装 19

2.1.1 Docker的安装和使用 19

2.1.2 Docker Compose的安装和使用 21

2.1.3下载超级账本源代码 24

2.2超级账本部署调用 24

2.2.1下载Docker镜像文件 24

2.2.2部署超级账本网络 25

2.2.3链码调用和查询 26

2.2.4常见错误 27

2.3节点的配置参数传递规则 29

2.4本章小结 31

第二篇 核心篇 34

第3章 超级账本的系统架构 34

3.1系统逻辑架构 35

3.2网络节点架构 37

3.3典型交易流程 39

3.3.1创建交易提案并发送给背书节点 39

3.3.2背书节点模拟交易并生成背书签名 41

3.3.3收集交易的背书 42

3.3.4构造交易请求并发送给排序服务节点 43

3.3.5排序服务节点对交易进行排序并生成区块 45

3.3.6排序服务节点以广播给组织的主节点 45

3.3.7记账节点验证区块内容并写入区块 45

3.3.8在组织内部同步最新的区块 49

3.4消息协议结构 49

3.4.1信封消息结构 49

3.4.2配置管理结构 51

3.4.3背书流程结构 52

3.5策略管理和访问控制 56

3.5.1策略定义及其类型 56

3.5.2交易背书策略 57

3.5.3链码实例化策略 60

3.5.4通道管理策略 61

3.6本章小结 63

第4章 基于Gossip的P2P数据分发 64

4.1概述 64

4.2超级账本中的Gossip协议 65

4.3成员认证及身份管理 67

4.4节点启动及成员管理 67

4.5主节点选举过程 68

4.6基于反熵的状态同步 69

4.7数据传播过程 70

4.8多通道的支持 70

4.9消息的验证策略 71

4.10消息的多路分用及分区 73

4.11和Gossip相关的配置参数 76

4.12本章小结 77

第5章 分布式账本存储 78

5.1概述 78

5.2读写集 79

5.2.1交易模拟和读写集 79

5.2.2交易验证和世界状态更新 80

5.2.3模拟和验证示例 80

5.3账本编号 81

5.4账本数据 81

5.4.1账本数据存储 82

5.4.2账本数据读取 83

5.4.3交易模拟执行 84

5.5区块索引 84

5.5.1文件位置指针 85

5.5.2索引的同步过程 86

5.6状态数据 87

5.6.1 LevelDB 88

5.6.2 CouchDB 89

5.6.3基于状态数据的区块验证 91

5.7历史数据 92

5.8数据恢复 92

5.9本章小结 93

第6章 集成共识机制的排序服务 94

6.1概述 94

6.1.1共识算法的类型 95

6.1.2 Hyperledger Fabric 1.0的共识机制 96

6.2实现数据隔离的多通道 97

6.2.1排序服务的初始化 99

6.2.2通道的创建 101

6.2.3通道的更新 105

6.2.4通道的加入 107

6.2.5通道的查询 107

6.3可插拔的排序服务 108

6.3.1排序服务接口 108

6.3.2基于单进程的排序服务 110

6.3.3基于Kafka的排序服务 110

6.3.4链消息过滤器 122

6.4本章小结 124

第7章 实现数据隔离的多链及多通道 125

7.1数据存储对多链的支持 126

7.1.1账本数据 126

7.1.2索引数据 126

7.1.3状态数据 127

7.1.4历史数据 127

7.2链码对多链的支持 128

7.2.1链码的生命周期管理 128

7.2.2链码和背书节点的通信 129

7.2.3链码的部署和调用 130

7.3多通道对多链的支持 131

7.4命令行和SDK对多链的支持 132

7.5关于系统链 132

7.6本章小结 132

第8章 基于数字证书的成员管理服务 133

8.1实现成员管理的MSP 133

8.1.1 MSP成员的验证 133

8.1.2 MSP的目录结构 134

8.1.3 MSP的配置最佳实践 140

8.2颁发数字证书的Fabric CA 142

8.2.1概述 142

8.2.2 Fabric CA服务端的安装部署 143

8.2.3 Fabric CA服务端的操作使用 148

8.3本章小结 158

第9章 支持多种语言的智能合约 159

9.1概述 160

9.2链码的生命周期管理 160

9.2.1链码的生命周期 160

9.2.2应用程序和链码的交互流程 164

9.2.3背书节点接收应用程序的请求处理 165

9.2.4采用上下文实现交易的模拟执行 166

9.2.5链码消息的数据分发 166

9.2.6链码运行环境的管理 168

9.3内置的系统链码 172

9.3.1生命周期管理系统链码 173

9.3.2配置管理系统链码 180

9.3.3查询管理系统链码 182

9.3.4交易背书系统链码 182

9.3.5交易验证系统链码 184

9.4链码的相互调用 184

9.5背书节点和链码的有限状态机 185

9.5.1背书节点和链码之间的事件 188

9.5.2背书节点的有限状态机 189

9.5.3链码的有限状态机 190

9.6本章小结 192

第三篇 应用篇 194

第10章 超级账本的应用开发模型 194

10.1应用开发模型 194

10.2应用程序开发的SDK 194

10.2.1概述 195

10.2.2 SDK规范 195

10.2.3应用场景介绍 204

10.3链码的开发和调试 210

10.3.1链码需要实现的接口 210

10.3.2链码的SDK提供给链码的接口 212

10.3.3链码开发的注意事项 214

10.3.4链码的调试 215

10.4本章小结 216

第11章 从零开始部署超级账本网络 217

11.1准备超级账本运行环境 217

11.1.1超级账本运行环境 217

11.1.2编译超级账本镜像文件 224

11.2快速构建超级账本网络 227

11.2.1下载BYFN的代码 227

11.2.2 BYFN脚本介绍 227

11.2.3生成网络初始化配置 228

11.2.4启动超级账本网络 230

11.2.5关闭超级账本网络 235

11.3逐步建立超级账本网络 236

11.3.1生成MSP证书 236

11.3.2生成排序服务创世区块 236

11.3.3生成通道配置创世区块 236

11.3.4定义组织锚节点 237

11.3.5启动超级账本网络 237

11.3.6创建并加入通道 238

11.3.7安装和实例化链码 240

11.3.8执行链码查询 243

11.3.9执行链码调用 244

11.4本章小结 245

第12章 超级账本的应用开发实例 246

12.1票据背书场景介绍 246

12.1.1票据关系人 247

12.1.2票据行为分类 247

12.1.3基于区块链技术的数字票据 249

12.2票据背书需求分析 250

12.3票据背书架构设计 251

12.3.1票据背书的分层架构 252

12.3.2票据背书的数据模型 253

12.4票据背书实现 254

12.4.1应用程序实现 254

12.4.2链码功能实现 275

12.5票据背书快速部署 287

12.6票据背书展示 288

12.6.1系统登录 288

12.6.2发布票据 288

12.6.3我的票据 289

12.6.4发起票据背书 289

12.6.5待签收票据列表 290

12.6.6签收票据背书 290

12.6.7拒收票据背书 291

12.7本章小结 292

附录A术语表 293

附录B超级账本的实用工具 297

参考文献 308