刘员外__ 关注
2018.05.03 17:42 字数 1139 阅读 193评论 0喜欢 0
接着『学概念找员外』软硬分叉来,这次讲其中提及的 重放攻击 。大部分人在一开始听到 重放攻击 这个词后,应该都会有一个误解,尤其是了解计算机专业的同学们,以为是被黑客或者不法入侵,导致私有财产遭受损害。在互联网中确实是这样的,但是在区块链中就大不相同了,其实这不应该被称作攻击!
重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通过程中都可能发生,是计算机世界黑客常用的攻击方式之一。
假设A向B认证自己,B要求A提供账户和密码作为身份信息。但是,C截获了两人的通讯内容,并记下账户和密码。在A和B完成通讯后,C联系了B,假装自己是A,当B要求C提供账户和密码时,C将A的账户和密码发出,B就可以认为和自己通讯的人是A。
总之就是一句话,攻击者利用可以被服务器认证通过的信息,不停的发送请求,来达到自己的特定目的。
在比特币的某次硬分叉后,出现了一条新链,其代币为 BCH。比特币硬分叉后,新链与原链是拥有相同的交易数据、地址、私钥、交易方式。你在硬分叉之前的一种币,会因为分叉而变成两种,即原有的 BTC 和等额的 BCH。您只需要下载 BCH 对应的钱包,并且把原 BTC 的钱包私钥导入,即可得到等额的 BCH 。
同时,如果你在没有解决重放攻击问题之前,在自己钱包里把分叉前的一个 BTC 转到一个地址A上,有趣的事就发生了,你在 BCH 钱包内对应的一个 BCH 也会被转入到地址 A 里面去。因为你在分叉前的币,会自动被分叉后的两条链都承认是合法的。只要你发起一笔交易,另一笔会被同步到比特币网络中去,然后被矿工打包处理,该交易生效,这就是重放攻击!
对于普通人来说,如果比特币硬分叉后,最大的风险就是“重放攻击”,不经意的一次操作,就够后悔半辈子的了!
开发者完善代码
开发者通过更改分叉后新链上面的交易格式,使两条链上的交易格式不同,这样在用户发起 BTC 交易的时候,新链就不会认可这笔交易了,用户账户中的 BCH 也就不会遭到重放攻击而花出去了!
自己来污染
既然是硬分叉,那肯定是新旧两条链相互不兼容的,否则也就用不着分开来了。
所以用户可以分别买一点分叉后的 BTC 和 BCH 转入到分叉前的地址上,然后下载一个 BCH 钱包,将原 BTC 钱包私钥导入 BCH 钱包,因为 BTC 钱包只能接收到 BTC 币,BCH 钱包只能接收到 BCH 币,所以此时您的 BTC 和 BCH 钱包内都分别有一点点从硬分叉后的币,这时您钱包中所有的币就都被后来的币污染了。当您再发起交易时,因为输入携带了污染源,以后您的这两种币就只能在各自的链上生效了!