当前位置:首页 > 物联网 > 区块链
[导读] 在BCH的最近一次升级中,有一项升级内容属于修复程序—在脚本中强制执行MINIMALDATA。 根据之前的升级规范,我们也清楚的了解到,这项更改是为了消除最终的BIP 62延展性矢量,使

在BCH的最近一次升级中,有一项升级内容属于修复程序—在脚本中强制执行MINIMALDATA。

根据之前的升级规范,我们也清楚的了解到,这项更改是为了消除最终的BIP 62延展性矢量,使得升级之后的比特币现金网络上的大多数交易(包括所有P2PKH交易)以后都是不可验证的,可以有效保护交易的安全性。

那到底什么是交易延展性?BCH又都做了些什么修复它呢?

什么是交易延展性?

交易延展性(transacTIon malleability)源于比特币源代码中的一个错误。这个错误,可以在不改变交易输出或交易内容的情况下,更改交易ID。这个错误意味着,在交易被矿工写入区块之前,交易签名可以被更改。

也就是说当一笔交易被广播出去后,在获得确认之前,某些恶作剧的矿工可以使用别的签名方式替换这笔交易原来的签名方式。由于交易的TXID就是对交易内容进行哈希计算获得的,如果里面的签名方式变了,TXID也会改变。

如果受到交易延展性攻击,虽然交易的资金本身不会受到任何影响,该转给谁还是转给谁,但是那些依赖TXID的应用,比如交易所就会受到严重损失。因为他们会记录每笔交易的TXID,如果TXID发生变化就容易导致账目混乱,这也是交易所都要求至少一个确认才入账的原因。

2014年,有人利用这个漏洞,大规模攻击比特币网络,内存池中充满了假交易,造成比特币网络堵塞,导致部分全节点宕机,比特币网络极其不稳定。曾经最大的比特币交易所——Mt.Gox宣布倒闭的部分原因,就是延展性攻击。

BCH都做了哪些事情修复交易延展性?

BCH通过一次次的升级修复了所有常见的第三方交易延展性矢量,而Bitcoin Core 却依旧保留了。

1、规范编码的ECDSA签名:自2015年7月激活BIP 66以来,禁止使用非DER编码的ECDSA签名。

2、scriptSig中的非推送操作:在2018年11月比特币现金网络升级中,签名脚本中的非推送操作被禁止,而Bitcoin core仍然接受它们。

3、非标准大小类型的scriptSig中的推送操作:在2019年11月比特币现金网络升级中,禁止任何脚本中的非标准大小推操作,而Bitcoin core仍然接受它们。

4、零填充数字推送:在2019年11月比特币现金网络升级中,禁止处理以非标准形式编码的数字,而Bitcoin core仍然接受这一点。

5、ECDSA签名固有的延展性:自2017年11月比特币现金网络升级以来,禁止在ECDSA签名中使用高S值,而Bitcoin core仍然接受这一点。

6、签名失败的延展性:自2017年11月比特币现金网络升级以来,禁止将除null以外的无效签名传递给OP_CHECK(MULTI)SIG。Bitcoin Core仍继续执行脚本。

7、多余的scriptSig操作:自2018年11月比特币现金网络升级以来,脚本执行必须产生干净的堆栈。Bitcoin Core不需要这个。2019年5月的比特币现金网络升级仅针对特定的类似于SegWit的签名脚本增加了豁免。

8、脚本忽略的输入:自2019年11月比特币现金网络升级以来,不再忽略OP_CHECKMULTISIG(VERIFY)的第二个输入。相反,由于2017年8月Bitcoin Core激活了BIP 147,所以在这个输入上必须为空。

1、 让交易所接受0确认充值成为了可能

鉴于交易延展性攻击的影响,交易所为了安全性考虑,很难做到0确认充值。一旦BCH修复了延展性,那么交易所就可以考虑接受0确认充值,这也有助于提高用户的使用体验。

2 、使双花验证更有意义

为了解决双花问题,BCH开发者曾经研发出了double spend proof双花检测工具。想要使用这个工具,必须先修复延展性,否则这个工具毫无意义。

BCH有两种双花攻击的方式,一种是需要大量算力配合的双花攻击,需要的成本非常高,不可能用来双花小额交易。还有一种是快速双花: 比如有某个出售数字商品的商家支持BCH付款,他接受0确认支付,只要显示收到BCH了,就立刻自动发货。这时候攻击者就可以尝试快速双花攻击了。他先给商家转账一笔BCH,这里称之为TX1;然后同时把这笔资金转给自己的另外一个地址,这里称之为TX2,TX2会通过工具以更快的速度传播到全网其他节点,尤其是让矿工先收到。当商家的系统显示出TX1时,他会以为已经到账,于是自动发货,但是矿工却打包了TX2。最后TX1就会被作废,商家产生了损失,攻击成功。

双花检测工具就是用来专门检测快速双花攻击的。这个工具会监听全网的BCH节点,如果发现存在双花交易,就会发出警告,提醒收款方。收款方如果发现存在双花,可以拒绝这笔交易,或者要求必须获得一个确认。

当在主流的钱包中添加双花检测工具,用户就能直观的看到一笔交易是否被双花,这会极大的提升用户对于0确认交易的信心,而且对于交易所来说,因为这个工具的存在,接受0确认充值的风险又被极大的降低了。

目前,BCH已经修复了所有常见的第三方交易延展性矢量,极大的解决了延展性攻击的问题。这也为BCH未来的发展创造了更多的可能,而不再受制于延展性问题的限制。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