比特币核心 v31.0 下载区块时受三个常量约束:向前一千零二十四个高度的下载窗口、按出块间隔倍数计算并随并发对端放宽的超时线,以及默认只有两秒却会自适应翻倍的卡死阈值。本文按源码解释这三道闸门各自的算法与适用场景,并回答节点为什么看起来频繁断开对端。
比特币专题汇总减半、ETF、挖矿、钱包、转账与风险等主题,构成围绕比特币的完整内容集群,帮助你由浅入深地理解比特币的运作与生态。
共 942 篇 · 第 12 / 95 页
比特币核心 v31.0 下载区块时受三个常量约束:向前一千零二十四个高度的下载窗口、按出块间隔倍数计算并随并发对端放宽的超时线,以及默认只有两秒却会自适应翻倍的卡死阈值。本文按源码解释这三道闸门各自的算法与适用场景,并回答节点为什么看起来频繁断开对端。
重组时比特币核心 v31.0 不会把被拆区块的交易立刻塞回内存池,而是先放进一个上限两千万字节的暂存容器,等整段重组处理完再统一回灌。本文拆解这个容器的排序规则、超限时的递归删除、回灌时绕过限额与忽略失败的原因,以及它如何解释钱包里交易从一确认退回零确认。
比特币核心 v31.0 的钱包图形界面导入 PSBT 文件时会量一次尺寸,超过一亿字节就拒绝,而提示文字写的是 100 MiB,两者口径并不相同。本文说明这道闸门只覆盖图形界面挑文件这条路径、BIP 174 未定上限是它存在的原因,并解释多签协作为什么会把 PSBT 撑到接近这个量级。
比特币默克尔树对奇数个叶子复制末位哈希,这个先天设计曾让攻击者复制交易就能改变区块哈希(CVE-2012-2459)。对照 Bitcoin Core v31.0 源码拆解 ComputeMerkleRoot 的 mutated 标志、bad-txns-duplicate 拒绝、IsBlockMutated 隔离与 segwit 见证变异检查这四道补丁如何把老洞封死。
LND 的 Mission Control 通过率账本可以用三条命令搬运:querymc 导出快照、importmc 单条写入、loadmc 整包灌入并支持时间戳偏移。对照 LND v0.19.0-beta 源码拆解三条命令的参数、内存态不持久化的边界与 timeoffset 伪装账本年龄的用法。
已签发的 LND macaroon 令牌可以在不接触签名密钥的情况下追加时效、IP 与自定义约束。对照 LND v0.19.0-beta 源码拆解 constrainmacaroon 的输入输出、四种约束的校验边界,以及它与 bakemacaroon 的分工和可收窄不可吊销的语义。
比特币节点的 version 与 verack 构成握手窗口,wtxidrelay、sendaddrv2、sendtxrcncl 等协商消息必须在窗口内完成,过晚到达直接断连。对照 Bitcoin Core v31.0 源码拆解 fSuccessfullyConnected 状态机、verack 处理时刻的动作序列,以及库存公告延后计时背后的交易时间隐私设计。
不带费用参数给比特币核心钱包下付款指令时,出价链条的起点是 -txconfirmtarget 参数,默认六个区块。对照 Bitcoin Core v31.0 源码拆解这个默认值从注册、加载到进入 GetMinimumFeeRate 费用阶梯的完整路径,以及估算保守度、回退费与最低费钳制的相互作用。
lncli version 同时询问命令行工具与守护进程两个进程的构建信息,输出提交哈希、语义版本与编译期注入的构建标签。对照 LND v0.19.0-beta 源码拆解这份双层指纹怎么用于升级核验、功能缺失排查(dev 构建标签)与托管审计。