DAG区块链技术 原理与实践
出版时间:2018
内容简介
本书由区块链4.0明星项目InterValue(也是目前技术更先进的基于DAG的区块链项目)核心团队撰写,它从底层原理和工程实践两个维度深入浅出地讲解和剖析了DAG这一新兴的区块链技术,能为基于DAG的技术研发、场景落地、链上应用和生态构建提供全方位的指导。 全书共11章,逻辑上分为三个部分: 部分(第1~6章) 技术原理篇 首先从宏观上对区块链及DAG技术做了整体性介绍,然后从微观上详细讲解了DAG区块链技术的通信机制、共识机制、智能合约、密码学技术和安全技术,这部分内容将从理论和技术的角度为读者打下坚实的基础。 第二部分(第7~9章) 工程实践篇 从原理实现和应用开发两个维度深入剖析了目前具有代表性的3个基于DAG技术的区块链项目:IOTA、ByteBall和InterValue。不仅能让读者了解这3个项目的核心技术实现细节,而且还能从中学习和借鉴DAG技术的开发方法和技巧。 第三部分(第10~11章) 展望篇 首先介绍了典型的基于DAG技术的区块链应用和DAG区块链技术的应用场景,然后对DAG技术的发展脉络进行了梳理,*后对DAG技术未来的发展趋势做了前瞻性的分析和探讨。
目录
序一
序二
序三
序四
前言
第1章 区块链基础1
1.1 区块链简介1
1.1.1 基本概念1
1.1.2 分类3
1.1.3 应用与价值3
1.2 区块链相关技术简介4
1.2.1 底层通信技术4
1.2.2 共识技术6
1.2.3 智能合约6
1.2.4 加密与签名6
1.2.5 匿名保护7
1.3 DAG区块链8
1.3.1 起源8
1.3.2 DAG区块链与单链技术的对比8
1.3.3 DAG区块链的优势与价值9
1.4 本章小结10
第2章 DAG区块链通信机制11
2.1 计算机网络的基本概念和技术11
2.1.1 计算机网络体系结构11
2.1.2 P2P对等网络19
2.1.3 网络安全技术24
2.2 IOTA通信机制28
2.2.1 网络结构及特性28
2.2.2 掩码认证消息29
2.2.3 交易隐私保护34
2.3 Byteball通信机制37
2.3.1 Byteball网络结构37
2.3.2 Byteball网络节点通信协议38
2.3.3 Byteball加密通信原理与实现40
2.3.4 Byteball私有不可追踪的支付41
2.4 InterValue通信机制42
2.4.1 网络结构42
2.4.2 大规模组网方法43
2.4.3 匿名通信机制44
2.4.4 跨链通信机制46
2.5 本章小结49
第3章 DAG区块链的共识机制50
3.1 IOTA共识机制50
3.1.1 Tangle确认规则50
3.1.2 轻量化的PoW52
3.1.3 蒙特卡洛马尔可夫链52
3.1.4 双花问题54
3.2 Byteball共识机制56
3.2.1 单元确认规则56
3.2.2 主链57
3.2.3 稳定点扩展 58
3.2.4 双花问题58
3.3 Hashgraph共识机制59
3.3.1 Gossip协议59
3.3.2 witness选择60
3.3.3 投票规则62
3.3.4 双花问题64
第4章 DAG区块链的智能合约65
4.1 Byteball智能合约65
4.1.1 Smart Payments简介66
4.1.2 Smart Payments原理68
4.1.3 实战Byteball智能合约75
4.2 DAG图灵完备智能合约探索86
4.2.1 DAG图灵完备智能合约的挑战87
4.2.2 Vite项目90
4.2.3 InterValue项目92
4.3 本章小结94
第5章 DAG区块链中的密码学技术95
5.1 DAG区块链中的Hash函数95
5.1.1 Hash函数的基本模型95
5.1.2 SHA256密码算法97
5.1.3 SHA3计划胜选Hash函数99
5.1.4 中国商用密码Hash函数SM3101
5.1.5 Merkle哈希树103
5.2 DAG区块链中的非对称加密机制104
5.2.1 RSA加密算法104
5.2.2 EIGamal公钥加密算法107
5.2.3 椭圆曲线公钥加密算法108
5.3 区块链中的数字签名机制110
5.3.1 RSA数字签名110
5.3.2 DSA数字签名111
5.3.3 ECDSA数字签名112
5.3.4 EIGamal数字签名113
5.3.5 SM2数字签名114
5.3.6 Schnorr数字签名116
5.3.7 特殊数字签名117
5.3.8 零知识证明122
5.4 后量公钥密码体制124
5.4.1 基于Hash函数抗量子密码124
5.4.2 基于纠错码抗量子密码125
5.4.3 多变量密码125
5.4.4 格密码126
第6章 DAG区块链安全原理与实践130
6.1 区块链安全介绍131
6.1.1 背景131
6.1.2 威胁模型132
6.1.3 安全目标132
6.2 数据安全与防护133
6.2.1 交易匿名133
6.2.2 隐私保护133
6.3 算法安全与分析134
6.3.1 签名算法134
6.3.2 共识机制135
6.3.3 智能合约135
6.4 代码安全与缓解136
6.4.1 模糊测试137
6.4.2 符号执行137
6.4.3 自动化漏洞挖掘138
6.4.4 攻击缓解139
6.5 基础设施安全威胁与防护140
6.6 典型漏洞分析与实践141
6.6.1 重入漏洞141
6.6.2 访问控制漏洞143
6.6.3 整数溢出漏洞146
6.6.4 底层函数返回值未检查漏洞148
6.6.5 拒绝服务漏洞149
6.6.6 随机性不当漏洞150
6.6.7 提前交易漏洞151
6.6.8 时间篡改漏洞152
6.6.9 短地址漏洞153
6.7 区块链生态安全的未来155
6.8 本章小结155
第7章 IOTA详解156
7.1 IOTA原理分析156
7.1.1 IOTA简介156
7.1.2 IOTA数据结构157
7.1.3 IOTA系统稳定性分析162
7.1.4 IOTA安全性分析166
7.2 IOTA实战开发172
7.2.1 IOTA钱包安装 172
7.2.2 IOTA API176
7.2.3 IOTA私有测试链搭建180
7.2.4 第一个简单小程序184
7.2.5 IOTA应用实例186
第8章 Byteball详解189
8.1 Byteball原理分析189
8.1.1 Byteball简介189
8.1.2 Byteball区块链结构190
8.1.3 Byteball地址和脚本192
8.1.4 Byteball网络结构199
8.1.5 Byteball应用方法203
8.2 Byteball实战开发211
8.2.1 Byteball安装部署211
8.2.2 Byteball应用实例218
8.3 本章小结220
第9章 InterValue详解222
9.1 InterValue原理分析222
9.1.1 InterValue简介222
9.1.2 InterValue数据结构228
9.1.3 InterValue共识机制233
9.1.4 InterValue智能合约241
9.1.5 InterValue安全机制245
9.1.6 InterValue匿名通信技术250
9.2 InterValue生态圈251
9.2.1 InterValue跨链技术和多链融合252
9.2.2 全节点适配器多链融合253
9.2.3 InterValue跨链通信254
9.2.4 InterValue跨链资产交换255
9.2.5 InterValue跨链资产转移256
9.3 本章小结256
第10章 DAG区块链与区块链3.0生态259
10.1 DAG区块链链上应用259
10.1.1 分布式社交网络应用259
10.1.2 分歧合约应用260
10.1.3 文件存储网格应用261
10.2 DAG区块链应用场景262
10.2.1 应用场景概述262
10.2.2 实物资产交易确权264
10.2.3 去中心化旅行服务平台264
10.2.4 资产分红权利交易区块链266
第11章 DAG区块链展望269
11.1 从1.0到4.0269
11.2 未来展望270