理解區塊鏈共識攻擊

買賣虛擬貨幣

1什麼是共識攻擊?

比特幣的共識機制指的是,被礦工(或礦池)試圖··使用自己的算力實行欺騙或破壞的行為是共識攻擊。當一個或者一群擁有了整個系統中大量算力的礦工出現之後,他們就可以透過攻擊比特幣的共識機制來達到破壞比特幣網路的安全性和可靠性的目的。由於比特幣引入了外部計算來確保安全,因此只要有足夠的挖礦算力(超過維護系統算力的51%)就能對系統成功進行攻擊,這也是比特幣長期存在的安全隱患之一;因為只要有錢,就能買到裝置和算力。

共識攻擊,就像是系統中所有礦工的算力被分成了兩組,一組為誠實算力,一組為攻擊者算力,兩組人都在爭先恐後地計算塊鏈上的新塊,只是攻擊者算力算出來的是精心構造的、包含或者剔除了某些交易的塊。因此,攻擊者擁有的算力越少,在這場決逐中獲勝的可能性就越小。從另一個角度講,一個攻擊者擁有的算力越多,其故意創造的分叉塊鏈就可能越長,可能被篡改的最近的塊或者或者受其控制的未來的塊就會越多。一些安全研究組織利用統計模型得出的結論是,算力達到全網的30%就足以發動51%攻擊了。

2發生共識攻擊影響什麼?

共識攻擊只能影響整個區塊鏈未來的共識,或者說,最多能影響不久的過去幾個區塊的共識(最多影響過去10個塊)。而且隨著時間的推移,整個比特幣塊鏈被篡改的可能性越來越低。理論上,一個區塊鏈分叉可以變得很長,但實際上,要想實現一個非常長的區塊鏈分叉需要的算力非常非常大,隨著整個比特幣區塊鏈逐漸增長,過去的區塊基本可以認為是無法被分叉篡改的。同時,共識攻擊也不會影響使用者的私鑰以及加密演算法,共識攻擊也不能從其他的錢包那裡偷到比特幣、不簽名地支付比特幣、重新分配比特幣、改變過去的交易或者改變比特幣持有紀錄。

共識攻擊能夠造成的唯一影響是影響最近的區塊(最多10個)並且透過拒絕服務來影響未來區塊的生成。

3常見的共識攻擊方式有兩種

常見的針對網路層和共識協議層面的攻擊有拒絕服務攻擊(DoS)和女巫攻擊(Sybil Attack)。

拒絕服務攻擊透過向節點傳送大量的資料(比如傳送大量的小額交易請求從而導致系統無法處理正常的交易)導致節點無法處理正常的資料。比特幣的交易速度本來就慢,如果有大量的小額交易請求,肯定是節點無法工作的。拒絕對某個特定的比特幣地址提供服務。一個擁有了系統中絕大多數算力的攻擊者,可以輕易地忽略某一筆特定的交易。如果這筆交易存在於另一個礦工所產生的區塊中,該攻擊者可以故意分叉,然後重新產生這個區塊,並且把想忽略的交易從這個區塊中移除。這種攻擊造成的結果就是,只要這名攻擊者擁有系統中的絕大多數算力,那麼他就可以持續地干預某一個或某一批特定錢包地址產生的所有交易,從而達到拒絕為這些地址服務的目的。

女巫攻擊則是透過控制網路中大部分節點來削弱正確資料冗餘備份的作用。在PoW共識機制中,礦工會立即向全網播報新發現的區塊。

4共識攻擊的典型場景就是“51%攻擊”

共識攻擊的一個典型場景就是“51%攻擊”。51%攻擊又叫大多數攻擊,是指惡意礦工控制了區塊鏈網路50%以上的雜湊率(hashrate,即算力),隨後對網路發動攻擊。接管區塊鏈網路讓不法分子得以逆轉交易、停止支付或者防止新交易予以確認。

比方說甜蛋聯合其他礦工一起控制了整個比特幣網路51%的算力,我們聯合起來打算攻擊整個比特幣系統。由於我們的算力可以生成絕大多數的塊,就可以透過故意製造塊鏈分叉來實現“雙重支付”或者透過拒絕服務的方式來阻止特定的交易或者攻擊特定的錢包地址,從而從網路獲取“免費”資金,然後可以拿到交易平臺上出售以換取其他加密貨幣,因而使攻擊實現“兌現”。想進行重複支付,攻擊者就得將代幣存入到交易平臺上,並存入到個人錢包中。一旦交易平臺承兌存入的代幣,攻擊者就會洗錢,兌換成比特幣或其他加密貨幣,然後可以提取到個人錢包中。攻擊者會盡可能多次地嘗試這麼做,直到網路的開發人員意識到網路受到了攻擊,通知交易平臺應對攻擊,並找到解決問題的方法。

有了充足算力的保證,一個攻擊者可以一次性篡改最近的6個或者最多10個區塊,從而使得這些區塊包含的本應無法篡改的交易消失。

值得注意的是,雙重支付只能在攻擊者擁有的錢包所發生的交易上進行,因為只有錢包的擁有者才能生成一個合法的簽名用於雙重支付交易。攻擊者只能在自己的交易上進行雙重支付攻擊,但當這筆交易對應的是不可逆轉的購買行為的時候,這種攻擊就是有利可圖的。

這也就是為什麼攻擊者都是針對中心化交易所的錢包地址進行,那裡有大量的交易正在進行。

5如何應對這種攻擊?

為了避免這類攻擊,如果是用比特幣購買售賣大宗商品的商家,應該在交易得到全網的6個確認之後再交付商品。或者,商家應該使用第三方的多方簽名的賬戶進行交易,並且也要等到交易賬戶獲得全網多個確認之後再交付商品。一條交易的確認數越多,越難被攻擊者透過51%攻擊篡改。對於大宗商品的交易,即使在付款24小時之後再發貨,對買賣雙方來說使用比特幣支付也是方便並且有效率的。而24小時之後,這筆交易的全網確認數將達到至少144個(能有效降低被51%攻擊的可能性)。

而在交易所進行非商品交易的,冒似像我這樣的在火幣上進行交易,如果火幣的地址被攻擊了,我是沒有辦法的,我想比特幣社羣也勢必會對任何一次共識攻擊快速做出響應,以使整個比特幣系統比以往更加穩健和可靠。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;