书籍作者:杨保华 | ISBN:9787111659808 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:5496 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书由超级账本核心设计和开发者撰写,是区块链开发落地专业指南。由浅入深、系统化介绍超级账本Fabric设计精华、应用开发等。全书分为理论篇和实践篇两大部分;第1~3章介绍区块链技术的由来、核心思想及典型的应用场景;第4~5章重点介绍区块链技术中大量出现的分布式系统技术和密码学安全技术;第6~8章介绍区块链领域的三个典型开源项目:比特币、以太坊以及超级账本;第9-11章以超级账本Fabric项目为例,具体讲解了安装部署、配置管理,以及使用 Fabric CA 进行证书管理的实践经验;第12章重点剖析超级账本Fabric项目的核心架构设计;第13章介绍区块链应用开发的相关技巧和示例;第14章介绍区块链服务平台的设计与开发,并讲解应用超级账本Cello项目构建服务平台的相关知识。本书覆盖了区块链和分布式账本领域的*新技术,可帮助读者深入理解区块链核心原理和典型设计实现,以及高效地开发基于区块链平台的分布式应用。
杨保华
博士,分布式系统与数据科学家,开源软件专家。现任甲骨文全球区块链技术负责人,超级账本全球技术大使,中国电子学会区块链分会委员。长期从事区块链、数据科技等领域的研发和创新,主持过多个大规模企业系统的架构设计和研发实施。在国际ding级刊物发表论文20余篇,获国际专利10余 项,并参与国际标准制定工作。曾担任IBM 科学家,超级账本全球技术委员会委员等。作为超级账本 Fabric、Cello 等项目的早期设计、开发者,持续贡献了多个开源项目。
陈昌
纸贵科技 CTO,技术方向包括云计算、区块链、机器学习等,是区块链技术的早期研究和推动者,超级账本项目的核心开发者。拥有丰富的区块链底层开发和应用实践经验,负责多个行业区块链解决方案的架构设计和实施,并主导开发了若干区块链服务平台。现任中国信通院可信区块链推进计划副理事长、中国电子学会区块链分会委员、清华大学经济管理学院区块链金融研究中心理事,曾任 IBM 高级研究员。
本书由超级账本核心设计和开发者撰写,由浅入深,详细讲解区块链原理,以及超级账本Fabric架构设计,深入源代码,剖析了Fabric的重要功能与流程,是区块链开发落地的专业指南。
“科技怎样才能更好地为人类服务?”相信无数科技从业者都曾思考过这个问题。
从钻木取火、冶铁农耕,到跨海贸易、探索星空,科技领域的每一项进步都或早或晚地推动着文明之舟不断前行,改变着人们对世界的认知。有趣的是,科技创新在诞生之初,往往不被认可。汽车发明后,英国曾规定其在市内时速不得超过2英里;电力刚出现时,曾被认为极度危险而毫无用处……但从来没有一项新事物像区块链这样,引发的争议如此激烈而混乱,产生的影响如此全面且深远。
经过数次大起大落的洗礼,人们再次认识到,事物发展的一般规律并不因个人意志而改变—区块链也必然遵循从小到大、从带前提的行业联盟到更开放的商业网络这一路径成长与发展。在此过程中,来自开源界和业界的贡献将起到决定性的作用。
作为先进的企业级开源区块链项目,超级账本Fabric发布了2.X版本。该版本增强了性能和稳定性,引入了不少新特性,其中有来自企业的生产实践反馈,也有来自学术界和开源界的最新研究成果。毫无疑问,这是对超级账本社区四周年的最佳献礼!
为了更好地介绍区块链领域的最新进展,呈现超级账本最新版本的设计原理和实现细节,本书第2版对内容进行了全面更新,并重点增加了对超级账本Fabric项目的设计和实现的深度剖析。希望可以帮助读者深入理解企业区块链的设计思路和具体实现方案,掌握应用和管理区块链网络的最佳实践技巧。
本书在结构上分为三篇:理论篇包括第1~8章,讲解区块链相关的理论知识;实践篇包括第9~13章,讲解区块链的应用实践技巧;进阶篇包括第14~17章,剖析超级账本Fabric项目最新版本的设计和实现细节。读者可以循序渐进地学习,亦可重点阅读。
在编写本书的过程中,得到了业界同仁的不少建议和反馈。IBM、腾讯、阿里巴巴、百度等团队帮忙提供了其区块链产品相关信息。在此表示万分感谢!
未来已来,信息不息!希望本书能为推动区块链行业的进步和开源文化的普及做出微薄的贡献!
作者
2020年5月于硅谷
前言
第1版序言
第1版前言
理论篇
第1章 区块链的诞生 2
1.1 记账科技的千年演化 2
1.2 分布式记账与区块链 7
1.3 集大成者—比特币 10
1.4 区块链的商业价值 12
1.5 本章小结 14
第2章 核心技术概览 15
2.1 定义与原理 15
2.2 技术的演化与分类 17
2.3 关键问题和挑战 19
2.4 趋势与展望 23
2.5 认识上的误区 26
2.6 本章小结 27
第3章 典型应用场景 28
3.1 应用场景概览 28
3.2 金融服务 29
3.2.1 数字货币 30
3.2.2 支付清结算业务 31
3.2.3 证券交易后处理 34
3.2.4 供应链金融 35
3.2.5 税收服务 36
3.2.6 众筹管理 37
3.3 征信管理 38
3.4 权属管理与溯源 39
3.4.1 存证 39
3.4.2 溯源 41
3.4.3 数据管理 42
3.5 资源共享 42
3.6 物流与供应链 44
3.7 物联网 45
3.8 其他场景 46
3.9 本章小结 48
第4章 分布式系统核心技术 49
4.1 一致性问题 49
4.2 共识算法 52
4.3 FLP不可能原理 54
4.4 CAP原理 56
4.4.1 定义 56
4.4.2 应用场景 56
4.5 ACID原则与多阶段提交 57
4.6 Paxos算法与Raft算法 58
4.6.1 Paxos算法 58
4.6.2 Raft算法 61
4.7 拜占庭问题与算法 61
4.8 可靠性指标 65
4.9 本章小结 66
第5章 密码学与安全技术 67
5.1 密码学简史 67
5.2 Hash算法与数字摘要 68
5.3 加解密算法 70
5.4 消息认证码与数字签名 75
5.4.1 消息认证码 76
5.4.2 数字签名 76
5.4.3 安全性 77
5.5 数字证书 77
5.6 PKI体系 80
5.7 默克尔树结构 83
5.8 布隆过滤器 84
5.9 同态加密 85
5.10 其他技术 86
5.11 本章小结 89
第6章 比特币—初露锋芒的区块链 90
6.1 比特币项目简介 90
6.2 工作原理 94
6.2.1 基本交易过程 94
6.2.2 重要概念 95
6.2.3 创新设计 98
6.3 挖矿过程 99
6.4 共识机制 100
6.5 闪电网络 102
6.6 侧链 103
6.7 热门问题 105
6.8 相关工具 108
6.9 本章小结 109
第7章 以太坊—挣脱加密货币的枷锁 110
7.1 以太坊项目简介 110
7.2 核心概念 112
7.3 主要设计 114
7.4 相关工具 115
7.5 安装客户端 117
7.6 使用智能合约 118
7.6.1 搭建测试用区块链 118
7.6.2 创建和编译智能合约 119
7.6.3 部署智能合约 120
7.6.4 调用智能合约 121
7.7 智能合约案例 121
7.7.1 智能合约代码 121
7.7.2 代码解析 123
7.8 本章小结 125
第8章 超级账本——面向企业的分布式账本 126
8.1 超级账本项目简介 126
8.2 社区组织结构 128
8.3 顶级项目介绍 129
8.4 开发协作工具 134
8.5 贡献代码 136
8.6 本章小结 139
实践篇
第9章 Fabric安装与部署 142
9.1 简介 142
9.2 本地编译组件 143
9.2.1 环境配置 144
9.2.2 获取代码 145
9.2.3 编译安装Peer组件 145
9.2.4 编译安装Orderer组件 145
9.2.5 编译安装Fabric CA组件 146
9.2.6 编译安装配置辅助工具 146
9.2.7 安装Protobuf支持和Go语言相关工具 146
9.2.8 示例配置 147
9.3 容器方式获取 147
9.3.1 安装Docker服务 147
9.3.2 安装docker-compose 147
9.3.3 获取Docker镜像 148
9.3.4 镜像Dockerfile 150
9.4 用本地方式启动Fabric网络 154
9.4.1 规划初始网络拓扑 155
9.4.2 准备启动配置文件 156
9.4.3 启动排序节点 163
9.4.4 启动Peer节点 165
9.4.5 创建通道 166
9.4.6 加入通道 166
9.4.7 更新锚节点配置 167
9.5 用容器方式启动Fabric网络 167
9.6 本章小结 169
第10章 管理Fabric网络 170
10.1 简介 170
10.2 使用通道 170
10.3 管理节点 184
10.4 管理链上代码 186
10.5 监听网络事件 202
10.6 自动发现网络信息 205
10.6.1 主要功能 205
10.6.2 全局参数 205
10.6.3 子命令 205
10.7 使用运维服务 210
10.8 如何升级网络版本 213
10.8.1 能力类型 213
10.8.2 推荐升级步骤 214
10.9 使用SDK 216
10.10 注意事项与最佳实践 217
10.11 本章小结 219
第11章 智能合约的开发 220
11.1 简介 220
11.2 链码的概念与结构 221
11.2.1 Chaincode接口 222
11.2.2 链码结构 222
11.3 链码开发API 223
11.3.1 账本状态交互API 223
11.3.2 交易信息API 225
11.3.3 参数读取API 226
11.3.4 私密数据API 226
11.3.5 其他API 227
11.4 应用开发案例一:转账 228
11.5 应用开发案例二:资产权属管理 231
11.6 应用开发案例三:调用其他链码 240
11.7 应用开发案例四:发送事件 241
11.8 应用开发案例五:基于属性的权限控制 242
11.9 应用开发案例六:私密数据 243
11.10 使用外部链码 248
11.10.1 外部链码构建器结构 248
11.10.2 链码安装包结构 251
11.10.3 配置Peer节点调用