減半後,雙花BCH、BSV成本不足1萬美元?這存在兩大誤解

買賣虛擬貨幣

作者:灑脫喜

隨著BCH和BSV相繼完成產量減半,且相關網路的算力都出現了暴跌,關於51%攻擊的話題又被拿出來討論,還有人會引用crypto51或NiceHash的資料來展示攻擊這些網路所需的成本。

如上圖所示,crypto51顯示的資料是,攻擊BCH網路的1小時成本僅為8983美元,而攻擊BTC網路的1小時成本也就54萬美元,那真的如此嗎?

實際上,這存在著2大問題:

資料來源NiceHash可供租賃的算力是非常有限的,例如sha 256演算法的可供租賃算力只有298 PH/s,約佔當前BCH網路算力的16%;

資料來源NiceHash的算力價格並非是固定的,假設有人短期內租用算力去發動51%攻擊,則算力的租賃成本也會水漲船高(歷史上出現過這種情況);

因此,實際情況是,想要對BCH、BSV網路發動51%攻擊,真實的成本要遠遠高於上面所顯示的數值,更不用妄想把目標換成BTC,基本上,對於NiceHash市場無法覆蓋攻擊所需算力(自私挖礦1/3或略低於1/3,雙花1/2)的大型PoW幣種而言,想要簡單透過算力租賃平臺的途徑來進行攻擊,基本就是死路一條。

那雙花攻擊BCH網路真正的成本,到底是多少呢?這要分三種情況,並且取決於你是新礦工,還是老礦工,如果是沒有礦機的主,那你就需要租賃完NiceHash上的所有可用算力(成本相對可忽略),同時要購置大量的礦機,以S19 PRO為例,這個成本可能就超過1億元人民幣,或者,你可以說服一些礦工和你共謀,讓其提供算力進行攻擊,則這個成本要遠小於自己購置礦機的成本(但仍然大於上面提到的8983美元值)。

而如果你是老礦工,同時自己掌握了大量算力,並且礦機成本早已收回,則攻擊的成本實際就是執行礦機所需的電費,儘管理論上存在著這種可能性,但實際情況下,擁有足夠資源的礦工(例如位元大陸),並不會做有損於已的事情。

當然,你可能會說,不管,我就是要攻擊,哪怕是不計一切代價。

(圖片來自:tuchong.com)

好吧,當然還是有可能去攻擊的,但這並不一定意味著沒有辦法去解決。

實際上,即使真的發生了51%攻擊,也是有可能挽回的。

根據哈佛大學和MIT的研究者發現,在2020年2月份,Bitcoin Gold區塊鏈上就出現過反51%攻擊的案例,在攻擊者完成攻擊後,防禦者繼續在原鏈上挖礦,並與攻擊者展開競爭,並最終迫使攻擊者放棄雙花。

而假設這種機制被有效利用,則可以大大提高雙花所需的成本,那攻擊者就可能被嚇退。

好了,本文的目的並不是為了說明BCH、BSV有多安全,而是澄清一些容易被誤解的概念。

補充閱讀

注:原論文作者 Daniel J. Moroz∗(哈佛大學),Daniel J. Aronof(MIT )、Neha Narula(MIT Media Lab)以及David C. Parkes(哈佛大學)

(圖片來自tuchong.com)

以下是譯文:

比特幣和其它工作量證明(PoW)加密貨幣的經濟安全性,取決於重寫區塊鏈的成本。如果51%攻擊在經濟上是可行的,則攻擊者可以向受害者傳送一筆交易,發起攻擊,然後雙花同一筆幣。中本聰(Satoshi Nakamoto)認為這種情況是不會發生的,因為大多數礦工會發現,誠實地遵守協議要比攻擊區塊鏈更有利可圖。

而最近的研究表明,攻擊加密貨幣的成本差異是非常大的,這取決於諸如算力的流動性,對幣價的影響以及重寫區塊鏈所需時間等因素。在某些情況下,攻擊甚至可能是免費的。截至2020年3月,對於像比特幣這樣的區塊鏈,礦工們已經在挖礦裝置上進行了大量的先期投資,並且他們不願意把大比例算力拿出去出租,因此今天要對比特幣發起攻擊,其成本可能是非常高的。然而,其它一些幣種的情況則大為不同,市場上有足夠可租用的算力,可供發起經濟而高效的51%攻擊,並且在現實當中,我們已經觀察到攻擊者對這些幣種發起的雙花攻擊。使用NiceHash這樣的算力市場,買賣雙方可以輕鬆地進行對接。

