作者简介
序一 处于“十字路口”的区块链技术及其应用
序二 用发展的眼光看待区块链
序三 区块链与系统安全
前言
第一篇 核心技术篇
第1章 互联网下半场的主角——区块链 2
1.1 当代互联网的局限 3
1.2 计算模式的演变 4
1.2.1 分布式计算的出现 4
1.2.2 分布式计算的挑战 5
1.2.3 比特币“突围” 6
1.2.4 比特币的局限 8
1.3 区块链的演化路径 9
1.3.1 区块链与互联网意义 9
1.3.2 区块链概念的提出 9
1.3.3 区块链的社会价值和意义 9
1.4 小结 12
第2章 区块链基本概念 13
2.1 区块链技术研究缘由 13
2.1.1 区块链用例描述:比特币 14
2.1.2 区块链需要研究哪些关键技术 17
2.2 区块链模型 18
2.2.1 数据区块 20
2.2.2 链式结构 21
2.2.3 Merkle树 22
2.3 网络通信层关键技术 22
2.4 数据安全与隐私保护关键技术 26
2.5 共识层关键技术 32
2.6 区块链技术标准 33
2.7 小结 34
第3章 区块链架构 36
3.1 区块链架构和传统IT架构的异同 36
3.2 区块链架构模型 37
3.2.1 区块链系统的共性 37
3.2.2 区块链的差异性 40
3.3 区块链的参考模型 42
3.3.1 一个参考架构 42
3.3.2 区块链高阶架构模型 43
3.3.3 区块链跨链本质与架构模型 52
3.3.4 区块链部署模型 56
3.4 区块链的数据模型 58
3.5 区块链的能力模型 62
3.6 小结 64
第4章 密码学 65
4.1 哈希算法 66
4.1.1 密码学哈希函数简介 66
4.1.2 哈希函数的性质及应用 67
4.1.3 区块链中的哈希函数 69
4.2 Merkle树 70
4.2.1 哈希指针 70
4.2.2 Merkle哈希树 72
4.3 公钥密码算法 73
4.3.1 密码算法简介 73
4.3.2 公钥密码算法 74
4.3.3 区块链中使用的椭圆曲线 75
4.3.4 数字证书 75
4.4 数字签名 76
4.4.1 数字签名简介 76
4.4.2 数字签名标准与ECDSA算法 77
4.4.3 其他的数字签名方法 78
4.5 零知识证明 79
4.6 区块链中的隐私问题 80
4.7 小结 82
第5章 共识算法 83
5.1 分布式共识算法背景 83
5.1.1 拜占庭将军问题 85
5.1.2 共识系统的基本定义 88
5.1.3 Fisher-Lynch-Paterson定理 89
5.1.4 CAP定理 91
5.2 强一致性非拜占庭共识算法 93
5.2.1 Viewstamped Replicaton 93
5.2.2 Paxos共识算法 96
5.2.3 其他类Paxos共识协议 98
5.2.4 强一致性非拜占庭共识算法小结 100
5.3 强一致性拜占庭容错共识算法 101
5.4 非强一致共识算法 PoW机制 104
5.5 PoS机制 110
5.5.1 点点币PoS机制 111
5.5.2 NXT PoS机制 112
5.5.3 Tendermint PoS机制 113
5.5.4 Ethereum Casper PoS机制 116
5.5.5 LPoS机制 117
5.5.6 DPoS机制 117
5.6 Ripple共识算法 118
5.7 小结 120
第6章 P2P网络 122
6.1 P2P网络简介 122
6.2 P2P网络核心数据结构与算法 127
6.2.1 P2P网络数据结构与算法 127
6.2.2 主流数据结构DHT与算法 128
6.2.3 区块链P2P网络协议 136
6.3 小结 147
第二篇 实战篇
第7章 比特币 150
7.1 比特币的特点 150
7.2 比特币的P2P网络 153
7.2.1 点对点的钱包节点分类 153
7.2.2 全节点的分布式存储 154
7.2.3 交易和区块在节点间的传播同步 156
7.3 比特币的发行机制 157
7.3.1 总量上限2100万的实现 157
7.3.2 打包区块的原理 158
7.3.3 矿池与矿工的关系 161
7.4 比特币的账号系统 163
7.4.1 私钥与公钥 163
7.4.2 签名信息与校验签名 165
7.4.3 脑口令 165
7.4.4 荣耀地址与批量地址 167
7.4.5 多重签名地址 168
7.4.6 隔离验证SW地址 177
7.5 比特币的生态系统 177
7.6 开发实施一个比特币存证应用 179
7.6.1 环境准备 179
7.6.2 示例程序 182
7.7 小结 184
第8章 以太坊 185
8.1 以太坊关键概念 186
8.2 以太坊的架构 188
8.2.1 以太坊数据模型 189
8.2.2 以太坊的应用架构 195
8.3 以太坊智能合约 197
8.3.1 合约类型和调用示例 197
8.3.2 合约编译和部署过程 199
8.3.3 Solidity高级合约语言 201
8.3.4 案例:构建、编译与部署一个智能合约 203
8.4 以太坊适用场景剖析 216
8.5 小结 217
第9章 超级账本Fabric 218
9.1 Fabric基础架构 219
9.1.1 架构概述 219
9.1.2 主要组件 220
9.1.3 P2P网络 221
9.1.4 通道 222
9.1.5 分布式账本 222
9.1.6 共识机制 223
9.1.7 智能合约(链码) 224
9.1.8 成员服务提供者 225
9.1.9 交易流程 225
9.2 架构详细原理 227
9.2.1 成员身份管理 227
9.2.2 通道的结构 232
9.2.3 链码 238
9.3 应用开发流程 245
9.3.1 前期准备 246
9.3.2 定义Fabric集群 246
9.3.3 启动Fabric集群 248
9.3.4 链码设计 248
9.3.5 链码部署 251
9.3.6 SDK简介 251
9.3.7 应用的API开发 254
9.3.8 界面开发 257
9.3.9 集成 260
9.3.10 测试应用 261
9.3.11 扩展应用中的组织数目 263
9.4 小结 271
第三篇 进阶篇
第10章 其他区块链平台 274
10.1 区块链架构存在的问题和挑战 274
10.2 区块链平台的典型需求和发展方向 276
10.2.1 区块链平台的典型需求 276
10.2.2 区块链平台的发展方向 277
10.3 其他区块链平台 278
10.3.1 以太坊:区块链龙头的转型升级 278
10.3.2 EOS:区块链操作系统 281
10.3.3 Cardano:具有隐私和法规的区块链 289
10.3.4 基于区块链的支付协议:Ripple与Stellar 291
10.3.5 侧链代表:RootStock、Polkadot和Cosmos 294
10.3.6 分片扩容:Zilliqa叫板Visa 296
10.3.7 垮链技术:价值互联网的纽带 297
10.3.8 DAG:区块链的革新 300
10.3.9 Hashgraph:区块链的新竞争者 304
10.3.10 区块链存储 306
10.3.11 安全和隐私保护 310
10.4 一句话解释主要加密货币 310
10.5 小结 312
第11章 区块链常见问题剖析 313
11.1 区块链的技术局限 313
11.1.1 区块链不可能三角 313
11.1.2 数据冗余 313
11.1.3 区块链安全性 314
11.1.4 挖矿和其他共识协议的弱点 315
11.1.5 交易速度 316
11.2 区块链的安全问题 317
11.2.1 51%攻击问题 317
11.2.2 女巫攻击 317
11.2.3 交易所 318
11.2.4 以太坊智能合约安全漏洞 320
11.2.5 区块链安全性的测试指标 321
11.3 挖矿和共识协议的弱点 322
11.3.1 中本聪一失之虑 322
11.3.2 挖矿和算力集中困境 322
11.3.3 其他共识算法及其问题 323
11.4 交易效率问题 323
11.4.1 比特币和以太坊的交易效率困境 323
11.4.2 比特币扩容 324
11.4.3 比特币的隔离验证、闪电网络与侧链 324
11.4.4 基于DAG的提速技术 326
11.4.5 其他提速思路 328
11.5 系统升级维护问题 328
11.5.1 硬分叉史记 328
11.5.2 系统升级维护难题和分叉 329
11.6 小结 329
第12章 区块链评测 330
12.1 评测的难点 331
12.2 评测的策略 333
12.3 应用层评测 337
12.4 合约层评测 338
12.5 激励层评测 340
12.6 共识层评测 341
12.7 网络层评测 345
12.8 数据层评测 345
12.9 辅助工具 347
12.10 小结 350
后记 351
· · · · · · (
收起)