幾種挖礦攻擊介紹及應對措施


一、 雙花攻擊

介紹:

雙花攻擊顧名思義,同一筆錢給了不同的人消費了多次,如下圖所示:

 

攻擊的方式主要包含以下幾種:

1) Finney攻擊

  礦工挖到了一個區塊(這個區塊中包含一個交易 : 張三向李四轉1BTC,其中張三和李四都是自己的地址),他先不廣播這個區塊,先找一個願意接受未確認交易的商家向他購買一個物品,向商家發一筆交易:張三向王五轉1BTC,其中王五是商家的地址,付款后向網絡中廣播剛剛挖到的區塊,由於區塊中包含一個向自己付款的交易,所以他實現了一次雙花。

2) Race攻擊

  張三同時向網絡中發送兩筆交易,一筆交易發給自己(為了提高攻擊成功率,他給這筆交易增加足夠的小費),一筆交易發給商家。由於發送給自己的交易中含有較高的費,會被礦工打包成區塊的概率比較高。

3) 51% attack

  攻擊者占有超過全網50%的算力,所以他可以創造一條高度大於原來鏈的新鏈。那么舊鏈中的交易會被回滾。攻擊者可以發送一筆新的交易到新鏈上。如下圖所示:

  

應對措施:

  首先看下雙花攻擊成功的概率:

  

    如果當礦工的算力超過50%的時候,網絡被完全控制,無法阻止雙花攻擊。但是掌握50%算力的成本還是比較高的,如下圖所示:

    

    因此,在攻擊者算力不夠高的時候,增大確認數N可以有效防止雙花攻擊。

    除此之外,還可以對交易進行監控,發現有雙花攻擊的情況及時報警。

二、 跳幣攻擊

  首先看一下,比特幣難度調整算法:

  

 

  跳幣攻擊的思路就是,有兩種幣A和B,兩種幣都有誠實的礦工,比如攻擊者的算力是誠實礦工的5倍,那么攻擊者就可以在兩個幣之間切換着挖,導致普通礦工很難挖到幣,如下圖:

  

   BCH被跳幣攻擊的案例:

  

 

 

   這種情況,會導致算力不平均,時高時低,誠實的礦工挖不到礦會選擇離開,導致整個網絡更加不安全。

應對措施:

  變種DAA算法:

     Zawy算法

    Digsheild算法

    Dark Gravity Wave算法

    MIDAS算法

  困難點:

    1. 抵抗多種攻擊技巧

    2. 數學上消除攻擊者優勢

    3. 常數出塊時間

  DAA攻擊仿真:

  https://github.com/edwardz246003/DAA_simulator

 

三、自私挖礦 

  介紹:

  

 

 

 應對措施:

  類似於以太坊,運用GHOST協議,支持叔塊。

  

 

  當然,以太坊的解決方案同樣也有漏洞,礦工可以隱藏自己的算力,使得自己和其他礦工的獲益更大,如下圖:

 

 

   

 

四、攻擊 礦池

  介紹:

  

 

  

 

 

   

 

 

   

 

 

   

 

   

 

   應對措施:

   暫時沒有特別好的應對措施。

 

 

  

 

 

 

 

 

 

 

 

 

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM