比特币核心每次启动都会重放检查最近若干区块。本文依据 v31 源码拆解两个参数的默认值、显式设置即触发完整验证的联动、校验失败后节点停止的设计逻辑与修复路径。
比特币专题汇总减半、ETF、挖矿、钱包、转账与风险等主题,构成围绕比特币的完整内容集群,帮助你由浅入深地理解比特币的运作与生态。
共 942 篇 · 第 43 / 95 页
比特币核心每次启动都会重放检查最近若干区块。本文依据 v31 源码拆解两个参数的默认值、显式设置即触发完整验证的联动、校验失败后节点停止的设计逻辑与修复路径。
比特币核心对新建 blocksdir 的区块文件施加随机 XOR 覆盖。本文依据 v31 源码拆解密钥生成规则、与旧目录的全零兼容、备份 xor.dat 的必要性与三层敏感度分工。
隔离网段、内网审计环境里的比特币节点没法联网同步,但账本必须完整。Bitcoin Core 的启动参数 loadblock 允许启动时从本地区块文件导入数据,导入的区块仍走完整验证流程。本文拆解它的工作时机、文件来源与格式要求、适用的三类场景,以及它不能做什么的边界。
比特币钱包的找零输出用传统格式、隔离见证还是 Taproot,并不必然跟随收款地址类型。核心钱包参数 changetype 单独控制这一选择,官方默认规则只在收款类型为传统格式时才让找零跟随,其余情况交由实现权衡。本文拆解找零格式的手续费账、它对链上找零识别启发式的影响,以及何时值得手动设置。
只想跑节点核对账本、不想让签名能力存在,有运行期参数、构建选项与默认行为三层办法。自 0.21 起节点不再自动创建默认钱包,disablewallet 关掉钱包子系统并禁用相关命令,构建选项 ENABLE_WALLET 则把钱包代码整个裁出二进制。本文逐层拆解各关上门与留下的能力,以及三层都到位的验收方法。
把 wallet.dat 拷到第二台机器一起运行,官方文档的警告只有一句:钱包文件不得跨实例共享,因为实例之间没有同步机制。本文解释共享文件为什么导致地址复用与双花、数据库锁为什么让"共享"根本不成立,以及正确的多设备路径——从同一套描述符派生、各自记账、用重扫描补齐对方产生的交易。
全节点最贵的计算是逐笔验签,而验证结果确定且可复用,于是节点给"已验过的签名"记了一本内存账。核心把签名缓存与脚本执行缓存拆开又合用一份预算,默认三十二兆各占一半,参数 maxsigcachesize 可调总量。本文拆解缓存为什么只记好消息、低内存机器的调参顺序,以及它与重启、修剪的关系。
把节点挂上代理不等于匿名:如果每条出站连接在代理侧用同一套凭证,代理就有把多条连接归并成一个人画像的便利。核心的 proxyrandomize 默认开启,为每个代理连接随机化凭证,在 Tor 上对应流隔离。本文拆解它切断的关联面、源码里的告警条件,以及它与隐藏服务、I2P 设定各管哪一头。
节点日志里"连接建立后没有任何消息"多半不是对端故障,而是本机计时器先到点。核心的对等连接超时分两级:建立后六十秒内没收到任何消息就回收,活过观察期后改按二十分钟的双向静默判定。本文拆解两级计时各防什么、日志关键字怎么读、调大参数的代价,以及自己被邻居断开的自查顺序。