如何參與熱門的 Filecoin 挖礦?這裏有一份詳細挖礦流程。

原文標題:《原力研究 | 挖礦指南(一):Filecoin 網絡搭建邏輯與創新者的窘境》
撰文:Tony

塔勒布在《反脆弱》一書中所定義的「反脆弱性」,是那些不僅能從混亂和波動中受益,而且需要這種混亂和波動才能維持生存和實現繁榮的事物的特性。然而經過這幾天太空競賽的表現,我們可以看到小礦工處於水深火熱當中,主要源自:算力增長慢,存儲成功率低,該如何「反脆弱」生長成爲了其當下亟需解決的問題。

殺不死我的,只會讓我更堅強。

——尼采

雖然 Filecoin 官方最新發布《締造 Filecoin 經濟》白皮書中提到一個簡單鑄造,裏面涉及一個概念——抗脆弱性,就是爲了讓礦工可以在早期實現。因爲技術、資金的緣由很有可能難以實現,所以原力區再次升級全球合作伙伴計劃,助力暫時技術實力落後的礦工,賦能全網絡在符合基準線要求的「200%」增長,共塑分佈式存儲的規模落地。

本文會通過介紹挖礦的流程,以及目前太空競賽部分礦工存在的窘境,講述我們該如何應對。

文前簡述:通過這一輪的太空競賽表現,目前很多礦工 除了算力規模不夠大外,還有可能是因爲高度跟不上、Worker 的 P1 和 P2 頻頻失敗、沒有礦工協助 winning 打包、沒有存儲需求方提供訂單 、出塊難等等原因,導致部分礦工早期算力難以增加,爆塊成功率低等。從微觀方面而言是該礦工有可能獲取不了太空競賽獎勵,宏觀方面而言就是網絡難以進一步壯大。

Filecoin 全覽圖 :挖礦、存儲與檢索

熱浪來潮,全球新數字時代、中國新基建的興起,很多人朋友會問,IPFS 的時代意義是什麼?Filecoin 的焦點又在何處?Filecoin 挖礦實際參與的是什麼賦能行爲?

IPFS 相當於 BT 協議的升級版,但其不僅限於內容存儲的交流,還涉及到全領域的應用,可以理解爲一個國際化、無中心、高安全、高隱祕性的新互聯網絡。其賦予的時代意義不僅限網絡基建服務全面升級,更是賦予人性對隱私自由的追求。

而 Filecoin 是維護 IPFS 網絡公平有序進行的一種價值媒介,相當於自由經濟「法律」的制定和監督者,以經濟手段合理監管和制裁每個理性經濟人。總之,IPFS 是 Filecoin 映射的價值體現,IPFS 宏觀意義會更大,Filecoin 屬於該網絡的價值體現。

BTC 的挖礦意義是維護和監督去中心化賬本,是建立共識的基礎,其採取的是 PoW 共識機制,通過工作量證明來形成共識,整體體現 BTC 的價值是共識,從而形成加密貨幣中最大的支付代幣。

Filecoin 挖礦的本質除了維護賬本之外,還可以提供存儲、檢索基礎數據服務,所以 Filecoin 挖礦會給網絡上賦予更多的實際價值,爲服務提供網絡架構。

原力研究 | 挖礦指南(一):Filecoin 網絡搭建邏輯與創新者的窘境Filecoin 挖礦全覽圖,來源:IPFS 原力區,2020-08-28

由上圖可以看出,我們礦工在參與 Filecoin 網絡中會涉及三個活動:區塊打包、數據存儲和數據檢索,介紹如下:

  • 區塊打包(爆塊獎勵)。礦工通過搭建節點、創建錢包、申請水龍頭等來生產礦工標識,然後通過一些硬件設備來支持整個網絡,完成數據封裝和時空證明,從而獲取打包權限,獲取爆塊獎勵。
  • 數據存儲(鏈上)。客戶與存儲礦工確定訂單後,礦工通過複製證明和時空證明來確保數據服務,從而獲取對應的存儲服務收費。
  • 數據檢索(鏈下)。客戶發出檢索請求後,檢索礦工活動訂單後提供檢索服務,從而支付對應的檢索服務給礦工。

那麼我們如何成爲一名礦工?

如何成爲一名礦工

很多用戶都不是很瞭解如何成爲一名礦工,其實從操作而言,我們也可以根據官方及網絡信息成爲一名合格的礦工,但是可能收益會存在一定的差異化,所以這塊就需要藉助專業運維的力量,讓我們更好獲得更高收益。話不多說,礦工操作指南如下:

  • 搭建 Filecoin 測試節點
  • 錢包創建及代幣水龍頭獲取
  • 存儲提供方(礦工)的配置操作
  • 存儲需求方(用戶)的配置操作
  • 檢索市場及檢索礦工
  • 如何單機部署多節點集羣及礦池設計思路
  • 交易證明、複製證明和時空證明

