比特幣是公平公正的激勵遊戲。在去中心化生態系中,參與者獲得相對公平的利益是網路長期穩定運作的關鍵。財務激勵是節點維護網路安全的主要動力——節點誠實行事會獲得獎勵,反之則喪失獎勵。
這種情況在加密貨幣挖礦領域屢見不鮮。各方將大量資金投入硬體設備與電力消耗,希望透過為區塊鏈新增區塊來回收資金並轉為獲利。礦工若要達到收益最大化,最簡單的方式就是依照規則行事。
在鏈上新增區塊後,礦工將獲得這筆交易的所有費用,外加部分新產出的代幣。我們將這部分新代幣稱為區塊獎勵。每新增21萬個區塊(約四年),所獲代幣將會減半。在撰寫本文時,獎勵為12.5 BTC,幾個月後將會變成6.25 BTC。
挖礦方面的財務激勵機制加劇競爭,最終提升了網路的安全性與去中心化程度。部分人推測,這些激勵措施可能被操縱。在本文中,我們將討論自私挖礦的概念。
如需深入了解比特幣的激勵機制,請閱讀《加密貨幣經濟學入門》。
早在2013年,研究者Ittay Eyal和Emin Gun Sirer就透過論文《簡單多數原則似乎不夠?比特幣挖礦非常脆弱》(Majority is not Enough: Bitcoin Mining is Vulnerable)闡述了有關自私挖礦的探索和研究。與大眾的普遍觀念不同,這篇論文認為,比特幣的礦工激勵機制有缺陷,最後會導致網路呈現中心化。
下面我們透過具體範例解釋自私挖礦。假設哈希率在Alice、Bob、Carol與Dan中平均分配,四人各佔25%。 Alice、Bob和Carol按規則行事,但Dan試圖讓整個系統為自己牟利。
正常情況下,礦工挖出的新區塊會立即入鏈。這也是誠實參與者Alice、Bob和Carol執行的操作。然而,Dan在挖出新區塊後有所保留(並未讓有效區塊入鏈)。更幸運的是,他先於其他人連續挖掘兩個區塊。
假設目前挖出了10萬個區塊,而Alice、Bob和Carol正在嘗試挖出第10萬個區塊。 Dan找到了新區塊,但並未在網路中發布。此時產生了兩條鏈,即公鍊和Dan的私鏈(後者較長)。當其他人正在挖掘第10萬個區塊時,他已經挖出第100,002個區塊。
因此,Dan的私鏈領先其他鏈兩個區塊。如果好運持續下去,他的私鏈總是能比其他鏈多出兩個區塊。當其他人努力追趕,僅落後1個區塊時,他便公佈自己的私鏈。
目前,Dan公開的私鏈比其他人使用的鏈更長。根據所謂的最長鏈規則,我們使用的正確鍊是PoW(工作量證明 - 該指標也稱為鏈內工作)累積最多的那一條。因此,如果節點偵測到累積眾多工作的鏈,則會切換至該鏈並為其貢獻算力。
此時,Alice、Bob與Carol才發現Dan的私鏈才是需要遵守的目標。他們之前在其他鏈中賺取的所有獎勵都將不復存在,但Dan在該鏈中挖出的區塊可以獲得獎勵。
在這種情況下,如果參與者按照預期方式工作,獲得的獎勵確實會變少。另外,自私挖礦極為浪費資源。但請注意,希望實施這種行為的人比其他網路參與者更具策略優勢。因此,會有礦工追隨攻擊者,讓情況雪上加霜。
在他們的論文中,Eyal和Sirer強調,網絡中的各方會與自私實體合作來實現利益最大化,自私挖礦會逐步拉高礦池的哈希率,最終轉變為重大風險。倘若單一礦池搶佔了大部分算力,就有可能發動51%攻擊。
然而,也有很多人認為這種行為不構成威脅,因為礦工會有一些意識形態考慮,而且還有獎勵機制可以維持網絡以去中心化的機制運作。生態系統遭到破壞會讓礦工對電力與設備的投資血本無歸,獲利更是天方夜譚。
如果礦工聯盟成功實施自私挖礦,確實會為參與者創造可觀的收益。最糟糕的情況是,這種激勵模式會引誘誠實的礦工參與自私挖礦,嚴重危害比特幣的去中心化。
但是從更宏觀的角度分析,各方透過這種方式聯合起來的做法毫無意義。畢竟,網路遭到嚴重破壞會導致比特幣下跌,而這會直接削弱挖礦業的獲利能力。