LOGO

【重放攻击】打了你,竟然还不犯法?

区块链艾迪生

1 个月前 0


话说,上次我们讲到比特村里铁柱的砖瓦厂因为系统是否升级产生了分歧,导致分裂成两家阵营(分叉)。以小强为代表的依旧用原来的程序系统生产砖瓦,而以二虎子为代表的则是用升级后的新的系统生产,并且生产出来的砖瓦要按照一定的比例给村子里面有原来系统生产的砖瓦的用户。


本以为这件事情就这么过去了,可是小强发现新的系统里面的地址、私钥、以及算法、交易格式跟他们用的旧的系统的一模一样,没有改变。于是萌发了一个念头。



这天虎子原来的系统向全村广播要向村长转售家里的1000块旧系统生产的A砖,村子里的各节点确认了这笔转账。由于两个系统上的地址,私钥、算法、交易格式都一样,小强利用这一点,又在新系统上重新广播了这笔交易,各节点以及终端不知道这条交易有误,再次确认了这笔交易。


于是乎,二虎子家里除了向村长转了1000块旧系统生产的A砖外,还向村长转了同等数量的新系统生产的B砖(为什么二虎子家有新系统生产的砖瓦,因为分裂后,新系统生产出来的砖瓦要按照一定的比例给村子里面有原来系统生产的砖瓦的用户。)



以上整个过程就是重放攻击


举此例子只是为了让我们更形象的知道什么是重放攻击,现在我们走出比特村,回到比特币世界,详细的了解下什么是重放攻击。


我们前面几篇文章学习了什么是分叉,以及软分叉和硬分叉的区别,其实,如果一单发生硬分叉,作为我们每一个普通用户,最应该担心,以及承受的最大的风险就是重放攻击。


重放攻击是什么?


重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。


重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。




为什么会出现重放攻击呢?


一个币种发生硬分叉,由于每条链上的地址和私钥、算法等都相同,交易格式也完全相同,导致在其中一条区块链上发起的交易,完全可以放到另一条区块链上去重新广播,可能也会得到确认。这就是会发生“重放攻击”。



其实重放攻击发生的时候,系统确实是被欺骗了,但却不是发起者以欺诈为目的进行的攻击,而是由于根据系统的规则,这两笔交易都是合法的。重放攻击本质上不是一种“攻击”,它主要的危害在于用户不小心把本该属于自己的一种分叉币,意外发给了别人。


简单理举例理解就是:别人在你转账BTC1的时候,你的BTC2/BTC3也可能同时被转走。



但是,目前很多分叉币做了双向防重放攻击处理,避免了分叉后被重放攻击的风险。


如果没有解决重放攻击问题,会发生什么呢?


最著名的以太坊硬分叉事件,当时因为以太坊没做任何技术处理,而用户和交易所都没有重视起来,结果就是导致部分用户和交易所因为重放攻击损失惨重。


不过也因为这次事件,现在的币进行分叉时,一般都会有重放攻击的防范机制,避免分叉后被重放攻击的风险。


*声明:本文由财路用户发布,内容为用户独立观点,不代表财路平台立场。

分享
social icon
social icon
social icon
全部评论(97)
暂无数据~
查看更多