精通区块链编程:加密货币原理、方法和应用开发(原书第3版)
精通区块链编程:加密货币原理、方法和应用开发(原书第3版)
Andreas M. Antonopoulos, David A. Harding
郭理靖 译
出版时间:2025年08月
页数:323
“这本书更新至第3版,已然成为比特币技术教育的核心资料。没有哪本书能像它这样内容全面且与时俱进。”
——Olaoluwa Osuntokun
闪电实验室首席技术官
“这本书全面剖析了比特币的底层运作机制,以及各部分如何协同发挥作用。”
——Mark“Murch”Erhardt
链码实验室比特币工程师
加入这场席卷金融界的技术革命吧!本书将为你拨开比特币世界的复杂迷雾,带你掌握参与货币互联网所需的知识。无论你是想开发下一个热门应用、投资初创企业,还是单纯对这项技术好奇,本书都能为你提供入门的关键细节。
作为首个成功的去中心化数字货币,比特币已催生出一个价值数十亿美元的全球经济体系,任何有相关知识和热情的人都能参与其中。本书负责提供知识,而热情,正等待你来注入。
本书主要内容:
● 为非技术用户、投资者和企业高管全面介绍比特币及其底层区块链。
● 为开发者、工程师以及软件架构师和系统架构师详解比特币的技术基础与加密货币原理。
● 阐述比特币去中心化网络、点对点架构、交易生命周期及安全原则的细节。
● 介绍Taproot协议、Tapscript脚本、Schnorr签名和闪电网络等新进展。
● 深入探讨比特币应用,包括如何将该平台的各个组件组合成强大的新工具。
● 通过用户案例、类比、示例和代码片段阐释关键技术概念。
  1. 前言
  2. 第1章 概述
  3. 1.1 比特币的历史
  4. 1.2 入门基础
  5. 1.2.1 选择比特币钱包
  6. 1.2.2 快速入门
  7. 1.2.3 恢复码
  8. 1.2.4 比特币地址
  9. 1.2.5 接收比特币
  10. 1.2.6 获取你的第一枚比特币
  11. 1.2.7 探寻比特币的当前价格
  12. 1.2.8 发送和接收比特币
  13. 第2章 比特币的工作原理
  14. 2.1 比特币概览
  15. 2.2 在线购物
  16. 2.3 比特币交易
  17. 2.3.1 交易输入与输出
  18. 2.3.2 交易链
  19. 2.3.3 如何找零
  20. 2.3.4 组合支付
  21. 2.3.5 常见交易形式
  22. 2.4 交易的构建
  23. 2.4.1 获取正确的输入
  24. 2.4.2 创建交易输出
  25. 2.4.3 打包交易到区块链
  26. 2.5 比特币挖矿
  27. 2.6 支付交易费用
  28. 第3章 比特币核心:标准实现版本
  29. 3.1 从比特币到比特币核心
  30. 3.2 比特币开发环境
  31. 3.3 从源代码编译比特币核心
  32. 3.3.1 选择比特币核心版本
  33. 3.3.2 配置比特币核心构建
  34. 3.3.3 构建比特币核心可执行文件
  35. 3.4 运行比特币核心节点
  36. 3.5 配置比特币核心节点
  37. 3.6 比特币核心API
  38. 3.6.1 获取比特币核心状态信息
  39. 3.6.2 探索与解码交易过程
  40. 3.6.3 探索区块
  41. 3.6.4 使用比特币核心的可编程接口
  42. 3.7 其他客户端、库和工具包
  43. 3.7.1 C/C++
  44. 3.7.2 JavaScript
  45. 3.7.3 Java
  46. 3.7.4 Python
  47. 3.7.5 Go
  48. 3.7.6 Rust
  49. 3.7.7 Scala
  50. 3.7.8 C#
  51. 第4章 密钥与地址
  52. 4.1 公钥密码学
  53. 4.1.1 私钥
  54. 4.1.2 椭圆曲线密码学解析
  55. 4.1.3 公钥
  56. 4.2 输出和输入脚本
  57. 4.3 IP地址:比特币的原始地址(P2PK)
  58. 4.4 支付到公钥哈希的传统地址
  59. 4.5 base58check编码
  60. 4.6 压缩公钥
  61. 4.7 传统的支付到脚本哈希
  62. 4.8 bech32地址
  63. 4.8.1 bech32地址问题
  64. 4.8.2 bech32m
  65. 4.8.3 私钥格式
  66. 4.8.4 压缩私钥
  67. 4.9 高级密钥和地址
  68. 4.9.1 靓号地址
  69. 4.9.2 纸钱包
  70. 第5章 钱包恢复
  71. 5.1 独立密钥生成
  72. 5.1.1 生成确定性密钥
  73. 5.1.2 公开子密钥派生
  74. 5.1.3 生成分层确定性密钥(BIP32)
  75. 5.1.4 种子与恢复码
  76. 5.1.5 备份非关键数据
  77. 5.1.6 备份关键派生路径
  78. 5.2 详解钱包技术栈
  79. 5.2.1 BIP39恢复码
  80. 5.2.2 从种子创建HD钱包
  81. 5.2.3 在网络商店使用扩展公钥
  82. 第6章 交易
  83. 6.1 序列化的比特币交易
  84. 6.2 版本
  85. 6.3 标记和标志
  86. 6.4 输入
  87. 6.4.1交易输入列表的长度
  88. 6.4.2 输出点
  89. 6.4.3 输入脚本
  90. 6.4.4 序列
  91. 6.5 输出
  92. 6.5.1 输出计数
  93. 6.5.2 金额
  94. 6.5.3 输出脚本
  95. 6.6 见证结构
  96. 6.6.1 循环依赖
  97. 6.6.2 第三方交易可延展性
  98. 6.6.3 双方交易可延展性
  99. 6.6.4 隔离见证
  100. 6.6.5 见证结构序列化
  101. 6.7 锁定时间
  102. 6.8 币基交易
  103. 6.9 权重和虚字节
  104. 6.10 传统序列化
  105. 第7章 授权和身份验证
  106. 7.1 交易脚本和脚本语言
  107. 7.1.1 图灵不完备性
  108. 7.1.2 无状态验证
  109. 7.1.3 构建脚本
  110. 7.1.4 支付到公钥哈希
  111. 7.2 脚本化多重签名
  112. 7.3 支付到脚本哈希
  113. 7.3.1 P2SH地址
  114. 7.3.2 P2SH的好处
  115. 7.3.3 赎回脚本和验证
  116. 7.4 数据记录输出(OP_RETURN)
  117. 7.4.1 交易锁定时间限制
  118. 7.4.2 检查锁定时间验证(OP_CLTV)
  119. 7.4.3 相对时间锁
  120. 7.4.4 使用OP_CSV的相对时间锁
  121. 7.5 带流程控制的脚本(条件子句)
  122. 7.5.1 条件子句与VERIFY操作码
  123. 7.5.2 在脚本中使用流程控制
  124. 7.6 复杂脚本示例
  125. 7.6.1 隔离见证输出和交易示例
  126. 7.6.2 升级到隔离见证
  127. 7.7 默克尔化替代脚本树
  128. 7.8 支付到合约
  129. 7.9 无脚本多重签名与阈值签名
  130. 7.10 Taproot
  131. 7.11 Tapscript
  132. 第8章 数字签名
  133. 8.1 数字签名的工作原理
  134. 8.1.1 创建数字签名
  135. 8.1.2 验证签名
  136. 8.1.3 签名哈希类型
  137. 8.2 Schnorr签名
  138. 8.2.1 Schnorr签名的序列化
  139. 8.2.2 基于Schnorr的无脚本多重签名
  140. 8.2.3 基于Schnorr的无脚本阈值签名
  141. 8.3 ECDSA签名
  142. 8.3.1 ECDSA
  143. 8.3.2 ECDSA签名的序列化
  144. 8.4 随机性在签名中的重要性
  145. 8.5 隔离见证的新签名算法
  146. 第9章 交易费用
  147. 9.1 谁来支付交易费用
  148. 9.2 费用和费率
  149. 9.3 估算合适的费率标准
  150. 9.4 费用替代费用提升
  151. 9.5 子为父付费费用提升
  152. 9.6 包中继
  153. 9.7 交易固定
  154. 9.8 CPFP豁免与锚定输出功能
  155. 9.9 对交易征收手续费
  156. 9.10 时间锁防御费用狙击
  157. 第10章 比特币网络
  158. 10.1 节点类型与角色
  159. 10.2 网络
  160. 10.3 致密区块中继
  161. 10.4 私有区块中继网络
  162. 10.5 网络发现
  163. 10.6 全节点
  164. 10.7 交换“库存”
  165. 10.8 轻量级客户端
  166. 10.9 布隆过滤器
  167. 10.9.1 布隆过滤器的工作原理
  168. 10.9.2 轻量级客户端如何使用布隆过滤器
  169. 10.10 致密区块过滤器
  170. 10.10.1 高隆布-莱斯编码集
  171. 10.10.2 在区块过滤器中应包含哪些数据
  172. 10.10.3 从多个节点下载区块过滤器
  173. 10.10.4 通过有损编码降低带宽
  174. 10.10.5 使用致密区块过滤器
  175. 10.11 轻量级客户端与隐私保护
  176. 10.12 加密与认证的连接
  177. 10.13 交易内存池和孤立交易池
  178. 第11章 区块链技术
  179. 11.1 区块的内部结构
  180. 11.2 区块头
  181. 11.3 区块标识符:区块头哈希和区块高度
  182. 11.4 创世区块
  183. 11.5 区块链中的区块连接
  184. 11.6 默克尔树
  185. 11.7 默克尔树与轻量级客户端
  186. 11.8 比特币的测试区块链
  187. 11.8.1 测试网络:比特币的测试场
  188. 11.8.2 signet:权威证明测试网络
  189. 11.8.3 regtest:本地区块链
  190. 11.9 使用测试区块链进行开发
  191. 第12章 挖矿与共识
  192. 12.1 比特币经济学与货币创造
  193. 12.2 分布式共识
  194. 12.3 独立验证交易
  195. 12.4 挖矿节点
  196. 12.4.1 币基交易
  197. 12.4.2 币基奖励和费用
  198. 12.4.3 币基交易的内部结构
  199. 12.4.4币基数据
  200. 12.5 构建区块头
  201. 12.6 挖矿区块
  202. 12.6.1 工作量证明算法
  203. 12.6.2 目标表达
  204. 12.6.3 重新设定目标以调整难度
  205. 12.7 过去中位数时间
  206. 12.8 成功挖矿区块
  207. 12.9 验证新区块
  208. 12.10 组装和选择区块链
  209. 12.11 挖矿与哈希彩票
  210. 12.11.1 额外随机数方案
  211. 12.11.2 矿池
  212. 12.12 区块链技术中的算力攻击
  213. 12.13 更改共识规则
  214. 12.13.1 硬分叉
  215. 12.13.2 软分叉
  216. 12.13.3 共识软件开发
  217. 第13章 比特币安全
  218. 13.1 安全原则
  219. 13.1.1 安全开发比特币系统
  220. 13.1.2 信任根
  221. 13.2 用户安全最佳实践
  222. 13.2.1 物理存储比特币
  223. 13.2.2 硬件签名设备
  224. 13.2.3 确保你的访问
  225. 13.2.4 分散风险
  226. 13.2.5 多重签名和治理
  227. 13.2.6 存活能力
  228. 第14章 二层应用程序
  229. 14.1 构建区块(基础原语)
  230. 14.2 源于构建区块的应用
  231. 14.3 染色币
  232. 14.3.1 一次性封条
  233. 14.3.2 支付到合约
  234. 14.3.3 客户端验证
  235. 14.3.4 RGB
  236. 14.3.5 Taproot Assets
  237. 14.4 支付通道和状态通道
  238. 14.4.1 状态通道—基本概念与术语
  239. 14.4.2 简单支付通道示例
  240. 14.4.3 制造不需要信任的通道
  241. 14.4.4 不对称可撤销承诺
  242. 14.4.5 哈希时间锁定合约
  243. 14.5 路由支付通道(闪电网络)
  244. 14.5.1 基本的闪电网络示例
  245. 14.5.2 闪电网络传输和路径寻找
  246. 14.5.3 闪电网络的优势
  247. 附录A 中本聪所著的《比特币白皮书》
  248. 附录B 《比特币白皮书》勘误
  249. 附录C 比特币改进提案
