比特币可能存在的攻击(比特币可能存在的攻击现象)

静香

比特币可能存在的攻击(比特币可能存在的攻击现象)


比特币现金会发生51%算力攻击吗


                
比特币现金不会发生51%算力攻击。51%算力攻击理论上是存在的,但实际上,很难行得通。原因如下:目前,还没有单个矿工能占到BCC全网的50%以上;51%攻击是一种技术活,操作起来难度大;51%攻击的成本和收益不对称,51%攻击会导致交易双花,但交易平台大部分都已经实行了严格的实名认证机制,无法进行及时的变现;一旦有矿工有能力发动51%攻击,其它大区块支持者会把算力切到BCC上,阻止51%攻击的发生;51%攻击会造成网络暂时的混论,但不是致命的,还会让攻击者变得声名狼藉。

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


                

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

    

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

  

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

  

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

  

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

    

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

  

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

    

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

  

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

  

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

  

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

  

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

  

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


详解比特币的“51%攻击”


                
刚接触比特币的时候,都听过“51%攻击”这个概念。简单来说,就是如果某个节点拥有超过全网51%的算力,将能够实现双重支付、撤销交易等操作,让比特币网络崩溃。
  
那么,这个51%攻击是什么实现的?
  
假设一个场景,A用10比特币向B购买一样商品,步骤如下:
  
(1)A支付给B 10BTC;
  
(2)B收到10BTC确认收款后发货(一般认为6次确认后交易就不可逆转);
  
(3)A随即创建另一笔交易,将同样的10BTC支付给自己。
  
显然,A想要撤销第一笔交易,不用花钱就得到B的商品。为了达到这个目的,A进行了双重支付,将同样的10BTC支付给B和自己。在正常的比特币网络中,一旦第一笔交易经过6次确认后就几乎不可更改,后续的交易数据将继续打包成新的区块依次链接下去。可是,如果A用户拥有51%的算力,情况将会发生有趣的变化,A可以实现双重支付的目的。
  
具体过程如下:
  
假设第一笔交易被打包到100号区块,当后面再增加5个区块后,6次即可确认该交易,区块如下图所示:
                                          
这时,A又发起了一次给自己10BTC的交易。如果A向全网广播,这笔交易不会被处理(因为找不到要花费的UTXO,10BTC支付给B的事实已经被全网确认了),所以A选择不广播,而是对主链进行“分叉”,生成另外一个100号区块,并在其中打包第二笔交易,如下图:
                                          
由此,产生了两条子链。简单描述起见,第一笔交易所在的叫C1,第二笔交易所在的叫C2。其他矿工继续在C1上打包数据,而A则在C2上挖矿,两条链开始赛跑。由于A具有超51%的算力资源,很快,C2的长度就会超过C1,如下图:
                                          
这时,按照比特币的最长链优先原则,其他矿工也会自动转到C2上,使C2变成了主链。C1则会被抛弃,之前打包在C1上的所有交易(包括第一笔A支付给B 10BTC的交易),都会变为无效。结果是A不花一分钱就拥有了属于B的商品,这就是“51%攻击”。
  
当然,要真正实现51%攻击是非常困难的,在比特币网络中几乎是不可能的,因为这需要消耗巨大的成本,跟攻击成功后获取到的收益相比,完全是得不偿失。
  
51%攻击能带来的收益是非常有限的,只能做到:
  
  1、修改自己的交易记录,如双重支付;
  
  2、阻止确认部分或全部交易。
  
而下面这些即使是51%攻击也没法做到的:
  
  1、凭空生成比特币;
  
  2、修改每个区块产生的比特币数量。
  
因此,51%攻击成本巨大,收益却很小,仅能实现“双重支付”而已,所以51%攻击很多时候又被称为“双花攻击”。“双花”是数字货币要解决的第一个核心问题,比特币通过共享账本和工作量证明共识机制比较完美地解决了这个问题。