現在,人們通常認為,低算力的幣種(所屬PoW演算法類別中算力較低的幣種),會因為算力租賃市場的存在而容易遭受廉價的51%攻擊,並且它們是不安全的。

在最近發表的題為《針對雙花攻擊的反擊》這一論文中,我們討論了一種策略,以防止處於弱勢的PoW幣種遭受51%攻擊:受害者可以發起反擊。我們證明了受害者有能力在原始鏈上租用算力並進行挖礦,在發生攻擊時趕超攻擊者鏈,在平衡狀態下這可以阻止攻擊的發生。研究結果在以下假設下成立:(1)受害者遭受了中等程度的聲譽損失,而攻擊者則沒有(例如,如果受到攻擊,交易所可能會遭受負面聲譽影響,而匿名攻擊者則沒有),以及(2)攻擊的淨成本隨著時間的推移而增加(例如算力的上升等)。雖然在我們撰寫這篇論文時,並沒有證據能夠確定現實世界中存在針對雙花攻擊的反攻情況,但我們最近確實觀察到了這種可能。

(上圖顯示了反攻遊戲的三個階段,綠色表示當前最重的公共鏈(即規範鏈),白色表示較小的分支鏈。最上面的階段顯示了一次51%攻擊的開始,其中攻擊者A向防禦者D傳送了一筆交易,但這筆交易是在一條替代鏈上,它的目的是使原始交易無效。第二個階段顯示了雙花交易的揭示,其中攻擊者鏈成為了最重鏈(規範鏈)。第三個階段顯示了防禦者D反擊的結果,在此過程中,D是在原鏈上進行的挖礦,並超過攻擊者A的區塊鏈。)

2019年6月份,我們實現並執行了一個重組跟蹤程式,該跟蹤程式監控了23個目前最受歡迎的工作量證明(PoW)區塊鏈。對於每一個幣種,跟蹤器都會檢測並儲存所有鏈頂端(chaintip)上的資料。截至目前,它已在Vertcoin、Litecoin Cash、Bitcoin Gold、Verge以及Hanacoin這些幣種上觀察到了40次至少六個區塊深度的重組攻擊。

關於Bitcoin Gold的重組攻擊和反擊

Bitcoin Gold(BTG)是於2017年10月24日從比特幣分叉出來的,截至2020年3月10日,它的市值為1.68億美元。Bitcoin Gold並沒有使用比特幣的SHA256演算法,而是採用了ZHash抗ASIC演算法,這意味著礦工可以使用GPU進行挖礦。與BTC不同,BTG每個區塊都會進行難度調整。

然而,BTG遭受了多次雙花攻擊,其中最大規模的一次51%攻擊發生在2018年5月份,當時有388,000 BTG(當時約為1800萬美元)被偷。而在2020年1月和2月份,BTG再次受到了雙花攻擊。透過重組跟蹤器,我們可以在2020年1月23日-2020年2月5日之間觀察到8次BTG重組。其中有4次是有雙花的,涉及到12,858 BTG(約合15萬美元)。

在2月份,我們注意到,BTG鏈上似乎上演了一場了反擊遊戲。一開始,這只是一次典型的重組攻擊,其中一筆交易在一次雙花中被逆轉,但隨後又出現了雙花被逆轉的情況,這使得原始交易再次有效。2月8日,攻擊者和反擊者在2.5小時內來回進行了4次大戰。最終,原來的區塊鏈被修復,所以這筆雙花並沒有成功。2月9日和2月11日,我們觀察到了稱之為“one-shot”的反擊:攻擊者製造了一次重組,而防禦者只進行了一次反擊,就恢復了原來的區塊鏈。

在2月8日發生的反擊遊戲中,雙方爭奪的是兩筆交易757 和d5f(譯者注:tx的縮寫),攻擊者將它們替換為交易50d 和f38。AbC和AYP(注:地址的縮寫)這兩個地址總共被偷了4390 BTG(約合44000美元),這些幣被髮送到了GVe和GYz。最終的重組深度為23,這將為礦工帶來大約290 BTG(3000美元)的區塊獎勵,約雙花總收入的7%(關於更多詳細,請參閱此處)。注意,在每一對交易中,第二筆交易花費了第一筆交易的輸出,即如果第一筆交易由於雙花而無效,則第二筆交易也將無效。因此,我們可以把它們視為一個單元。兩個單元有相同的輸入,但有不同的輸出,我們將其解釋為被盜的地址。

