比特币核心的配置不止 bitcoin.conf 一个文件:0.21 起,节点还会在数据目录维护 settings.json,记录运行时写入的软设置。本文讲清两层配置的分工、GUI 改配置去了哪里、以及配置不生效时先看启动日志的排障法。
汇总与「比特币」相关的文章,帮助你系统了解该主题。
比特币核心的配置不止 bitcoin.conf 一个文件:0.21 起,节点还会在数据目录维护 settings.json,记录运行时写入的软设置。本文讲清两层配置的分工、GUI 改配置去了哪里、以及配置不生效时先看启动日志的排障法。
BIP-44 路径第三层 account 序号用硬化派生切分互不相干的身份,规范要求账户编号连续、软件在上一个账户无历史时阻止新建。本文解释新建账户与下一个地址的分工、跳号导致恢复漏账及备份序号地图。
一条比特币交易如何用尽量少的字节说明"后面有几样东西"?答案是 Varint 紧凑整数:一个前缀字节决定后续跟一个、三个还是八个字节的长度。本文逐段拆解这套变长编码在交易与区块序列化中的位置、253分界的设计算术,以及它在见证数据与P2P消息里的复用。
CISA(跨输入签名聚合)想让一笔交易无论有多少个输入,都只带一份聚合签名。本文讲清这项研究的技术路径(MuSig式聚合与半聚合)、能省多少字节的现实账本、与适配器签名的冲突为何让它止步不前,以及Taproot为何明确宣布不含CISA。
Pay to Contract(P2C)是Greg Maxwell在2012年提出的输出构造技巧:用一个数据承诺的哈希微调公钥,让链上看起来只是普通付款,实际暗藏一份可事后验证的声明。本文拆解tweak的构造算术、它与OP_RETURN写数据的利弊差异,以及机密地址等现代系统对这一技巧的沿用。
一笔比特币转账凭什么被认可?答案藏在脚本引擎的机械执行里:解锁脚本与锁定脚本按顺序压栈、弹出,栈顶为真即通过。本文讲清这个类Forth栈机的执行模型、真值规则、执行限制与历史事故,以及为什么比特币的脚本被刻意设计成不做循环。
比特币白皮书把时间戳服务器列为第一个应用场景,甚至排在支付之前。本文回到这份2008年文档的原点:链式哈希如何证明一份文件在某时刻已存在且之后未被篡改,这个最早的原型如何长成整条区块链,以及文档时间戳与电子现金两条用途后来的分叉。
比特币节点同步链时不是直接下载区块,而是先成批索要区块头,验好工作量之后再按序取完整区块。本文拆解 getheaders 与 headers 消息的分工、单轮 2000 条的批量上限、80 字节头部做预检的成本账,以及节点在这个阶段能看出什么异常。
比特币节点对信任的对等方有一整套权限开关:不会被封、超额还能下块、破例中继交易。本文逐项拆解 NoBan、Download、Relay、ForceRelay、MemPool、BloomFilter 这些权限位的准确语义、默认值,以及 whitebind 与 whitelist 两条配置路。
比特币节点曾在你发送被拒的东西时回一条 reject 说明原因,这个礼貌的设计最终因隐私与探测风险被默认关闭并从代码中移除。本文按版本时间线讲清 reject 的引入、限流、可配置停用与删除,以及今天排障该看哪里。