拯救誠實礦工!這兩位研究者想讓自私挖礦成為過去
自私挖礦(Selfish mining)是比特幣網路上的一種攻擊形式。通過放慢廣播新區塊的速度(可以是有意的也可以是無意的),發現這一漏洞的礦工可以獲得比其他礦工更高的收益。
然而,研究者Cyril Grunspan和Ricardo Pérez-Marco表示,通過廣播孤塊(orphan blocks)可以解決自私挖礦的問題。
巴黎ESILV研究生學院工程學教授Grunspan和法國科學研究中心(CNRS)的研究主任Pérez-Marco聯合發表了一篇有關自私挖礦成本和收益的論文。這兩位研究者都曾是數學家,從2011年就開始瞭解比特幣,並且對此產生了濃厚的興趣。一直以來,他們兩位都致力於比特幣在法國的普及。
Pérez-Marco說,自私挖礦就是一種“區塊預扣策略”,最開始是在2012年BitcoinTalk論壇上發現的。自私礦工並未依據比特幣協議釋出已經挖出的區塊,而是試圖建立一種優勢,導致大量的誠實區塊無效,同時釋出自己的“私密鏈”。
在分析這一問題的過程中,這兩位研究者主要提出了兩點主要貢獻:
首先就是針對目前缺乏的戰略,建立一個正確的收益模型,基於迭代遊戲(靈感來自其他博彩遊戲)每個單位時間的收益和損失。
Pérez-Marco說,基於這一模型,就算沒有難度調整,誠實挖礦策略依然會是收益最高的,因為自私挖礦需要經歷一個高成本的過程。
因此,大多數自私礦工不會攻擊比特幣網路,而會攻擊難度調整的演算法,這樣他們就能在消耗更少算力的情況下獲得與誠實礦工同樣的獎勵。
他說:
由此可見,比特幣協議的一個重大漏洞就在於難度調整公式。
他們做出的第二個貢獻就是在計算出難度調整公式之後使用“鞅論”(martingale theory)來計算精確的收益公式。鞅是一種代數原理,在所有隨機變數的值都相等的情況下, X1+X2的值等於Y1+Y2和Z1+Z2。
我們還可以推匯出其他有關區塊預扣策略的收益能力的封閉公式,比如固執挖礦(stubborn mining)或跟蹤挖礦(trail mining),這在以前都只停留在數字上的研究。
Pérez-Marco和Grunspan認為改進比特幣協議以使其對自私挖礦免疫是很有必要的。他們在論文中提出了一種能夠轉移自私挖礦影響的方式。
其實很簡單。鑑於自私挖礦的影響在於孤立誠實區塊且導致其無效以人為降低挖礦難度,因此在難度調整公式中檢查被浪費的算力就足夠了。我們提出了一種方案。通過這種方案,自私礦工將無法降低挖礦難度,與誠實挖礦相比,其策略將無法盈利。
論文中提到的解決方案包括節點廣播新孤塊的區塊頭。孤塊指的是那些已經經過驗證但沒有被新增到區塊鏈上的塊,因此就代表了算力的浪費。礦工可以將這些區塊頭新增到自己的區塊中,然後難度調整公式就會合並整個孤塊的產出過程。
Pérez-Marco表示:
這樣一來,難度引數就能如中本聰所願,反映出網路的真實且全部算力。我們已經證實的定理——即沒有難度調整,所有其他非誠實的策略都是無法盈利的策略——是一件非常值得注意的事。為了證明這個定理,必須對挖礦收益進行合理分析。很難想象中本聰是怎麼預料到這一點的。
他認為,從長期來看,比特幣網路將越來越穩固,未來不會有難度調整。他將這一現象稱為“比特幣穩定性定理”,並表示,通過他們在論文中的分析,開發者可以提交比特幣改進協議(BIP)來防止自私挖礦以及其他區塊預扣策略。