闪电节点重连后双方互发 channel_reestablish,用承诺序号、撤销序号与撤销密钥对账。本文按 BOLT #2 的重传规则拆解一致、重传、断链三种分支与撤销序号超前证明的机制,并说明为什么机关回滚通道数据库等于批量触雷。
比特币专题汇总减半、ETF、挖矿、钱包、转账与风险等主题,构成围绕比特币的完整内容集群,帮助你由浅入深地理解比特币的运作与生态。
共 942 篇 · 第 25 / 95 页
闪电节点重连后双方互发 channel_reestablish,用承诺序号、撤销序号与撤销密钥对账。本文按 BOLT #2 的重传规则拆解一致、重传、断链三种分支与撤销序号超前证明的机制,并说明为什么机关回滚通道数据库等于批量触雷。
Bitcoin Core v31.0 移除了 tor 网络名称(v0.17.0 起由 onion 取代),onlynet=tor 会直接报错;同时 torcontrol 的 ADD_ONION 自动隐藏服务链路完整保留,v31 还新增依赖 Tor 与 I2P 的 -privatebroadcast。本文拆开网络名与 Tor 功能两层。
闪电 channel_update 的 htlc_maximum_msat 是转发方的单边意愿上限,独立于通道容量。本文按 BOLT #7 拆解上下沿窗口、大于容量即拉黑的异常判定、两周未更新的剪枝建议,以及运营侧改参数的正确姿势。
BOLT #9 把 option_data_loss_protect 列为 ASSUMED:init 里可不协商,语义默认为存在。它的本体是 channel_reestablish 的序号与撤销密钥对账,记忆落后会被强制断链。本文拆解保护机制、与备份和 watchtower 的分工及不防的场景。
BOLT #4 规定洋葱错误回包总长不超过 32768 字节,中间节点遇超长回包截取前 32 KiB 而非拒收;失败载荷加填充至少 256 字节;预算另一头是让位给记录各跳 100 毫秒粒度滞留时长的归属数据。本文按规范原文拆开这套体积规则。
打开 -logthreadnames 后日志行出现方括号线程名。本文按 Bitcoin Core v31.0 源码列出显式命名线程(net、msghand、addcon、opencon、scheduler、http、torcontrol、mapport、privbcast、initload、shutoff、scriptch 系列与各索引线程)的职责,并给出日志在动但功能失联类故障的排法。
BOLT #4 把旧版区分金额错误与哈希未知的最终节点失败码合并为编号 15 的永久码,动机是堵住用错误码差分定位收款节点的探测攻击。本文核对合并语义、htlc_msat 冗余字段、height 字段用途与失败码分层。
闪电 init 消息交换功能位图:奇数位 optional、偶数位 compulsory,未知奇数位必须忽略、未知偶数位必须断连。本文按 BOLT #9 与 BOLT #1 拆解编号规则、高频位清单与依赖声明,以及 open_channel 里显式 channel_type 的收敛作用。
Bitcoin Core v31.0 的 generatetodescriptor 把输出描述符直接编译成 coinbase 脚本再产块,省去先备好地址的中间步骤。本文按 v31.0 源码核对它的三个参数、报错路径与 generatetoaddress 的同源关系,并说明为什么它只在 regtest 这类环境有实际用途。
Bitcoin Core v31.0 的 -printpriority 默认关闭,打开后节点在把交易选进候选块的瞬间记录该笔交易调整后的费率与哈希。本文按 v31.0 源码核对该参数定义、modified fee 的含义、与 prioritisetransaction 和 getblocktemplate 的关系,以及长期开启的日志代价。