搭建 Filecoin 測試節點

首先我們可以嘗試在 macOS 和 Linux 服務器上搭建 Filecoin 測試節點,搭建測試節點主要步驟分爲以下:安裝 Filecoin 安裝包、運行與檢查 Filecoin 軟件、節點命名、激活節點,加入網絡統計。

安裝 Filecoin

其中有兩種 release 安裝包的獲得方式,一種是通過源碼進行自編譯,另一種是下載官方發佈的 release 安裝包,兩種方式各有利弊 。

自編譯 release 安裝包的好處:可自定義的源碼編譯環節,能夠清晰的看到整個 Filecoin 從同步數據、挖礦、創建礦工、發佈訂單到接單的整個流程;其壞處:編譯準備環節比較複雜,需要較強的 Debug 和運維能力,同時編譯耗時長,對機器 CPU 性能要求更高。

自編譯 release 安裝包需要經歷構建、安裝、測試自編譯包過程,從而爲了更好地迎合開發,但是早期會隨着官方版本調整需要重新構建和調整,該種方式比較適合運維能力強的團隊。

獲取官方 release 安裝包。對於運維能力不是很強的團隊可以使用官方開發的版本,但是官方公佈的版本比較適合個人投資者;其好處是繞過了複雜和漫長的源碼編譯過程,可以直接使用;其壞處是由最新的代碼包難以及時跟上最新的官網調整情況,實時性滯後。

可以通過 Github 下載最新版本的官方 release 安裝包。

原力研究 | 挖礦指南(一):Filecoin 網絡搭建邏輯與創新者的窘境官方 release 安裝包,來自 : 官網,2020-08-28

安裝完之後就可以檢查 Go-filecoin 測試網安裝情況,初始化並運行 filecoin 節點,配置節點名字(Filecoin 網絡可以配置節點的別名),最後可以檢查到節點與網絡的可視化監控,就就可以看到自己的節點在全球網絡上了。

錢包創建與代幣水龍頭獲取

礦工是推動 Filecoin 網絡共識處理流程的積極參與者,也是期望共識(EC)的區塊提議者。其既可以是礦工也可以是存儲需求方。礦工需要隨時在線,等待接受客戶的存儲訂單,並提供存儲服務,並密封扇區數據,賺取 FIL。不僅如此,其在該過程中還需要不斷地執行時空證明(PoSt),以證明能否參與出塊競選。

原力研究 | 挖礦指南(一):Filecoin 網絡搭建邏輯與創新者的窘境來源:官網,2020

錢包搭建及獲取水龍頭

錢包搭建

Filecoin 錢包和很多區塊鏈錢包一樣,作爲一個加密資產的承載體,是專屬於區塊鏈系統的一環,一般是非對稱加密的公私鑰。這裏錢包地址是由節點自動初始化生成,地址信息十分重要,查詢餘額,導出和導入都需要。

水龍頭

FIL Faucet 是一個代幣水龍頭,可以讓一些早期參與的 Filecoin 節點用戶提前獲取一定數量的 FIL 代幣參與早期市場活動,僅供測試階段使用,不具備轉賬和權益價值。獲取該測試 FIL 代幣通過 GitHub 賬號來分發,太空競賽階段每個賬號 100 個 FIL,主要是抵押挖礦。

在建立錢包之後,我們還要區分節點 ID、賬戶、錢包地址、礦工 ID、內容 ID。

原力研究 | 挖礦指南(一):Filecoin 網絡搭建邏輯與創新者的窘境來源:IPFS 原力區,2019

  • 節點 ID 可以是存儲客戶或者礦工,ID 是節點的唯一標識,就像 Facebook 的名稱一樣,永不重複;
  • 賬戶 ID 與節點 ID 一一對應,賬戶可以存多個錢包地址,主要是與 FIL 直接掛鉤,節點 ID 偏向識別屬性,賬戶 ID 偏向資產屬性,節點自動初始化生成;
  • 礦工 ID 主要是與礦工收益有關,所以在佈置好 Filecoin 節點後,需要礦工手動創建命令通過節點 ID 生產礦工 ID;
  • 內容 ID 與網絡存儲的文件掛鉤,每份文件會生產唯一的 ID,主要是爲了方便快速索引數據。

存儲提供方(礦工)的配置操作

成爲存儲礦工同時需要接受 Filecoin 存儲市場的制定規則和 EC 共識,方可進行挖礦行爲,因爲在區塊鏈世界裏,代碼即是法律。

存儲提供方主要是承諾提供存儲服務,通過訂單協商溝通及確定後,複製和時空證明來證明服務,整體週期可以步驟爲:

  • 存儲交易證明。建立身份,提交抵押和存儲容量,成爲一個存儲礦工;
  • 生產訂單 。創建區塊,創建 Ask 訂單,與用戶節點交易;
  • 停止挖礦。密封數據並提交複製證明,更新訂單狀態完成交易,時空證明數據持續存儲;
  • 提高爆塊能力證明。存儲礦工持續手機證明,創建 post,提高存儲算力和可證明算力,以提高爆塊機率。

