前言
第1章 区块链的前世今生
1.1 初识区块链
1.2 区块链技术的演进
1.3 区块链能否“改变世界”
第2章 区块链中的共识机制
2.1 分布式系统的一致性挑战
2.1.1 若干基本原理
2.1.2 拜占庭将军问题
2.2 常见共识算法
2.2.1 PBFT算法
2.2.2 Raft算法
2.2.3 PoW算法
2.2.4 PoS算法
第3章 密码学探秘
3.1 密码学基础知识
3.1.1 加解密的一般过程
3.1.2 密码学发展历程
3.1.3 密码算法的分类
3.1.4 基础理论简析
3.2 公钥密码体制
3.2.1 RSA算法
3.2.2 ElGamal算法
3.2.3 椭圆曲线算法
3.2.4 公钥密码的安全性分析
3.3 数字签名
3.3.1 哈希函数
3.3.2 RSA签名
3.3.3 ElGamal签名
3.3.4 DSA
3.3.5 椭圆曲线DSA
3.3.6 数字签名方案的安全性分析
3.4 区块链中的密码学算法
3.5 密码学新纪元
3.5.1 同态加密技术
3.5.2 抗量子攻击密码
第4章 区块链核心技术最佳实践——比特币
4.1 比特币要解决的问题
4.2 技术解决方案
4.3 P2P网络
4.4 账本——区块链
4.4.1 区块结构
4.4.2 创世区块
4.4.3 区块的验证和链接
4.5 比特币地址
4.5.1 比特币地址的生成过程
4.5.2 比特币公钥格式——压缩和非压缩
4.5.3 比特币私钥导入的格式——WIF
4.5.4 生成自己的比特币地址
4.6 比特币交易——Transaction
4.6.1 交易的输入和输出
4.6.2 UTXO——未花费交易输出
4.7 脚本语言
4.7.1 脚本操作码
4.7.2 交易脚本——锁定和解锁
4.7.3 锁定脚本——P2PKH
4.7.4 锁定脚本——P2SH
4.7.5 解锁脚本
4.7.6 交易验证——组合验证脚本
4.7.7 挖矿——PoW
4.8 矿场和矿池
4.8.1 矿场
4.8.2 矿池
4.9 SPV轻钱包
4.10 区块链安全
4.10.1 私钥碰撞
4.10.2 哈希破解
4.10.3 私钥或钱包App
4.10.4 51%攻击
4.10.5 双花
4.10.6 可塑性攻击
4.11 隔离见证
4.12 比特币分叉
4.12.1 硬分叉和软分叉
4.12.2 核心开发团队与中国矿工
4.13 侧链——闪电网络
4.14 支付通道
4.14.1 微支付通道
4.14.2 RSMC
4.14.3 HTLC
4.14.4 闪电网络
第5章 区块链应用场景及政府监管
5.1 跨境支付
5.1.1 SWIFT
5.1.2 Ripple
5.1.3 J.P.摩根——JPM Coin
5.1.4 蚂蚁金服
5.2 数据存证
5.2.1 保全网
5.2.2 Factom
5.2.3 仲裁链
5.3 防伪溯源
5.4 区块链电子发票
5.5 政府监管
第6章 Quorum架构
6.1 架构概述
6.1.1 应用层
6.1.2 工具层
6.1.3 隐私、性能和许可层
6.1.4 核心区块链层
6.1.5 网络层
6.2 节点结构及启动过程
6.2.1 以太坊账户
6.2.2 网络通信协议
6.2.3 以太坊服务
6.2.4 RPC服务
6.2.5 节点启动过程
6.3 账户管理
6.3.1 keystore文件
6.3.2 账户管理器
6.3.3 签名交易
6.4 网络
6.4.1 协议管理器
6.4.2 p2p.Server对象和启动
6.4.3 对等节点发现
6.4.4 对等节点连接
6.5 交易管理
6.5.1 交易池
6.5.2 交易提交
6.5.3 交易广播
6.6 区块和链管理
6.6.1 MPT树
6.6.2 区块和链结构
6.6.3 区块上链
6.6.4 世界状态转换
6.6.5 StateDB
6.6.6 企业以太坊数据存储
6.7 IBFT共识
6.7.1 IBFT共识概述
6.7.2 IBFT实现
6.7.3 矿工
6.7.4 共识流程
6.8 Raft共识
6.8.1 RaftService服务
6.8.2 Raft协议管理器
6.8.3 区块上链
6.8.4 链竞争
6.9 权限
6.9.1 权限管理智能合约
6.9.2 权限管理服务
6.10 数据隐私
6.10.1 私有交易流程
6.10.2 私有交易和私有合约
第7章 EVM
7.1 EVM的设计目标
7.2 EVM的实现机制
7.2.1 虚拟机结构
7.2.2 合约的创建和调用
7.2.3 虚拟机执行器
7.3 指令集和字节码
7.4 智能合约事件
7.4.1 事件的实现
7.4.2 事件的查询
7.5 状态变量存储
7.5.1 基本类型存储
7.5.2 映射存储
7.5.3 数组存储
7.6 智能合约ABI
7.6.1 函数选择器
7.6.2 参数类型
7.6.3 固定类型编码
7.6.4 动态类型编码
第8章 IPFS存储系统
8.1 IPFS概述
8.1.1 块
8.1.2 Merkle DAG
8.1.3 文件抽象层
8.2 IPFS节点架构
8.3 IPFS子协议
8.3.1 身份
8.3.2 网络
8.3.3 路由
8.3.4 交换
8.3.5 对象