跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
薄膜电阻捷比信 · 专业器件主题站

比特币现金BCH网络硬叉协议升级的技术分析

根据bitcoincash.org网站提供的信息,Bitcoin Cash(BCH)网络将进行硬叉协议升级,UNIX时间戳为1542300000。使用BCH网络的企业和个人应检查自己的软件,以确保自己的软件是与此升级兼容。到目前为止,兼容的客户端包括Bitcoin ABC 0.18.2,Bitcoin Unlimited Cash Edition 1.5.0.0,兼容的客户端将是bcoin-bcash 1.1.0。 (如果用户不熟悉或出于其他原因,他们还可以将资产存放在支持此硬分叉升级的可靠交易所上。到目前为止,明确支持此升级的交易所包括Binance,Huobi和coinbase,Poloniex等。当然,如果读者对自己的技术有信心,那么最好是自己操作,因为如果发生链裂,就可以尽快得到分叉的硬币。此硬分叉协议升级:当最后11个块的中位数时间(MTP-11)[1]大于或等于UNIX时间戳1542300000(译者注:北京时间2018年0:40:0 11月16日,比特币现金(BCH)将基于此规范实施网络共识规则升级,从下一个块开始,对这些共识规则的更改将生效:删除拓扑事务排序限制并强制执行标准化的事务排序;启用OP_C HECKDATASIG和OP_CHECKDATASIGVERIFY操作码;实施最小交易规模规则;强制执行scriptSig(脚本签名)实施“仅推送”操作。规则;实施“干净的栈”。规则;以下部分不是共识更改,而是针对比特币现金(BCH)的建议更改:自动重放攻击防护,用于将来的升级;除了coinbase事务外,标准事务排序除了必须在coinbase事务中进行之外,还必须按照事务id的升序对块中的事务进行排序,并且它们将被解释为256位的little endian整数。 coinbase交易必须是区块中的第一笔交易。操作代码(OpCode)将根据op_checkdatasig.md [2]的规定启用新的操作代码OP_CHECKDATASIG和OP_CHECKDATASIGVERIFY。最小交易大小小于100字节的交易应被视为无效交易。这可以防止黑客利用Merkle树漏洞对轻钱包(SPV)进行欺诈性交易攻击[3]。仅推送如果脚本签名中出现数字大于96(十六进制代码0x60)的操作码,则该事务将被视为无效。这与比特币BIP 62#2规则[4]相同。要清理堆栈并使交易有效,脚本评估完成后,堆栈上必须只有一个非零项目。如果堆栈上还有其他数据元素,则脚本的计算结果为“假”。这与比特币BIP 62#6规则[4]相同。自动重播攻击保护。当最后11个块的中位数时间(MTP-11)[2]小于UNIX时间戳记1557921600(2019年5月15日)时,比特币现金(BCH)完整节点必须执行以下规则:Forkid [5]为等于0。当最后11个块的中位数时间(MTP-11)[1]大于或等于UNIX时间戳1557921600(2019年5月15日)时,将实施2018年11月的共识。常规比特币现金已满节点应执行以下更改:更新forkid [5]等于0xFF0001。以0xFF开头的ForkID将保留用于将来的协议升级。比特币现金软件钱包永远无法实现这一特殊的共识规则。跟随升级的钱包,什么都不要更改。