请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
发布
  • QQ空间
  • 回复
  • 收藏

案例分析软分叉的艺术——政策规则保护

文章来源: 澎湃新闻 作者: 周炎炎 2018-3-8 12:24

案例分析:BIP65:检查锁定时间验证


案例分析:

1、BIP65:检查锁定时间验证。

OP_NOP1 到 OP_NOP10 在比特币脚本语言来说原本没有意义。虽然它们被算为一个操作(脚本中有 201 个操作数量限制),但实际上它们在交易验证时被忽略。然而,自 0.10 版本开始,比特币核心中就包含了一个策略规则,在默认情况下拒绝 OP_NOPx 。 BIP65 是比特币核心 0.12 中引入的软分叉,其将 OP_NOP2 重新定义为 OP_CHECKLOCKTIMEVERIFY( OP_CLTV ) 。 OP_CLTV 检查顶层堆栈值是否大于交易的 nLockTime 字段(以及其他的条件)。如果任何条件匹配,交易将被视为无效。否则, OP_CLTV 将像 OP_NOP2 一样被忽略。

新的节点在软分叉激活后将强制执行的新的共识规则。即使在激活激活之前,原来的 OP_NOP2 策略规则已被 OP_CLTV 规则取代。(这是没问题的,因为 OP_CLTV 规则比原来的 OP_NOP2 共识规则更严格)

旧的采矿节点不会执行 nLockTime 检查。但是,只要运行 0.10 或更高版本,默认的 OP_NOP2 策略规则将阻止它们包含任何具有 OP_CLTV 的交易,无论该交易是有效或无效的。因此,对于新的 OP_CLTV 共识规则, 0.10 或以上的旧采矿节点不会主动产出无效区块。

相关新闻