本书通过三部分内容解码区块链核心技术,揭示这项颠覆性的技术掀起第四次工业革命背后的秘密。部分,基础架构篇,首先,向读者阐释了区块链的概念、发展、分类及架构,并对即将到来的区块链4.0阶段提供了前瞻性的思考;其次,通过模块化讲解的方式介绍了区块链通用技术架构体系,包括数据结构与账户体系、网络通信、共识算法、区块链安全、智能合约技术要点,并对上述五大模块核心技术进行了深度剖析。第二部分,拓展协议篇,针对当前区块链扩容协议、区块链治理与审计、跨链互操作技术和区块链 难题,提供了具有理论意义和实践意义的技术方案讲解。第三部分,应用实践篇,剖析了以太坊、Hyperledger Fabric等各大主流区块链底层平台的架构与设计,并介绍了区块链测评的理论与方法,带领读者体验从开发环境准备、应用架构搭建到智能合约设计的全流程区块链应用研发,更深刻地理解和掌握区块链技术的应用模式和测评技术。
本书的目标读者是所有想充分了解区块链的人群。本书既包含区块链基础知识,又有对区块链核心技术的深入解读和讨论,可以帮助非专业人员系统地了解区块链,也可以帮助开发工程师更加快速、深入地投入到区块链的开发工作当中。
邱炜伟,杭州趣链科技有限公司高级副总裁、首席架构师。浙江大学计算机科学与技术学院博士后,主要研究方向为区块链、分布式系统可靠性优化、 服务计算等。 主持国内国产自主可控联盟区块链平台底层技术研究,包括共识算法、点对点网络通信、隐私保护、账本存储、智能合约执行引擎等内容。邱炜伟博士长期从事区块链相关领域的科研和产业化工作,已累计申请区块链相关专利数十项,技术成果服务于多个国家部委、省市政府和大型金融机构,并承担了国家重点研发计划等多个项目,产生了突出的经济效益和社会效益。
李伟,杭州趣链科技有限公司首席执行官。高级工程师,浙江大学计算机科学与技术学院工学博士,入选浙江省万人计划。2016 年创立杭州趣链科技有限公司,该公司已成为区块链技术服务提供商及独角兽企业。李伟博士曾获2019全球浙商金奖、杭州市2018年度创业人物等多项荣誉称号,担任中国青年企业家协会理事、中国计算机学会区块链专业委员会委员、浙江省工商联执委、浙江省区块链技术应用协会副会长、浙江省青年企业家协会常务理事,致力于区块链产业技术应用的发展与推广。
目录
第 1章 基本概念与架构1
1.1 区块链概念1
1.1.1 区块链技术概述1
1.1.2 区块链技术来源4
1.1.3 区块链技术特点7
1.2 区块链发展8
1.3 区块链分类11
1.4 区块链架构12
1.4.1 基础协议13
1.4.2 扩展协议15
1.4.3 生态组件17
参考文献17
第 2章 数据结构与账户体系19
2.1 区块数据结构与组织形式19
2.1.1 区块数据结构19
2.1.2 区块数据组织形式21
2.2 账户体系21
2.2.1 UTXO模型22
2.2.2 账户余额模型23
2.2.3 模型对比24
2.3 账本数据组织形式26
2.3.1 默克尔树26
2.3.2 MPT28
2.3.3 增量哈希31
2.4 运行流程31
2.4.1 运行流程概述31
2.4.2 交易的生成35
2.4.3 交易传播与验证36
2.4.4 交易的执行38
2.5 本章小结38
参考文献38
第3章 网络通信39
3.1 P2P网络39
3.1.1 P2P网络模型40
3.1.2 P2P网络协议43
3.2 区块链网络46
3.2.1 节点类型46
3.2.2 区块链网络模型49
3.2.3 区块链网络协议51
3.3 本章小结54
第4章 共识算法55
4.1 共识算法概述55
4.1.1 拜占庭将军问题59
4.1.2 FLP不可能定理63
4.1.3 CAP理论64
4.1.4 共识算法分类65
4.2 分布式一致性算法66
4.2.1 2PC66
4.2.2 3PC69
4.2.3 Paxos72
4.2.4 RAFT77
4.3 典型共识算法80
4.3.1 PoW共识算法81
4.3.2 PoS共识算法85
4.3.3 DPoS共识算法88
4.3.4 PBFT共识算法91
4.4 新型共识算法101
4.4.1 Casper共识算法101
4.4.2 Algorand共识算法108
4.4.3 HotStuff共识算法115
参考文献121
第5章 区块链安全125
5.1 区块链安全体系125
5.1.1 数据层安全126
5.1.2 网络层安全128
5.1.3 共识层安全130
5.1.4 合约层安全131
5.1.5 应用层安全134
5.2 核心安全技术138
5.2.1 密码学算法139
5.2.2 PKI149
5.2.3 形式化验证157
5.3 身份隐私保护技术158
5.3.1 盲签名160
5.3.2 群签名和环签名162
5.3.3 直接匿名证明163
5.3.4 技术优劣对比分析165
5.4 数据隐私保护技术166
5.4.1 账本隔离166
5.4.2 账本加密171
5.4.3 密态计算与验证172
5.4.4 技术优劣对比分析187
参考文献189
第6章 智能合约190
6.1 智能合约概述190
6.1.1 概念和定义191
6.1.2 智能合约架构193
6.1.3 智能合约生命周期管理194
6.2 典型的智能合约执行引擎196
6.2.1 栈式执行引擎196
6.2.2 解释型执行引擎200
6.2.3 容器化执行引擎202
6.3 智能合约与分布式应用204
6.3.1 DApp204
6.3.2 预言机206
第7章 区块链扩容协议211
7.1 扩容问题概述及分析211
7.1.1 交易吞吐量212
7.1.2 存储容量213
7.2 链上扩容214
7.2.1 区块扩容214
7.2.2 并行扩容216
7.2.3 架构扩容221
7.3 链下扩容236
7.3.1 侧链技术237
7.3.2 状态通道239
7.3.3 链下协同242
7.4 本章小结244
第8章 区块链治理与审计245
8.1 区块链权限体系245
8.1.1 权限层级246
8.1.2 权限管理模型249
8.2 区块链治理模型257
8.2.1 链上治理258
8.2.2 链下治理262
8.3 区块链审计263
8.3.1 审计概述263
8.3.2 区块链审计的内容与形式264
8.3.3 审计的展示与分析266
8.4 BaaS运维治理269
8.4.1 BaaS运维治理概述269
8.4.2 联盟链管理271
8.4.3 联盟链运维274
8.4.4 智能合约管理275
参考文献278
第9章 跨链互操作技术280
9.1 跨链问题概述280
9.2 跨链原理281
9.2.1 跨链模型281
9.2.2 跨链交易验证285
9.2.3 跨链事务管理286
9.2.4 跨链数据安全289
9.3 典型跨链协议291
9.3.1 Polkadot292
9.3.2 Cosmos294
9.3.3 BitXHub298
9.4 本章小结301
参考文献302
第 10章 区块链 304
10.1 区块链 物联网304
10.1.1 面向物联网的区块链体系架构305
10.1.2 区块链小型化轻量化307
10.1.3 物联网终端适配308
10.1.4 基于区块链的物联网业务平台314
10.2 区块链 大数据317
10.2.1 基于区块链的去中心化存储318
10.2.2 基于区块链的数据共享321
10.2.3 基于区块链的联邦计算323
10.3 区块链 工业互联网325
10.3.1 工业区块链概述325
10.3.2 基于区块链的设备数字身份327
10.3.3 基于区块链的产品溯源329
10.3.4 基于区块链的供应链金融331
参考文献332
第 11章 主流平台介绍与实践334
11.1 以太坊334
11.1.1 项目概述335
11.1.2 项目实战337
11.2 Hyperledger Fabric343
11.2.1 项目概述343
11.2.2 项目实战346
11.3 Libra353
11.3.1 项目概述353
11.3.2 项目实战355
11.4 趣链区块链平台362
11.4.1 项目概述362
11.4.2 项目实战365
参考文献374
第 12章 区块链测评376
12.1 区块链测评概述376
12.1.1 区块链信息系统质量模型376
12.1.2 区块链评价体系378
12.2 功能性测评380
12.3 性能测评382
12.4 安全测评384
12.5 拓展性测评386
12.6 区块链基准测试工具387
致谢392