Filecoin 的 GPU 挖礦新方案成本要高於 CPU,因此採用純 GPU 方案是不划算的。目前 GPU 更多的是現有方案的一種補充,而非替代。

原文標題:《FL 深度解析 | 關於新的 Filecoin 挖礦方案,你需要知道這些》
作者: 樊緒新,就職於 Fundamental Labs

11 月 27 日 Protocol Labs 官方 Slack 一則使用 GPU 「挖礦」消息被爆出,被衆多「標題黨」解讀成 CPU 礦機「全軍覆沒」,遭到了「滅頂之災」。

FL 深度解析 | 關於新的 Filecoin 挖礦方案,你需要知道這些

剛看到這則消息的時候,我並沒有太在意,因爲在此之前的半個月左右就已經聽說官方在討論加入 GPU 的方案了,但是這裏需要強調的是,GPU 只是附加,並不是替代 CPU。如下圖所示,官方也有解釋,每臺機器只需要一個 GPU,更多的 GPU 並不會帶來實際的收益提升。

沒想到這則消息會被一些不明所以的媒體過分解讀,因此我認爲有必要對 Filecoin 的挖礦原理進行解釋,以正視聽。

FL 深度解析 | 關於新的 Filecoin 挖礦方案,你需要知道這些

Filecoin 存儲類型爲定向存儲

首先需要強調的一點是,Filecoin 與其它去中心化存儲類項目不同,在其它項目中,用戶是與平臺直接交互的,用戶也並不知道數據被哪個礦工存儲了。 而 Filecoin 是提供了一個類似淘寶的平臺,用戶是可以選擇礦工進行數據存儲的,也即 Filecoin 採用的是定向存儲。如下圖所示,用戶可以在存儲文件的時候,自主選擇負責存儲的礦工。

FL 深度解析 | 關於新的 Filecoin 挖礦方案,你需要知道這些

Filecoin 的架構及運行流程

FL 深度解析 | 關於新的 Filecoin 挖礦方案,你需要知道這些

如上圖所示,Filecoin 架構包括三部分,分別是存儲市場、Filecoin 區塊鏈和檢索市場,相對應的礦工類型有存儲礦工和檢索礦工,後續可能還會出現修復礦工。 顧名思義,存儲礦工主要負責存儲文件,同時維護 Filecoin 的區塊鏈,相應地存儲礦工的收益也包括存儲手續費、區塊獎勵以及交易費三部分。檢索礦工主要的任務是檢索數據,其獲得的收益爲檢索費用。在 Filecoin 主網上前期,由於存儲量有限,檢索需求並不多,但隨着數據量的上升,檢索收益可能會高於存儲收益。各類礦工具體的收益來源如下圖所示:

FL 深度解析 | 關於新的 Filecoin 挖礦方案,你需要知道這些

Filecoin 的共識機制

Filecoin 採用 EC (Expected Consensus)共識,可以簡單地將其理解爲 PoS 共識的改版,在 PoS 共識中,抵押代幣所代表的權益決定了礦工獲得打包權的概率,而在 EC 共識中,這種權益變爲了有效存儲,也即有效存儲的多少決定了礦工獲得打包權的概率。有效存儲是什麼呢?簡單來講,有效存儲是運行過 PoRep (Proof of Replication)和 PoSt (Proof of Spacetime)最終生成的存儲數據。

PoRep 和 PoSt 是 Filecoin 的特色,其主要作用爲了防止礦工作弊或者發起某些惡意攻擊。PoRep 也叫複製證明,它主要的作用是某個節點向另一個節點證明其存儲了相應文件的副本。PoSt 也叫時空證明,它主要的作用是證明某個節點在一定的時間內存儲了相應的文件,PoSt 是按一定週期執行的,主要目的是防止礦工在證明完成之後刪除數據。

如下圖所示,通過以上分析可知,在 Filecoin 存儲過程中,決定礦工收益的核心因素是有效存儲,礦工自身有效存儲佔全網有效存儲的比例決定了其獲得打包權的概率,進而決定其「挖礦」收益。如下圖所示,決定有效存儲的因素有很多,CPU 性能只是其中之一。

FL 深度解析 | 關於新的 Filecoin 挖礦方案,你需要知道這些

GPU 方案真的是用來替代 CPU 方案的麼?

事實上,在 Filecoin 上線前期,大多數礦工收益並不來自於存儲訂單,而是區塊獎勵。 因此,大多數礦工會選擇先用垃圾數據儘快填滿自己的硬盤空間,以獲得儘可能多的有效存儲,最理想的狀況是儘快把自有存儲空間全部變爲有效存儲,而當有真正的存儲訂單產生時,再逐步的刪除原來的垃圾數據,存入相應訂單數據。

之所以有那麼多誤讀,主要是因爲很多人對 Filecoin 挖礦過程並不瞭解,把這個過程想當然地和比特幣挖礦畫了等號。比特幣挖礦經歷了 CPU、GPU、FPGA、ASIC 幾個階段,所以很多人認爲 Filecoin 採用了 GPU 方案後,以前的 CPU 方案就都不能用了,更有甚者,認爲 Filecoin 會出 ASIC 礦機。

那官方所說的 GPU 方案是什麼意思呢?其實,主要原因是 Protocol Labs 對 PoSt 算法進行了修改,必須要在獲得打包權的一個區塊週期內完成 PoSt 計算,此時一般 CPU 的性能並不能滿足這個條件,因此就需要 GPU 來在一個週期內加速運算。與比特幣挖礦從 CPU 進化到 GPU 不同,比特幣從 CPU 進化到 GPU 的主要原因 GPU 運行速度比 CPU 更快,並行性更好,可以在同一時間進行更多的 Hash 運算。而 Filecoin 目前採用 GPU 僅僅是因爲 GPU 的 PoSt 的計算速度要快於 CPU,並且 PoSt 只需要獲得打包權的一個區塊週期內計算一次,並不存在 GPU 代替 CPU 的說法。Protocol Labs 官方也說明,增加更多的 GPU 並不能提升收益,相反地,如果能夠讓一個 GPU 用於多臺機器,反而能夠在一定程度上降低成本。

總結

通俗地講,Filecoin 挖礦並不是單純的靠提高 CPU 性能就能獲得更高的挖礦收益。 Filecoin 有一套非常複雜的計算流程,目前 GPU 在該流程的其它環節並不能起到明顯的提升效果,並且相比下來 GPU 成本要高於 CPU,因此採用純 GPU 方案是不划算的。

目前 GPU 更多的是現有方案的一種補充,而不是替代。Filecoin 的區塊獎勵主要取決於有效存儲,因此前期參與的人會有一定的優勢,會存在一定的馬太效應,但是當 Filecoin 礦工將自有的存儲空間全部變爲有效存儲之後,其獲得打包權的概率又會隨着全網有效存儲量的上升而不斷被稀釋,此時對性能也不會有更高的要求。因此,在存儲空間飽和之後,對性能的需求會進一步下降。長遠來看,Filecoin 挖礦過程中,硬件性能優化的需求也並不強烈。

來源鏈接:mp.weixin.qq.com