【币圈必读】三分钟读懂重放攻击,附OKEx测试

【币圈必读】三分钟读懂重放攻击,附OKEx测试
2017年08月09日 18:52 OKCoin比特币

8月2日02:12:41,BCC第一个区块成功诞生。伴随着BCC区块的诞生,想必大家在各大交易所的公告中会频频看到重放攻击这个生僻词。那么究竟重放攻击是什么?重放攻击对我们手中持有的币有什么影响呢?现在就让我们一探究竟。(本文共1437字,建议阅读时长3分钟,觉得耗时长可直接跳到文末,有OKEx小伙伴“人肉”测试,坑我都踩过了,你只管大胆的向前走~)

一、重放攻击是什么gui?

首先来搞清楚什么是重放和重放攻击。

重放(Replay)也称为重播、回放, 即某个消息或数据原封不动的重新发送给接收方一次。如果接收方在多次接收同样数据无法进行有效识别,就会存在重放漏洞。

重放攻击(Replay Attacks),是计算机世界黑客常用的攻击方式之一,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性, 从而达到多次欺诈的目的。如果接收者可以有效识别和拒绝重放信息, 也就不存在重放漏洞,没有漏洞就没有被攻击的可能。

举个简单栗子:

小王向某个不能有效识别付款(这里指不能判断是哪一笔付款)的包子铺买包子,当他把用支付宝成功付款的付款信息出示给服务员后, 服务员把包子给他。 然后小王又再把上次的付款信息出示给另一个服务员, 服务员又给他一份包子。 只要小王不断重复出示他的付款信息,就可以源源不断骗得包子, 这对于包子铺来说就是被重放攻击了, 损失了无数包子。如果包子铺可以有效识别和拒绝小王的同一个付款信息, 也就不存在重放漏洞,没有漏洞就没有被攻击的可能,也就不会损失包子了。(附图更清晰)

二、曾经的血泪史:以太坊重放攻击

重放攻击在币圈被热谈,是以太坊硬分叉的时候。我们知道以太坊硬分叉出现了ETH和ETC两条链,两条链上的交易数据结构是完全一样的,因此一笔交易在ETH上是有效的, 那它在ETC上同样会被接受,反之亦然。 因为当时所有人都认为ETC将不会再存在,所以分叉前没人意识到两条链会产生相互重放问题。 后来还有许多矿工继续在维持ETC链时, 大家发现在ETH链上的交易拿到ETC链继续重放(广播)仍然是有效的。

因为没经验,以太坊分叉时几乎所有交易所也都没意识到这个问题,更没有提前做ETH和ETC分离, 这时候只要有人从交易所提取ETH币,就有可能得到同等数量的ETC币。许多人利用这个漏洞,不断在交易所充币和提币(ETH), 从而获取额外的ETC。 这就是云币、BTC-e等交易所发布说自己被重放攻击了,被骗取了几乎所有ETC。“重放攻击”也就此闻名于币圈。

三、 BCC从BTC分叉是否会重放?

因为有以太坊重放事件的在前,在BCC诞生前,重放攻击自然被广泛谈论, 大家都担心重放事件在BCC和BTC两条链上继续存在。有了以太坊的前车之鉴,其实BitcoinABC开发者已经提前做重放保护——BCC分叉后在交易数据签名添加了SIGHASH_FORKID(0x40), 使交易数据在两条链上不再互相兼容, 也就不可能存在重放无法识别的可能, 有了重放保护, 大家的担心显得有点多余。但是防范之心不可无,虽然BCC程序代码做了重放保护, 但谁能够保证程序100%不出bug呢?

四、OKEx小伙伴的“人肉”测试

OKEx一直坚持自己的使命,信仰比特币和区块链的核心思想,并且坚持让用户在OKEx交易的道路上,拥有更多的温暖、小确幸、贴心服务。为了防止比特币充值或提现被回滚和重放攻击,我们一路跟踪,在BCC分叉后第一时间在社区做了充分的实际验证,证实了BitcoinABC确实做好了重放保护, 不存在重放漏洞。

↓呐,测试就在这里↓

(这个位置OKEx已经帮您踩过了,确实做好了重放保护,嘿嘿!)

测试看完了,有木有觉得很贴心

来来来,接下来大家还想了解哪些技术问题?

都抛出来吧,呼声最高的技术问题,我们会安排专题一一解答哦!

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部