图书目录

目录

第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.2SHA256

2.6.3RIPEMD160与SHA3

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.3FisherLynchPaterson定理

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.1libbitcoinexplorer工具

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构建FabricPeer镜像

17.2脚本构建超级账本网络

17.2.1检测Docker环境

17.2.2下载FabricSamples源代码

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本章小结

参考文献