比特币出现漏洞,手把手带你发起攻击,万一暴富了呢

针对所有的支付系统,有一种攻击方式叫作双花攻击。所谓双花攻击就是指一笔资金被花费多次,攻击者先将资金转出,获得收益后通过攻击的手段撤销该笔转账,让资金重新回到攻击者的账户上。那么我们能否对比特币发起双花攻击并从中获利呢?答案是肯定的!下面让我带你一起对比特币系统发起攻击。

比特币出现漏洞,手把手带你发起攻击,万一暴富了呢

比特币系统的转账原理

在带领大家发起攻击之前,我们需要先了解一下比特币的转账原理,这是我们发起攻击的预备知识。

在比特币系统中,用户想要发起一笔转账,首先要把转账信息组装好,就像填写银行支票一样,写好付款方账户,收款方账户,转账金额,然后使用加密技术对转账信息签名,我们把这种签名好的转账请求叫作交易。交易被比特币系统处理以后,付款方的账户就会被扣除指定金额,收款方的账户就会增加指定金额。

用户的交易会被发送给比特币系统中的节点,节点收到交易后将其放在一个新的区块中,然后对这个区块进行哈希计算,也就是之前文章所说的计算数学题。哪一个节点优先计算出了这个区块的数学题答案,就获得了这个区块的打包权,被这个节点打包进区块的交易就相当于成交了,然后所有的节点会在新区块的基础上开始计算下一个区块的数学题。

知道了比特币的转账原理,下面我们就来看一下比特币的漏洞到底在哪里!

比特币出现漏洞,手把手带你发起攻击,万一暴富了呢

系统漏洞:最长链原则

刚才我们说谁先算出答案谁负责打包区块,那如果有两个节点同时做出了同一个区块的答案该怎么办呢?为了解决这个问题,比特币系统设计了一个特殊的机制,叫作最长链原则。

通过上面的描述我们可以看出,比特币的这条链是有可能分叉的,分叉以后会以最长的链为准,那么在较短的分叉上的区块就被废弃了。这不正为我们攻击比特币系统带来了可能性吗!

比特币出现漏洞,手把手带你发起攻击,万一暴富了呢

对比特币发起攻击

你可能已经想到了,既然比特币系统只认最长的那条链,我们是不是可以通过这样的方式对比特币进行双花攻击:

至此,你之前转出的比特币还在你的账户上,并且得到了你想要的东西,所以你的攻击成功了。

比特币中的博弈论

对比特币的攻击真的这么简单吗?答案当然是否定的!虽然我们说可以通过上述方法对比特币发起攻击,但是攻击是要付出代价的。

所以,如果你想要创建一个新的分叉,并且超过主链的区块长度,那么你需要比主链上所有节点的计算速度加在一起都要快。要想实现这样的结果,唯一的做法就是你要收买比特币系统中超过51%的节点算力,这就是比特币的51%攻击原理。

想要攻击比特币系统并不是不可能,但是需要付出的代价可能远远超过作恶所获得的收益。在比特币系统中,节点越多,算力越强,攻击比特币系统的成本就越高,比特币系统就越安全。比特币越安全,它的价值就越高,就会吸引更多的节点加入来竞争比特币奖励。更多的节点进一步促进了系统的安全性,这是一个正向循环。

后记

51%攻击不只是针对比特币的,所有采用工作量证明共识算法的区块链都面临着这个问题。对于已经日趋成熟的比特币系统来说,攻击比特币确实是不划算的,而且随着系统节点的越来越多,攻击比特币几乎成为了不可能的事情。但是一些新的链,在其刚起步的时候节点和算力还不多,这种攻击确实是真实有效的,并且这种攻击事件时有发生。

展开阅读全文

页面更新:2024-04-25

标签:攻击者   区块   手把手   节点   账户   漏洞   最长   原理   答案   东西   工作   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top