具体描述
区块链的热度无须赘言。该书从基础技术层面解读开放区块链编程技术在金融领域的应用原理、实践及趋势。本书主要面向程序员,书中详细介绍了加密货币的原理、使用方法,以及如何开发与之相关的软件。对希望理解比特币及加密货币内在工作机制的非程序员读者们,本书前几章还深入介绍了比特币概念及其原理。
作者简介
目录信息
第1章 比特币介绍9
1.1 比特币是什么9
1.2 比特币历史11
1.3 比特币的使用、用户及用户场景12
1.4 入门13
1.4.1 选择比特币钱包13
1.4.2 快速入门15
1.4.3 获取比特币17
1.4.4 查询比特币当前价格18
1.4.5 发送和接收比特币18
第2章 比特币的工作原理21
2.1 交易、区块、挖矿和区块链21
2.1.1 比特币概述21
2.1.2 购买一杯咖啡22
2.2 比特币交易24
2.2.1 交易输入和输出24
2.2.2 交易链25
2.2.3 找零25
2.2.4 常见的交易形式26
2.3 交易的构建27
2.3.1 获取正确的输入27
2.3.2 创建交易输出29
2.3.3 将交易加入账簿30
2.4 比特币挖矿31
2.5 在区块中挖掘交易32
2.6 消费交易33
第3章 比特币核心客户端:参考实现35
3.1 比特币开发环境36
3.2 从源码编译比特币核心36
3.2.1 选择比特币核心版本37
3.2.2 配置比特币核心生成38
3.2.3 生成比特币核心可执行文件40
3.3 运行比特币核心节点41
3.3.1 首次运行比特币核心42
3.3.2 配置比特币核心节点43
3.4 比特币核心客户端应用程序编程接口(API)46
3.4.1 获得比特币核心客户端状态信息47
3.4.2 探究和解码交易48
3.4.3 探究区块50
3.4.4 使用比特币核心的编程接口51
3.5 其他替代客户端、库和工具包54
3.5.1 C/C++类54
3.5.2 JavaScript类54
3.5.3 Java类54
3.5.4 Python类54
3.5.5 Ruby类55
3.5.6 Go类55
3.5.7 Rust类55
3.5.8 C#类55
3.5.9 Objective-C类55
第4章 密钥和地址56
4.1 简介56
4.1.1 公钥密码学和加密货币57
4.1.2 私钥和公钥58
4.1.3 私钥58
4.1.4 公钥60
4.1.5 椭圆曲线密码学60
4.1.6 创建公钥63
4.2 比特币地址64
4.2.1 Base58和Base58Check编码66
4.2.2 密钥的格式69
4.3 用Python实现密钥和比特币地址74
4.4 高级密钥和地址78
4.4.1 加密私钥(BIP-38)78
4.4.2 P2SH和多重签名地址79
4.4.3 靓号地址80
4.4.4 纸钱包85
第5章 钱包88
5.1 钱包技术概述88
5.1.1 非确定性(随机)钱包89
5.1.2 确定性(种子)钱包90
5.1.3 分层确定性钱包(BIP-32/BIP-44)90
5.1.4 种子和助记词(BIP-39)91
5.1.5 钱包最佳实践91
5.1.6 使用比特币钱包92
5.2 钱包技术细节93
5.2.1 助记词编码标准(BIP-39)93
5.2.2 从种子中创造HD钱包99
5.2.3在网店中使用扩展公钥103
第6章 交易108
6.1 简介108
6.2 交易细节108
6.3 交易的输出和输入110
6.3.1 交易输出111
6.3.2 交易输入113
6.3.3 交易费117
6.3.4 把交易费加到交易中118
6.4 交易脚本和脚本语言120
6.4.1 非图灵完备性121
6.4.2 无状态验证121
6.4.3 脚本构建(锁定与解锁)121
6.4.4 P2PKH124
6.5 数字签名(ECDSA)126
6.5.1 数字签名如何工作127
6.5.2 验证签名128
6.5.3 签名散列类型(SIGHASH)129
6.5.4 ECDSA数学131
6.5.5 随机性在签名中的重要性132
6.6 比特币地址、余额和其他摘要133
第7章 高级交易及脚本136
7.1 简介136
7.2多重签名136
7.3 P2SH138
7.3.1 P2SH地址140
7.3.2 P2SH的优点140
7.3.3赎回脚本和标准确认141
7.4 数据记录输出(RETURN操作符)141
7.5时间锁143
7.5.1交易锁定时间143
7.5.2检查锁定时间验证144
7.5.3相对时间锁146
7.5.4 带nSequence的相对时间锁146
7.5.5 带CSV的相对时间锁147
7.5.6 过去中位时间148
7.5.7针对费用狙击的时间锁149
7.6 具有条件控制的脚本(条件语句)149
7.6.1带有VERIFY操作码的条件语句150
7.6.2 在脚本中使用流控制151
7.7复杂的脚本示例153
第8章 比特币网络155
8.1 点对点网络架构155
8.2 节点类型和角色156
8.3 扩展比特币网络158
8.4 比特币中继网络158
8.5 网络发现160
8.6 全节点163
8.7 交换“库存清单”164
8.8 简易支付验证(SPV)节点165
8.9 Bloom过滤器168
8.10 SPV节点如何使用Bloom过滤器171
8.11 SPV节点和隐私172
8.12 加密与认证连接173
8.12.1 Tor传输173
8.12.2 P2P认证和加密174
8.13 交易池174
第9章 区块链176
9.1 简介176
9.2 区块结构177
9.3 区块头177
9.4 区块标识符:区块头散列值和区块高度178
9.5创世区块179
9.6 链接区块链中的区块180
9.7 默克尔树182
9.8 默克尔树和简单支付验证186
9.9 比特币的测试链187
9.9.1 testnet—比特币的试验场187
9.9.2 segnet—隔离见证测试网189
9.9.3 regtest—本地区块链189
9.10 使用测试区块链进行开发190
第10章 挖矿和共识191
10.1 简介191
10.2 去中心化共识194
10.3 交易的独立校验195
10.4 挖矿节点196
10.5 打包交易至区块197
10.5.1 创币交易198
10.5.2 创币奖励与矿工费199
10.5.3 创币交易的结构201
10.5.4 创币交易数据202
10.6 构造区块头203
10.7 挖掘区块205
10.7.1 工作量证明算法205
10.7.2 难度目标值表示210
10.7.3 重定目标实现调整难度211
10.8 成功挖出区块213
10.9 验证新区块214
10.10 区块链的组装与选择214
10.11 挖矿和算力竞争221
10.11.1 随机数升位方案223
10.11.2 矿池223
10.12 共识攻击226
10.13 改变共识规则229
10.13.1 硬分叉229
10.13.2 硬分叉:软件、网络、挖矿和链230
10.13.3 分离矿工和难度231
10.13.4 有争议的硬分叉232
10.13.5 软分叉232
10.13.6 对软分叉的批评234
10.14 使用区块版本发出软分叉信令234
10.14.1 BIP-34信令和激活234
10.14.2 BIP-9信令和激活235
10.15 共识软件开发237
第11章 比特币的安全239
11.1 安全原则239
11.1.2 安全地开发比特币系统240
11.1.3 信任根241
11.2 用户安全最佳实践241
11.2.1 比特币物理存储242
11.2.2 硬件钱包242
11.2.3 平衡风险243
11.2.4 分散风险243
11.2.5 多重签名和治理243
11.2.6 生存能力243
11.3 结论244
第12章 比特币应用245
12.1 简介245
12.2 基础模块(要素)245
12.3 源于基础模块的应用247
12.4 染色币248
12.4.1 使用染色币249
12.4.2 发行染色币249
12.4.3 染色币交易249
12.5 合约币252
12.6 支付通道和状态通道253
12.6.1 状态通道基本概念和术语254
12.6.2 简单支付通道示例254
12.6.3 制造无须信任的通道257
12.6.4 非对称可撤销承诺260
12.6.5 散列时间锁合约263
12.7 路由支付通道(闪电网络)264
12.7.1 闪电网络示例264
12.7.2 闪电网络传输和路由267
12.7.3 闪电网络优势269
12.8 结论270
附录A 比特币白皮书271
附录B 交易脚本语言操作符、常量和符号282
附录C 比特币改进建议287
附录D 隔离见证296
附录E Bitcore308
附录F pycoin库、实用秘钥及交易程序311
附录G 比特币浏览器命令320
· · · · · · (收起)
读后感
用户评价
这本《加密货币的未来》读下来,感觉作者对整个加密货币生态系统的理解非常深入和全面。它不像市面上很多书籍那样只停留在表面介绍比特币或以太坊的基础知识,而是真正深入到了驱动这个行业的底层逻辑和未来趋势。尤其是在阐述去中心化金融(DeFi)的演进路径时,作者细致地剖析了流动性挖矿、收益聚合器以及去中心化自治组织(DAO)治理模式的优缺点和实际挑战。我印象特别深刻的是其中关于监管合规性的章节,它平衡地展示了全球主要经济体在面对这项颠覆性技术时的不同态度和正在采取的措施,这对于任何想要在金融科技领域长期发展的从业者来说,都是至关重要的信息。作者的文笔流畅,论证逻辑严密,即便是对于初次接触复杂金融模型的新手,也能通过清晰的图表和案例逐步理解。唯一的小遗憾是,在探讨量子计算对现有加密算法的潜在威胁时,内容略显保守,如果能增加一些前瞻性的量子安全解决方案的讨论,这本书的厚重感会更强。总而言之,这是一本超越了入门,直击行业核心议题的佳作,为理解数字资产的宏大叙事提供了绝佳的视角。
不得不说,《构建去中心化身份:Web3时代的隐私重塑》这本书的视角非常新颖和具有批判性。在当今大数据主导的互联网环境中,我们几乎完全放弃了个人数据的主权,而这本书直指问题的核心——身份的中心化。作者没有停留于描述性介绍,而是直接进入了 DIDs(去中心化身份标识符)和可验证凭证(Verifiable Credentials)的技术栈,详细对比了零知识证明(Zero-Knowledge Proofs)在不同身份协议中的应用效率和隐私保护能力。我特别欣赏其中关于“自我主权身份”(SSI)的社会学探讨,它探讨了技术如何赋能弱势群体,让他们能够在不依赖传统机构的情况下建立可信的数字档案。书中的案例研究部分非常扎实,涵盖了从供应链溯源到医疗记录共享等多个垂直领域,展示了这项技术落地的可行性与挑战。这种将前沿密码学理论与深刻的社会伦理思考相结合的写作手法,让这本书的价值远远超出了纯粹的技术手册范畴。它提供了一个清晰的路线图,预示着互联网用户权力结构可能发生的根本性转变,读完后对“数字公民权”有了更深的理解。
我最近读到的这本《跨链互操作性:打破孤岛的协议战争》充满了动态的冲突感和前沿的探索精神。它把目前区块链领域最热门的“互操作性”问题,描绘成了一场高手过招的协议之战。作者对Layer 2 解决方案和侧链(Sidechains)的设计哲学进行了非常细致的对比分析,尤其是对跨链桥(Bridges)的安全模型,简直是做了一次彻底的“手术式”解剖。书中详细讲解了 IBC(跨链通信协议)、Relay 链以及原子交换等核心机制的工作原理,其深度足以让有经验的开发者感到耳目一新。但这本书的魅力不仅在于技术细节,更在于它对不同解决方案背后的哲学分歧的捕捉——比如,是追求绝对的安全隔离,还是更倾向于速度和效率?作者并未给出绝对的答案,而是呈现了各种方案的权衡取舍,这使得整本书读起来充满了思辨的乐趣。我尤其欣赏其中对“最终性(Finality)”在跨链场景下复杂性的阐述,这是一个非常容易被忽视但又至关重要的安全维度。总而言之,这本书像是给区块链基础设施领域的“外交前线”做了一次全面而紧张的报道,非常适合那些对系统架构和网络安全前沿感兴趣的读者。
对于寻求商业化落地路径的创业者而言,《代币经济学设计:激励与可持续发展的平衡术》这本书无疑是一本实操性极强的指南。它摆脱了抽象的经济学理论,专注于如何设计一个能够自我维持、并且能够有效激励早期采用者和长期贡献者的代币模型。作者的叙事风格非常务实,开篇就强调了“代币并非万能药”,并系统地拆解了不同类型的代币(功能型、治理型、效用型)在不同生命周期阶段所需的激励结构调整。书中有一个章节专门探讨了“通胀与通缩的艺术性平衡”,通过大量的曲线图和历史项目的案例,演示了如何通过动态调整质押奖励率和销毁机制来平抑市场波动,确保项目的长期健康。我个人认为,这本书最大的价值在于其提供的设计框架——它不直接告诉你该怎么做,而是提供了一套严谨的分析工具,让你能根据自己的项目特性,去推导出最优的代币分配、释放时间表和治理结构。对于那些正在头疼如何设计一个既能吸引用户又能维持价值捕获机制的Web3项目来说,这本书就是一本必须反复研读的“设计蓝图”。
我最近翻阅的这本《智能合约的艺术与陷阱》着实让我体验了一场关于编程哲学的深刻对话。它完全抛弃了冗长枯燥的技术手册风格,而是将智能合约的编写视为一种高度精密的工程艺术。作者的叙事方式非常独特,他通过一系列引人入胜的“失败案例”——那些导致了数百万美元损失的真实代码漏洞——来反向构建正确的安全范式。这种“错误驱动学习”的方法极其高效。书中对于 EVM(以太坊虚拟机)执行环境的剖析细致入微,深入到了 Gas 费用的计算机制如何影响代码的效率和设计取舍,这是很多主流教程会一带而过的部分。更让我拍案叫绝的是,作者在讨论状态变量的持久化和重入攻击(Reentrancy Attack)时,不仅展示了经典的攻击代码,还用一种近乎文学化的笔触描述了攻击者心理与防御者思维之间的博弈。这本书的阅读体验很像是在解一个高难度的密室逃脱,每当你以为掌握了某种模式时,作者就会抛出一个更巧妙的陷阱来挑战你的认知。对于那些已经能写出基础合约,但渴望将代码提升到“工业级”稳定性的开发者来说,这本书简直是灯塔般的存在。
扫了个盲,一个新方向概念还是回归到用基础逻辑去实现
评论区我先打个样,抛砖引玉。 入门必读,首推这本书。 比首版更了很多新干货,包括HD种子钱包,闪电网络等,所以第一版已经没有阅读的必要。
不错的入门读物
扫了个盲,一个新方向概念还是回归到用基础逻辑去实现
说是编程,实际上挺少