2015 年的一份提案 BIP-131 想给比特币加一种交易:不逐个列碎inputs,而是声明一个脚本、把链上所有同脚本的旧输出合并花掉,专治收款地址攒出的粉尘堆。提案状态是 Closed,从未进协议。本文讲这个方案的设计、为什么当时不成立,以及它牵出的 UTXO 膨胀问题后来走了别的出路。
汇总与「比特币」相关的文章,帮助你系统了解该主题。
2015 年的一份提案 BIP-131 想给比特币加一种交易:不逐个列碎inputs,而是声明一个脚本、把链上所有同脚本的旧输出合并花掉,专治收款地址攒出的粉尘堆。提案状态是 Closed,从未进协议。本文讲这个方案的设计、为什么当时不成立,以及它牵出的 UTXO 膨胀问题后来走了别的出路。
比特币节点有一条冷门消息:发一个空的 mempool 命令,对端把它内存池里的交易哈希清单整个回给你。这是 2012 年 8 月落地的 BIP-35,动机写着三件事:SPV 钱包查零确认交易、矿工重启后补课、远程诊断。本文讲这条消息怎么工作、为什么今天几乎用不上,以及它留下的一条设计教训。
换钱包时地址对不上,多数是派生路径不一致。BIP-88 给路径写法定了一套模板记法,用花括号和区间描述一组合法路径,让设备与软件能机械判断某条路径是否被允许。本文讲这套 2020 年完成的表示法怎么读、解决钱包互操作里的什么裂缝,以及它与受限路径安全考虑的关系。
比特币网络默认谁都能连,白名单靠 IP 段。BIP-150 曾提出用身份公钥做双向挑战应答认证,让节点只给熟客更高服务,同时保证没 keys 的一方无法试探对面名单。该提案 2016 年提出、现已 Closed,评论摘要标注不鼓励实现。本文讲它的认证流程、防指纹设计,以及为什么今天的节点用更简单的办法。
BIP-34、65、66 当年靠区块版本号投票激活,验证每个块都要回看前一千块的版本分布。2016 年的 BIP-90 把这套历史包袱简化成三个区块高度常数:主网上 BIP-34 是二十二万七千九百三十一块,BIP-66 与 BIP-65 各在其后。本文讲清埋入式部署的动机、规则替换方式与那个理论上的兼容性边角。
轻客户端不下载全链,怎么快速确认某个输出是否仍未被花掉?2014 年提出的 BIP-64 给比特币设计了一条 getutxos 查询消息:按输出点批量提问,节点回一张命中位图和未花费用明细。提案最终关闭从未部署,但它的思路活在比特币核心的 REST 接口里。本文讲清这条消息的结构、能查什么、为什么不可全信。
布隆过滤收款让轻钱包少下载数据,但也给节点带来拒绝服务风险与隐私争议。BIP-111 定义 NODE_BLOOM 服务位,让节点公开声明是否支持过滤,不支持的节点收到过滤请求直接断开对端。本文讲这个 2015 年提案的来龙去脉、协议版本号的配合方式与今天的残局。
分叉后同一笔交易可能在两条链上都有效,账户余额被两边同时花掉。卢克·多什 2016 年提出 BIP-115,设计 OP_CHECKBLOCKATHEIGHT 操作码,把交易绑定到特定链上某个高度的区块哈希末段。提案最终关闭从未部署。本文拆解这条锁的机制、五万块回看窗口的取舍与它想解决的双击找回难题。
BIP34 要求每个区块的 coinbase 输入以最短编码的区块高度开头。本文讲这条软分叉规则的动机、2013 年的生效时间线,以及用户如何用它免费校验节点与数据。
扩展公钥前缀只是编码约定而非共识规则。本文解释 xpub/ypub/zpub 与路径的关系,以及恢复钱包、搭观察钱包时因前缀错配导致余额为空的成因与解法。