Stratum V2 協議如何改進比特幣挖礦去中心化,取決於工作協商的採用程度。

原文標題:《階層 Stratum V2 協議推動比特幣的去中心化》
撰文:Daniel Frumkin

簡述比特幣挖礦去中心化協議 Stratum V2 與「工作協商」原理

近期 Square Crypto 表示將對階層 Stratum V2 協議的開發提供資金支持,我們覺得現在是時候向大家進一步解釋工作協商的作用及其帶來的好處了。

簡述比特幣挖礦去中心化協議 Stratum V2 與「工作協商」原理

要想弄清楚 V2 協議有哪些實際上的改進,瞭解使用階層協議的礦池挖礦過程由爲關鍵。因爲在階層協議 官網 上的技術文檔中,沒有明確解釋使用階層 V1 和 V2 協議進行礦池挖礦的相關技術過程,所以我們將以此開始。然後我們將對廣大礦工有提到的兩個最常見的,關於在 V2 協議中礦工自己選擇工作的實用性問題進行討論。由此,我們也將對幣圈人擔心的理論上最大的攻擊形式之一——「國家攻擊」進行探討。最後,我們將闡述 V2 協議將如何適應現代比特幣挖礦行業短期和長期的商業運轉。

爲什麼它叫工作「協商」?

首先我們要解釋下新舊協議中挖礦的工作順序。

如果您還不熟悉礦池是如何運作的,我們推薦您閱讀 Mastering Bitcoin 的相關部分。

階層 Stratum V1 協議

目前的礦池挖礦通常是這樣進行的:

  1. 礦工連接到礦池
  2. 礦池向礦工發送工作分配(即不包含完整交易集的區塊模板)
  3. 礦工進行工作(即以插入隨機數值的方式,找出低於難度目標的哈希值)
  4. 礦工向礦池回傳工作量證明(即由隨機數找出的「足夠好的」哈希值)
  5. 礦池驗證工作量證明,並發現區塊時向網絡宣佈
  6. 礦工按提交的工作量證明(所謂的份額 「Shares」)獲得報酬

創建區塊模板的實體只有礦池和進行單機挖礦的礦工。因爲沒有構建區塊的交易集,在礦池挖礦的一般礦工不能創建區塊模板。

階層 Stratum V2 協議

未來的挖礦協議能讓礦工選擇並構建自己的區塊,簡化說明步驟如下:

  1. 礦工連接到礦池
  2. 工作協商者(即由礦工運行的軟件,或礦工與礦池間的第三方)向上遊的礦池節點發送對區塊模板進行工作的請求。
  3. 礦池驗證包含的交易是否有效
  4. 礦池驗證創幣交易(Coinbase Transaction)是否正確(即是否支付到礦池地址)
  5. 礦池接受提出的區塊模板
  6. 礦工對自己的區塊模板進行工作
  7. 如果區塊被發現,礦工自己就可以宣佈區塊,且礦池對此無法進行審查
  8. 礦工根據其提交的份額獲得報酬

由於宣佈區塊不一定依賴於礦池節點,因此宣佈速度與礦工只進行單機挖礦(Solo Mining)時是一樣快的。

工作協商的經濟問題

廣大礦工提出的一個重要問題是,當不同的礦工可以在同一個曠池上對不同的區塊進行工作時,收益將如何進行分配?答案是,每個礦工的收益都將會基於他們提交的份額的價值,而不是根據所挖礦區塊的價值而定。

例如,假設一個礦池上的礦工同時對兩個區塊模板進行工作:

  • 區塊模板 1 的價值爲:8 BTC
  • 區塊模板 2 的價值爲:7.5 BTC

與值 7.5 BTC 區塊 2 相比,礦工對值 8 BTC 的區塊 2 進行挖礦將按比例獲得更高的收益。這意味着有連接穩定的全節點的礦工,可以選擇對相比於由礦池分發的區塊價值更高的區塊進行挖礦,從而相比於不自己提出區塊模板的礦工能獲得更高的收益。更重要的是,這意味着提出交易集價值更低區塊的礦工,將因此按比例獲得更低的收益,但同時他們不會影響礦池上其他用戶的收益。

延遲問題

另一個值得討論的問題則是,在新區塊被發現並廣播後將發生什麼。工作協商過程需要幾秒鐘完成,而計算尋找隨機數時又是分秒必爭的。這一問題可以通過通過異步啓動來解決,則當礦池還在驗證區塊時,礦工可以立刻對自己的區塊開始進行挖礦。當礦池完成對提出的區塊模板的驗證,礦工就會根據已經完成的工作獲得收益。而當礦工提出的區塊模板無效的情況下,從這幾秒工作的份額將會被拒絕,礦工也不會獲得任何收益。

提出的區塊模板可以因兩個原因被拒絕:

  1. 區塊無效
  2. 審查

