简介
区块链作为一项可以改变互联网底层基础设施服务的分布式账本技术,已经作为我国重点发展的战略技术,逐渐在我国各行业落地应用。在社会分工日益明细的趋势下,区块链的分布式技术可以在一定程度上解决因分工导致生产要素在协同、整合方面出现的问题,这也在另一方面提高了社会生产的效率,可以为我国的全面深化改革创新、传统产业改造升级、大国“智”造等,注入新的技术能量。也可以预见,区块链技术将对城市的发展和管理,以及我们的日常生活产生越来越大的影响。
区块链是一项较新的技术,各国发展区块链技术基本处于同一起跑线,在奔跑的过程中,首先要做到“自立自强”,实现自主可控。在国际竞争环境下,自主可控的重要性不言而喻。其中,区块链技术的国产化是实现自主可控的重要途径之一。
本书以主流开源区块链技术Hyperledger Fabric v2.0.0为研究对象,遵从的思路是在研究现有技术的基础上,对现有技术升级改造,使技术符合我国标准或主流需求,以实现国产化,进而达到自主可控的目的。全书共分为三部分。
第一部分,第1至12章,从源码层面深入刨析Hyperledger Fabric的实现。其中,第1章,从顶层视角,概述了Fabric相关的概念、架构,目的是让各位对Fabric有个初步的轮廓。第2章,讲述Fabric的配置。第3-5章是一个小单元,均与Fabric网络中的身份有关,按照对象包含与被包含的关系,从上层到下层,依次讲述了MSP、BCCSP、Identity模块的实现。策略的实现依赖于身份,在理解身份的基础上,第6章,叙述了策略模块的实现。第7章,讲述了账本模块的实现。可以说,我们讲述第3-7章的各个模块,是为第8-11章叙述通道、通道服务、节点的内容打基础。第12章,专门讲述了链码的生命周期管理。
第二部分,第13章,讲述如何部署应用Hyperledger Fabric,包括使用k8s进行部署。
第三部分,第14至17章,叙述了区块链技术在国内的发展和对Hyperledger Fabric进行国产化改造的实践,包括4个方向:国密改造、性能改造、BaaS服务平台和与物联网相结合。这些都是实践性地尝试,以抛砖引玉。国密改造、BaaS服务平台的实现,主要以代码的形式呈现。性能改造的实现,主要以详述性能优化方案的形式呈现。与物联网相结合,则主要以实际部署操作的形式呈现。
全书目录内容
内容节选
第4章 加密服务提供者(BCCSP)
第7章 账 本
第9章 背书服务
第12章 链码生命周期管理
第15章 Fabric国密改造实践
第15章 Fabric性能优化实践
第16章 BaaS服务平台的应用实践
第17章 搭建树莓派参与的Fabric区块链系统
大咖推荐
目录详情
第1章 Fabric2.0概述
1.1 Fabric核心概念对象
1.2 Fabric经典网络架构
1.3 Fabric经典交易流程
1.4 Fabric源码目录结构
第2章 Fabric中的配置
2.1 配置的形式
2.2 网络配置
2.3 应用通道配置
2.4 peer节点配置
2.5 orderer节点配置
2.6 成员服务提供者MSP配置
第3章 成员服务提供者MSP
3.1 MSP的类型和关联
3.2 本地MSP
3.2.1 加密服务类型MSP的初始化
3.2.2 加密服务类型MSP的使用
3.3 多通道下的MSP的管理
第4章 加密服务提供者BCCSP
4.1 BCCSP初始化
4.1.1 BCCSP的条件编译
4.1.2 默认类型swbccsp
4.1.3 公钥加密标准类型pkcs11bccsp
4.2 BCCSP的使用
4.2.1 签名方法
4.2.2 验签方法
第5章 身份对象
5.1 身份对象的初始化
5.1.1 公开身份对象
5.1.2 签名身份对象
5.1.3 序列化身份对象
5.2 身份对象的使用
5.2.1 公开身份的使用
5.2.2 签名身份的使用
5.2.3 序列化身份的使用
第6章 策略 35
6.1 MSP身份主体
6.2 策略的类型
6.2.1 签名策略
6.2.2 隐式元策略
6.3 策略对象
6.4 签名策略对象
6.4.1 签名策略分析器
6.4.2 签名策略评估员
6.4.3 身份反序列化工具
6.4.4 接口实现
6.5 隐式元策略对象
6.5.1 隐式元策略分析器
6.5.2 接口实现
6.6 策略管理员
6.7 策略检查器
6.8 策略的层级
6.9 策略的使用
6.9.1 通道策略配置
6.9.2 背书策略
6.9.3 权限控制列表ACL
第7章 账 本
7.1 账本的配置
7.2 账本的结构
7.3 区块链数据结构
7.4 私有数据结构
7.5 账本对象的层级
7.6 账本数据存储流程
7.7 块存储对象
7.7.1 goleveldb状态数据库
7.7.2 块文件blockfile的管理
7.7.3 简化块文件存储
7.8 私有数据存储对象
7.9 账本存储对象
7.10 节点账本和账本管理者对象
7.10.1 交易管理工具
7.10.2 历史状态数据库
7.10.3 账本初始化工具
7.10.4 节点账本对象
7.10.5 节点账本管理对象
第8章 通 道
8.1 通道的配置
8.2 系统通道的启动
8.3 应用通道的启动
8.4 加入应用通道
第9章 通道服务
9.1 基础gRPC网络通信服务
9.1.1 Fabric对gRPC的封装
9.1.2 服务通信功能
9.2 背书服务endorse
9.2.1 服务功能和原型定义
9.2.2 服务流程
9.3 原子广播服务AtomicBroadcast
9.3.1 服务功能和原型定义
9.3.2 服务流程
9.4 共识排序服务etcdraft
9.4.1 etcdraft共识集群网络拓扑结构
9.4.2 etcdraft共识集群配置和启动
9.4.3 etcdraft共识集群服务流程
9.5 散播服务gossip
9.5.1 服务功能和原型定义
9.5.2 服务的配置和启动
9.5.3 服务流程
9.6 发现服务discovery
9.6.1 服务配置和原型定义
9.6.2 服务流程
9.7 操作服务operation
9.7.1 服务配置和原型定义
9.7.2 服务流程
第10章 通道配置更新和交易验证
10.1 通道配置更新流程
10.2 交易验证流程
10.2.1 TLS安全连接验证
10.2.2 身份验证
10.2.3 多版本并发验证
10.2.4 版本能力验证
第11章 Fabric网络核心节点
11.1 peer节点
11.1.1 peer程序的命令结构
11.1.2 peer节点的启动过程
11.2 orderer节点
11.2.1 orderer程序的命令结构
11.2.2 orderer节点的启动过程
11.3 第三方服务节点
11.3.1 zookeeper、kafka节点和共识排序服务
11.3.2 CouchDB节点与状态数据库
第12章 链码生命周期管理
12.1 系统链码
12.1.1 系统链码的类型和功能
12.1.2 系统链码的初始化
12.2 应用链码
12.2.1 应用链码与系统链码的关系
12.2.2 应用链码与容器的关系
12.2.3 应用链码的安装交易过程
12.2.4 应用链码的实例化交易过程
12.2.5 应用链码的升级交易过程
12.2.6 应用链码作为外部服务
第13章 Fabric区块链网络部署
13.1 Fabric SDK
13.1.1 SDK的分类
13.1.2 SDK在Fabric区块链网络中的角色
13.2 Fabric镜像
13.2.1 Fabric区块链网络中的核心镜像
13.2.2 获取Fabric核心镜像
13.3 Fabric的编译
13.3.1 编译工程文件Makefile
13.3.2 编译Fabric项目工程
13.4 官网实例fabric-sample
13.4.1 fabric-sample的结构
13.4.2 部署first-network
13.4.3 扩展first-network
13.4.4 以k8s为器,部署first-network
第14章 国内区块链技术的发展
14.1 区块链技术应用发展趋势浅析
14.2 区块链技术与网络信息安全
14.3 区块链技术与自主可控
14.4 Hyperledger Fabric的发展与自主可控
第15章 Hyperledger Fabric的国产化之路
15.1 超级账本社区与中国的桥梁
15.2 加解密算法领域的国产化实践
15.3 性能优化领域的国产化实践
第16章 BaaS服务平台的应用实践
16.1 BaaS服务平台的特性与应用场景
16.2 BaaS服务平台架构设计实践
16.3 BaaS服务平台开发实践
16.3.1 部署负载均衡层
16.3.2 Restful接口服务层
16.3.3 资源编排服务层
16.3.4 任务执行层
16.3.5 消息队列