图书目录

目录

第一部分区块链基础知识

第1 章区块链技术简介...................................................................... 3

1.1 什么是区块链技术................................................................. 3

1.1.1 区块链技术诞生与发展概况......................................... 4

1.1.2 区块链的数据结构....................................................... 5

1.1.3 区块链架构................................................................. 8

1.1.4 区块链技术的独特优势................................................ 9

1.1.5 区块链的分类........................................................... 10

1.2 区块链技术的主要发展阶段.................................................. 12

1.2.1 区块链发展历史:1.0 与2.0 阶段................................. 12

1.2.2 区块链优化技术:Layer-1 和Layer-2 .......................... 15

1.3 重新认识区块链系统架构..................................................... 19

1.3.1 模块化视角看待区块链系统....................................... 19

1.3.2 区块链网络............................................................... 20

1.3.3 区块链共识机制........................................................ 22

1.3.4 区块链账本结构........................................................ 25

1.4 总结................................................................................... 27

1.5 课后习题............................................................................. 28

参考文献.................................................................................... 28

第2 章常用密码学技术.................................................................... 30

2.1 有限域及其他常用代数结构.................................................. 30

2.2 保密性:加密...................................................................... 33

2.2.1 定义及安全属性........................................................ 33

2.2.2 对称加密与非对称加密.............................................. 35

2.2.3 离散对数假设与Diffie-Hellman 密钥交换..................... 36

2.2.4 同态加密.................................................................. 37

2.3 完整性:哈希............................................................................ 37

2.3.1 UNIX 系统的密码认证................................................................... 38

2.3.2 定义及安全属性................................................................... 38

2.3.3 随机预言机模型.................................................................... 40

2.3.4 基于哈希的伪随机数生成器........................................................... 40

2.3.5 默克尔树.............................................................................. 41

2.4 身份认证:消息认证码、数字签名、公钥基础设施..................................... 43

2.4.1 消息认证码.......................................................................... 44

2.4.2 数字签名............................................................................ 45

2.4.3 公钥基础设施................................................................... 47

2.5 零知识证明............................................................................ 48

2.5.1 算术电路.................................................................................. 49

2.5.2 R1CS .................................................................................... 50

2.5.3 从验证到计算............................................................................... 51

2.6 安全多方计算........................................................................... 52

2.6.1 安全属性...................................................................................... 52

2.6.2 Shamir 秘密共享........................................................................... 53

2.6.3 可验证秘密共享............................................................................ 53

2.6.4 基于秘密共享和算术电路的安全多方计算方案................................. 54

2.6.5 基于安全多方计算的门限签名........................................................ 55

2.7 总结.................................................................................... 57

2.8 课后习题............................................................................ 57

参考文献.................................................................................... 59

第3 章区块链共识算法..................................................................... 60

3.1 无许可区块链中的共识算法......................................................... 61

3.1.1 传统分布式共识在无许可区块链中遇到困境.................................... 61

3.1.2 物理资源证明................................................................. 63

3.1.3 虚拟资源证明.................................................................. 68

3.2 拜占庭容错共识算法.............................................................. 72

3.2.1 拜占庭容错共识如何才能应用于区块链........................................... 72

3.2.2 拜占庭容错共识的起源:拜占庭将军问题....................................... 73

3.2.3 拜占庭容错共识经典实例:实用拜占庭容错共识............................. 75

3.3 几个不可能性原理................................................................ 80

3.3.1 所有的场景都能运行区块链吗?...................................................... 80

3.3.2 共识问题中的不可能性.................................................................. 80

3.3.3 领导者选举中的不可能性............................................................... 84

3.3.4 无线网络共识中的不可能性........................................................... 87

3.3.5 区块链的“不可能三角”................................................................ 89

3.4 总结................................................................................. 89

3.5 课后习题.............................................................................. 90

参考文献.......................................................................................... 91

第4 章区块链典例剖析...................................................................... 92

4.1 比特币................................................................................ 92

4.1.1 比特币的诞生................................................................ 93

4.1.2 点对点网络................................................................................... 94

4.1.3 未花费交易输出模型..................................................................... 94

4.1.4 工作量证明机制............................................................................ 97

4.2 以太坊............................................................................... 99

4.2.1 区块链与智能合约:超越“账本”的想象...................................... 100

4.2.2 以太坊虚拟机:驱动“全球计算机”的引擎................................... 101

4.2.3 以太坊共识机制:从PoW 到PoS .................................................. 106

4.3 Hyperledger Fabric ............................................................ 110

4.3.1 引言:为什么需要联盟链.............................................................. 110

4.3.2 Hyperledger Fabric 准入机制........................................................ 110

4.3.3 Gossip 协议................................................................................. 111

4.3.4 共识机制..................................................................................... 113

4.4 总结.................................................................................. 114

4.5 课后习题.............................................................................. 114

参考文献...................................................................................... 115

第二部分区块链扩容技术

第5 章区块链分片........................................................................ 119

5.1 区块链与传统数据库:异同与借鉴........................................................... 120

5.1.1 数据库分区的基本原理................................................................. 120

5.1.2 为什么数据库分区不能直接用于区块链?....................................... 123

5.2 区块链分片:解决扩展性困境.................................................................. 124

