区块链技术及应用

一本配合行业应用案例,常见问题等,全面解读区块链技术实现与应用的书
分享 推荐 0 收藏 118 阅读 6.9K
王瑞锦 (作者) 978-7-115-55996-8

关于本书的内容有任何问题,请联系 孙澍

1.全面介绍区块链的基础知识与概念
2.剖析了区块链的架构、底层实现细节以及加密技术
3.配合行业应用案例,常见问题等,全面解读区块链技术实现与应用
4.使用Python实现应用案例

内容摘要

本书全面、系统地阐述了区块链技术的经典理论体系,辅以典型工程案例,为读者展示成熟的分析方法和解决方案。全书内容包括区块链概述、区块链开发基础、区块链核心技术解析、区块链数据存储、区块链网络构建、以太坊技术解析、区块链技术改进、区块链安全性分析和区块链项目实战案例。
本书难易程度适中,内容充实,层次清晰,可作为普通高等学校信息安全、网络空间安全、软件工程、计算机科学与技术等专业的本科生和研究生教材,也可以作为区块链爱好者和信息安全工程师的参考手册。

前言

区块链是当前的热门话题之一。作为衍生自加密数字货币的底层技术,区块链技术对商业、社会和政治体系都具有深远的影响,甚至可以说,区块链技术代表着一种新的社会风潮。近年来,区块链技术得到了快速普及,其研究和应用呈现出爆发式增长的态势。区块链被认为是继大型机、个人计算机、互联网、移动/社交网络之后计算范式的第五次颠覆性创新。
区块链技术是未来科技领域里的核心技术之一,它不仅能够去除繁杂的中间机构,降低企业的运行成本,还能建立一个公开透明的数据存储机制,可以提升机构的运行效率。此外,一系列的实践证明区块链技术是解决信任问题的有效手段。例如,2008年以来,比特币和其他一系列数字货币的发展证明了区块链技术可以解决交易中的信任问题;而2013年以来启动的以太坊项目,则大大拓宽了区块链技术的应用领域,为打造真正可用的智能合约技术奠定了基础。总的来说,对各个行业,特别是保险公司、证券行业和银行业等所在的金融行业,采用区块链技术是降低运行成本、提高系统安全性和可靠性、解决信任问题的有效手段。
然而,世界上没有绝对安全的系统。区块链在未来可能会成为电子货币、交易记录存储、公证业务和知识产权保护等关键业务的核心技术,因此对其进行安全性分析,探讨可能的攻击、威胁和技术漏洞,是十分有必要的。
本书共9章,递进地介绍区块链技术的主要内容。
第1章主要对区块链进行概要介绍。
第2章主要介绍区块链系统底层开发会用到的模块、图形界面的开发和Web的开发。
第3~5章主要介绍区块链开发必备的密码学基础、数据存储技术,以及区块链网络构建。
第6章、第7章主要介绍以太坊技术和区块链技术改进。
第8章简要分析区块链的安全性问题。
第9章则提供了区块链项目实战案例。
参与本书编写工作的有王瑞锦、李冬芬、岳境涛、刘明哲、张凤荔、傅翀、徐剑、韩迪雅、陈辰、文淑华、张萌洁、吴劲等。在本书的编写过程中,电子科技大学的硕士研究生唐榆程、郭上铜、王雪婷等参与了部分工作,电子科技大学的本科生刘家希、吴思凡等做了不少书稿资料和插图收集的工作,在此对所有参与本书编写工作的老师和同学表示衷心感谢。此外,编写团队还参考了大量文献,在此特向这些文献的作者表示感谢。本书得到了教育部产学合作协同育人项目(201801076014、201802095001)、电子科技大学2019—2020年度规划教材建设项目的资助。
由于编者的水平有限,书中难免存在不足及疏漏之处,希望广大读者批评指正,编者将不胜感激。

编 者
2021年1月于电子科技大学

目录

