作品简介

本书是一本区块链技术入门指南,内容涵盖密码学数学基础(包括有限域、椭圆曲线、椭圆曲线密码学)、序列化工具、交易数据的结构与传输,以及数字签名的构造与验证等。通过本书,读者将学习如何使用这种流行的加密货币及其区块链支付系统背后的基础知识,包括数学、密码学、区块、网络等。

吉米·宋(Jimmy Song),是一位拥有20多年经验的开发人员,其中有5年的时间从事比特币的相关工作。他是bitcointechtalk.com的编辑,也为杂志Bitcoin Magazine撰稿,同时也是Blockchain Capital的合伙人以及得克萨斯州大学比特币编程课程的授课教师。Jimmy是Bitcoin Core(比特币核心)以及其他比特币相关项目的开发贡献者。他也曾是比特币钱包Armory的技术副总裁。

作品目录

  • O'Reilly Media,Inc.介绍
  • 推荐序
  • 译者序
  • 前言
  • 第1章 有限域
  • 学习更高等的数学
  • 有限域的定义
  • 定义有限集合
  • 模运算
  • 有限域的加法和减法
  • 有限域的乘法和指数运算
  • 有限域的除法
  • 重新定义指数运算
  • 总结
  • 第2章 椭圆曲线
  • 定义
  • 使用Python编写椭圆曲线
  • 点的加法
  • 点加法的性质
  • 实现点加法
  • x<sub>1</sub>≠x<sub>2</sub>时的点加法
  • 实现x<sub>1</sub>≠x<sub>2</sub>时的点加法
  • P<sub>1</sub>=P<sub>2</sub>时的点加法
  • 实现P<sub>1</sub>=P<sub>2</sub>时的点加法
  • 实现另一个特例
  • 总结
  • 第3章 椭圆曲线密码学
  • 实数域上的椭圆曲线
  • 有限域上的椭圆曲线
  • 实现有限域上的椭圆曲线
  • 有限域上的点加法
  • 实现有限域上的点加法
  • 椭圆曲线的标量乘法
  • 再议标量乘法
  • 数学上的群
  • 实现标量乘法
  • 定义比特币的曲线
  • 公钥密码学
  • 签名和验证
  • 总结
  • 第4章 序列化
  • 未压缩的SEC格式
  • 压缩的SEC格式
  • DER签名
  • Base58
  • 再议大端序和小端序
  • 总结
  • 第5章 交易
  • 交易的组成
  • 版本号
  • 输入
  • 输出
  • 时间锁
  • 实现交易的序列化
  • 交易手续费
  • 总结
  • 第6章 Script
  • Script机制
  • Script如何运作
  • 几个操作符的例子
  • 解析脚本字段
  • 合并脚本字段
  • 标准脚本
  • p2pk
  • p2pk的缺陷
  • 使用p2pkh修复问题
  • 脚本可以被任意构建
  • 总结
  • 第7章 交易的创建与验证
  • 验证交易
  • 创建交易
  • 在测试链上创建你自己的交易
  • 总结
  • 第8章 支付到脚本哈希交易
  • 裸多签
  • 实现OP_CHECKMULTISIG
  • 裸多签的问题
  • 支付到脚本哈希
  • 实现p2sh
  • 总结
  • 第9章 区块
  • 创块交易
  • 区块头
  • 父区块
  • 工作量证明
  • 总结
  • 第10章 比特币网络通信
  • 网络消息
  • 解析payload
  • 网络握手
  • 连接到比特币网络
  • 获取区块头信息
  • 区块头响应
  • 总结
  • 第11章 简单支付验证
  • 动机
  • 默克尔树
  • 默克尔树的父哈希
  • 默克尔父节点层数
  • 默克尔根
  • 区块中的默克尔根
  • 默克尔树的使用
  • 默克尔块
  • 总结
  • 第12章 布隆过滤器
  • 什么是布隆过滤器
  • BIP0037布隆过滤器
  • 载入一个布隆过滤器
  • 获取默克尔块
  • 获取相关交易
  • 总结
  • 第13章 隔离见证
  • 支付到见证公钥哈希
  • p2wpkh交易
  • p2sh-p2wpkh
  • 实现p2wpkh和p2sh-p2wpkh交易
  • 支付到见证脚本哈希
  • p2sh-p2wsh
  • 实现p2wsh和p2sh-p2wsh交易
  • 其他方面的改善
  • 总结
  • 第14章 高级主题和进阶
  • 推荐的学习主题
  • 贡献代码
  • 推荐的项目
  • 总结
  • 附录 练习答案
展开全部