[套装书]区块链技术指南+区块链开发指南(2册)

作者
邹均申屠青春
丛书名
出版社
机械工业出版社
ISBN
9781910301432
简要
简介
内容简介书籍经济管理学书籍 ---------------------------区块链技术指南--------------------------- 第1-2章为基础和入门内容,着重是区块链入门介绍,并讲解区块链的一些基础概念。本书详细、全面地介绍了区块链的基础知识与概念,剖析了区块链的架构、底层实现细节以及加密技术,并配合行业应用案例,常见问题等,全面解读大热的区块链技术实现与应用。第3-10章,着重是区块链架构剖析,并讲解区块链的关键技术,包括密码学和共识算法;提供比特币开发指南以及以太坊智能合同开发指南;同时介绍HyperLedger,讨论区块链的常见问题和典型的解决方案。第11章,从架构变革的角度探讨IT发展的原动力,并提供对区块链对未来IT发展的一些展望。 ---------------------------区块链开发指南--------------------------- 本书首先介绍基础密码学、算法、P2P协议、脚本等区块链基础原理与技术,然后以比特币和以太坊两大区块链平台为例,指导读者搭建测试环境,对区块链进行编译,建立私链与测试链等,帮助开发者创建自己的私链,实现智能合约、挖矿等区块链特定编程实例。
目录



---------------------------区块链技术指南---------------------------


本书作者
序一:什么是区块链
序二:区块链——未来已来,只是尚未流行
序三:区块链——连接虚拟与现实
序四:区块链——转型之擎
前言
第1章 区块链和比特币初体验/1
1.1 区块链简介/1
1.1.1 区块链起源——比特币/1
1.1.2 区块链和区块链技术的涵义/2
1.1.3 区块链分类/2
1.1.4 区块链价值与应用/7
1.2 区块链体验/10
1.2.1 获取比特币的3种途径/11
1.2.2 通过交易所购买比特币/13
1.2.3 比特币钱包和地址/17
1.2.4 从交易平台提取比特币到钱包/20
1.2.5 比特币交易查询/22
1.3 本章小结/22
第2章 区块链基础/24
2.1 区块链技术/24
2.1.1 基本概念/25
2.1.2 框架与特点/32
2.1.3 区块链运作的核心技术/35
2.1.4 区块链交易流程/41
2.2 以太坊/42
2.2.1 什么是以太坊/42
2.2.2 以太坊技术/43
2.2.3 以太坊智能合约/48
2.2.4 以太坊的去中心化应用/50
2.3 基于区块链的电子货币/51
2.3.1 元币平台/51
2.3.2 代币/52
2.3.3 货币的未来/58
2.4 本章小结/58
第3章 区块链架构剖析/59
3.1 基本定义/59
3.2 区块链1.0架构:比特币区块链/61
3.2.1 比特币前端/63
3.2.2 比特币节点后端/66
3.3 区块链2.0架构:以太坊区块链/79
3.4 区块链3.0架构:超越货币、金融范围的区块链应用/87
3.5 互联链架构剖析/90
3.5.1 互联链背景/90
3.5.2 互联账本/91
3.5.3 互联账本协议组/92
3.5.4 互联账本各层协议关系/95
3.6 本章小结/96
第4章 区块链中的密码学技术/97
4.1 哈希算法/97
4.1.1 哈希函数的性质与应用/99
4.1.2 哈希指针链/101
4.2 Merkle树/102
4.3 公钥密码算法/103
4.3.1 椭圆曲线密码算法/104
4.3.2 secp256k1椭圆曲线/105
4.3.3 椭圆曲线签名与验证签名/106
4.4 本章小结/107
第5章 共识算法详解/109
5.1 拜占庭容错技术/109
5.1.1 拜占庭将军问题/110
5.1.2 拜占庭容错系统/112
5.1.3 实用的拜占庭容错系统/112
5.1.4 Raft协议/114
5.2 PoW机制/116
5.3 PoS机制/122
5.4 DPoS机制/123
5.5 Ripple共识算法/124
5.6 小蚁共识机制/126
5.7 本章小结/127
第6章 比特币应用开发指南/129
6.1 以虚拟机方式搭建应用开发环境/129
6.1.1 下载和安装OracleVMVirtualBox/129
6.1.2 以虚拟机方式安装Ubuntu14.04/133
6.1.3 安装Node.js开发环境/138
6.1.4 安装Docker运行环境/138
6.1.5 安装和运行比特币测试网络/139
6.1.6 运行第一个示例程序/141
6.2 把握比特币“交易”数据结构/145
6.2.1 了解比特币的“交易”数据结构/145
6.2.2 交易记录的实例解析/146
6.2.3 运行示例程序/148
6.3 实战:多重签名交易/153
6.3.1 将ODIN标识注册到区块链上的实例解析/153
6.3.2 运行示例程序/156
6.4 本章小结/157
第7章 智能合约/158
7.1 智能合约简介/158
7.1.1 什么是智能合约/158
7.1.2 智能合约的历史/159
7.1.3 智能合约的优点和面临的风险/160
7.2 以太坊智能合约详解/161
7.2.1 以太坊上的账户/161
7.2.2 以太币和Gas/166
7.2.3 合约和交易/167
7.3 以太坊虚拟机/170
7.4 实例:在以太坊上开发实施智能合约/173
7.4.1 通过以太坊钱包部署智能合约/173
7.4.2 通过控制台部署智能合约/179
7.5 本章小结/183
第8章 超级账本项目/184
8.1 超级账本项目简介/184
8.1.1 项目背景/184
8.1.2 项目管理形式/185
8.1.3 项目的生命周期管理/186
8.1.4 项目发展状况/187
8.2 Fabric项目/187
8.2.1 项目概述/187
8.2.2 应用场景/188
8.2.3 项目架构/189
8.2.4 部署方式/191
8.2.5 交易的执行/192
8.3 SawtoothLake项目/193
8.3.1 项目概述/194
8.3.2 项目架构/194
8.4 本章小结/196
第9章 区块链常见问题/197
9.1 钱包的安全性问题/197
9.2 加密货币的交易方式/199
9.3 匿名性和隐私性/201
9.4 矿池算力集中的问题/203
9.551%攻击问题/205
9.6 去中心化的自治组织/207
9.6.1 去中心化的自治组织简介/207
9.6.2 TheDAO项目/208
9.6.3 代码漏洞分析/210
9.6.4 解决方案/213
9.6.5 软分叉和硬分叉的影响/215
9.6.6 重放攻击/216
9.7 本章小结/219
……
第10章 区块链应用案例分析/220
第11章 从架构变革看IT时代的演进/237


