暂无商品咨询信息 [发表商品咨询]
想吃透区块链编程,从比特币原理到实战开发?这本书千万别错过!由区块链权威专家撰写,第3版新增Taproot、隔离见证等前沿技术解析,从密钥生成、交易机制到闪电网络开发,既有底层逻辑拆解,又有代码示例和实战指导。无论你是开发者、投资者,还是技术爱好者,都能通过这本书系统掌握开放区块链技术。正版现货,下单带走,开启区块链进阶之路!
本书深入剖析比特币底层技术架构,涵盖去中心化网络、点对点架构、交易生命周期及安全原则等核心内容。同时,作者对诸如隔离见证、支付通道和闪电网络等前沿发展也进行了全面阐释。对于开发者而言,书中丰富的代码示例、深入浅出的讲解,能助力读者掌握比特币客户端代码编写技巧;对于普通爱好者而言,书中通俗易懂的类比和案例,使读者无须具备深厚技术背景,也能理解比特币的运行机制与魅力。通过阅读本书,读者将全面参与到这场数字货币的革命之中,开启一段充满惊喜与收获的学习旅程。本书适合程序员以及那些想要深入了解比特币和加密货币内部机制的非程序员读者阅读。
目录<br />前言1<br />第1章 概述13<br />1.1 比特币的历史15<br />1.2 入门基础16<br />1.2.1 选择比特币钱包16<br />1.2.2 快速入门19<br />1.2.3 恢复码19<br />1.2.4 比特币地址20<br />1.2.5 接收比特币20<br />1.2.6 获取你的第一枚比特币21<br />1.2.7 探寻比特币的当前价格22<br />1.2.8 发送和接收比特币23<br />第2章 比特币的工作原理25<br />2.1 比特币概览25<br />2.2 在线购物26<br />2.3 比特币交易27<br />2.3.1 交易输入与输出27<br />2.3.2 交易链28<br />2.3.3 如何找零29<br />2.3.4 组合支付30<br />2.3.5 常见交易形式30<br />2.4 交易的构建31<br />2.4.1 获取正确的输入31<br />2.4.2 创建交易输出32<br />2.4.3 打包交易到区块链32<br />2.5 比特币挖矿33<br />2.6 支付交易费用36<br />第3章 比特币核心:标准实现版本37<br />3.1 从比特币到比特币核心37<br />3.2 比特币开发环境39<br />3.3 从源代码编译比特币核心39<br />3.3.1 选择比特币核心版本40<br />3.3.2 配置比特币核心构建40<br />3.3.3 构建比特币核心可执行文件42<br />3.4 运行比特币核心节点43<br />3.5 配置比特币核心节点44<br />3.6 比特币核心API48<br />3.6.1 获取比特币核心状态信息49<br />3.6.2 探索与解码交易过程50<br />3.6.3 探索区块52<br />3.6.4 使用比特币核心的可编程接口53<br />3.7 其他客户端、库和工具包57<br />3.7.1 C/C++57<br />3.7.2 JavaScript57<br />3.7.3 Java57<br />3.7.4 Python57<br />3.7.5 Go58<br />3.7.6 Rust58<br />3.7.7 Scala58<br />3.7.8 C#58<br />第4章 密钥与地址59<br />4.1 公钥密码学60<br />4.1.1 私钥60<br />4.1.2 椭圆曲线密码学解析62<br />4.1.3 公钥64<br />4.2 输出和输入脚本65<br />4.3 IP地址:比特币的原始地址(P2PK)66<br />4.4 支付到公钥哈希的传统地址68<br />4.5 base58check编码70<br />4.6 压缩公钥72<br />4.7 传统的支付到脚本哈希74<br />4.8 bech32地址76<br />4.8.1 bech32地址问题78<br />4.8.2 bech32m79<br />4.8.3 私钥格式83<br />4.8.4压缩私钥84<br />4.9 高级密钥和地址85<br />4.9.1 靓号地址85<br />4.9.2 纸钱包87<br />第5章 钱包恢复89<br />5.1 独立密钥生成89<br />5.1.1 生成确定性密钥90<br />5.1.2 公开子密钥派生91<br />5.1.3 生成分层确定性密钥(BIP32)92<br />5.1.4 种子与恢复码93<br />5.1.5 备份非关键数据96<br />5.1.6 备份关键派生路径97<br />5.2 详解钱包技术栈99<br />5.2.1 BIP39恢复码100<br />5.2.2 从种子创建HD钱包105<br />5.2.3 在网络商店使用扩展公钥110<br />第6章 交易115<br />6.1 序列化的比特币交易115<br />6.2 版本117<br />6.3 标记和标志118<br />6.4 输入118<br />6.4.1交易输入列表的长度118<br />6.4.2 输出点119<br />6.4.3 输入脚本121<br />6.4.4 序列121<br />6.5 输出124<br />6.5.1 输出计数124<br />6.5.2 金额125<br />6.5.3 输出脚本126<br />6.6 见证结构127<br />6.6.1 循环依赖128<br />6.6.2 第三方交易可延展性128<br />6.6.3 双方交易可延展性129<br />6.6.4 隔离见证130<br />6.6.5 见证结构序列化131<br />6.7 锁定时间132<br />6.8 币基交易132<br />6.9 权重和虚字节133<br />6.10 传统序列化135<br />第7章 授权和身份验证136<br />7.1 交易脚本和脚本语言136<br />7.1.1 图灵不完备性137<br />7.1.2 无状态验证137<br />7.1.3 构建脚本137<br />7.1.4 支付到公钥哈希140<br />7.2 脚本化多重签名142<br />7.3 支付到脚本哈希145<br />7.3.1 P2SH地址147<br />7.3.2 P2SH的好处147<br />7.3.3 赎回脚本和验证147<br />7.4 数据记录输出(OP_RETURN)148<br />7.4.1 交易锁定时间限制149<br />7.4.2 检查锁定时间验证(OP_CLTV)149<br />7.4.3 相对时间锁151<br />7.4.4 使用OP_CSV的相对时间锁152<br />7.5 带流程控制的脚本(条件子句)152<br />7.5.1 条件子句与VERIFY操作码153<br />7.5.2 在脚本中使用流程控制154<br />7.6 复杂脚本示例155<br />7.6.1 隔离见证输出和交易示例157<br />7.6.2 升级到隔离见证160<br />7.7 默克尔化替代脚本树162<br />7.8 支付到合约165<br />7.9 无脚本多重签名与阈值签名166<br />7.10 Taproot167<br />7.11 Tapscript169<br />第8章 数字签名171<br />8.1 数字签名的工作原理171<br />8.1.1 创建数字签名171<br />8.1.2 验证签名172<br />8.1.3 签名哈希类型172<br />8.2 Schnorr签名175<br />8.2.1 Schnorr签名的序列化179<br />8.2.2 基于Schnorr的无脚本多重签名180<br />8.2.3 基于Schnorr的无脚本阈值签名181<br />8.3 ECDSA签名183<br />8.3.1 ECDSA184<br />8.3.2 ECDSA签名的序列化185<br />8.4 随机性在签名中的重要性186<br />8.5 隔离见证的新签名算法186<br />第9章 交易费用188<br />9.1 谁来支付交易费用189<br />9.2 费用和费率189<br />9.3 估算合适的费率标准190<br />9.4 费用替代费用提升191<br />9.5 子为父付费费用提升194<br />9.6 包中继194<br />9.7 交易固定195<br />9.8 CPFP豁免与锚定输出功能196<br />9.9 对交易征收手续费197<br />9.10 时间锁防御费用狙击198<br />第10章 比特币网络199<br />10.1 节点类型与角色199<br />10.2 网络200<br />10.3 致密区块中继200<br />10.4 私有区块中继网络203<br />10.5 网络发现204<br />10.6 全节点207<br />10.7 交换“库存”208<br />10.8 轻量级客户端209<br />10.9 布隆过滤器211<br />10.9.1 布隆过滤器的工作原理212<br />10.9.2 轻量级客户端如何使用布隆过滤器215<br />10.10 致密区块过滤器216<br />10.10.1 高隆布-莱斯编码集217<br />10.10.2 在区块过滤器中应包含哪些数据219<br />10.10.3 从多个节点下载区块过滤器220<br />10.10.4 通过有损编码降低带宽220<br />10.10.5 使用致密区块过滤器221<br />10.11 轻量级客户端与隐私保护221<br />10.12 加密与认证的连接222<br />10.13 交易内存池和孤立交易池222<br />第11章 区块链技术224<br />11.1 区块的内部结构225<br />11.2 区块头225<br />11.3 区块标识符:区块头哈希和区块高度226<br />11.4 创世区块227<br />11.5 区块链中的区块连接228<br />11.6 默克尔树229<br />11.7 默克尔树与轻量级客户端233<br />11.8 比特币的测试区块链234<br />11.8.1 测试网络:比特币的测试场234<br />11.8.2 signet:权威证明测试网络236<br />11.8.3 regtest:本地区块链238<br />11.9 使用测试区块链进行开发239<br />第12章 挖矿与共识240<br />12.1 比特币经济学与货币创造241<br />12.2 分布式共识243<br />12.3 独立验证交易244<br />12.4 挖矿节点245<br />12.4.1 币基交易246<br />12.4.2 币基奖励和费用246<br />12.4.3 币基交易的内部结构247<br />12.4.4币基数据248<br />12.5 构建区块头249<br />12.6 挖矿区块250<br />12.6.1 工作量证明算法250<br />12.6.2 目标表达252<br />12.6.3 重新设定目标以调整难度253<br />12.7 过去中位数时间255<br />12.8 成功挖矿区块256<br />12.9 验证新区块256<br />12.10 组装和选择区块链257<br />12.11 挖矿与哈希彩票258<br />12.11.1 额外随机数方案259<br />12.11.2 矿池259<br />12.12 区块链技术中的算力攻击262<br />12.13 更改共识规则264<br />12.13.1 硬分叉264<br />12.13.2 软分叉268<br />12.13.3 共识软件开发273<br />第13章 比特币安全275<br />13.1安全原则275<br />13.1.1安全开发比特币系统276<br />13.1.2信任根276<br />13.2用户安全最佳实践277<br />13.2.1物理存储比特币278<br />13.2.2硬件签名设备278<br />13.2.3确保你的访问278<br />13.2.4分散风险279<br />13.2.5多重签名和治理279<br />13.2.6存活能力279<br />第14章 二层应用程序280<br />14.1构建区块(基础原语)280<br />14.2源于构建区块的应用282<br />14.3染色币283<br />14.3.1一次性封条283<br />14.3.2支付到合约284<br />14.3.3客户端验证284<br />14.3.4 RGB285<br />14.3.5 Taproot Assets286<br />14.4 支付通道和状态通道286<br />14.4.1 状态通道—基本概念与术语287<br />14.4.2 简单支付通道示例289<br />14.4.3制造不需要信任的通道290<br />14.4.4不对称可撤销承诺293<br />14.4.5哈希时间锁定合约297<br />14.5路由支付通道(闪电网络)298<br />14.5.1基本的闪电网络示例299<br />14.5.2 闪电网络传输和路径寻找301<br />14.5.3闪电网络的优势303<br />附录<br />附录A 中本聪所著的《比特币白皮书》305<br />附录B 《比特币白皮书》勘误316<br />附录C 比特币改进提案320
基本信息 | |
---|---|
出版社 | 机械工业出版社 |
ISBN | 9787111786290 |
条码 | 9787111786290 |
编者 | [美]安德烈亚斯·M.安东诺普洛斯(Andreas M. Antonopoulos) [美]大卫·A.哈丁(David A. Harding) 著 |
译者 | |
出版年月 | 2025-08-01 00:00:00.0 |
开本 | 16开 |
装帧 | 平装 |
页数 | 328 |
字数 | 437 |
版次 | 1 |
印次 | 1 |
纸张 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]