0°

比特币现金(BCH)硬分叉协议升级的具体说明

根据bitcoincash.org网站提供的信息显示,比特币现金(BCH)网络将于UNIX时间戳1542300000(北京时间2018年11月16 日0:40:0)进行一次硬分叉协议升级,而使用BCH网络的企业和个人,都应该检查自己运行的软件,以确保自己的软件与这次升级相兼容。

截至目前,已实现兼容的客户端包括Bitcoin ABC 0.18.2、Bitcoin Unlimited Cash Edition 1.5.0.0, 而即将实现兼容的客户端还有bcoin-bcash 1.1.0。

(如果用户因不熟悉或其他原因,也可以将自己的资产存放于支持这次硬分叉升级的可靠交易所,截至目前,已明确支持这次升级的交易所包括币安、火币、coinbase、Poloniex等。当然,如果读者对自己的技术的很有信心,自行操作会是更好的一种选择,因为如果万一出现了链分裂的情况,你就可以第一时间获取到分叉币。)

比特币现金(BCH)硬分叉协议升级的具体说明

(图片拍自:bitcoincash.org)

 

以下为这次硬分叉协议升级的具体说明:

 

摘要

 

当最近11个区块(MTP-11)的时间中位数 [1] 大于或等于UNIX时间戳1542300000(译者注:北京时间2018年11月16 日0:40:0)时,比特币现金(BCH)将根据此规范执行网络共识规则升级。而从下一个区块开始,这些共识规则的更改将会生效:

  1. 删除拓扑交易排序限制,并强制执行规范交易排序;
  2. 启用OP_CHECKDATASIGOP_CHECKDATASIGVERIFY操作码;
  3. 实施最小交易大小规则;
  4. 为scriptSig(脚本签名)强制执行“push only”规则;
  5. 实施“清理堆栈”规则;

以下部分不是共识方面的更改,而是对比特币现金(BCH)实施的推荐更改:

  1. 对于未来升级的自动重放攻击保护;

 

规范交易排序

 

除了coinbase交易之外,区块内的交易必须按交易 id的数字升序排序,它们会被解释为256位的小端整数(little endian integers)。coinbase交易必须是一个区块当中的第一笔交易。

 

操作码(OpCode)

 

新的操作码OP_CHECKDATASIG以及OP_CHECKDATASIGVERIFY将按照 op_checkdatasig.md [2]中的规定得到启用。

 

最小交易大小

 

小于100字节的交易,应被视为无效交易。这可以防止黑客利用默克尔树(Merkle tree )漏洞,针对轻钱包(SPV) [3]实施欺诈交易攻击而造成影响。

 

Push Only

 

如果在一个脚本签名当中,出现了编号大于96(十六进制编码为0x60)的操作码,则交易会被认为是无效的。这和比特币BIP 62 #2 规则 [4]是相同的。

 

清理堆栈

 

而要使一笔交易是有效的,在完成脚本评估的时候,堆栈上必须只有一个非零项。如果堆栈上仍然有额外的数据元素,则脚本的计算结果为“false”。这与比特币BIP 62 #6规则[4]是相同的。

 

自动重放攻击保护

 

当最近11个区块(MTP-11)的时间中位数 [2] 小于UNIX时间戳1557921600(2019年5月15日)时,比特币现金(BCH)全节点必须执行以下规则:

  1. forkid [5]等于0.

当最近11个区块(MTP-11)的时间中位数 [1]大于或等于UNIX时间戳1557921600(2019年5月15日),执行2018年11月份共识规则的比特币现金全节点,应该执行以下更改:

  1. forkid [5]更新为等于0xFF0001,以0xFF开头的ForkID,将被保留,以用于将来的协议升级。

这一特殊的共识规则,绝不能由比特币现金软件钱包来实现。跟随升级的钱包,不应该改变任何东西。

 

  参考

[1]中位值时间的描述来自bitcoin.it wiki, [2] https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/op_checkdatasig.md

[3]比特币默克尔树设计中的叶节点弱点 [4] BIP 62 [5] forkId是根据重放攻击保护的签名哈希(sighash)规范定义的。

原文:https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2018-nov-upgrade.md
作者:BCH开发者

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论