为你推荐
O’Reilly Media,Inc.介绍
本书赞誉
译者序
推荐序
前言
第1章 比特币介绍
1.1 比特币是什么
1.2 比特币历史
1.3 比特币的使用、用户及用户场景
1.4 入门
1.4.1 选择比特币钱包
1.4.2 快速入门
1.4.3 获取比特币
1.4.4 查询比特币当前价格
1.4.5 发送和接收比特币
第2章 比特币的工作原理
2.1 交易、区块、挖矿和区块链
2.1.1 比特币概述
2.1.2 购买一杯咖啡
2.2 比特币交易
2.2.1 交易输入和输出
2.2.2 交易链
2.2.3 找零
2.2.4 常见的交易形式
2.3 交易的构建
2.3.1 获取正确的输入
2.3.2 创建交易输出
2.3.3 将交易加入账簿
2.4 比特币挖矿
2.5 在区块中挖掘交易
2.6 消费交易
第3章 比特币核心客户端:参考实现
3.1 比特币开发环境
3.2 从源码编译比特币核心
3.2.1 选择比特币核心版本
3.2.2 配置比特币核心生成
3.2.3 生成比特币核心可执行文件
3.3 运行比特币核心节点
3.3.1 首次运行比特币核心
3.3.2 配置比特币核心节点
3.4 比特币核心客户端应用程序编程接口(API)
3.4.1 获得比特币核心客户端状态信息
3.4.2 探究和解码交易
3.4.3 探究区块
3.4.4 使用比特币核心的编程接口
3.5 其他替代客户端、库和工具包
3.5.1 C/C++类
3.5.2 JavaScript类
3.5.3 Java类
3.5.4 Python类
3.5.5 Ruby类
3.5.6 Go类
3.5.7 Rust类
3.5.8 C#类
3.5.9 Objective-C类
第4章 密钥和地址
4.1 简介
4.1.1 公钥密码学和加密货币
4.1.2 私钥和公钥
4.1.3 私钥
4.1.4 公钥
4.1.5 椭圆曲线密码学
4.1.6 创建公钥
4.2 比特币地址
4.2.1 Base58和Base58Check编码
4.2.2 密钥的格式
4.3 用Python实现密钥和比特币地址
4.4 高级密钥和地址
4.4.1 加密私钥(BIP-38)
4.4.2 P2SH和多重签名地址
4.4.3 靓号地址
4.4.4 纸钱包
第5章 钱包
5.1 钱包技术概述
5.1.1 非确定性(随机)钱包
5.1.2 确定性(种子)钱包
5.1.3 分层确定性钱包(BIP-32/BIP-44)
5.1.4 种子和助记词(BIP-39)
5.1.5 钱包最佳实践
5.1.6 使用比特币钱包
5.2 钱包技术细节
5.2.1 助记词编码标准(BIP-39)
5.2.2 从种子中创造HD钱包
5.2.3 在网店中使用扩展公钥
第6章 交易
6.1 简介
6.2 交易细节
6.3 交易的输出和输入
6.3.1 交易输出
6.3.2 交易输入
6.3.3 交易费
6.3.4 把交易费加到交易中
6.4 交易脚本和脚本语言
6.4.1 非图灵完备性
6.4.2 无状态验证
6.4.3 脚本构建(锁定与解锁)
6.4.4 P2PKH
6.5 数字签名(ECDSA)
6.5.1 数字签名如何工作
6.5.2 验证签名
6.5.3 签名散列类型(SIGHASH)
6.5.4 ECDSA数学
6.5.5 随机性在签名中的重要性
6.6 比特币地址、余额和其他摘要
第7章 高级交易及脚本
7.1 简介
7.2多重签名
7.3 P2SH
7.3.1 P2SH地址
7.3.2 P2SH的优点
7.3.3 赎回脚本和标准确认
7.4 数据记录输出(RETURN操作符)
7.5 时间锁
7.5.1 交易锁定时间
7.5.2 检查锁定时间验证
7.5.3 相对时间锁
7.5.4 带nSequence的相对时间锁
7.5.5 带CSV的相对时间锁
7.5.6 过去中位时间
7.5.7 针对费用狙击的时间锁
7.6 具有条件控制的脚本(条件语句)
7.6.1 带有VERIFY操作码的条件语句
7.6.2 在脚本中使用流控制
7.7 复杂的脚本示例
第8章 比特币网络
8.1 点对点网络架构
8.2 节点类型和角色
8.3 扩展比特币网络
8.4 比特币中继网络
8.5 网络发现
8.6 全节点
8.7 交换“库存清单”
8.8 简易支付验证(SPV)节点
8.9 Bloom过滤器
8.10 SPV节点如何使用Bloom过滤器
8.11 SPV节点和隐私
8.12 加密与认证连接
8.12.1 Tor传输
8.12.2 P2P认证和加密
8.13 交易池
第9章 区块链
9.1 简介
9.2 区块结构
9.3 区块头
9.4 区块标识符:区块头散列值和区块高度
9.5 创世区块
9.6 链接区块链中的区块
9.7 默克尔树
9.8 默克尔树和简单支付验证
9.9 比特币的测试链
9.9.1 testnet——比特币的试验场
9.9.2 segnet——隔离见证测试网
9.9.3 regtest——本地区块链
9.10 使用测试区块链进行开发
第10章 挖矿和共识
10.1 简介
10.2 去中心化共识
10.3 交易的独立校验
10.4 挖矿节点
10.5 打包交易至区块
10.5.1 创币交易
10.5.2 创币奖励与矿工费
10.5.3 创币交易的结构
10.5.4 创币交易数据
10.6 构造区块头
10.7 挖掘区块
10.7.1 工作量证明算法
10.7.2 难度目标值表示
10.7.3 重定目标实现调整难度
10.8 成功挖出区块
10.9 验证新区块
10.10 区块链的组装与选择
10.11 挖矿和算力竞争
10.11.1 随机数升位方案
10.11.2 矿池
10.12 共识攻击
10.13 改变共识规则
10.13.1 硬分叉
10.13.2 硬分叉:软件、网络、挖矿和链
10.13.3 分离矿工和难度
10.13.4 有争议的硬分叉
10.13.5 软分叉
10.13.6 对软分叉的批评
10.14 使用区块版本发出软分叉信令
10.14.1 BIP-34信令和激活
10.14.2 BIP-9信令和激活
10.15 共识软件开发
第11章 比特币的安全
11.1 安全原则
11.1.1 安全地开发比特币系统
11.1.2 信任根
11.2 用户安全最佳实践
11.2.1 比特币物理存储
11.2.2 硬件钱包
11.2.3 平衡风险
11.2.4 分散风险
11.2.5 多重签名和治理
11.2.6 生存能力
11.3 结论
第12章 比特币应用
12.1 简介
12.2 基础模块(要素)
12.3 源于基础模块的应用
12.4 染色币
12.4.1 使用染色币
12.4.2 发行染色币
12.4.3 染色币交易
12.5 合约币
12.6 支付通道和状态通道
12.6.1 状态通道基本概念和术语
12.6.2 简单支付通道示例
12.6.3 制造无须信任的通道
12.6.4 非对称可撤销承诺
12.6.5 散列时间锁合约
12.7 路由支付通道(闪电网络)
12.7.1 闪电网络示例
12.7.2 闪电网络传输和路由
12.7.3 闪电网络优势
12.8 结论
附录A 比特币白皮书
附录B 交易脚本语言操作符、常量和符号
附录C 比特币改进建议
附录D 隔离见证
附录E Bitcore
附录F pycoin库、实用秘钥及交易程序
附录G 比特币浏览器命令
作者介绍
封面介绍
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