发表于2024-11-23
超级账本执行董事Brian Behlendorf领衔推荐,资深一线区块链专家联合撰写,是深度了解区块链和Hyperledger技术的扛鼎之作
深度剖析区块链框架Hyperledger Fabric 1.0的架构、核心技术、部署与应用开发
本书由超级账本执行董事Brian Behlendorf领衔推荐,区块链一线落地实践团队、Hyperleger会员智链骨干团对撰写。深入讲解Hyperledger Fabric 1.0的架构、执行逻辑、核心功能实现、从零部署,并以票据案例为例,讲解具体开发实践,穿插开发所需的*佳实践和遇到的问题解决。
本书分三篇,共12章内容。
准备篇(第1~2章),高度浓缩、信息量大的第1章,揭示区块链的价值、核心理念、演进、主流平台、商用场景。第2章进入实践环节,涵盖安装、部署与调试,让读者初步直观感受区块链,培养学习和实践的兴趣。
核心篇(第3~9章),先从Fabric1.0架构开始讲解,方便读者了解整体结构与运作逻辑,带着问题与轮廓去阅读,事半功倍。第4~9章讲解内部实现机制,该篇并不点到为止,而是深入到底层实现原理层面,让读者透彻了解Fabric的设计与实现细节,该篇是理解区块链设计与实现的关键所在,也是日后做好应用开发的基础,有了问题可以自己动手解决。
涵盖以下几个方面:
区块链架构、组件关系与运行机制总览;
Gossip协议与P2P数据分发机制;
分布式账本数据相关的存储技术;
共识机制及其可插拔的架构设计;
如何实现数据隔离的多链与多通道;
基于数字证书的成员管理服务实现与使用;
智能合约实现、交互,以及有限状态机。
应用篇(10~12章),从安装部署、开发模型和应用开发的角度,以一个票据背书的案例讲解如何基于Hyperledger Fabric 1.0开发区块链应用,以完整地掌握区块链应用开发,动手实践具体的项目。
张增骏 智链ChainNova技术总监和架构师。十余年软件开发和项目管理经验,设计并实现了多个区块链项目,带领团队获得“2017可信区块链峰会”唯*非金融类*佳案例奖。中国信通院可信区块链专家委员会成员,参与讨论并推动可信区块链测试标准的制定,多次受邀到高校与企业分享与推动区块链落地工作。曾任绿盟科技PDT经理,带领团队研发的远程安全评估系统(RSAS)连续多年国内排名*一,广泛应用于多个重点领域。目前关注区块链、网络安全、大数据、云计算和人工智能等领域。
董宁 智链 ChainNova科技公司CEO,北京大学(天津滨海)新一代信息技术研究院金融科技研究中心主任。曾任IBM大中华区IT经济学负责人,参与过数家商业银行和金融机构核心系统的设计建设,具有多年金融行业的商业洞察。毕业于北京大学信息科学技术学院智能科学系。
朱轩彤 清华大学硕士,中国社会科学院数量经济与技术经济研究所博士生,专注于技术经济研究。在政府及国际组织有丰富的工作经验。
陈剑雄 智链ChainNova首席科学家,原金山云技术VP,中科院计算与通信工程学院硕士。多年大规模集群系统研发经验,参与多个区块链核心系统设计和应用。
本书集合了多方共同的心血,由Linux基金会会员、智链ChainNova的一线技术团队主笔撰写,他们不但是超级账本中国社区的主要贡献者,还长期奋战在市场前线,对商业应用环境有相当的了解,相信从书中内容的翔实程度可见一斑。
——Brian Behlendorf,超级账本执行董事
这是我迄今为止所见关于超级账本技术和应用非常有参考意义的技术书籍,值得向广大区块链的研究者与开发同行们推荐。
——陈钟,北京大学信息科学技术学院教授、北京大学金融信息化研究中心主任
本书的目的不是蜻蜓点水地介绍一些Hyperledger入门知识,而是通过阅读本书能让读者达到一定的水平,甚至可以加入区块链产业应用中来,为区块链的发展和实践落地添砖加瓦。
——何宝宏,中国信息通信研究院云计算与大数据研究所所长
本书作者均来自超级账本会员企业骨干团队,拥有多年一线实践经验,这让本书不仅内容翔实,更具备很强的可操作性。作为中国技术工作组的核心成员,智链的成员为超级账本项目的国际化和技术推广都做出了重要贡献。无论是想了解先进的企业级区块链技术,还是进行应用实践参考,本书都值得一读。
——杨保华,超级账本全球技术委员会委员,中国技术工作组主席
董宁牵头编写这本《深度探索区块链:Hyperledger技术与应用》系统阐述了超级账本的技术原理、架构、核心组件及应用开发实例,是学习超级账本底层技术和应用实例的优秀工具书,值得推荐。
——马小峰,苏州同济金融科技研究院院长、中国电子学会区块链专委会副主任委员
可以预见,不久的将来区块将成为数字社会的基础设施。作为富含IBM基因的超级账本资深参与者,作者对超级账本有着深刻的理解。本书从区块链的概述到超级账本的技术解读与操作,处处见功夫,是非常有价值的读本。
——孙贻滋,中国电子学会区块链专委会副主任委员兼秘书长
序一
序二
序三
前言
第一篇 准备篇
第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
第二篇 核心篇
第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
第三篇 应用篇
第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
Foreword序 一
作为Linux基金会托管下增长最快的项目,超级账本(Hyperledger)在过去的一年成长十分迅速。这主要归功于Linux基金会开放、公平的治理模式,就是让各种规模的组织、开发者社区和技术专家可以达成最高水准的合作,以公开、公平和结构化的方式进行迭代。我们珍视每一个贡献,也鼓励更多的组织和开发者加入其中。
2017年7月,超级账本(Hyperledger)迎来了Fabric 1.0版本的正式发布,这是首个可用于生产环境部署的商业级应用,它历经了上百个概念验证。截至发布时间,共有27个组织、159位开发者参与并作出贡献。而在之后的每一天,这个数字一直都在上升。
我也很欣喜地看到,自Fabric 1.0版本发布以来,越来越多的企业、组织或个人对此产生了浓厚的兴趣,他们通过各种渠道,想要一探Fabric的究竟。因此,本书的面世可谓恰逢其时。
书中深入浅出地讲解了Fabric的内部运行原理,并且详细解答了Fabric 0.6和Fabric 1.0版本的区别。更难得的是,关于如何搭建Fabric系统,以及如何基于Fabric做区块链应用的开发,书中都有清楚、详尽的步骤演示,易于理解,很适合作为Fabric初学者教材,帮助他们快速上手。
本书集合了多方共同的心血,由Linux基金会会员、智链ChainNova的一线技术团队主笔撰写,他们不仅是超级账本中国社区的主要贡献者,还长期奋战在市场前线,对商业应用环境有相当的了解,相信从书中内容的翔实程度可见一斑。
——Brian Behlendorf,超级账本执行董事
序 二Foreword
深度探索区块链:Hyperledger技术与应用 下载 mobi pdf epub txt 电子书 格式 2024
深度探索区块链:Hyperledger技术与应用 下载 mobi epub pdf 电子书好,一滴雨佛衣服9玉佛玉佛发芽佛牙
评分好书,专业正版,值得一看
评分非常棒的书,迫不及待的看完了,哈哈
评分这本书写的不适合初学者看 尤其是想通过这本书去实践区块链技术的人 很不推荐 后面写Fabric原理和实践的部分写得不好 如果只看这本书很难上手代码 建议直接去看fabric的官方教程 起码还能有点帮助 代码部分写得不详细 该细节的部分给你讲宏观 该整体的部分给你抠细节 前面的基础知识部分也一般 想讲的通俗易懂但是又加了很多好深的东西 名词解释也不是很及时 总之不推荐
评分利真的不错,妥妥的每次都写了100个字,这是第N次
评分此用户未填写评价内容
评分因为最近一直在看fabric,所以直接跳到6节,仔细看了下,发现好多处蹩脚的翻译,很cuo【第二声】【因为这章节大部分是翻译官网的文档来的,包括结构也是http://hyperledger-fabric.readthedocs.io/en/latest/blockchain.html,吐槽的仅仅是翻译,结构没毛病】至于部分的错别字这个倒是无所谓,但是一些关键数学符号这个你不展示好就有点过分啦
评分朋友推荐买的,期待有所提升
评分一直在京东买,不错的,送货速度很快,态度也好,东西也OK。分分钟收货的感觉
深度探索区块链:Hyperledger技术与应用 mobi epub pdf txt 电子书 格式下载 2024