首页>参考读物>计算机科学与技术>人工智能

区块链网络构建和应用:基于超级账本Fabric的商业实践
作者 : 陆平 张晗 张再军 田江磊 等编著
丛书名 : 区块链技术丛书
出版日期 : 2018-09-13
ISBN : 978-7-111-60911-7
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 350
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

从一个区块链商业项目的可研、设计、落地建设和运维的角度去理解、分析和解决问题,囊括了区块链入门、具体开源社区版本Fabric技术架构及核心原理、网络及存储方案、行业实践指南以及发展趋势等方面的内容

图书特色

涵盖Fabric基础技术和原理  Fabric技术与实践紧密结合
多角度阐述和分析十大经典案例 

图书前言

区块链技术首先在比特币上得到应用并受到广泛关注。目前区块链技术作为去中心化记账(Decentralized Ledger Technology,DLT)平台的核心技术,被认为在金融、政务、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。区块链技术自身尚处于快速发展的初级阶段,现有区块链系统在设计和实现中利用了分布式系统、密码学、博弈论、网络协议等诸多学科的知识,为学习原理和实践应用都带来了不小的挑战。区块链的概念已经完全超出了数字货币领域,在社会的各行各业都获得越来越多的关注。业界对区块链的技术报以极大的热情。
目前市面上有很多有关区块链的书籍,大多只对技术的起源、原理、发展、应用场景以及未来的趋势进行了介绍,往往仅停留在理论层面,缺少真正接地气的案例实践的支撑。
本书对精选的区块链案例实践进行剖析,让读者对区块链的了解不仅仅停留在理论层面,而是理论和实践相结合,透过现象看本质,最终形成读者自己对区块链的一个全新认识。
区块链领域涉及的技术很宽泛,发展速度也很快,多项技术是相辅相成的。本书在介绍区块链技术原理部分的同时,也将其关联的分布式技术、密码学技术、人工智能等介绍给读者。结合区块链的开源项目剖析和实践,引导读者自行搭建区块链网络,加深对区块链的理解。
在介绍区块链应用实践的时候,重点从工程的角度完整地描述一个区块链项目的背景、需求、项目方案和部署、项目的功能设计、接口设计、流程设计。并从项目运营优化的角度提出了智能合约的设计和可视化二次开发、项目的可视化运营和部署的方案。通过对不同领域的一些区块链典型案例的剖析,让读者从区块链技术到项目落地有一个全新的认识。
本书的最后一章研讨了区块链和大数据的关系、区块链和人工智能的关系、BCaaS、欧盟的“通用数据保护条例”(CDPR)对区块链的影响、区块链发展中面临的挑战,让读者对区块链有了更加全面的认识。
本书由8章组成。
第1章介绍了区块链基础,包含了区块链领域的基础概念术语、核心技术、热门区块链平台等内容。第2章对分布式系统技术进行了介绍,区块链首先是一个分布式系统,了解区块链离不开分布式系统技术。第3章介绍了密码学安全技术。公私钥密码算法是区块链系统的基石。区块链之所以被称为信任的机器,其中的密码安全技术是重要的一个环节。第4章以Fabric开源项目为基础,引导用户构建一个自己的区块链网络。第5章基于开源项目源码的分析,帮助用户深入了解区块链账本、共识算法、加密等核心技术的实现。第6章通过介绍区块链在政务服务数据共享及服务商的项目实践,让读者对区块链项目落地有深入的了解。第7章对区块链在各个行业的典型应用进行了介绍,让读者对区块链应用实践有更加全面的了解。第8章对区块链未来发展进行了展望,针对区块链与其他技术的融合、区块链技术发展中面临的挑战,从性能、安全等多维度进行了研讨。综合本书的内容,全书可分为理论和实践两部分,前3章注重理论,后5章注重实践,图文并茂,内容丰富,由浅入深,讲解全面,具有很强的借鉴性。
作者在区块链技术领域有多年的技术和应用实践经验。本书结合区块链最新技术趋势和作者的长期实践,对区块链技术提出系统的理解,对区块链项目实践提供了思路和建议。本书探索区块链概念的来龙去脉,剥茧抽丝,剖析关键技术原理,同时讲解实践应用。在区块链项目开发和落地的过程中,作者将累积的一些实践经验也通过本书一并分享出来,希望能推动区块链技术的早日成熟,出现更多的应用场景。
我们在编写过程中,通过网络搜索工具baidu或者google搜索和查阅了一些文章,并引用了部分文字,有些难以确定具体出处,无法一一列举。如读者发现未标明出处的引用,可以通过出版社告知作者,在本书的下个版本中会补充到参考文献中或做其他修订处理。在书中以及本书描述的产品中,出现的商标、产品名称、服务名称以及公司名称由各自的所有者拥有,本书内容不构成任何形式的承诺,除非适法要求,作者及出版社对本书所有内容不提供任何明示或暗示的保证。
在法律允许的范围内,本书作者及出版社在任何情况下都不对因使用本书相关内容而产生任何特殊的、附带的、间接的、继发性的损害承担责任,也不对任何利润、数据、商誉或预期的损失进行赔偿。
由于作者水平有限,书中难免存在一些错误和不足之处,敬请读者批评指正。非常感谢在百忙之中为本书作序的李挥教授,同时本书的撰写得到很多领导和同事的大力支持,在此一并表示谢意。