关于比特币说法不正确的是什么


                
关于比特币说法不正确的是:
第一,比特币是非法货币。
围绕比特币合法性的问题与日俱增。这主要是因为各国政府未聚集到一起讨论对加密货币的观点和立场。目前,各国政府对比特币所持立场各不相同。一些政府将比特币作为合法货币,也有一些政府想要禁止比特币交易。不过,可以肯定的是,全球角度来看,比特币是合法货币。人们之所以产生这种误解是因为迄今为止,世界上从未出现过一种没有政府机构信用背书却能被大众接受的金融工具。
第二,比特币是一个全球性的庞氏骗局
庞氏骗局指用后来投资者的钱,而非所获盈利支付之前投资者账单的骗局。比特币之所以不是庞氏骗局主要是因为它是一种开源的点对点货币,没有管理实体。比特币利润源自价格暴涨,不依赖于之后加入加密货币浪潮的投资者的利益。
第三,比特币会助长洗钱和逃税行为
很多人认为,比特币可能会助长各种形式的非法行为,例如逃税、洗钱、帮助恐怖组织融资等。但事实是,比特币基于区块链技术,其作为一种数字货币非常安全,交易完全透明并且具有可追踪性。相比之下,法币没有追踪系统,法币资金发送及接收地址也不一定可靠。而区块链技术对公众开放,完全消除了匿名性。如果我们能对匿名现金交易征税,那么为什么不能对比特币交易征税呢?比特币及整个加密货币市场还是愿意与政府与当局进行合作以推广应用的。因此,比特币助长了非法行为这一说法并不合理。
第四,比特币会受到黑客攻击
“比特币会受到黑客攻击”可能是人们对比特币最主要的误解之一。加密货币市场上的安全漏洞主要与网络黑客、钱包安全性不足以及比特币交易门户网站攻击相关。到目前为止,还没有关于区块链技术受到黑客攻击的相关报道。但是用于交易比特币的数字钱包或交易平台受到黑客攻击的事情却时有发生。因此,比特币是安全的,但是电子钱包及交易平台的安全性有待提高。
第五,一枚比特币售价1万美元,太贵买不起
在多数人的认知里,比特币只能一整枚一整枚地进行购买,这阻止了人们想要投资比特币的脚步。而事实上,比特币的最小交易单位为0.00000001枚,也就是说花10美元左右就能购买比特币。
毫无疑问,人们对比特币的接受度将进一步提升。随着人们对比特币需求的增长,随着比特币应用的拓展,比特币价格也将水涨船高。
比特币等加密货币基于的区块链技术作为一种新兴并且还不十分成熟的技术有很大的应用潜力。这种去中心化的,省去政府信用背书的应用在技术的改革发展中很可能会实现信息的完全透明化、安全性以及高效性。黑客攻击现象以及不法分子借助加密货币技术进行非法操作现象的消除还是需要依赖监管制度。只有做到了技术进步与监管到位,加密货币技术及区块链技术才能实现全球性的应用,才能便捷到生活的方方面面。

区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法


                
分叉
  
前面讲到了比特币通过区块链+工作量证明的独特设计来解决了时间顺序,但是不能保证在同一时刻有两个节点算出了正确的解,虽然这种可能性很低很低。这就带来了区块的分叉。
                                          
虽然说几乎同时有两个节点计算出这一数学问题的可能性微乎其微,但是仍然存在这样的可能性,所以分叉就以为着同一个区块的后面可能会跟上两个不同的区块。
                                          
规则的打破一直要到下一个区块被人解开。则会立即转向最长的区块,而那些短的区块则会被抛弃。数学问题使得区块很难被同时拆解。要连续发生多次更是困难。最终区块链会稳定下来。也就是说所有人对最后几个区块顺序达成共识。分叉意味着,譬如,若你的交易出现在较短的支链,它就会失去进入区块链的位置。一般而言,只代表他会回到未确认交易池。然后被纳入到下一个区块。
  
  比特币网络如何解决分叉带来的双花支付
  
可惜,交易失去区块位置的潜在可能,给了本来定序系统防范的重复支付攻击机会。考虑下面的一个攻击者A,其首先用自己的比特币交换B节点的货物,其立即又支付给自己。然后其通过努力的制造更长的链条来让自己的支付替代掉B节点的支付,从而实现了双重支付,B节点既得不到钱,还失去了货物。
                                          
这时交易会退回到未确认池中,因为A节点已经利用参照同样的input交易取而代之。节点就会认为Bob的交易无效。因为已使用掉。
                                          
你可能会猜测A节点会预先的计算出一支区块链,然后抓住时机发布到网络。但是每个区块的数学谜题阻挡了这个可能性。如前面所诉,解开区块是猜测出一个随机数的过程。一旦得出答案,解出的哈希值就会成为指纹一样的区块识别。只要区块内容有一丁点变化,下一个区块的参考值就会完全不同。此机制的结果就是无法在区块链中置换区块。在得到前一个区块之前,下位区块无法被解开。前一个区块的指纹也是杂凑函数的引数之一。
  
同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。
  
  如果有一台超级电脑,能够在区块解题中获胜?
  
即便是一台超级电脑,或者时几百上千台电脑也很难赢得解一个区块的胜利,因为竞争对手不是任一台电脑,而是整个比特币网络。你可以用买彩票来比拟。操作千百台电脑,如同买了千百张彩票一样。
  
  51%攻击是指的什么
  
根据前面的例子,我们知道,要想有50%的概率领先其他人解题得到胜利,就需要掌握全网50%以上的算力。要连续领先他人解出区块,掌握的运算能力还需要高得多。所以区块链中的交易是受到数学竞赛所保护。恶意用户必须和整个网络较量。区块连接建立的结果,使得在支链越前方的交易越安全。恶意的用户必须在更长的时间赢过全网络,来达成重复支付,替换前面的区块链。所以,系统只有支端末尾易受到重复支付攻击。这也是为什么系统建议多等几个区块,才能确认收款成功。

个人博客:

更多交易所入口

一站式注册各大交易所、点击进入加密世界、永不失联,币安Binance/欧易OKX/GATE.IO芝麻开门/Bitget/抹茶MEXC/火币Huobi

点击进入 永不失联

目录[+]