5.2.1 区块链扩展性问题的表现.............................................................. 124

5.2.2 区块链分片技术的简介................................................................. 125

5.3 区块链分片的核心机制............................................................................ 127

5.3.1 主流的分片配置方案.................................................................... 127

5.3.2 分片配置的核心:随机数生成方法................................................ 129

5.4 跨片交易:分片世界的协同难题.............................................................. 131

5.4.1 ACID 特性:跨片交易的保障........................................................ 132

5.4.2 协调一致的“锁定—提交”方案.................................................... 132

5.4.3 另辟蹊径——跳出“原子提交”的思维定式................................... 134

5.5 分片重置:应对节点变化与安全威胁........................................................ 135

5.5.1 分片重置初步尝试........................................................................ 135

5.5.2 更高效的分片重置........................................................................ 136

5.5.3 更安全的分片重置........................................................................ 137

5.6 总结.............................................................................. 138

5.7 课后习题........................................................................... 138

参考文献.............................................................................. 139

第6 章区块链账本结构............................................................................ 141

6.1 链式区块链账本...................................................................................... 141

6.1.1 为什么要用哈希链?..................................................................... 141

6.1.2 最长链原则.................................................................................. 143

6.1.3 贪心最重子树原则........................................................................ 146

6.2 图式区块链账本...................................................................................... 148

6.2.1 从链式区块链到图式区块链.......................................................... 149

6.2.2 IOTA Tangle ............................................................................... 150

6.2.3 DAG-Rider .................................................................................. 152

6.3 区块链账本存储优化............................................................................... 156

6.3.1 数据裁剪..................................................................................... 157

6.3.2 数据压缩..................................................................................... 158

6.3.3 分级存储..................................................................................... 158

6.3.4 纠删码存储.................................................................................. 159

6.4 总结................................................................................. 160

6.5 课后习题.............................................................................. 160

参考文献........................................................................................ 161

第7 章跨链互操作............................................................................ 162

7.1 跨链技术简介........................................................................... 163

7.1.1 信息孤岛问题与跨链技术.............................................................. 163

7.1.2 跨链行为与分类........................................................................... 164

7.1.3 跨链模型与特性........................................................................... 166

7.2 跨链机制............................................................................... 168

7.2.1 基于公证人的跨链机制................................................................. 169

7.2.2 基于分布式私钥控制的跨链机制.................................................... 170

7.2.3 基于中继链的跨链机制................................................................. 173

7.2.4 哈希时间锁合约........................................................................... 177

7.3 总结.................................................................................. 181

7.4 课后习题............................................................................ 182

参考文献................................................................................... 183

第8 章链下扩容................................................................................. 184

8.1 链下通道............................................................................... 184

8.1.1 支付通道..................................................................................... 185

8.1.2 状态通道..................................................................................... 189

8.1.3 链下支付通道网络........................................................................ 191

8.2 链下计算.............................................................................. 197

8.2.1 基于零知识证明的链下计算.......................................................... 197

8.2.2 基于可信硬件的链下计算.............................................................. 200

8.2.3 基于安全多方计算的链下计算....................................................... 201

8.3 总结................................................................................. 202

8.4 课后习题............................................................................... 203

参考文献..................................................................................... 204

第三部分区块链安全与隐私

第9 章区块链中的激励机制.............................................................. 207

9.1 博弈论与激励机制.................................................................................. 208

9.1.1 博弈论概述.................................................................................. 208

9.1.2 经典博弈论模型........................................................................... 209

9.1.3 激励机制设计.............................................................................. 213

9.2 为什么区块链需要激励机制..................................................................... 214

9.3 主流区块链系统中的激励机制.................................................................. 216

9.3.1 比特币中的激励机制.................................................................... 216

9.3.2 以太坊中的激励机制.................................................................... 220

9.3.3 复杂激励机制设计........................................................................ 223

9.4 总结.................................................................................... 225

9.5 课后习题............................................................................. 225

参考文献.................................................................................... 227

第10 章区块链主要安全威胁与对策.................................................................... 228

10.1 区块链中常见的攻击及其对策................................................................ 229

10.1.1 网络层...................................................................................... 229

10.1.2 共识层...................................................................................... 232

10.1.3 合约层...................................................................................... 235

10.1.4 量子优越性............................................................................... 239

10.2 区块链安全性证明方法.......................................................................... 240

10.2.1 区块链的安全属性..................................................................... 240

10.2.2 通用可组合安全证明.................................................................. 242

10.3 总结................................................................................... 245

10.4 课后习题............................................................................... 246

参考文献...................................................................................... 246

第11 章区块链隐私保护与监管技术.................................................................... 248

11.1 隐私保护技术:匿名支付与隐私计算...................................................... 248

11.1.1 Zerocash:支持匿名支付的区块链.............................................. 249

11.1.2 基于零知识证明的智能合约隐私计算.......................................... 251

11.1.3 基于可信执行环境的智能合约隐私计算....................................... 252

11.2 区块链监管技术:可修改区块链............................................................. 252

11.2.1 基于变色龙哈希的可修改区块链................................................. 253

11.2.2 基于共识的可修改区块链........................................................... 258

11.3 总结.................................................................................... 261

11.4 课后习题.............................................................................. 261

参考文献...................................................................................... 262