展开全部

主编推荐语

本书由浅入深地介绍了比特币、以太坊和超级账本三个区块链平台的设计精华。

内容简介

本书除第0章引言外,还包含10章,按照区块链架构体系自底而上进行介绍。

第1章介绍了区块链各模块所需要用到的密码学知识。第2章介绍了区块链中的P2P模块,揭示了区块链的网络结构。第3章介绍了区块链中的两种交易模型。第4章展示了如何使用Solidity编写智能合约。第5章从EVM的角度关注了智能合约的编译和执行。第6章讨论了区块链中的核心数据结构。第7章分别从公有链和联盟链两个方向介绍了二者所采用的共识算法和解决的问题。第8章围绕数字钱包技术介绍了如何生成私钥、存储私钥和保护私钥。第9章介绍了打通链上数据和链外数据的关键技术预言机。第10章从社区的角度介绍了公有链项目的标准制定流程和一些区块链标准。

本书涵盖了区块链主流平台的新技术,可以帮助读者深入理解区块链的核心原理和设计思想,使读者不局限于某一平台,灵活运用区块链系统的设计思想。

目录

  • 版权信息
  • 内容简介
  • 第0章 导言
  • 0.1 区块链技术体系分类
  • 0.2 网络层
  • 0.3 共识层
  • 0.4 数据层
  • 0.5 智能合约层
  • 0.6 应用层
  • 0.7 本书目的
  • 0.8 阅读建议
  • 0.9 勘误和支持
  • 0.10 致谢
  • 第1章 密码学基础
  • 1.1 基本元素
  • 1.2 对称加密
  • 1.3 非对称加密
  • 1.4 混合加密
  • 1.5 哈希算法
  • 1.6 数字签名
  • 1.7 可信通信
  • 1.7.1 TLS协议
  • 1.7.2 双向认证
  • 1.8 ECDH密钥协商
  • 1.9 身份验证
  • 1.10 数字证书
  • 1.10.1 数字证书结构
  • 1.10.2 数字证书类型
  • 1.10.3 数字证书编码
  • 1.10.4 简单应用
  • 1.11 PKI体系
  • 1.12 证书链
  • 1.13 可信执行环境
  • 第2章 网络层
  • 2.1 集中式网络
  • 2.2 纯分布式网络
  • 2.2.1 Gossip协议
  • 2.2.2 Gossip协议流程
  • 2.3 混合式网络
  • 2.4 结构化网络
  • 2.4.1 Kademlia算法原理
  • 2.4.2 K桶
  • 2.4.3 K桶的更新机制
  • 2.4.4 加入Kad网络
  • 2.4.5 定位节点
  • 2.4.6 以太坊中的Kad网络
  • 2.5 RLP编码
  • 2.5.1 RLP编码定义
  • 2.5.2 RLP编码规则
  • 2.6 RLPx子协议
  • 2.7 Whisper协议
  • 2.7.1 消息广播
  • 2.7.2 协议流程
  • 第3章 交易模型
  • 3.1 UTXO模型介绍
  • 3.1.1 输入
  • 3.1.2 输出
  • 3.1.3 比特币脚本
  • 3.2 账户模型
  • 3.2.1 外部账户
  • 3.2.2 合约账户
  • 3.2.3 世界状态
  • 第4章 智能合约
  • 4.1 Gas
  • 4.1.1 Gas支付
  • 4.1.2 Gas成本与Gas价格
  • 4.1.3 Gas成本限制和Gas耗尽
  • 4.1.4 Gas价格和交易优先顺序
  • 4.1.5 区块Gas限制
  • 4.1.6 Gas限制
  • 4.1.7 Gas退款
  • 4.1.8 GasToken
  • 4.2 智能合约生命周期
  • 4.3 以太坊高级语言简介
  • 4.4 Remix开发环境
  • 4.5 Solidity文件结构
  • 4.5.1 版本标识
  • 4.5.2 源文件导入
  • 4.5.3 路径
  • 4.5.4 注释
  • 4.6 数据类型
  • 4.6.1 变量
  • 4.6.2 值类型
  • 4.6.3 引用类型
  • 4.6.4 数据位置
  • 4.6.5 动态数组
  • 4.6.6 映射
  • 4.6.7 枚举
  • 4.6.8 结构体
  • 4.7 控制结构与表达式
  • 4.7.1 构造函数与析构函数
  • 4.7.2 函数参数
  • 4.7.3 函数返回变量
  • 4.7.4 作用域
  • 4.7.5 函数调用
  • 4.7.6 函数可见性
  • 4.7.7 函数装饰器
  • 4.7.8 回退函数
  • 4.7.9 错误处理及异常
  • 4.8 事件
  • 4.8.1 监听事件
  • 4.8.2 检索日志
  • 4.9 合约继承
  • 4.9.1 继承支持传递参数
  • 4.9.2 继承中的重名
  • 4.9.3 重写函数
  • 4.9.4 继承父类合约方法
  • 4.9.5 多继承与线性化
  • 第5章 深入EVM
  • 5.1 存储
  • 5.1.1 存储分类
  • 5.1.2 Hex编码
  • 5.2 智能合约的ABI
  • 5.3 编译Solidity
  • 5.4 ABI编码
  • 5.4.1 状态变量
  • 5.4.2 结构体
  • 5.4.3 布尔类型
  • 5.4.4 定长数组
  • 5.4.5 映射
  • 5.4.6 动态数组
  • 5.4.7 动态数组打包
  • 5.4.8 字节数组和字符串
  • 5.4.9 函数选择器和参数编码
  • 5.5 Solidity汇编
  • 5.5.1 内联汇编
  • 5.5.2 基本语法
  • 5.5.3 操作码
  • 5.5.4 函数风格
  • 5.5.5 访问外部变量和函数
  • 5.5.6 汇编局部变量声明
  • 5.5.7 赋值
  • 5.5.8 条件判断与循环语句
  • 5.5.9 函数
  • 5.5.10 注意事项
  • 5.5.11 Solidity惯例
  • 5.5.12 独立汇编
  • 5.5.13 EVM中的事件与日志
  • 5.6 跨合约调用
  • 5.6.1 call和callcode异同
  • 5.6.2 callcode和delegatecall异同
  • 5.7 智能合约安全
  • 5.7.1 合约审计
  • 5.7.2 未来研究方向与改进思路
  • 5.7.3 漏洞分析
  • 第6章 区块链核心数据结构
  • 6.1 交易结构
  • 6.1.1 AccountNonce
  • 6.1.2 Price
  • 6.1.3 Recipient
  • 6.1.4 Amount
  • 6.1.5 Payload
  • 6.1.6 V. R. S
  • 6.2 交易池
  • 6.3 交易回执
  • 6.4 区块
  • 6.4.1 区块结构
  • 6.4.2 区块存储
  • 6.4.3 创世区块
  • 6.4.4 区块广播
  • 6.4.5 区块扩容
  • 6.5 默克尔树与轻节点
  • 6.5.1 默克尔树
  • 6.5.2 轻节点
  • 6.5.3 布隆过滤器
  • 6.6 字典树
  • 6.7 MPT树
  • 6.7.1 MPT树持久化
  • 6.7.2 安全的MPT树
  • 6.7.3 持久化MPT树
  • 6.7.4 MPT树应用
  • 6.8 Bucket树
  • 第7章 共识算法
  • 7.1 分布式系统模型
  • 7.1.1 分布式系统中的网络模型
  • 7.1.2 分布式系统中的故障模型
  • 7.2 FLP和CAP定理
  • 7.2.1 FLP定理
  • 7.2.2 CAP定理
  • 7.3 比特币共识
  • 7.3.1 比特币清算
  • 7.3.2 难度调整
  • 7.3.3 出块时间调整
  • 7.3.4 算法原理
  • 7.3.5 压缩算法
  • 7.3.6 难度计算
  • 7.3.7 算力
  • 7.3.8 铸币交易
  • 7.3.9 算力单位
  • 7.3.10 矿池收益
  • 7.3.11 矿池
  • 7.3.12 全网算力
  • 7.3.13 区块确认
  • 7.4 以太坊共识
  • 7.4.1 Dagger
  • 7.4.2 Hashimoto
  • 7.4.3 Dagger-Hashimoto
  • 7.4.4 Ethash
  • 7.5 以太坊Ghost协议
  • 7.6 公有链激励
  • 7.6.1 公有链共识与激励相容
  • 7.6.2 矿池利益分配
  • 7.6.3 挖矿风险
  • 7.7 联盟链共识
  • 7.8 Raft算法
  • 7.8.1 复制状态机
  • 7.8.2 算法流程
  • 7.8.3 领导者选举
  • 7.8.4 选举流程
  • 7.8.5 日志复制
  • 7.8.6 领导者选举安全性
  • 7.8.7 候选者和跟随者安全性
  • 7.8.8 可用性
  • 7.8.9 增删节点
  • 7.8.10 配置变更流程
  • 7.8.11 日志压缩
  • 7.9 实用拜占庭容错算法
  • 7.9.1 算法容错
  • 7.9.2 算法流程
  • 7.9.3 日志压缩
  • 7.9.4 视图切换
  • 7.9.5 主动恢复
  • 7.9.6 增删节点
  • 7.10 共识算法的新进展
  • 第8章 数字钱包
  • 8.1 确定性钱包
  • 8.2 分层确定性钱包设计
  • 8.2.1 主密钥生成
  • 8.2.2 HCKD函数
  • 8.2.3 节点派生路径
  • 8.3 助记词
  • 8.3.1 助记词生成
  • 8.3.2 恢复种子
  • 8.4 硬件钱包
  • 8.5 双离线支付
  • 第9章 预言机
  • 9.1 预言机基本原理
  • 9.2 预言机的起源与发展
  • 9.2.1 可信预言机
  • 9.2.2 奶酪模型
  • 9.3 理想预言机
  • 9.4 去中心化系统的弱点
  • 9.5 去中心化预言机项目
  • 9.5.1 ChainLink
  • 9.5.2 Witnet
  • 9.6 数据聚合方式
  • 9.7 预言机面临的挑战
  • 第10章 区块链标准
  • 10.1 比特币标准
  • 10.1.1 BIP的需求
  • 10.1.2 BIP的剖析
  • 10.1.3 多种类型的BIP
  • 10.2 以太坊标准
  • 10.3 金融分布式账本技术安全规范
  • 10.4 区块链服务网络
展开全部

评分及书评

4.5
4个评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。