今天小编要和大家分享的是区块链相关信息,接下来我将从如何防范重放攻击,币鼎天97比特币以太坊趋于区间震荡是否会在沉默中薄发这几个方面来介绍。

区块链相关技术文章如何防范重放攻击币鼎天97比特币以太坊趋于区间震荡是否会在沉默中薄发

区块链相关技术文章如何防范重放攻击

什么是重放攻击?

重放攻击(Replay Attack)是计算机网络中常见而古老的攻击手段。在区块链中,重放攻击特指在硬分叉中,攻击者将一条链上的交易拿到另一条链上“重放(Replay,即重新播放之意)”,从而获取不正当利益的攻击手段。这毕竟是一个技术概念,小白可能不容易理解,为了解释清楚,我们干脆用一个真实案例来说明重放攻击具体是如何实施的。这个真实案例出自大名鼎鼎的以太坊The DAO分叉事件。

The DAO是以太坊上发起的一个众筹项目,它运行在智能合约上。由于智能合约存在某种漏洞,黑客转走了合约内管理的价值数千万美元的以太币。为了挽回损失,以Vitalik为首的大部分社区意见支持分叉以实现交易回滚(使得黑客的攻击无效化),于是通过硬分叉形式发起了一条新链。然而另一部分社区意见则认为不应该回滚,仍旧维护原有的区块链。这导致以太坊分裂成新链(Ethereum, ETH)和原链(Ethereum Classic, ETC)两条不同的区块链。

那么重放攻击又是怎样实施的呢?我们假设小明在分叉前持有500个ETH。分叉以后,小明的地址(暂且称为A地址)下就同时持有500个ETH和500个ETC,因为这个A地址在两条链上都是存在的。由于小明是坚定的分叉支持者,因此小明只看好ETH未来的发展,觉得ETC肯定要归零。此时小刚找到小明,提议以低价购买小明手中的ETC。小明便将手中的500个ETC全部转账到了小刚的地址(暂且称为B地址)。

前面听起来没什么不对劲吧,然而小明没有想到的是,小刚反手就把这笔ETC的转账交易发到了ETH的网络上。由于ETH、ETC是分叉的产物,因此两者交易结构、密码学体系都是一致的,ETC链上的交易在ETH链上也一样可被识别,因此这笔交易就会被验证上链,最终的结果是ETH链上的A地址也转出了500个ETH到B地址去。小刚假意低价收购ETC,却成功骗取了小明所有的ETH,小明自然是亏大发了!

如何防范重放攻击?

我们可以看到,小刚问小明收购ETC这个行为,本身没有问题;小明将手中的ETC转账给小刚这个行为,也没有任何问题。真正出问题的地方在于,由于ETH和ETC两条链使用了完全一致的交易结构和密码学体系,导致在ETC上有效的交易在ETH上也同样有效。这就给了攻击者可乘之机。