一笔闪电付款失败了,你知道“到哪一层失败”,却很难知道“是谁”。本文拆解洋葱路由失败消息的分层加密、failure_code 标志位的语义,以及协议为何刻意压低失败信息里携带的定位能力。
一笔闪电付款失败了,你知道“到哪一层失败”,却很难知道“是谁”。本文拆解洋葱路由失败消息的分层加密、failure_code 标志位的语义,以及协议为何刻意压低失败信息里携带的定位能力。
传统的新区块公告是先喊哈希、再等对方来要清单,一来一回多耗一圈。BIP130 允许节点声明偏好,让对方直接把区块头推过来。本文解释这节省下的一个往返在传播链上值多少,以及它和压缩区块、孤块率的关系。
不想下载整条链的轻钱包如何从全节点那里“点菜”?BIP37 用布隆过滤器给出第一代答案:允许节点按概率过滤交易,宁可错发不可漏发。本文拆解过滤器的构造逻辑、更新模式与尺寸上限,并解释为什么精确度本身成了隐私的裂缝。
比特币节点之间会周期性发送一种叫 feefilter 的 P2P 消息,把“我当前内存池愿意接受的最低费率”提前告诉对方,让邻居在通知交易前先自查费率,省掉大量无效的 inv 与 getdata 往返。这套机制定义在 BIP133,对应协议版本 70013,Bitcoin Core 从 0.13.0 起支持。本文讲清它解决什么问题、消息内容是什么、为什么它是“允许而非强制”的规则,以及它对普通用户广播交易意味着什么。
比特币和以太坊的签名都建立在同一条叫 secp256k1 的椭圆曲线上。本文解释这条曲线的方程、几个关键参数各自管什么,为什么 256 位长度大约对应 128 位安全强度,以及它与“ECDSA 签名流程”的区别:曲线是场地,签名是打法。
比特币早期地址和私钥导出串都采用 Base58Check 编码:把十六进制数据换成去掉 0、O、I、l 四个易混字符的字母表,再附 4 字节校验和。本文讲清算法怎么算、校验和从哪来、它只防抄错不防篡改,以及 Bech32 为何在隔离见证后取而代之。
Bitcoin Core 从 0.14.0 起提供 assumevalid 选项并内置默认值:给一个较老的区块哈希,节点跳过该区块及更早区块的脚本验证,只照常检查结构与工作量规则,从而大幅加快初次同步。本文讲清这个假设为什么是安全的(因为之后的工作量是证据)、同步到那个高度附近时校验如何自动恢复,以及什么情况下应该关掉它。
以太坊状态里只存在两种账户:靠私钥控制的外部账户和靠代码运行的合约账户。本文从账户对象的四个字段出发,对照两者的 nonce 含义、代码存放、调用方式与创建规则,并说明 2025 年 Pectra 升级中 EIP-7702 给外部账户增加委托标记后,两分法是否仍然成立。
以太坊对部署到链上的合约代码设了一条上限:24576 字节,由 EIP-170 在 2016 年 11 月的 Spurious Dragon 升级中引入。本文讲这条限制防的是什么攻击、为什么在创建时检查、大型项目如何用库和代理模式绕开限制,以及这个上限至今没有大幅上调的原因。
2012 年 8 月发布的 Peercoin 白皮书第一次把权益证明写成可运行的机制,核心概念是币龄:金额乘以持有时长。本文拆解白皮书的原始设计——币龄如何累积、消费时如何销毁、权益区块如何以币龄为概率权重,以及它依赖的中心化检查点给后来者留下的教训。