---------------------------区块链开发指南---------------------------


推荐序一 区块链的价值实现
推荐序二 区块链,推动金融代际跃升的新力量
推荐序三 区块链技术的现实和未来
前言
第1章 区块链基础 1
1.1 交易和交易链 2
1.1.1 比特币地址 3
1.1.2 交易的本质 3
1.1.3 输入和输出 5
1.1.4 交易类型 5
1.1.5 找零地址 6
1.2 区块和区块链 8
1.2.1 区块结构 8
1.2.2 创世块 10
1.2.3 区块链原理 13
1.3 挖矿、矿池 14
1.3.1 挖矿原理与区块的产生 14
1.3.2 挖矿难度 16
1.3.3 矿池原理与商业模式 18
1.4 脚本系统 19
1.4.1 脚本特点 20
1.4.2 脚本运行过程 24
1.4.3 脚本操作码解读 25
1.4.4 脚本执行过程 26
1.5 合约应用案例 27
1.5.1 合约应用原理 28
1.5.2 示例1:提供押金证明 29
1.5.3 示例2:担保和争端调解 30
1.5.4 示例3:保证合约 30
1.5.5 示例4:使用外部状态 32
1.5.6 示例5:跨链交易 34
1.5.7 示例6:支付证明合约 35
1.5.8 示例7:特定对象的快速调整(微)支付 36
1.5.9 示例8:多方去中心化彩票 37
参考资料 37
第2章 区块链进阶 39
2.1 外带数据 39
2.1.1 OP_RETURN外带数据 39
2.1.2 Multi-Signatures外带数据 40
2.2 Counterparty 40
2.2.1 Counterparty附生链的实现机制详解 41
2.2.2 发送 41
2.2.3 订单 42
2.2.4 发行 42
2.2.5 广播 43
2.2.6 赌约 43
2.3 挖矿算法解析 43
2.3.1 PoW挖矿算法及分析 43
2.3.2 PoS股权证明算法及分析 44
2.3.3 DPoS股份授权证明算法及分析 45
2.4 Sidechains 45
2.4.1 侧链背景 45
2.4.2 技术原理 46
2.5 最新比特币技术 49
2.5.1 IBLT 49
2.5.2 隔离见证 50
2.5.3 闪电网络 51
2.5.4 RSMC 51
2.5.5 HTLC 52
参考资料 53
第3章 密码学基础 54
3.1 Hash函数 54
3.1.1 技术原理 54
3.1.2 SHA-1算法 55
3.1.3 SHA-2算法 57
3.1.4 SHA-3算法 64
3.1.5 RIPEMD160算法 65
3.2 椭圆曲线密码 66
3.2.1 椭圆曲线方程 67
3.2.2 公钥和私钥的产生算法 68
3.3 ECDSA数字签名 69
3.4 Schnorr数字签名 70
3.4.1 技术思想 70
3.4.2 Schnorr与ECDSA的异同 70
3.5 Bloom filter 71
3.5.1 技术原理 71
3.5.2 应用案例 72
第4章 比特币区块链开发 74
4.1 Bitcoin的编译过程 74
4.1.1 Ubuntu下的编译 74
4.1.2 Mac下的编译 75
4.1.3 Windows下的编译 76
4.2 代码剖析 77
4.2.1 主要模块 77
4.2.2 初始化和启动 79
4.2.3 P2P网络 80
4.2.4 交易和区块 89
4.2.5 脚本系统 89
4.2.6 挖矿 91
4.2.7 私钥 92
4.3 性能实战 93
4.3.1 建立私链 93
4.3.2 优化改进 96
4.4 API开发 97
4.4.1 命令行调用 97
4.4.2 RPC API调用接口 100
4.4.3 如何调用API进行开发 103
4.4.4 通过命令实现区块链的查询实例 103
第5章 以太坊智能合约开发 109
5.1 以太坊 109
5.1.1 以太坊的定义 109
5.1.2 下一代区块链 109
5.1.3 以太坊虚拟机 110
5.1.4 以太坊的工作原理 110
5.2 以太坊账户管理 111
5.2.1 账户 111
5.2.2 钥匙文件 112
5.2.3 创建账号 112
5.3 更新、备份、恢复账号 115
5.3.1 更新账号 115
5.3.2 账号备份和恢复 116
5.4 公有链、联盟链、私有链及网络配置 117
5.4.1 以太坊网络 117
5.4.2 公有链、私有链和联盟链 117
5.4.3 如何连接 118
5.4.4 更快地下载区块链 119
5.4.5 静态节点、信任节点和启动节点 120
5.5 搭建测试网络和私有链 121
5.5.1 Modern测试网 121
5.5.2 设置本地私有测试网 121
5.6 账户、交易核心概念及投注合约解析 125
5.6.1 外有账户与合约账户 125
5.6.2 什么是交易 126
5.6.3 什么是消息 126
5.6.4 什么是gas 126
5.6.5 估算交易成本 127
5.6.6 账户交互示例:投注合约 128
5.7 深入浅出智能合约 131
5.7.1 合约的定义 131
5.7.2 以太坊高级语言 131
5.7.3 写合约 131
5.7.4 编译合约 132
5.7.5 创建和部署合约 134
5.7.6 与合约互动 135
5.7.7 合约元数据 136
5.7.8 测试合约和交易 137
5.8 如何部署、调用智能合约 138
5.8.1 RPC 138
5.8.2 惯例 138
5.8.3 部署合约 139
5.8.4 和智能合约互动 141
5.8.5 Web3.js 142
5.8.6 控制台 143
5.8.7 查看合约与交易 143
5.9 智能合约案例实战 143
参考资料 146
第6章 Fabric原理和实操 147
6.1 超级账本项目背景 147
6.2 Fabric简介 149
6.3 系统架构 150
6.3.1 交易 150
6.3.2 区块链数据结构 150
6.3.3 节点 151
6.4 交易背书的基本流程 155
6.4.1 客户端创建交易后发送到它所选择的背书节点 156
6.4.2 背书节点模拟交易,然后生成背书签名 157
6.4.3 提交客户端获取交易的背书,通过排序服务广播 158
6.4.4 排序服务向所有节点投递交易消息 158
6.5 背书策略 159
6.5.1 背书策略规范 159
6.5.2 交易评估与背书策略 159
6.5.3 背书策略示例 160
6.6 验证总账(1.0版本之后的功能)和原始总账检查点(精简) 160
6.6.1 验证总账 160
6.6.2 原始总账检查点 161
6.7 Fabric V1.0开发者快速入门 163
6.7.1 前置条件和系统配置 163
6.7.2 下载源代码,创建Fabric网络 164
6.7.3 生成配置文件 164
6.7.4 使用Docker创建Fabric网络&创建/加入通道(账本) 165
6.7.5 示例合约执行过程解析 165
6.7.6 查看智能合约执行日志 166
6.7.7 手工创建和加入通道 166
6.7.8 使用命令行工具部署、调用、查询智能合约 167
6.7.9 开发环境故障排除 168
6.7.10 Fabric常用的Docker命令 168
6.8 智能合约开发 169
6.8.1 智能合约的定义 169
6.8.2 GO语言智能合约的开发和部署 169
6.8.3 Java智能合约的编写与部署 174
6.8.4 开发和提交代码 180
相关术语 182
附录A 国内区块链联盟介绍 184
附录B 《ChinaLedger面向中国资本市场应用的分布式总账白皮书》全文 201



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4