在 BIP-100 用动态调节器做加法的同一年同一个月,Jeff Garzik 又领了 BIP-102 的号:不谈投票曲线,只把区块数据上限一次性从一兆字节抬到两百万字节,触发条件是选定日期零点加上最近一千块里百分之九十五的表态。这份状态为 Closed 的短提案把当年扩容派最直白的诉求和一次硬分叉的点火方式都写进了几页纸,包括那条坦率的动机——顺便演练一次网络升级。
在 BIP-100 用动态调节器做加法的同一年同一个月,Jeff Garzik 又领了 BIP-102 的号:不谈投票曲线,只把区块数据上限一次性从一兆字节抬到两百万字节,触发条件是选定日期零点加上最近一千块里百分之九十五的表态。这份状态为 Closed 的短提案把当年扩容派最直白的诉求和一次硬分叉的点火方式都写进了几页纸,包括那条坦率的动机——顺便演练一次网络升级。
2015 年扩容争论早期的 BIP-100 提案想把写死的一兆字节区块上限改造成一台会呼吸的调节器:矿工的 coinbase 投票每 2016 块重算一次硬上限,四分之三分位数定方向,单步涨幅被钳在百分之五以内。这份由 Jeff Garzik 等人起草、最终状态为 Closed 的提案,把动态区块大小做成了可以照着写代码的算法。本文按原文拆解它的投票编码、计票规则、护栏与部署史。
bitcoind -help 只列精剪目录:带 DEBUG_ONLY 旗标的参数(dustrelayfee、peertimeout、checkblocks 等)要 -help-debug 才见得到,还有一族连调试页都不列。对照 v31.0 源码拆参数注册表的三档可见性与升级审计、脚本防呆三个用途。
LND v0.19.0-beta 里 sendpayment、payinvoice、sendtoroute 共用一个默认关的 cancelable 旗标:开了才允许在 60 秒默认超时前手动取消付款循环,且取消只拦后续尝试、在途分片照常结算。对照源码拆这条付款语义的适用命令、对账姿势与场景取舍。
lncli printmacaroon 离线解码 macaroon,输出版本、位置、根密钥标识与权限、限制条件清单。以 LND v0.19.0-beta 源码拆两种输入方式、root_key_id 在备份迁移里的核对价值,以及解码不验签这条硬边界。
LND 的 getbestblock 一次返回链尖哈希与高度,但它属于编译期可选的 chainrpc 命令组:不带构建标签的二进制里整组消失。以 v0.19.0-beta 源码拆帮助文本口径、输出字段与四种拿它当排障第一格的场景。
BIP324 加密通道跑起来后,Bitcoin Core v31.0 用三条常量护栏防内存滥用:握手垃圾不超 4095 字节、单包正文长度设天花板、接收缓冲相对已收字节最多预圈 256 KiB。对照 src/net.h 与 net.cpp 拆这套“对端数字不许指挥你分配内存”的设计。
闪电通道状态丢了,静态通道备份是救命文件。以 LND v0.19.0-beta 源码为准拆两条命令:verifychanbackup 只读体检单通道与多通道备份的四种输入形态,restorechanbackup 在同种子前提下找回已结算资金,以及备份时点、解锁状态与恢复后验收三条边界。
轻钱包递交的布隆过滤器受三条硬线约束:位图不超 36000 字节、哈希函数不超 50 个、filteradd 单根针不超 520 字节。对照 Bitcoin Core v31.0 源码拆超限后的记账断连路径、服务位检查与老钱包连不上节点的排障线索。