精通比特币(第二版)

概念 & 原理

  • 第一章 介绍
  • 第二章 比特币的原理

目标:

  1. 比特币系统的结构及不同节点在系统中的作用
  2. 区块链技术在比特币中的应用场景 - 交易流程(UTXO交易模式)、区块的意义
  3. 通过比特币客户端的UI进行转账交易(测试网络)

私钥、地址创建流程

  • 第四章 私钥 地址
  1. 私钥-公钥-比特币地址 的概念和转换过程
  2. 私钥格式和转换

钱包的种类,助记词,种子的概念

  • 第五章 钱包

了解:分层确定性钱包(HD钱包)

  1. SEED 助记词转换
  2. SEED
    • 主私钥 - 主公钥 - 链编码 - 索引 - 子私钥关系及构建推导流程

目标:

  1. 钱包的概念
  2. 私钥、公钥、公钥哈希、地址的类型及概念(压缩、非压缩、对应字节的意义)
  3. 通过随机数构建私钥
  4. 通过私钥构建公钥、公钥哈希(合法性、ECDSA-secp256k1、Hash160)
  5. 通过公钥构建地址 (合法性、Base58Check)
  6. 构建P2SH地址

钱包对接

第三章 比特币客户端(BitcoinQT)
第五章 交易
第六章 比特币网络
第七章 区块链

《区块链技术指南》 - 6.1.5 安装和运行比特币测试网络 (代码实战演练)

目标:

  1. 搭建比特币客户端及JsonRPC的应用(测试网络)
  2. 比特币系统支持的交易类型(P2PKH、P2SH)
  3. 比特币系统的交易结构(解析后的Json结构的意义、即输入输出、LockTime、序列码)
  4. 比特币交易脚本和脚本签名
  5. 通过Cli或JsonRPC构建P2PKH、P2SH的原始交易
  6. 通过Cli或JsonRPC进行对应交易的签名
  7. 通过Cli或JsonRPC广播签名后的交易
  8. 通过Cli或JsonRPC验证交易(构建监听服务)
  9. 深入了解比特币系统中不同的节点类型及功能
  10. 搭建SPV服务节点(Bloom过滤器)
  11. 区块结构及内部机制(MerkleTree)
  12. 基于MerkleTree解析获取到的区块头实现SPV

了解:

  1. 比特币交易延展性的问题
  2. 微支付通道、闪电网络原理(HTLC)
  3. 比特币隔离见证的更新内容及实现
  4. 比特币分叉后的安全问题