創建礦工 ID

創建礦工身份並獲取 ID 後,同時需要承諾能夠提供存儲服務證明,不過針對不同羣體測試網絡不同:針對普通用戶,扇區爲 256MB,針對開發者用戶,扇區爲 1KB,主要羣體不同標準不同,後者更爲節約封閉扇區耗時,但是都不強制規定,都是根據各自的硬件配置和運維水平調整。

設置併發送 Ask 訂單配置

存儲提供方初始一個 Ask 訂單設置,一來啓動挖礦獎勵,二來可以進行存儲訂單收益,後者的話網絡可以根據訂單來進行自由調節價格來撮合市場。

Ask 訂單配置 問題 :礦工 worker 地址,主要是完成所有外在的事物,包含參與 Ask 訂單提交證明、封存數據等,worker 常遷移和更變,安全級別較低;礦工 owner 地址,適合冷存私鑰,安全級別更高;FIL/byte/block 爲單價;生成一個區塊時間;Gas 單次燃燒所需要的 FIL 費用值;Gas limit 總數。

在早期,礦工需要給自己灌數據,該過程主要是要滿足礦工在早期階段需要達到某個數據體量,有三種方式:

  • 接受訂單,目前該階段是自動接受訂單;
  • 密封過程,數據封裝;
  • 時空證明,時空證明後就可以持續證明該數據穩定保存。

存儲訂單的交易成功後,將由存儲算力(有效算力)和可證明存儲能力(sector 成功率)兩個重要參數作爲與出塊的概率直接掛鉤。

目前很多小規模的礦工卡在該步驟,主要有四點:高度難以同步、難以撮合訂單和礦工難以打包。

  • 高度難以同步。因爲技術的原因,很多礦工在做 Sector 過程中,P1 和 P2 階段不穩定,以及失敗率過高(下圖,很多失敗率高達 90% 以上),導致難以實現數據封存而失敗。

原力研究 | 挖礦指南(一):Filecoin 網絡搭建邏輯與創新者的窘境全網節點 Sector 檢查統計情況(部分),來源:IPFS 原力區,2020-08-27

  • 撮合訂單難。主要是目前太空競賽階段與測試網階段不同,測試網結算是自動接單,太空競賽是可選擇階段,導致小礦工可能生產不了訂單,完成不了後面的存儲礦工步驟,獲取不了存儲訂單的收益,以及提高不了爆塊的機率。
  • 打包難。針對小規模的礦工,在完成 windows 和 winning 時空證明之後,沒有礦工協助打包並廣播網絡,導致出塊失敗;反而對於多集羣的礦工就可以互相協助。
  • 出塊難。隨着算力的增長,存儲規模的增大,特別是對於是 1PB 以上的礦工,出塊需要隨機訪問整個存儲中的部分扇區,這對響應時間是一個很大的挑戰。在 30 秒內無法完成數據讀取的礦工將會浪費一次出塊機會,相應的收益就會減少。

原力研究 | 挖礦指南(一):Filecoin 網絡搭建邏輯與創新者的窘境原力區 winning 時空證明時間(平均 6 秒),IPFS 原力區,2020-08-27

反過頭來想,對於存儲提供方來說,我們其實還需要數據需求方纔能完成整個撮合服務,那麼他們是怎麼操作的?

存儲需求方(用戶)的配置操作

需求方和提供方兩者可以爲同一體,就是節點既可以爲礦工也可以爲存儲需求方,那麼需求方是如何完成的?主要步驟可以分爲:導入數據資源並獲取 CID、查看 Ask 訂單池、選擇匹配的存儲服務。

導入數據資源並獲取 CID

需求方需要在 Filecoin 客戶端中導入其想要存儲的數據,並按照 IPFS 網絡的數據加密形式來把數據進行切分、加密處理等後,生成內容 ID。同時該步驟可能需要反向驗證是否到處成功,用 CID 來檢驗。

查看 Ask 訂單池

在對全網的 Ask 訂單池進行查詢,並根據存儲端(礦工)報價選擇交易對象。該網絡階段在測試網階段是自動匹配的,然而在太空競賽開始時是自由撮合的。

選擇匹配的存儲服務

在選擇適合的訂單和礦工 ID 後,就可以選擇匹配的服務內容,通過內容 ID 我們可以查到礦池所經歷區塊的個數。同時我們要準備充足的餘額來匹配特定的服務(根據 FIL/byte/block 而定);礦工階段存儲狀態,是否存在不穩定的情況;節點網絡與集羣的關係是否是相連的;單位數據單位服務礦工能否支持等。

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