接下來,我們將說明2月8日發生的反擊遊戲的挖礦動態。你可以在這裡看到來自兩條鏈的帶時間戳的區塊列表。我們稱這些地址為“防禦者”,當原始鏈不是工作量最大的區塊鏈時,“防禦者”將在原始鏈上獲得挖礦獎勵。而那些一直跟隨工作量最多鏈(即從未在少數分支鏈上挖礦)的礦工,則被認為是“旁觀者”。

我們的節點在在UTC時間06:56開始觀察到了4次重組。第一次重組將原區塊鏈的最後9個區塊替換為9個新區塊。在新的區塊鏈中,每個區塊中都有兩個攻擊者地址:GKGUq2p和Gh46Jw1,並且在分叉區塊(block 619935)之後的第一個新區塊中有雙花交易。然後,在UTC時間07:35,我們的節點觀察到了另一次重組,其在原始鏈上又挖了另外4個區塊(難度更大)。而防禦者則是GbWi6y7和GSsjeTZ,雙方反覆進行了交戰,之後,攻擊者以放棄告終,並在UTC 時間08:58挖了最後一個區塊。根據區塊中的時間戳以及節點觀察到的重組世界,我們對時間軸的最佳猜測如下:

4:04 ,攻擊者開始從619934高度的區塊挖礦,並在高度619935挖取了一個區塊,並進行了雙花;

6:55,攻擊者挖了9個區塊,其所在鏈超過了現有鏈;

6:56,我們的節點觀察到並重新定位到攻擊者的區塊鏈。“旁觀者”礦工切換至攻擊者的區塊鏈,並將其延長了2個區塊;

7:20 防禦者開始挖礦,並延長原始鏈上未被攻擊的區塊(區塊高度619943);

7:33 防禦者在挖到4個新區塊後超過攻擊者的區塊鏈;

7:35 我們的節點觀察到並重新定位到防禦鏈。“旁觀者”礦工切換到防守鏈;

7:53 攻擊者再次開始挖礦,擴充套件自己的攻擊鏈,該鏈有兩個附加的“旁觀者”區塊;

8:22 防禦者在12個區塊之後停止挖礦;

8:58 攻擊者在超過防禦者11個區塊之後,也停止了挖礦;

9:00 我們的節點觀察到並切換至攻擊者更深的重組鏈;

9:14 防禦者再次開始挖礦;

9:27 防禦者在原始鏈超過攻擊者鏈後,繼續挖礦;

9:28 我們的節點重新定位到防禦者的重鏈上;

10:20 防禦者減少投入算力;

12:15 防禦者停止挖礦;

算力從何而來?

我們沒有確鑿的證據能夠證明觀察到的任何BTG重組,其算力是否來自於Nicehash。這種不確定性,是由於在沒有主動攻擊的情況下,BTG上的出現的價格和可用算力的大幅波動造成的。

這與我們最近在Vertcoin(VTC)雙花攻擊中觀察到的Lyra2REv3(從Nicehash市場租用了算力)形成了對比,在這次攻擊中,我們清楚地看到算力的價格在攻擊期間出現了飆升,而攻擊後又回到了基線。

算力可用性和價格的峰值頻率,使得我們很難將看到的峰值歸因於攻擊。然而,市場上有足夠的ZHash算力可被用於執行BTG攻擊,並且存在與檢測到的重組事件一致的算力峰值。

檢測到的重組期間Nicehash ZHash市場總結,紅線表示重組事件的時間

攻擊理論

實際上,攻擊可透過在Bitcoin Core節點上呼叫一個命令來完成,因此攻擊者可能不需要編寫任何新程式碼。

例如,攻擊者可能執行了以下操作:

使用Bitcoin Core節點進行一筆支付,並等到它被區塊納入;

在包含支付交易的原始鏈中區塊呼叫invalidateblock(在高度619935);

斷開與對等式網路的連線,然後清除mempool以刪除現有的支付交易;

在其錢包上進行rescan(重新掃描)工作,使原始支付交易中使用的輸出可再次使用,並生成一筆新的交易,將相同的輸出花費到新的目的地輸出,這將和原始交易發生衝突;

