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