上架指导

计算机

封底文字

全书可分为理论篇和实践篇两大部分,前三章注重理论,后五章注重实践,图文并茂、内容丰富、由浅入深、讲解全面,具有很强的可借鉴性。
本书重点从工程的角度完整地讲述一个区块链项目的背景、需求、项目方案和部署,全面地阐述了一个项目的功能设计、接口设计、流程设计,并从项目运营优化的角度提出了智能合约的设计和可视化二次开发、项目的可视化运营和部署的方案。结合不同领域的区块链典型案例的剖析,读者可对区块链技术到项目落地有一个较全面的认识。
本书最后对区块链未来发展进行了展望,从性能、安全等多维度对区块链跟其他技术的融合、区块链技术发展中面临的挑战、欧盟的“通用数据保护条例”(GDPR),以及区块链技术的相互促进等方面,进行了深入探讨。

推荐序

区块链技术与比特币是“孪生姐妹”,今年是它们的10周年华诞。作为首个完全去中心化的公众链加密数字货币—比特币的底层技术是互联网诞生以来最大的一次技术革命,它将对人类社会产生全方位的冲击,包括人类经济、政治、社会的各个领域。
回顾一下互联网的发展所经历的若干阶段,从最初只是职业人士用于科研圈的文件信息交流网,到发明Web技术用于老百姓的电子商务及门户网站消费型网络,再后来由人人互联到人物或物物互联的万物互联物联网,近年正向价值制造和价值创造的生产型网络—工业互联网进化;可以看出网络技术确实成为人类最重要的社会生活和生产基础实施,但是到目前为止它们的一个共同特点是网络运营或管理模式都需要一个中心化的机构来管理运营,所以它们的重要共同特点都是中心控制的网络。
中心化的缺陷是它需要专门的中心控制管理中心所产生的成本;它使得行业的垄断骤然产生达到赢者通吃的地步;中心机构滥用了用户的数据或隐私信息。区块链技术正是构建去中心化不需要第三方的,很低成本或不需成本的信任关系,故是传递价值的互联网。
本书有广度也有深度,有全景理论介绍更有各个行业的应用案例。本书从区块链基础,通俗讲解区块链技术原理和网络构造,完整描述区块链的实际案例,有严谨的推导,有原创设计,也有对区块链的新的技术和挑战方面的研讨。作者从产业的角度,非常重视区块链技术的发展,并在行业标准制定、关键技术研究、产品研发、应用创新上投入了相当多的资源,成功研制开发出自主知识产权的区块链平台产品,并在政府、企业不同的领域进行了创新应用的研讨。
相信本书对有志从事区块链领域的研究和应用的入门者来说,是一本绝佳的入门书籍。即便是你有了一定的基础,对于相关领域的决策者、从业者、学术研究者来说,本书也是极具新意和实用价值的参考资料。

北京大学南燕区块链技术实验室
中国计算机学会CCF区块链专委会 李挥

图书目录

