比特币中常见的几种攻击.pdf

返回 相似 举报
比特币中常见的几种攻击.pdf_第1页
第1页 / 共3页
比特币中常见的几种攻击.pdf_第2页
第2页 / 共3页
比特币中常见的几种攻击.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述:
谈谈区块链( 50)比特币中常见的几种攻击 2017-11-17 谈国鹏 比特币已经成功运行了 8年多,期间经历过各种各样的程序 bug和安全攻击。今天我们来认识一下存在于比特币网络中的几种常见的攻击。 1、 51攻击 51攻击( 51 Attack)是指攻击者控制了全网一半以上的算力,在这种情况下攻击者可以制造任何想要的结果,例如双花。当出现分歧时比特币网络以最长的一条链为最终的区块链( best blockchain),因为攻击者控制着 51以上算力,总是可以制造出更长的一条链。此时整个网络就被破坏了,网络里的交易都不值得信任。 所有区块链系统都要求至少一半以上的节点或算力是诚实的( Most majority honest),因此 51攻击也是一个无解的攻击。 想要制造 51攻击并不难。例如当前 BTC网络的算力为 10E左右,而 BCH网络的算力为 0.6E左右。因此只要部分矿工联合起来,从 BTC网络上切换 0.7E的算力至 BCH网络上,就可以发起 51攻击,使 BCH网络完全失效。 2、 Finney攻击 Finney攻击由比特币的第一个用户 Hal Finney定义,它是一种利用比特币中未确认交易来欺诈接受比特币支付的商家的一种攻击。该攻击的前提条件是 1. 商家信任未确认交易( Unconfirmed Transaction),并且在收到未确认交易后便立即发货,且无法撤销; 2. 攻击者需控制或自己拥有至少一个可以挖到矿的矿机; Finney攻击的流程如下 1. 攻击者的矿机挖到一个区块(抢到一个打包权),在该区块中他将自己的比特币从地址 a转到自己的地址 b上; 2. 他并不将该区块广播到网络上; 3. 他打开某商家比特币付款页面,将自己 a地址上比特币付给该商家; 4. 该商家收到一笔未确认交易,并立即显示收款成功开始发货; 5. 攻击者将步骤 1中的区块广播至网络上; 整个网络会接受步骤 1产生的区块,而抛弃步骤 3中生成的交易。因此商家之前收到的未确认交易被取消了,而商家却已经发货了,且不能退回。以上攻击的另一个前提是在步骤 1和步骤 5之间没有其它任何矿工挖出区块。 Finney攻击是一个危害比特币支付安全的攻击。当前接受比特币支付的商家绝大部分都是信任未确认交易的,通过拥有一个区块的打包权就可以发起 Finney攻击。 3、 Sybil攻击 Sybil攻击( Sybil Attack)是通过在网络上冒充身份的一种攻击方式。比如攻击者可以启动很多的机器,冒充比特币的全节点( Full Node)。 SPV节点(例如手机钱包)需要通过连接全节点才能正常收发比特币,当 SPV节点连接至这些假的全节点时,它们将不能正常工作。 Sybil攻击可以扰乱比特币网络的正常工作。 4、重放攻击 重放攻击( Replay Attack)是当比特币网络发生硬分叉时所产生的攻击方式。因为分叉后两条链一模一样,所有的地址、签名、交易在两条链上都有效。只需要简单地将一个网络上的交易广播到另一个网络上即可以实施重放攻击。实施重放攻击的前提是分叉链未做任何重放保护。 关于重放攻击的更详细原理和如何实施重放保护请参考谈谈区块链( 49)你不能不知道的重放攻击与保护。
展开阅读全文

最新标签

网站客服QQ:123120571
环境100文库手机站版权所有
经营许可证编号:京ICP备16041442号-6