客服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
发表评论
坐等沙发
相关文章
Libra深陷监管泥塘,币安截胡推Venus加入稳定币阵营
Libra深陷监管泥塘,币安截胡推Venus加…
烦立停:过度营销的孙宇晨输给了一个结石
烦立停:过度营销的孙宇晨输给了一个结石
除了USDT,还能用什么,传说中的“USDT暴雷”是否成真?
除了USDT,还能用什么,传说中的“USDT暴…
牛津级Token经济体系:落地应用进行时
牛津级Token经济体系:落地应用进行时
区块链安全入门笔记(六) | 慢雾科普
区块链安全入门笔记(六) | 慢雾科普
公开透明,慢雾智能合约安全审计证书开放查询
公开透明,慢雾智能合约安全审计证书开…
慢雾科技
SlowMist-Team 作者
我还没有学会写个人说明!
  • 文章

    79

  • 评论

    0

广告赞助

复制代码