推荐序
前 言
第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.5 ILP详解及应用 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.3 F?lP不可能原理 49
2.4 CAP原理 49
2.4.1 CAP原理定义 49
2.4.2 应用场景 50
2.5 ACID原则 51
2.6 可靠性指标 52
2.7 小结 53
第3章 密码学安全技术 54
3.1 Hash算法与数字摘要 54
3.1.1 Hash定义 55
3.1.2 常见算法 55
3.1.3 性能 56
3.1.4 数字摘要 56
3.1.5 Hash攻击与防护 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.1 X.509证书规范 66
3.4.2 证书格式 67
3.4.3 证书信任链 68
3.5 PKI体系 69
3.5.1 PKI基本组件 69
3.5.2 证书的签发 69
3.5.3 证书的撤销 71
3.6 Merkle树结构 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.2 Fabric特性和架构设计 80
4.2.1 Fabric特性 80
4.2.2 Fabric系统架构 82
4.3 Fabric部署 85
4.3.1 单节点部署 85
4.3.2 多节点区块链网络部署 90
4.4 Fabric开发 97
4.4.1 ChainCode开发 97
4.4.2 应用开发示例 117
4.5 Fabric方案设计 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.2 peer命令结构 138
5.2.1 peer目录结构 138
5.2.2 第三方包 139
5.2.3 peer命令结构解析 140
5.2.4 子命令结构解析 140
5.3 日志系统 142
5.3.1 go-logging简介 142
5.3.2 f?logging 142
5.4 配置系统 143
5.4.1 viper简介 143
5.4.2 viper搜索路径和文件 144
5.4.3 InitViper 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.1 BCCSP的接口和选项 172
5.6.2 SW实现方式 174
5.6.3 PKCS11实现方式 177
5.6.4 BCCSP工厂 179
5.7 chaincode 180
5.7.1 chaincode元数据 180
5.7.2 chaincode元工具 184
5.7.3 SCC的注册和部署 185
5.7.4 ACC的安装和部署 190
5.8 Orderer服务 199
5.8.1 简介 199
5.8.2 模块 200
5.8.3 配置 201
5.8.4 模块初始化 202
5.8.5 建立连接 204
5.8.6 Broadcast 205
5.8.7 Orderer 206
5.8.8 Deliver 209
5.8.9 orderer共识机制 210
5.9 channel 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.3 云存储安全保障方案 231
6.7 证照共享方案 232
6.7.1 政务服务数据标准 232
6.7.2 数据上传 235
6.7.3 数据查询 235
6.8 系统接口设计 238
6.8.1 保存政务服务数据 238
6.8.2 批量保存政务服务数据 239
6.8.3 查询政务服务数据 240
6.8.4 发送消息 241
6.8.5 获取附件 242
6.8.6 获取可订阅消息 245
6.9 系统功能设计 246
6.9.1 总体功能结构 246
6.9.2 政务服务数据业务功能 247
6.9.3 平台管理功能 251
6.9.4 系统管理功能 255
6.10 智能合约设计 257
6.10.1 智能合约多层结构设计 257
6.10.2 智能合约模块设计 258
6.10.3 智能合约二次开发 264
6.11 平台的可视化部署 266
6.12 政务数据的三权关系 268
第7章 区块链应用设计 270
7.1 区块链在数字商票中的应用 270
7.1.1 简述 270
7.1.2 区块链解决的关键问题 270
7.1.3 方案描述 270
7.1.4 小结 275
7.2 区块链在文化交易中的应用 275
7.2.1 简述 275
7.2.2 区块链解决的关键问题 275
7.2.3 方案描述 276
7.2.4 小结 280
7.3 区块链在烟草溯源中的应用 280
7.3.1 简述 280
7.3.2 区块链解决的关键问题 280
7.3.3 方案描述 281
7.3.4 小结 284
7.4 区块链在海事稽查中的应用 285
7.4.1 简述 285
7.4.2 区块链解决的关键问题 285
7.4.3 方案描述 286
7.4.4 小结 288
7.5 区块链在教育领域的应用 289
7.5.1 简述 289
7.5.2 区块链解决的关键问题 289
7.5.3 方案描述 289
7.5.4 小结 290
7.6 区块链在审计领域的应用 290
7.6.1 背景 290
7.6.2 区块链解决的关键问题 291
7.6.3 方案描述 292
7.6.4 小结 292
7.7 区块链身份认证 293
7.7.1 背景 293
7.7.2 区块链解决的关键问题 295
7.7.3 方案整体架构 296
7.7.4 小结 299
7.8 区块链在数据流通中的应用 299
7.8.1 背景 299
7.8.2 区块链解决的关键问题 300
7.8.3 方案整体架构 302
7.8.4 小结 304
7.9 区块链在供应链金融中的应用 304
7.9.1 背景 304
7.9.2 区块链解决的关键问题 304
7.9.3 方案整体架构(以物流为例) 305
7.9.4 小结 306
第8章 区块链未来展望 307
8.1 区块链与人工智能的关系 307
8.2 区块链与大数据 314
8.3 区块链即服务 316
8.3.1 概念 316
8.3.2 原理 316
8.3.3 IBM区块链服务 317
8.3.4 微软区块链服务 324
8.3.5 小结 328
8.4 GDPR对区块链的影响 329
8.5 区块链面临的挑战 332
8.5.1 待解决的四大难题 332
8.5.2 性能问题及解决建议 334
8.5.3 安全问题及解决建议 337
参考文献 340

教学资源推荐
作者: [英]麦克斯·A. 里特尔(Max A. Little) 著
作者: Joseph Giarratano Gary D.Riley
作者: [美]詹姆?普斯特若夫斯基(James Pustejovsky), [美]安伯•斯塔布斯(Amber Stubbs)著
作者: [斯洛文尼亚] 马塔伊·米赫尔(Matjaž Mihelj) 塔代·巴吉(Tadej Bajd), 阿尔斯·乌德(Aleš Ude) 贾德兰·勒纳里奇(Jadran Lenarčič) 阿尔斯·斯坦诺夫尼克(Aleš Stanovnik), 马尔科·穆尼(Marko Munih),尤里·雷吉(Jure Rejc)塞巴斯蒂安·斯拉杰帕(Sebastjan Šlajpah) 著
参考读物推荐
作者: [美]皮纳基·马祖姆德(Pinaki Mazumder) [美]亚尔辛·耶尔马兹(Yalcin Yilmaz) [美]艾东格·依邦(Idongesit Ebong) [韩]李宇铉(Woo Hyung Lee) 著
作者: [美] 塞巴斯蒂安?拉施卡(Sebastian Raschka)著