重要的是,一旦礦工發現他們提交的區塊有效但仍收到被拒絕的錯誤提示,則表明曠池對礦工提交的區塊在進行審查,此時礦工應選擇重新連接到其他礦池或進行單機挖礦。因此,工作選擇的意思不是說讓礦工能夠對任何他們想挖的隨機區塊模板進行挖礦,而是當礦工沒有在全節點情況下,爲礦工在礦池上挖礦時的一種早期預警系統,從而提醒礦工可能存在的礦池運營方審查礦工提交區塊的問題。

工作協商實例

弄清楚工作協商具體是如何運作後,我們現在來看看它是如何可以被實際應用的。

假設有四家礦池擁有比特幣全網的大部分算力,然後它們同時被某個惡意的第三方(例如其所在國的政府)「徵用」。雖然礦池運營者並不想因此損害自己的名聲和投資的網絡,但惡意的第三方強迫他們進行 51% 攻擊和深度重組。

在僅使用 V1 協議的情況下,向這四家礦池提供實際算力的礦工,直到爲時已晚可能都不會意識到他們參與了這種他們並不情願參加的攻擊。

如果假設在未來一部分礦工能自己選擇工作,當有效的區塊模板被拒絕時,礦工就能立刻知道發生了什麼問題。如果這四家礦池的持有大部分算力的礦工都能選擇提出他們自己的工作,當礦池對區塊進行審查時,他們就能立馬得知這一情況並切換到其他礦池,從而有效地阻止 51% 攻擊。當然也並不是說在這些礦池上的所有礦工都需要提出他們自己的工作——如果這些礦工是在進行全節點挖礦,讓進行 51% 攻擊的礦池上的算力總和低於 50% 也能達到效果。

上述案例中使用了四家礦池這個數量,是因爲在當前的算力分配下,至少需要四家礦池才能進行 51% 攻擊,但是如果在未來有一家礦池佔據全網算力的大部分,則也可能會產生一樣的結果。對到多數礦工而言,單機挖礦沒有經濟效益,所以重要的是一些礦池需要保持誠實並不對上述假設的情景妥協。

挖礦收益

由於礦池是礦工挖礦收益的暫時保管者,因此在例如當礦工提交的區塊中有礦池不想要的交易時,礦池完全就可以不向礦工支付挖礦收益。換句話說,礦池仍可以通過給收益支付添加一些條件的方式,從而對礦工進行審查,這就違背了工作選擇的去中心化目的。

對於這個爭議, 有兩個關鍵點要考慮:

  • 在每輪挖礦開始時,礦池只會拒絕或接受區塊模板,而礦工可以自己宣佈已發現的區塊。
  • 礦池頻繁地在向礦工發送收益支付(大多數情況下每天幾次),因此礦工提出了有效的工作但不獲得收益支付的經濟風險很小。礦池不向礦工支付收益同時也會爲礦池帶來名譽上的損失並影響未來的業務發展。

和比特幣生態圈的其他方面一樣,在用戶體驗和安全性之間進行抉擇當然是會有得必有失的。具有大量用戶的大規模礦池並不是完全不可靠的,但是頻繁地提供收益支付並擁有良好名譽能夠減少風險,每次信任受到侵害時礦工切換礦池也是同理。

爲去中心化而進行去中心化

簡述比特幣挖礦去中心化協議 Stratum V2 與「工作協商」原理

儘管我們已經知道如何能實際應用 V2 協議的工作協商,但礦工對是否對能夠構建自己的區塊模板仍存在問題。

V2 協議將如何改進比特幣去中心化,取決於工作協商的採用程度,而這又是非常難的。我們可以想到未來會出現一些能夠激勵工作協商的採用的用例,這包括上文有提到的具有良好連接的節點的礦工能夠選擇更高價值的區塊。從而獲得更高收益的這樣的用例。

最終,我們認爲這是挖礦行業進化的自然組成部分。大礦工們正在投資數百萬美元,建立並維護高效率的挖礦運營,而需要很長時間他們的投資才能回報。通過運營他們自己的全節點,並對自己的區塊模板進行工作,礦工能以最小的成本爲比特幣網絡帶來冗餘(安全性),並強化比特幣的基本理念。這也代表了每個希望保護並最大化自己長期投資回報率的礦工的利益。

結論

將區塊構建和宣佈這兩個功能從礦池支付收益分離也許不是完美的解決方案,但它提供了一種對礦池運營商惡意行爲的早期預警系統。它也讓挖礦網絡中會有更多的全節點,並以能夠挖含有更高交易手續費的更高價值的區塊的方式,激勵它們保持穩定的連接。

新協議不會馬上被採用,實際上可能需要很多年。儘管如此,我們作爲礦池運營商也一直致力於構建階層 Stratum V2 協議的完整應用,爲我們的礦工提供工作協商功能 ,並向幣圈傳授關於比特幣生態系統中這一重要且經常被誤解的領域的真知灼見。同時,我們希望其他礦池運營商也可以加入我們,共同參與這項有價值的倡議。

有關階層 Stratum V2 協議解決的更多礦池漏洞的信息,我們強烈建議閱讀 StopandDecrypt 撰寫這篇有關工作協商的前身——BetterHash 的文章。