书名:精通区块链编程:加密货币原理、方法和应用开发(原书第3版)
译者:郭理靖 译
国内出版社:机械工业出版社
出版时间:2025年08月
页数:323
书号:978-7-111-78629-0
原版书书名:Mastering Bitcoin: Programming the Open Blockchain, Third Edition
原版书出版商:O'Reilly Media
Andreas M. Antonopoulos
 
Andreas M. Antonopoulos是备受好评的畅销书作家、演讲家和教育家,也是世界上最重要的比特币和开放式区块链专家之一。Andreas善于化繁为简,让普通人理解深奥的技术。
Andreas M. Antonopoulos是比特币及开放式区块链技术领域的专家。
 
 
David A. Harding
 
David A. Harding是Bitcoin Optech每周通讯的合著者。
 
 
本书封面上的动物是一只哥伦比亚切叶蚁(Atta colombica)。切叶蚁是一种热带真菌养殖蚂蚁,主要分布在南美洲、中美洲(包括墨西哥)和美国南部。除了人类以外,切叶蚁形成了地球上最大也最复杂的动物社会。它们之所以得名切叶蚁,是因为它们咀嚼树叶来作为真菌养殖花园的营养来源。
雌雄有翅蚁都参与到一个被称作“revoada”(即婚飞)的大规模外出活动中,这是一种成群离巢以进行配对的飞行行为。雌蚁通过与多个雄蚁交配来获取足够的3亿精子,这是它们建立新殖民地所必需的。此外,雌蚁还会在她们口腔内的下颚囊处储存亲代菌园的菌丝,用以建立自己的菌园。落地后,雌蚁会失去翅膀,并开始在地下创建殖民地,然而,新蚁后成功建立能长期存活的殖民地的概率非常低,仅有2.5%。
随着蚁群的成熟,蚂蚁会根据体型分成不同的职能群体,每个群体承担特定的职责。通常分为四个职能群体:微型工蚁,这是最小的工蚁,主要负责照料幼虫和维护菌园;小型工蚁,体型略大于微型工蚁,负责殖民地的初级防御,巡逻领地并对抗敌人;中型工蚁,作为主要的觅食者,负责切割叶子并把叶片碎片运回巢穴;大型工蚁,是体型最大的工蚁,起着士兵的角色,防守巢穴不受侵犯。近期研究发现,大型工蚁还负责清理主要的觅食路径并搬运大件物品回巢穴。
购买选项
定价:139.00元
书号:978-7-111-78629-0
出版社:机械工业出版社