区块链国产化实践指南 基于Fabric 2.0
书籍作者:王雅震 |
ISBN:9787115580375 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:5967 |
创建日期:2023-03-28 |
发布日期:2023-03-28 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
本书以Hyperledger Fabric 2.0为蓝本,由浅入深地剖析底层源码,系统讲解Fabric 2.0的技术框架、各个模块实现以及背后所蕴含的技术思想,并结合区块链国产化的当前发展,分析Fabric技术的国产化实践。本书主要分为三个部分,第一部分(第1~12章)介绍区块链和Fabric技术相关概念、Fabric 2.0底层源码;第二部分(第13章)讲述如何部署Fabric 2.0,包括使用Kubernetes进行部署;第三部分(第14~17章)融合自主可控技术国产化趋势,结合“5G+物联网”等区块链国内应用场景,通过实际应用分析Fabric技术的国产化实践。
无论是对区块链感兴趣,想要入门Fabric技术的新手,还是初涉Fabric技术,需要通过源码深入理解并使用该技术的区块链行业从业者,抑或是对区块链国产化实践有需求,需要实践案例参考的区块链国产化践行者,都能从本书中获益。
作者简介
王雅震,目前就职于北京微芯区块链与边缘计算研究院,任区块链高级开发工程师,从事区块链硬件加速和隐私计算相关的研发工作,具有8年研发经验。
编辑推荐
自区块链上升为国家战略,我国各地、各部门着力于推动区块链技术和产业的创新发展,在新的技术革新和产业变革中积极应用区块链技术,不断完善区块链技术标准和产业发展规划。本书特点:
1.从浅入深的系统化讲解,适合从初级到高级相关技术人员。
2.深度剖析源码,使读者知其然,更知其所以然,轻松地进阶学习Hyperledger Fabric技术,克服学习的难点。
3.从理论到实践,以Hyperledger Fabric 2.0为蓝本,结合自主可控技术国产化和万物互联的行业热点,以实际项目示例,扩展读者对Hyperledger Fabric技术的行业认知。
目录
第 1章 Fabric概述1
1.1 Fabric核心概念1
1.2 Fabric经典网络架构3
1.3 Fabric经典交易流程4
1.4 Fabric项目源码目录结构5
第 2章 Fabric中的配置7
2.1 配置的形式7
2.2 网络配置9
2.3 应用通道配置10
2.4 peer节点配置13
2.5 orderer节点配置16
2.6 MSP配置17
第3章 成员服务提供者(MSP)21
3.1 MSP的类型和关联21
3.2 本地MSP24
3.2.1 MSP的初始化25
3.2.2 MSP的使用28
3.3 多通道下的MSP管理者30
第4章 加密服务提供者(BCCSP)32
4.1 BCCSP初始化33
4.1.1 BCCSP的条件编译33
4.1.2 默认类型SWBCCSP33
4.1.3 公钥加密标准类型PKCS11BCCSP34
4.2 BCCSP的使用36
4.2.1 签名方法36
4.2.2 验签方法37
第5章 身份对象38
5.1 身份对象的初始化38
5.1.1 公开身份对象38
5.1.2 签名身份对象39
5.1.3 序列化身份对象40
5.2 身份对象的使用40
5.2.1 公开身份的使用40
5.2.2 签名身份的使用41
5.2.3 序列化身份的使用41
第6章 策略43
6.1 MSP主体43
6.2 策略的类型44
6.2.1 签名策略45
6.2.2 隐式元策略46
6.3 策略对象48
6.4 签名策略对象48
6.4.1 签名策略分析器48
6.4.2 签名策略评估员49
6.4.3 身份反序列化工具50
6.4.4 接口实现51
6.5 隐式元策略对象51
6.5.1 隐式元策略分析器51
6.5.2 接口实现51
6.6 策略管理员52
6.7 策略检查器53
6.8 策略的层级54
6.9 策略的使用55
6.9.1 通道策略55
6.9.2 背书策略56
6.9.3 ACL策略58
第7章 账本60
7.1 账本的配置60
7.2 账本的结构61
7.3 区块链数据结构62
7.4 私有数据结构64
7.5 账本对象的层级66
7.6 账本数据的存储流程67
7.7 块存储对象70
7.7.1 状态数据库70
7.7.2 blockfile的管理71
7.7.3 简化块文件存储77
7.8 私有数据存储对象77
7.9 账本存储对象81
7.10 节点账本对象和账本管理者对象82
7.10.1 交易管理工具83
7.10.2 历史状态数据库96
7.10.3 账本初始化工具97
7.10.4 节点账本对象99
7.10.5 节点账本管理对象104
第8章 通道106
8.1 通道的配置107
8.2 系统通道的启动109
8.3 应用通道的启动112
8.4 加入应用通道118
第9章 通道服务124
9.1 基础gRPC网络通信服务124
9.1.1 Fabric对gRPC的封装124
9.1.2 服务通信功能125
9.2 背书服务endorse127
9.2.1 服务功能和原型定义127
9.2.2 服务流程128
9.3 原子广播服务AtomicBroadcast136
9.3.1 服务功能和原型定义136
9.3.2 服务流程138
9.4 共识排序服务etcdraft145
9.4.1 etcdraft共识网络的拓扑结构150
9.4.2 etcdraft共识网络的配置和启动150
9.4.3 etcdraft共识网络的服务流程156
9.5 散播服务gossip161
9.5.1 服务功能和原型定义162
9.5.2 服务的配置和启动163
9.5.3 服务流程169
9.6 发现服务discovery177
9.6.1 服务配置和原型定义177
9.6.2 服务流程178
9.7 操作服务operation180
9.7.1 服务配置和原型定义182
9.7.2 服务流程182
第 10章 通道配置更新和交易验证184
10.1 通道配置更新流程184
10.2 交易验证流程192
10.2.1 TLS连接验证192
10.2.2 身份认证195
10.2.3 多版本并发控制验证203
10.2.4 版本能力验证204
第 11章 Fabric区块链网络核心节点207
11.1 peer节点207
11.1.1 peer程序的命令结构207
11.1.2 peer节点的启动过程211
11.2 orderer节点212
11.2.1 orderer程序的命令结构213
11.2.2 orderer节点的启动过程213
11.3 第三方节点215
11.3.1 ZooKeeper、Kafka节点和共识排序服务215
11.3.2 CouchDB节点与状态数据库217
第 12章 链码生命周期管理219
12.1 系统链码220
12.1.1 系统链码的类型和功能220
12.1.2 系统链码的初始化220
12.2 应用链码225
12.2.1 应用链码与系统链码的关系225
12.2.2 应用链码与容器的关系225
12.2.3 应用链码的安装交易过程229
12.2.4 应用链码的实例化交易过程237
12.2.5 应用链码的升级交易过程246
12.2.6 应用链码作为外部服务246
第 13章 Fabric区块链网络部署253
13.1 Fabric SDK253
13.1.1 Fabric SDK的分类253
13.1.2 Fabric SDK在Fabric区块链网络中的角色253
13.2 Fabric镜像254
13.2.1 Fabric区块链网络中的核心镜像254
13.2.2 获取Fabric核心镜像255
13.3 Fabric的编译255
13.3.1 编译工程文件Makefile255
13.3.2 编译Fabric项目工程256
13.4 官方示例fabric-samples257
13.4.1 fabric-samples的结构257
13.4.2 部署first-network258
13.4.3 扩展first-network262
13.4.4 以Kubernetes为容器,部署first-network262
第 14章 国内区块链技术的发展270
14.1 区块链技术应用发展趋势浅析270
14.2 区块链技术与网络信息安全273
14.3 区块链技术与自主可控276
14.4 Fabric的发展与自主可控278
第 15章 Fabric的国产化之路280
15.1 超级账本社区与中国的桥梁280
15.2 加解密算法领域的国产化实践280
15.2.1 应用国密算法的重要性280
15.2.2 Fabric应用国密算法的难点和方向281
15.2.3 Fabric国密改造实践283
15.3 性能优化领域的国产化实践298
15.3.1 Fabric性能模型分析298
15.3.2 已做的性能优化301
15.3.3 打造高性能交易数据模型302
15.3.4 性能优化的方向性实践303
第 16章 BaaS平台的应用实践313
16.1 BaaS平台的特性与应用场景313
16.2 BaaS平台架构设计实践318
16.3 BaaS平台开发实践320
16.3.1 部署负载均衡层321
16.3.2 接口层323
16.3.3 资源编排层324
16.3.4 执行层327
16.3.5 消息队列328
第 17章 当Fabric遇上树莓派331
17.1 区块链与物联网发展的融合331
17.2 树莓派参与的Fabric区块链网络架构333
17.3 搭建树莓派参与的Fabric开发环境336
17.4 部署树莓派参与的Fabric区块链网络 339
17.5 Fabric+物联网的应用场景341