Matt Corallo:它對挖礦的去中心化影響是巨大的。與致力於礦池的中心化不同,我們現在可以致力於實際礦工/礦場主人的中心化。您在Matt Corallo的提出的關於共識團體中心化(Consensus Group Centralization)的演講中可以找到以下的表格,說明它是如何改變雜湊率的分配。
而關於效能方面,解釋會比較複雜。對礦工來講,當有最佳化好的客戶端和良好的網際網路連線時,從礦池接收工作可能會更快。但對礦池來講,必須透過大量工作來最佳化好它的設定才會有更好的效能。
問:有哪些激勵機制讓礦工與礦池協商自己的交易集?
Pavel Moravec:目前礦池充當的是一個超大礦工的身份,礦池控制整個挖礦網路雜湊率很大的一部分。這意味著礦池可以試圖阻止(即審查)一些交易進入區塊鏈,礦池也能顯著地影響比特幣改進提議(BIP)的啟用過程,就像我們在2017年看到的SegWit訊號那樣。
礦工協商自己的礦區可以防止這種礦池的權力集中,這就類似像是他們在單獨挖礦。與此同時,礦工仍可享受在礦池挖礦帶來的獎勵差異(Variance in payouts)減少的好處。
問:礦池是否對交易的有效性具有否決權?
Pavel Moravec:在V2協議中,礦池總是可以主動拒絕由礦工提出的完整區塊,但不能拒絕區塊中的單個交易。即完整區塊的驗證由礦池來做,礦池透過驗證,會拒絕任何包含無效交易的區塊。
階層協議V2(Stratum V2)如何改進比特幣礦工和礦池的安全?
問:V2協議使用加密有哪些主要優勢?
Peter Todd:身份驗證非常重要。沒有它的話,攻擊者可以透過嘗試雜湊算力重定向的中間人攻擊(MITM)方式,將算力定向到另外一個礦池從而簡單地竊取。因為相當慢,公鑰簽名驗證並非是理想的,因此驗證每個訊息的簽名會讓效率非常低。
現代的身份驗證加密方案正好能提供所需要的功能:兩方之間的驗證通道,其中一個較貴的簽名操作用於建立共密(Shared Secret),使用共密能夠讓對稱金鑰驗證方案快很多。現代的方法確實非常快,且經過了充分的研究,所以不太可能出現工程方面的意外。
在V1協議中,攻擊者可以在礦工收到工作分配前,竊取並且改變礦池傳送的工作分配,然後再在礦工試圖向礦池提交工作時,攔截礦工提交的工作——這就讓礦工或礦池都可能無法發現!在V2中已經能夠防止這種”雜湊率劫持“的攻擊方式。
問:加密會增加多少專案成本?
Peter Todd:礦池到礦工的成本會增加約5%,這是微不足道的。而對於礦工到礦池的通訊會增加16位元組(超過50%),但在這裡解釋背景很重要。因為即使透過了加密過程,V2的份額提交訊息與V1相比短50%以上。此外,V2協議的傳輸的總數量也減少了,最終來看,加密並沒有造成更多的資料。
階層V2協議的採用
問:有哪些激勵機制讓大家升級到V2協議?
Jan Capek:對於礦工而言,升級到V2協議最大的激勵之一是頻寬效率的改進,這樣即使在不佳的網際網路連線條件下,也可以進行挖礦。與此同時,頻寬效率的改進也幫助改進了提交效率,從而又減少礦工雜湊率的變數(這影響礦工在基於分數的獎勵系統中,例如PPLNS中的獎勵)。而在效率方面,礦池給礦工提前分配區塊的功能(與‘SetNewPrevHash’訊息分開)應該就能消除空區塊挖礦。最後,從基於JSON(即人類可讀的格式)的程式碼轉變到完全二進位制的(機器可讀)程式碼庫,能顯著地減少傳輸資料的大小。
Matt Corallo:另一個不可低估的激勵是加密驗證。如果您現在挖礦,您的ISP很有可能會竊取您1%的雜湊算力。而V2協議中的加密能夠解決這個問題。
問:新協議實施,部署和採用的時間表?
Jan Capek:在首腦-Braiins開源資料庫中有一份實施基準可參考,目前我們對它仍在進行更新以反映出技術規範的最新版本。我們估計最少需要3-5個月的時間來解決各種問題,然後才能大規模地進行部署。協議的實施則比較乾脆,在直接支援實施到階層(Stratum)協議前,現在礦場就能用V1到V2的翻譯代理(JSON到二進位制),礦池就能用V2到V1的代理,作為新協議採用的第一階段。
實施參考也是bOSminer礦機軟體的一部分,bOSminer是我們設計用來代替過時的CGMiner的新礦機軟體。