2013 年 Eyal 与 Sirer 指出,比特币选链规则下,藏起刚挖到的区块再视对手动向决定公开,可以让少数派矿工在长期收益上占便宜。本文拆解自私挖矿的博弈结构、领先-追平的策略树,以及它对诚实矿工收益的实际影响边界。
2013 年 Eyal 与 Sirer 指出,比特币选链规则下,藏起刚挖到的区块再视对手动向决定公开,可以让少数派矿工在长期收益上占便宜。本文拆解自私挖矿的博弈结构、领先-追平的策略树,以及它对诚实矿工收益的实际影响边界。
区块哈希、交易哈希、默克尔节点全部是两次 SHA-256 的结果,多跑一遍不是仪式感。本文从 Merkle-Damgard 结构的长度扩展缺陷讲起,说明双哈希如何顺手堵上这扇门,以及比特币在哪些地方仍只用一次哈希。
以 3 开头或 bc1q 长串的多签与脚本地址,锁定的不是公钥而是一段脚本的哈希:花的时候才把脚本原文亮出来,现场验证哈希对得上。本文讲清 P2SH 的锁定与花费结构、redeem script 序列化、它给多签和智能脚本带来的地址兼容红利。
从 2008 年 10 月那封邮件到 2009 年 1 月 3 日的第 0 号区块,比特币的起点没有发布会、没有代币预售,只有一份九页 PDF 和一行报纸标题。本文按可核验的时间线梳理 genesis 前后几周内留下的证据链。
txid 是对交易序列化字节做两次 SHA-256 的结果——那这串被哈希的字节到底是什么?本文按版本、输入计数、前手引用、脚本长度、输出金额、锁定时间与标志字节的路标逐段走一遍,讲清 varint、见证标记与权重折价的字节级由来。
同样是给节点发一条 RPC 命令,bitcoin-cli 的开关组合决定这条命令落到哪个钱包、参数怎么传、口令会不会留在历史记录里。本文逐项拆解 -rpcwallet、-named、-stdin 系列与 -rpcwait 的实际语义,以及它们改变和不改变的边界。
比特币核心支持一个节点同时装载多个钱包,创建、装载、卸载和开机自启各有各的账本。本文拆解这几个钱包管理命令的行为边界:卸载不等于删除、启动参数会套到新钱包头上、哪些操作后必须重新备份。
比特币核心可以用 -signer 参数接入外部签名程序,让节点全程不接触私钥。本文按官方文档拆解这条链路:设备枚举、建钱包、地址回显核对,以及"软件托管在官方组织下但仍属实验性"这条警告的分量。
核心项目官方承诺大约六个月一个主版本,维护版本只修 bug、不加功能,但共识规则变化例外。本文按官方生命周期与发布流程文档,拆解版本号的解耦设计,以及一次发布背后那些与钱包和节点用户有关的例行维护动作。
比特币节点在分叉之间做选择时比较的不是区块个数,而是累计工作量。本文从节点源码里的选链函数语义出发,解释工作量的构成、它和"最长链"说法的偏差,以及重组发生时未确认交易和余额会发生什么。