正常挖礦,直到其所在鏈比原始鏈有更多的工作量,然後重新連線到對等網路,以通知其他節點,讓它們參與這個替代鏈;

而防禦者只需在包含雙花交易的攻擊者區塊上呼叫invalidateblock,這將導致其節點繼續在原始鏈上挖礦,而不是重新定位到攻擊者鏈。

有可能在最後兩個案例中,攻擊者在看到受害者正在反擊時立即停止了攻擊。也許攻擊者知道,如果受害者能夠進行反擊,就不值得去和他們對戰。在幾乎所有的區塊對戰中,防禦者的地址都是GSsjeTZ。在2月1日之前,這個地址從未使用過,而在反擊戰發生後,其也沒有被用於挖礦。

然而,這可能不是一個故意的復仇遊戲。在這裡我們討論下其他的可能性。

可能性1 :測試

一種解釋是,所謂的反擊實際並不是反擊,而是由一個試圖測試反擊軟體的實體模擬的。大家可以想象,一家交易所、商家或者有核心開發者已經編寫了一個基礎設施,以便在發生深度重組時自動反擊,他們希望測試自己的軟體是否能夠正常工作。這可以解釋為什麼在2月6日發生的反擊沒有任何雙花。

可能性2 :礦工之戰

礦工們可能一直在互相進行反擊,這不是因為其中一人或兩人有興趣追回雙花的資金,而是為了偷竊,然後追回區塊獎勵。再一次,2月6日的反擊沒有雙花的事實,也支援了這一理論。

可能性3 :網路分裂

這可能是Bitcoin Gold中存在的一個短暫、重複發生的網路分裂。有可能在同一時間,某個客戶端錢包廣播了一筆交易,該交易將花費的輸出加倍到分裂鏈的另一端。我們不知道是否有Bitcoin Gold錢包軟體能做到這一點。區塊時間戳與此是不一致的,這表明礦工是積極在挖礦的,然後停止了幾次。而時間戳也存在可能是偽造的。攻擊者和防禦者的地址,在攻擊前後,都沒有再被使用過。

可能性4: 軟體漏洞

有可能是因為參與挖礦的軟體存在某種漏洞,導致他們無法在最長鏈上挖礦,或者他們意外地呼叫了invalidateblock。

可能性5: 偶然的機會

另一種可能,則是兩個大型礦工恰好在同一時間發現了區塊,這種分裂的概率是很低的。這似乎不太可信,因為時間戳沒有反映這一點,並且最長的重組是23個區塊;

結論

算力市場的日益發展,可能會破壞工作量證明(PoW)加密貨幣的安全性。然而,儘管流動算力市場的存在表明一條弱鏈是容易受到攻擊的,但受害者反擊的可能,在平衡狀態下有可能阻止攻擊。如果這種力量的平衡,足以保護區塊鏈,那麼這就提出了一個問題,即需要多少工作量才能防止攻擊?

在這項研究工作中,我們只考慮了一個理性的攻擊者,而如果存在非理性的攻擊者,其可能不在乎在51%攻擊中損失的金錢,這使得他們要比潛在的反擊者更具有優勢。對於這樣的破壞者來說,51%攻擊的成本可能仍然是重要的威懾力量,正如今天比特幣所擁有的那樣。

致謝:我們要感謝《針對雙花攻擊的反擊》論文的共同作者Dan Aronoff和David Parkes。也感謝Tadge Dryja、Madars Virza和Gert Jaap Glasbergen對這項工作的有益反饋。

作者:James Lovejoy, Dan Moroz, Neha Narula

﹏﹏﹏﹏

推薦閱讀

或是未來10年最強風口:產業區塊鏈時代正式到來

區塊鏈落地應用盤點:五大領域應用告訴你“區塊鏈能做什麼”

區塊鏈將引爆跨學科研究,比特幣只是第一顆“核彈”

5分鐘看懂區塊鏈如何提升中國企業活力與效能!

一文讀懂區塊鏈專案的法律問題,通證激勵、鏈改可行嗎?

比特幣技術堆疊的創新:今非昔比

區塊鏈入門 | 什麼是DAO?

更多關鍵詞:礦工|51%攻擊

燃點|孟巖|白碩|肖風長鋏|李國權|螞蟻金服|來學嘉

免責聲明:

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

推荐阅读

;