跳到主要内容

standardness

标准性(Policy)与共识

实现中需要严格区分“共识规则”(consensus)与“中继/打包策略”(policy)。

共识(不可变更)

  • 定义交易/区块有效性的硬规则:脚本求值、签名校验、PoW、大小/权重上限等
  • 全网必须一致,否则将链分叉

策略(可调)

  • 节点/矿工用于拒绝垃圾或易攻击交易的“门槛”:
    • 标准脚本模板(P2PKH/P2SH/P2WPKH/P2WSH/P2TR)
    • 严格 DER、低 S 值、最小 push、脚本大小/栈深限制
    • RBF(BIP125)与包中继、孤儿交易限制、mempool 大小与 ancestor/descendant 限制
  • 不影响已挖出区块的有效性;不同实现或版本可能差异

实践建议

  • 钱包构造交易尽量“标准”:
    • 避免非标准 opcodes 或奇异脚本模式
    • 合理选择费率与输入/输出布局,避免触发策略拒绝
  • 节点实现将策略与共识代码分层,避免误伤共识路径