加密货币百科
bad-witness-nonstandard:见证数据也得配得上前手脚本
比特币核心 v31.0 在标准性检查里逐项核对见证区的形状:币基交易跳过、空见证放过、非见证脚本不许带见证、P2WSH 有脚本长度与栈项数量上限、Taproot 的附项一律视为非标准。撞上任一条就返回 bad-witness-nonstandard。本文按源码分支列出判据,并给出排查这类失败时最省时间的顺序。
汇总与「隔离见证」相关的文章,帮助你系统了解该主题。
比特币核心 v31.0 在标准性检查里逐项核对见证区的形状:币基交易跳过、空见证放过、非见证脚本不许带见证、P2WSH 有脚本长度与栈项数量上限、Taproot 的附项一律视为非标准。撞上任一条就返回 bad-witness-nonstandard。本文按源码分支列出判据,并给出排查这类失败时最省时间的顺序。
隔离见证真正落地,靠的不只是共识规则,还有一套节点间的传输格式。BIP-144 用标记字节和标志字节把见证数据装进交易报文,让新旧节点互不干扰地完成升级。本文拆解它的序列化设计、为什么旧解析器不会误读,以及空见证为什么必须用旧格式。
-rpcserialversion 曾是比特币核心控制 RPC 返回交易序列化形态的隐藏参数:0 返回不含见证数据的旧格式,1 返回含见证的新格式。v26.0 发行说明宣布设 0 需叠加 -deprecatedrpc=serialversion 并标记废弃;在 v31.0 源码树中该参数定义与读取分支已全部消失。本文按仓库源码与历代发行说明梳理它的动机、争议与退场路线。
Bech32 有一个末尾字符 p 前可任意增删 q 的已公开弱点。BIP350 用异或常数 0x2bc830a3 换出 Bech32m:v0 地址继续用 Bech32,v1 及以上用 Bech32m,并刻意让旧钱包对 bc1p 地址报错而不是烧币。本文讲清这条兼容决策与大小写规则对转账的实际影响。