2017 年春天,隔离见证明明已有超过七成算力在信号,却因为一套自设的 80% 门槛迟迟不锁定。BIP-149 给出用户侧的强制预案:用带超时锁定的 BIP8 在预定日期直接激活,不再等矿工点头。这份提案最终因隔离见证提前部署而无需上场,但「用户激活软分叉」由此成为比特币治理里一个被反复引用的工具,它的设计细节——超时即锁定、与矿工部署互斥的窗口衔接——至今仍是讨论模板。
汇总与「比特币」相关的文章,帮助你系统了解该主题。
2017 年春天,隔离见证明明已有超过七成算力在信号,却因为一套自设的 80% 门槛迟迟不锁定。BIP-149 给出用户侧的强制预案:用带超时锁定的 BIP8 在预定日期直接激活,不再等矿工点头。这份提案最终因隔离见证提前部署而无需上场,但「用户激活软分叉」由此成为比特币治理里一个被反复引用的工具,它的设计细节——超时即锁定、与矿工部署互斥的窗口衔接——至今仍是讨论模板。
BIP-18 是 2012 年 P2SH 路线之争里最特别的一份:它不新增操作码,而是宣布 scriptSig 与 scriptPubKey 过时,改用 dataSig、scriptCheck、hashScriptCheck 三件套重述同一件事,还顺手给签名操作定下了按前缀计数的防滥用规则。这份提案标记为 Complete,却没有以文本原样部署——最终上线的 BIP-16 在协议层与它内容几乎一致。这篇讲清它改了什么、账怎么记,以及为什么名字之争也值得写进历史。
今天比特币的脚本哈希地址来自 BIP-16 那条路线,但在 2012 年初,Luke Dashjr 的 BIP-17 一度是最被看好的实现:不新增指令语义,直接把闲置的 OP_NOP2 重定义为 OP_CHECKHASHVERIFY,花销时把真脚本塞进解锁脚本、用一个 OP_CODESEPARATOR 划出待哈希的边界。这份提案最终关闭未部署,但它留下的哈希边界思路、向后兼容处理和矿工字符串投票设计,都是理解比特币脚本升级史的重要切片。
开着 avoidpartialspends 的钱包把同脚本 UTXO 成组整体花费,但每组最多一百个输出,超出即另起新组。拆解 spend.cpp 里的分组装配、这一百为何是费用刹车、以及对复用地址的拆单现象。以 v31.0 源码为准。
区块组装器把签名成本计数器起点设为 400 而非零,为尚未生成的 coinbase 输出预留 SigOp 预算,占八万共识上限的半个百分点。拆解预留动机、IPC 参数名与钳制边界。以 v31.0 源码为准。
比特币节点 REST 接口的批量标头端点共用 MAX_REST_HEADERS_RESULTS 上限 2000,越界直接 400;过滤器标头端点默认只给 5 个。拆解免认证入口为何要设闸、翻页接力写法与排错现场。以 v31.0 源码为准。
集群内存池时代,RBF 第五条规则限制一笔替换直接冲突的唯一簇数量不超过 100,超出即以 too many conflicting clusters 拒绝。拆解按簇计量的原因、与包上限的分界和官方测试的边界用例。以 v31.0 源码为准。
dbcache 总预算先被索引层切走:txindex 与 txospenderindex 各按当时余额的八分之一、封顶 1GiB,过滤器索引再合并一份封顶额度。拆解 CalculateCacheSizes 的顺序扣减、32 位封顶与容量规划口径。以 v31.0 源码为准。
estimatesmartfee 的建议费率来自短中长三档统计窗口:SHORT_BLOCK_PERIODS 12、MED 24、LONG 42 段配步长,历史有效期六周,短程衰减半衰约三小时。拆解分桶计数、指数衰减与 conf_target 的对应关系。以 v31.0 源码为准。
交易下载管理器用 NONPREF_PEER_TX_DELAY、TXID_RELAY_DELAY、OVERLOADED_PEER_TX_DELAY 三个两秒与 GETDATA_TX_INTERVAL 六十秒组织提货时机,另有每对端在途一百与通告五千的额度。拆这套调度为何存在及现场含义。以 v31.0 源码为准。