作者简介
马兆丰,男,博士。IEEE会员、ACM会员及CCF会员。现为北京邮电大学区块链及安全技术联合实验室主任,北京邮电大学移动互联网与大数据安全联合实验室主任,北京邮电大学网络空间安全学院研究生导师。2004年毕业于西安交通大学计算机科学与技术系,获博士学位,2005年进入清华大学计算机科学与技术系博士后流动站从事博士后研究工作,2007年博士后出站后进入北京邮电大学正式参加工作。当前主要从事网络与信息安全、区块链及安全技术、移动互联网与大数据安全创新、数字版权管理及水印等方面的教学、科研和成果转化等工作。作为负责人,完成/主持国家自然基金委、科技部、新闻出版总署、国家计算机网络安全管理中心、北信源、腾讯、中国联通、中国移动、中国银河证券、长城传媒集团、新奥特集团、天柏集团、文化部、二次云、区块链通等课题20多项,发表论文32篇,申请专利9项。主导并建立了“北邮-腾讯-信息安全技术创新基地”、“北邮-北信源-信息安全技术联合实验室”、“北邮-二次云-移动互联网与大数据安全联合实验室”和“北邮-区块链通-区块链及安全技术联合实验室”。以公益形式被聘任为中创红星创投基金技术委员会主任,为移动互联网、区块链、网络安全领域
目录
目录
第1篇基础篇
第1章绪论
1.1区块链技术一般原理
1.1.1技术理念
1.1.2工作流程
1.1.3数据结构
1.2区块链涉及的技术基础
1.2.1密码算法
1.2.2共识机制
1.2.3P2P网络
1.2.4嵌入式数据库
1.2.5智能合约
1.3区块链分层参考模型
1.3.1网络层
1.3.2数据层
1.3.3安全层
1.3.4共识层
1.3.5合约层
1.3.6服务层
1.3.7应用层
1.4区块链技术发展及特点
1.4.1区块链1.0
1.4.2区块链2.0
1.4.3区块链3.0
1.5区块链分类及适配性选择
1.5.1公有链
1.5.2联盟链
1.5.3私有链
1.6区块链发展趋势及应用
1.6.1区块链发展趋势
1.6.2区块链应用前景
1.7本章小结
参考文献
第2章密码学
2.1密码学简介
2.2密码系统攻击
2.3密码算法设计原则
2.4对称密码算法
2.4.1AES
2.4.2分组密码工作模式
2.5公钥密码算法
2.5.1公钥密码算法简介
2.5.2RSA公钥密码算法
2.5.3ECC公钥密码算法
2.6Hash函数
2.6.1Hash函数原理
2.6.2SHA256
2.6.3RIPEMD160与SHA3
2.7Merkle树
2.8数字签名技术
2.8.1数字签名原理
2.8.2RSA签名方案
2.8.3椭圆曲线签名方案
2.9零知识证明
2.9.1交互式零知识证明
2.9.2非交互式零知识证明
2.10Base58
2.11我国商用密码算法
2.12后量子密码
2.13本章小结
参考文献
第3章共识算法
3.1分布式共识算法背景
3.1.1拜占庭将军问题
3.1.2共识系统的基本定义
3.1.3FisherLynchPaterson定理
3.1.4CAP定理
3.2强一致性非拜占庭共识算法
3.2.1Viewstamped Replicaton
3.2.2Paxos共识算法
3.2.3其他类Paxos共识协议
3.2.4强一致性非拜占庭共识算法小结
3.3强一致性拜占庭容错共识算法
3.3.1实用的拜占庭容错系统
3.3.2强一致性拜占庭容错共识算法小结
3.4非强一致性共识算法 PoW机制
3.5PoS机制
3.5.1点点币PoS机制
3.5.2NXT PoS机制
3.5.3Tendermint PoS机制
3.5.4Ethereum Casper PoS机制
3.5.5LPoS机制
3.5.6DPoS机制
3.5.7PoS共识算法小结
3.6Ripple共识算法
3.7本章小结
参考文献
第2篇技术篇
第4章比特币概述
4.1比特币简介
4.2比特币客户端
4.2.1BitcoinCore
4.2.2其他版本比特币钱包
4.3本章小结
第5章比特币核心技术
5.1libbitcoinexplorer工具
5.2密钥与地址
5.2.1Base58Check
5.2.2比特币中的密钥与地址
5.3交易
5.3.1交易的生命周期
5.3.2基于UTXO的交易模型
5.4脚本
5.4.1比特币脚本结构
5.4.2比特币交易脚本类型
5.4.3比特币脚本执行
5.5本章小结
参考文献
第6章比特币区块链技术原理
6.1比特币参考架构
6.1.1比特币功能架构
6.1.2比特币技术架构
6.2比特币区块链
6.2.1区块结构
6.2.2创世块
6.2.3区块链原理
6.3比特币网络
6.3.1P2P网络架构
6.3.2比特币节点类型
6.3.3网络协议
6.4挖矿与共识
6.4.1构造区块体
6.4.2构造区块头
6.4.3创建区块
6.4.4分叉处理
6.5本章小结
参考文献
第7章比特币创新技术
7.1隔离见证
7.1.1基本概念
7.1.2交易延展性问题
7.1.3技术优势
7.1.4工作方式
7.2闪电网络
7.2.1RSMC
7.2.2HTLC
7.2.3技术特点
7.3本章小结
参考文献
第8章比特币开发实战
8.1动手编译比特币
8.1.1Ubuntu系统
8.1.2Mac系统
8.1.3Windows系统
8.2AltCoin开发
8.2.1搭建私有链
8.2.2优化配置
8.3区块链浏览器
8.3.1前期准备
8.3.2搭建区块链浏览器
8.4本章小结
第9章以太坊概述
9.1以太坊发展背景
9.2以太坊系统模型
9.3以太坊核心概念
9.3.1账户和地址
9.3.2消息和交易
9.3.3区块结构
9.3.4以太坊节点
9.3.5挖矿和共识
9.3.6以太坊虚拟机
9.3.7数字资产
9.4本章小结
第10章以太坊分层体系架构
10.1以太坊总体架构
10.2以太坊数据层
10.2.1账户原理
10.2.2交易原理
10.2.3区块结构
10.3以太坊网络层
10.3.1以太坊的Kad
10.3.2P2P节点通信
10.4以太坊共识层
10.5以太坊激励层
10.6以太坊合约层
10.6.1智能合约创建
10.6.2智能合约执行
10.6.3智能合约调用
10.7以太坊应用层
10.7.1钱包
10.7.2DApp
10.8本章小结
第11章以太坊核心功能
11.1账户管理
11.2数据存储
11.3智能合约
11.4数字资产
11.5DApp应用
11.6本章小结
第12章以太坊开发环境搭建
12.1以太坊客户端安装
12.2以太坊网络的搭建
12.2.1搭建连接到主网的全节点
12.2.2搭建单节点的以太坊私有链
12.3开发环境其他工具
12.4本章小结
第13章以太坊智能合约开发
13.1智能合约开发语言
13.2智能合约代码编写
13.3智能合约编译方法
13.4智能合约部署方法
13.5智能合约调用方法
13.6智能合约测试方法
13.7智能合约开发实例
13.7.1数字资产开发
13.7.2代币合约部署
13.7.3代币合约调用
13.8本章小结
第14章以太坊DApp开发实践
14.1DApp开发流程
14.2DApp开发工具
14.3案例: 分层确定性钱包
14.3.1Ether.js库
14.3.2创建钱包后端
14.3.3创建钱包前端
14.3.4钱包应用演示
14.4本章小结
第15章以太坊新技术展望
15.1以太坊的联盟链
15.2以太坊分片技术
15.3以太坊侧链技术
15.4本章小结
第16章超级账本系统架构
16.1超级账本分层体系架构
16.1.1项目背景简介
16.1.2系统逻辑架构
16.1.3网络主要节点
16.1.4主要项目介绍
16.1.5Fabric新的变化
16.2超级账本分布式账本结构
16.2.1区块链区块结构
16.2.2状态数据库结构
16.2.3有效账本
16.3超级账本数据处理与同步
16.3.1Gossip协议
16.3.2数据处理同步
16.3.3私有数据
16.3.4确保数据隐私的方式
16.4超级账本共识机制
16.4.1背书过程
16.4.2排序过程
16.4.3校验过程
16.5超级账本通道化数据管理
16.5.1数据隔离和保密
16.5.2创建新通道
16.5.3网络与通道
16.5.4多通道管理
16.6超级账本交易流程
16.6.1交易流程
16.6.2流程详解
16.6.3背书策略
16.6.4交易实现
16.7超级账本智能合约
16.7.1智能合约业务逻辑
16.7.2框架中的智能合约
16.7.3用户链码基本结构
16.8超级账本用户管理
16.8.1成员服务基础
16.8.2成员服务提供者
16.9本章小结
第17章超级账本的部署及配置
17.1基础环境搭建
17.1.1工具安装
17.1.2编译Fabric组件
17.1.3构建FabricPeer镜像
17.2脚本构建超级账本网络
17.2.1检测Docker环境
17.2.2下载FabricSamples源代码
17.2.3启动脚本注解
17.2.4生成证书文件
17.2.5超级账本网络启动
17.2.6超级账本网络关闭
17.3构建超级账本网络
17.3.1生成MSP证书
17.3.2生成通道材料
17.3.3启动节点网络
17.3.4通道成员管理
17.3.5链码操作管理
17.4本章小结
第18章超级账本核心技术开发
18.1链码开发
18.1.1Golang链码结构
18.1.2Node.js链码结构
18.1.3Java链码结构
18.2Fabric SDK介绍
18.2.1Fabric Node.js SDK的使用
18.2.2Fabric Java SDK
18.3Hyperledger Composer开发项目
18.3.1Hyperledger Composer框架介绍
18.3.2Hyperledger Composer开发区块链项目
18.3.3Composer部署区块链项目
18.4本章小结
第3篇进阶篇
第19章区块链现存问题
19.1区块链技术局限性
19.1.1数据冗余
19.1.2系统安全
19.1.3共识算法
19.1.4可扩展性
19.2共识算法问题
19.2.1挖矿算法问题
19.2.2其他共识问题
19.3可扩展性问题
19.3.1交易性能
19.3.2分叉与升级
19.4本章小结
参考文献
第20章区块链安全问题
20.1区块链安全属性
20.1.1保密性
20.1.2完整性
20.1.3可用性
20.2数据层安全
20.2.1数据存储安全
20.2.2密钥存储安全
20.3网络层安全
20.3.1DDoS攻击
20.3.2女巫攻击
20.3.3日蚀攻击
20.4共识层安全
20.5应用层安全
20.6隐私保护
20.6.1比特币匿名性分析
20.6.2隐私保护的常见做法
20.7本章小结
参考文献
第21章智能合约安全检测
21.1智能合约概述
21.1.1智能合约基本介绍
21.1.2智能合约漏洞分析
21.1.3智能合约检测现状
21.2漏洞重点解析
21.3智能合约检测方法
21.4安全代码编写建议
21.4.1代码模块化
21.4.2使用安全代码
21.4.3防范代码漏洞
21.4.4做好漏洞措施
21.4.5智能合约测试
21.5本章小结
第22章区块链前沿技术
22.1跨链技术
22.1.1基本概念
22.1.2产生背景
22.1.3实现方案
22.2EOS区块链
22.2.1EOS区块链概述
22.2.2EOS模块组件与工具
22.2.3开始EOS之旅
22.3DAG区块链
22.3.1DAG区块链概述
22.3.2DAG区块链典型代表
22.3.3DAG区块链总结
22.4JMP Coin
22.4.1JMP Coin概述
22.4.2技术特点
22.4.3诞生意义
22.5Libra
22.5.1Libra概述
22.5.2技术特点
22.5.3各界声音
22.6本章小结
参考文献
内容摘要
第1章绪论
在过去的二十多年间,随着科技的飞速发展,互联网给我们带来了许多便利和工作效率上的提升,可以说互联网已经渗透到了我们生活中的方方面面。与此同时,正是由于互联网提供的便利,人们作恶、造假的成本变得非常低廉.各种网上诈骗、利益侵犯、隐私数据泄露、垃圾数据泛滥等案例屡见不鲜,这些“附加灾害”给人类带来了极大的伤害。现阶段,互联网巨头的模式均已成型,用户都是通过依赖这些巨头机构所建立的信任体系,来尽可能地保全自己的利益,但是由此带来的数据垄断、隐私侵犯等问题使得互联网的发展到了一个瓶颈。直到2016年区块链进人人们的视野,以其去中心化、去信任、防篡改、高透明等特点迅速吸引了广泛的关注,其共享、合作的理念也同样深入人心,由此所带来生产关系的变革不仅将解决许多传统巨头巾心化存在的弊端,并非常有可能将互联网的发展推向一个新的高度。正如CCTV 2018年5月份的《对话》栏目中所提到的:“区块链是互联网的第二个时代;区块链的价值是互联网的10倍;区块链是创造信任的机器。”
本章我们将从区块链的一般原理、技术基础、参考模型、技术支撑、分类及特点、适配性选择和发展趋势及应用等方面对区块链技术进行总体介绍。
1.1 区块链技术一般原理
以下为对购买帮助不大的评价