隐藏金额的承诺必须附带范围证明,否则谁也拦不住把金额伪造成天文数字的溢出攻击。门罗币 2018 年 10 月的网络升级用 Bulletproofs 替换 Borromean range proof,把典型两输出交易从约 13.2 KB 压到约 2.5 KB。本文拆解范围证明为什么必须存在、多输出聚合为什么能省、以及体积下降如何改变费用与区块占用。
隐藏金额的承诺必须附带范围证明,否则谁也拦不住把金额伪造成天文数字的溢出攻击。门罗币 2018 年 10 月的网络升级用 Bulletproofs 替换 Borromean range proof,把典型两输出交易从约 13.2 KB 压到约 2.5 KB。本文拆解范围证明为什么必须存在、多输出聚合为什么能省、以及体积下降如何改变费用与区块占用。
节点发 getdata 点货,对端手里没有对应数据时回一条 notfound,把"在路上了"和"根本拿不到"区分开。比特币核心源码 protocol.h 定义该消息类型,net_processing.cpp 在处理 getdata 时把取不到的条目攒进 vNotFound 回给请求方。本文拆解它出现的位置、与孤儿交易等待和区块补洞的配合,以及误读它导致的排障弯路。
比特币核心的 onlynet 参数限定自动出站连接只走指定网络,设成 onion 或 i2p 可让节点完全不在公网发起连接。官方帮助文本写明入站与手动连接不受影响,配置文件里一条残留的明文 addnode 就能让隔离功亏一篑。本文拆解参数的精确取值与语义、与监听和权限配置的分工,以及三步自查清单。
比特币核心的连接管理器周期性开一条只存活几秒的 feeler 连接,随机抽一个未验证地址试握手:成功就记下地址在线,失败即丢弃不留痕;握手一完成实现就把它标记断开。核心源码 net.cpp 中该词(不分大小写)出现数十处。本文拆解它与八个常驻出站槽位的分工、随机抽样为什么是对地址投毒的主要解毒剂,以及防火墙后节点被误判离线的原因。
比特币网络并不只有一种节点软件。btcd 是用 Go 语言独立实现的比特币全节点,与 C++ 写的比特币核心执行同一套共识规则。本文讲清它存在的意义、和普通用户的关系,以及为什么单一实现垄断才是更大的风险。
研究者 Lerner 在 2013 年提出,比特币最早的几万个区块里有一个矿工的软件留下可识别指纹:coinbase 里的 ExtraNonce 增长轨迹和区块头 nonce 低位取值范围。本文拆解这条统计指纹的来历、结论强度与它不能证明什么。
比特币全网用电量没有人实测过,所有头条数字都是模型输出。本文按剑桥 CBECI 方法论拆解下界、上界与最优估计三种假设,讲清 PUE、盈利门槛和七日平均,教你读能耗争论里谁在偷换假设。
比特币每 2016 块调一次难度,但公式只数了窗口内 2015 个间隔——这个著名的差一偏差给了利用时间戳规则压缩可见时间的可乘之机。本文讲清公式、约束与修正提案的边界。
闪电节点之间不是靠吼来交换全网络地图的。本文按 BOLT 7 规范拆解图谱同步:打开与更新的公告、时间戳过滤,以及用区块范围查询与短通道 ID 编码补齐缺口的流程。
家庭节点最怕的不是被攻击,而是停电。本文给出一份断电、断网、磁盘写满后的重启自查:同步进度、链尖、内存池恢复、钱包重新扫描的顺序,以及轻易重扫描全链这类禁忌。