什么是区块链网络中的重放攻击
扫描二维码
随时随地手机看文章
传统计算机术语中,重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的数据包,来达到欺骗系统的目的。重放攻击在任何网络通过程中都可能发生,是计算机世界黑客常用的攻击方式之一。
在区块链网络中,重放攻击也同样存在。但区块链上的重放攻击和传统计算机术语并不是一回事,只是过程有点类似。
在区块链技术中,重放攻击是指“一条链上的交易在另一条链上也往往是合法的”,所以重放攻击通常出现在区块链硬分叉的时候。
由于硬分叉的两条链,它们的地址和私钥生产的算法相同,交易格式也完全相同,因此导致在其中一条链上的交易在另一条链上很可能是完全合法的。所以你在其中一条链上发起的交易,就可以到另一条链上去重新广播,可能也会得到确认。这就是“重放攻击”。
举个例子,前段时间热烈讨论的比特币硬分叉,我们将比特币原链称为BTC,将分叉的另一条链称为BCC。那么我们知道,BCC是完全继承分叉前的BTC信息的,因此,分叉后如果发生重放攻击,则发生在BTC链上的交易,拿到BCC链上去重新广播,就有可能会被BCC链承认有效。这就相当于是我在BTC上花了1个币,拿着发票再到BCC上又能消费一次。
因此在硬分叉前,通常技术方都要做好重放保护,即发生在一条链上的交易,在另一条分叉链上重放就会失效。