目 录
第1章 区块链概述 1
1.1 什么是区块链 1
1.1.1 区块链的定义 1
1.1.2 区块链的特点 2
1.1.3 区块链与大数据、云计算的关系 2
1.1.4 区块链的局限性 4
1.2 区块链的发展 4
1.2.1 区块链的发展历程 4
1.2.2 区块链的几个阶段 12
1.3 区块链的分类 13
1.3.1 公有链 13
1.3.2 联盟链 14
1.3.3 私有链 14
1.3.4 侧链 15
1.3.5 互联链 15
1.4 区块链体系结构 15
1.5 区块链+应用 17
本章小结 23
思考题 23
第2章 区块链开发基础 25
2.1 Python的特点和应用领域 25
2.2 模块 25
2.2.1 使用和安装 25
2.2.2 基本模块 26
2.3 基于Tkinter的图形界面开发 27
2.4 Web开发 29
2.4.1 HTTPS简介 29
2.4.2 Web框架 29
本章小结 30
思考题 30
第3章 区块链核心技术解析 31
3.1 区块链加密技术 31
3.1.1 安全哈希函数 31
3.1.2 加解密技术 37
3.1.3 时间戳技术 42
3.1.4 梅克尔树技术 42
3.1.5 数字签名 43
3.1.6 数字证书 46
3.1.7 密钥分存 47
3.1.8 匿名技术 47
3.1.9 隐私模型 48
3.2 区块链核心问题 48
3.2.1 一致性问题 48
3.2.2 拜占庭将军问题与算法 50
3.2.3 FLP不可能原理 52
3.2.4 CAP原理 53
3.3 区块链共识机制 54
3.3.1 PoW机制 54
3.3.2 PoS:权益证明机制 55
3.3.3 DPoS授权权益机制 56
3.3.4 分布式一致性算法 57
3.3.5 共识机制比较 63
3.3.6 跨链共识算法 63
3.4 编程案例 69
3.4.1 MD5算法的实现 69
3.4.2 RSA算法的实现 72
本章小结 74
思考题 74
第4章 区块链数据存储 75
4.1 哈希指针与区块链 75
4.1.1 哈希指针 75
4.1.2 区块链 75
4.2 梅克尔树简介 76
4.2.1 二叉树 76
4.2.2 梅克尔树 77
4.3 区块链存储案例分析 78
4.3.1 100%准备金证明 78
4.3.2 分布式存储 79
4.4 编程案例 80
4.4.1 哈希列表的实现 80
4.4.2 梅克尔树的实现 82
本章小结 85
思考题 85
第5章 区块链网络构建 86
5.1 网络架构 86
5.1.1 网络中的节点 86
5.1.2 区块链的运行机制 87
5.2 去中心化 88
5.2.1 去中心化的定义 88
5.2.2 工作量证明机制 89
5.2.3 区块链共识 90
5.3 基于开源区块链项目 92
5.3.1 Hyperledger 92
5.3.2 Interledger 93
5.3.3 Steem 95
5.4 编程案例 96
5.4.1 实现私有链 96
5.4.2 实现公有链 109
本章小结 127
思考题 127
第6章 以太坊技术解析 128
6.1 以太坊技术 128
6.1.1 以太坊整体架构 128
6.1.2 以太坊核心名词 129
6.1.3 以太坊单位与Gas 130
6.1.4 叔块与奖励计算 130
6.1.5 以太坊智能合约 131
6.2 超级账本项目 133
6.2.1 Fabric项目 133
6.2.2 Sawtooth Lake项目 137
6.2.3 Libra项目 139
6.3 智能合约开发框架Truffle 142
6.3.1 Truffle框架的特性 142
6.3.2 基于Truffle框架的实例 142
6.4 编程案例 154
6.4.1 利用Solidity实现一个拥有投票功能的智能合约 154
6.4.2 宠物商城 155
本章小结 164
思考题 164
第7章 区块链技术改进 165
7.1 增强匿名性 165
7.1.1 区块链的匿名性分析 165
7.1.2 混币交易 166
7.1.3 零知识证明 168
7.2 加强去中心化 168
7.2.1 挖矿市场研究 168
7.2.2 反矿机挖矿算法 172
7.2.3 Scrypt算法 173
7.2.4 混合哈希函数 175
7.2.5 矿池与反矿池挖矿算法 176
7.2.6 中心化与去中心化之争 177
7.3 能源消耗与生态环保 178
7.3.1 工作量证明机制的能源消耗 178
7.3.2 有效工作量证明 179
7.3.3 虚拟挖矿 180
7.3.4 改进的PBFT算法 182
7.4 功能扩展与性能改进 186
7.4.1 共同挖矿 186
7.4.2 侧链(跨链)结构 188
7.4.3 闪电网络 192
7.4.4 基于区块链的随机数发生器 193
7.5 编程案例 196
7.5.1 Scrypt加密算法 196
7.5.2 随机并联混合哈希算法 196
7.5.3 有效工作量证明算法 202
本章小结 203
思考题 203
第8章 区块链安全性分析 204
8.1 针对区块链的恶意攻击与应对策略 204
8.1.1 针对区块链系统的DDoS攻击 204
8.1.2 分叉攻击 205
8.1.3 拒绝服务攻击 208
8.1.4 临时保留区块攻击 209
8.1.5 区块丢弃攻击 209
8.1.6 惩罚分叉攻击 210
8.1.7 虚拟挖矿的潜在风险 211
8.2 针对分布式存储的攻击和防御 212
8.2.1 Sybil攻击和Eclipse攻击 212
8.2.2 基于工作量证明机制的Sybil攻击防御方案 213
8.3 攻击案例分析 214
8.3.1 币安黑客事件 214
8.3.2 “The DAO”事件与以太坊分叉 217
8.4 编程案例 220
8.4.1 分叉攻击模拟 220
8.4.2 Sybil攻击防御模拟 221
本章小结 222
第9章 区块链项目实战案例 223
9.1 基于区块链的婚恋平台开发 223
9.1.1 系统整体架构设计 223
9.1.2 矿工节点实现 225
9.1.3 二级机构节点实现 244
9.2 基于区块链的智能物联网协作控制系统开发 256
9.2.1 网络架构 256
9.2.3 智能物联网节点实现 257
本章小结 270
参考文献 271


读者评论

赶紧抢沙发哦!

我要评论

作者介绍

王瑞锦,博士,副教授,中国计算机学会高级会员,CCF会员与分部工委委员,ACM成都分会秘书长,美国西北大学访问学者。主要从事网络与信息系统安全、大数据安全、区块链、知识图谱、人工智能等领域的科研与双创工作。主持并参与10余项国家级、省级项目。在国内外重要期刊和会议发表论文30余篇;参与制定国际和国家标准3项,申请国家技术发明专利12项。主持并参与8项国家级省级教改项目,获30余项国家级竞赛优秀指导教师等荣誉。

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部