客服QQ:872490018

BCH 分叉后的钱包解决方案

BCH 分叉后的钱包解决方案-碳链


昨天凌晨 BCH 分叉为两条链:BCH 和 BCHSV,我们持续做着相关风险监测,也注意到相关交易所/钱包暂停了充提。由于分叉后的两条链没做重放保护,可能导致一条链上发起的交易,在另一条链上做重放攻击,造成相关对象的财产损失(依实际攻击场景而定)。


在无重放保护的情况下,分离这两种链上资产的方法,目前社区的解决方法主要有如下两个:


1. input 污染法


原理是引入了一笔非法交易的输出作为输入,那么这笔非法交易的输入将会使得这笔交易也会变为非法。

例如:

一笔交易广播到了 BCHSV 链中,引用了非法交易(在 BCH 合法,在 BCHSV 非法)的 UTXO 作为输入,那么这笔交易相当于被污染了,不会被 BCHSV 链承认,那么这笔交易就被重放免疫了;对应的,一笔交易广播到了 BCH 链中,引用了非法交易(在 BCHSV 合法,在 BCH 非法)的 UTXO 作为输入,那么这笔交易相当于被污染了,不会被 BCH 链承认,那么这笔交易就被重放免疫了。


2. 构造特有操作码交易


两条链的共识是有差别的,如果出构造一个本链合法,对方链上不合法的交易也可以进行分离,本次分叉双方的共识差别也体现在操作码上,可以在 BCH 链中,构造含有 OP_CHECKDATASIG 的输出,那么该笔交易在 BCH 上是合法的,但在 BCHSV 上是不合法的;同理在 BCHSV 链中,构造含有 OP_MUL 的输出,那么该笔交易在 BCHSV 上是合法的,但在 BCH 上是不合法的。


结合社区的方式及交易所相关工程实践经验,我们推荐使用第 1 种 input 污染法,但这需要有分叉后的 BCH 或 BCHSV 的 coinbase 交易(创币交易) UTXO 作为污染源,从这个 coinbase 交易中可以划分大量的小额 output,在用户提现时,可以将这些小额的 output 作为新交易的 input 之一来构建提现交易,从而较方便地完成分离。


另外,从工程实践上,我们也建议充提币的确认数可以适当提高,虽然目前来看两条分叉链未发生明显的攻击情况。


对于普通用户来说,等着先,不着急。

相关资料:


可行的钱包重放免疫实现方法:

https://bch.club/index.php?app=team&mod=Forum&act=detail&topic_id=685&team_id=1


哥白尼团队提供的开源工具,有效分离 BCH 和 BCHSV 两条链:

https://github.com/copernet/tools/tree/master/hardfork



BCH 分叉后的钱包解决方案-碳链


慢雾媒体平台


Telegram

https://t.me/slowmistteam


Twitter

https://twitter.com/@slowmist_team


Medium

https://medium.com/@slowmist


币乎

https://bihu.com/people/586104


知识星球

https://t.zsxq.com/Q3zNvvF

*文章为作者独立观点,不代表碳链立场
本文由 慢雾科技 授权 碳链 发表,并经碳链编辑。转载此文章须经作者同意,并请附上出处(碳链)及本页链接。原文链接http://www.itanlian.com/chainnews/3439.html
发表评论
坐等沙发
相关文章
加拿大交易所QuadrigaCX“诈死”疑云
加拿大交易所QuadrigaCX“诈死”疑云
2019区块链的19个预测
2019区块链的19个预测
比特币ETF最终会获批?比特币要增发?一文盘点过年币圈大事
比特币ETF最终会获批?比特币要增发?一…
春节特别话题:下一个百倍币,千倍币在哪里?
春节特别话题:下一个百倍币,千倍币在…
习近平:幸福都是奋斗出来的
习近平:幸福都是奋斗出来的
烦立停第23期:烦老师新春有话讲!
烦立停第23期:烦老师新春有话讲!
慢雾科技
SlowMist-Team 作者
我还没有学会写个人说明!
  • 文章

    57

  • 评论

    0

广告赞助

复制代码