区块链攻击技巧
比特币的主要来源是众多矿工们的挖掘,由于挖掘会不可避免地涉及到金钱分配,很显然比特币以及区块链会因此而成为一些恶意攻击者的目标。事实上,攻击者可以通过发动攻击来获得不公平的收益。
当前已经有很多针对区块链的不同方面的攻击方案被提出,如女巫攻击、双重花费攻击、自私挖掘攻击等。
1、女巫攻击
传统的女巫攻击指攻击者利用多个虚假身份来进行攻击。
区块链中的女巫攻击指当区块链网络中存在分支的时候,如果一个自私矿工的私有区块先于公共区块传播到了一个诚实矿工,那么该诚实矿工就会在私有区块后面以诚实挖掘策略继续挖掘。利用诚实矿工的这个特点,一个理性的矿池管理者可以通过在比特币矿工网络中添加许多零算力矿工,这些零算力矿工不参与新区块的挖掘,只是完成对指定矿池所挖掘出的区块的传播,通过零算力矿工的传播来增加传播自己区块的速度,从而发动女巫攻击。
然而发起女巫攻击的代价非常高昂,因为即使区块链网络中没有产生分支,零算力矿工也必须保持随时在线,这会浪费大量的网络资源以及电力。
2、双重花费攻击
双重花费攻击又被叫做双重支付攻击,51%攻击,是指在区块链网络中具有大量算力的节点(将该节点称为攻击者)发送一个交易请求使用一定数量的比特币来购买资产,该交易称为原始交易,同时该节点再创造一个交易将同样数量的比特币支付给自己,该交易被称为伪造交易。
原始交易和伪造交易被攻击者加入了不同的区块,从而在区块链网络中形成了分支。形成分支后,攻击者在伪造交易的区块后进行挖掘,如果该区块最终被加入区块链主链中,则双重花费攻击成功,攻击者没有花费任何比特币就获得了资产,比特币的公平性被破坏。如果攻击者的算力超过50%的区块链网络的总算力,则双重花费攻击最终可以保证在任何区块深度上成功;如果攻击者的算力低于区块链网络总算力的50%,则双重花费攻击有部分可能性成功。
但在现在日益激烈的挖掘竞争的情况下,令攻击者具有达到区块链网络51%的算力是完全不可能的。在本篇论文所提出的煽动攻击方案中,攻击者不需要具有非常高的算力即可通过利诱目标矿池中的不忠矿工来使自己获得不当收益。
3、自私挖掘攻击
一种最有名的挖掘攻击之一,自私挖掘所针对的是分布式共识协议的缺陷。
自私挖掘是当一个自私矿工发现一个区块时故意生成分支的策略行为。如果一个自私矿工完成了一次完全工作量证明,该矿工不会立刻将其公布,而是将其加入自己的私有区块链之中。本文将这种只有攻击者才能访问且由合理区块组成的私有区块链称为私有链。一旦其他矿工成功挖掘并传播一个区块时,自私矿工会选择性地公布他所持有的区块从而产生分支。这个分支可能会使诚实矿工所挖掘的区块失效,从而攻击者可以不当地获取额外收益。令表示除攻击者以外算力在私有区块后挖掘的概率,即被受攻击者影响的算力和。
通过分析自私挖掘攻击者的收益可得攻击者算力a和私有链y成为主链的概率需要满足,显然,y值越大,攻击者实现自私挖掘所需要的算力就越少。
所以,为了追求更高的收益,自私矿工会选择加入自私的矿池。当自私矿池所控制的算力足够大的时候,该矿池就有了能够控制区块产生的能力,因此区块链的去中心化也不复存在。然而,如果攻击者的私有区块链分支最终没有被选中成为公共区块链的一部分,他的区块就可能被区块链主链所丢弃。
所以,攻击者必须有足够的算力来确保自己进行自私挖掘是有利可图的,尤其是当他的网络连接能力比较低的时候。
文本由@邓邓 整理发布于三个皮匠报告网站,未经授权禁止转载。
推荐阅读:
TokenInsight:区块链与分布隐私计算(15页).pdf
火链科技:2021海南区块链产业发展白皮书(42页).pdf
亿欧智库:全球科技公司区块链布局案例研究(65页).pdf