一、Filecoin簡介
Filecoin是一個存儲檔案的分布式網絡,目标是将全世界空閑的硬碟利用起來,并形成一個算法市場。
内置的激勵機制讓提供硬碟空間的使用者成為礦工,讓想要存儲檔案的使用者成為客戶。礦工通過提供資料存儲或資料檢索服務來獲得相應代币。客戶則需要付費來進行資料存儲和資料檢索。礦工還能通過挖礦來擷取代币。
二、發展曆程
- 2014年:IPFS(星際檔案系統)建立,旨在取代HTTP協定
- 2017年6-7月:Filecoin項目成立,旨在激勵IPFS的發展
- 2017年8月:項目受到國際頂級風投的青睐,并最終完成2.57億美元的投資
- (2018 年 6 月:開始在Githubs上送出代碼,最早計劃是和EOS一樣在此時上線主網的,經曆了兩次延期)
- 中原標準時間2019年2月14日:Filecoin代碼正式開源,上線開發測試網,之後開展首次線上會議
- 2019年12月11日:測試網第一階段上線,目标主要為實施互操作測試、證明電路優化和實施基準測試等内容。
- 2020年5月15日:測試網第二階段上線,主要目的在于找到并修複bug,并在Filecoin主網上線前排查解決所有問題
- 2020年8月25日:太空競賽正式開啟,主要目的在于對網絡進行壓力測試
- 中原標準時間2020年10月15日22:44:主網正式上線
- 2020年11月21日9:00:Filecoin網絡全網有效算力超1EiB, 标志着Filecoin網絡正式進入EB時代
三、角色
1、Filecoin角色
l 存儲礦工:提供硬碟存儲,存儲資料獲利,參與挖礦獲利,需質押代币,硬體需求較高
l 檢索礦工:提供檢索服務,不參與挖礦,不用質押,硬體要求低,需在網
l 存儲客戶:需交費來存儲自己的資料
l 檢索客戶:需交費取回想要的資料
2、存儲礦工
- 要想成為存儲礦工,使用者必須用與存儲空間成比例的抵押品來抵押(即代币FIL)。
- 存儲礦工通過在特定時間記憶體儲資料,來響應使用者的Put請求(即上傳檔案)。
- 存儲礦工生成時空證明并送出到區塊鍊網絡,來證明他們在特定時間記憶體儲了資料。
- 如果資料失效或丢失,存儲礦工将被罰沒部分抵押品。存儲礦工也可以挖掘新區塊。
- 如果挖到了新區塊,礦工就能獲得挖取新塊的獎勵和新區塊中的交易費用。
3、檢索礦工
- 檢索礦工通過響應使用者請求來提供使用者所檢索的資料來賺取代币。
- 和存儲礦工不同,他們不需要送出存儲資料,不需要生成存儲證明。
- 另外,存儲礦工可以同時作為檢索礦工參與到IPFS網絡中。
4、存儲礦工要取得收益,需要做以下的任務:
- 抵押:向區塊鍊抵押與聲明的存儲空間對應的代币
- 搶單:以合适的價格向系統提供存儲報價單
- 存儲證明:向系統證明自身已經存儲了資料
- 響應驗證:在其它人驗證的時候,給出驗證結果
5、檢索礦工要取得收益,需要做以下的任務:
- 記憶體:配置讀取速度足夠快的記憶體
- 帶寬:配置傳輸速度足夠高的帶寬
- 硬碟:配置讀取速度足夠高的硬碟
- 搶單:以合适的價格向系統提供檢索報價單
四、核心概念
1、複制證明(PoRep)
礦工從密封的硬碟裡随機取出一段資料,公開給網絡驗證,證明礦工還在存儲着這個檔案資料,并且這段資料是無法僞造的,而且是随時要能接受網絡的驗證挑戰,這個過程就叫複制證明。
2、時空證明(PoSt)
時空證明提出了證明鍊的資料結構,證明鍊把複制證明的挑戰過程記錄下來,這樣即使驗證者不線上,也可以在未來的某個時間内利用時空證明去驗證該礦工生成了證明鍊,時空證明會記錄在區塊鍊上。
3、預期共識(EC)
Filecoin的EC共識基于存儲證明(POC),存儲證明的大概原理是:用特定加密格式的資料填充硬碟(P盤),這些資料都是一小塊一小塊的,然後等待區塊鍊給出随機資料段,假如礦工P好的硬碟裡有這段資料,就可以參與新塊的挖掘并擷取獎勵;而Filecoin的EC共識機制是:礦工密封資料并送出到鍊(複制證明的過程),在經過一定的區塊數量之後完成時空證明,這樣一輪過程下來表明礦工存儲了有效的檔案,是以擁有了有效算力,當然存儲的檔案越多算力越高。這個算力值占全網的比例就是出塊的機率。
注:證明機制用來計算算力,共識機制就是用來決定出塊
五、挖礦流程
- 安裝挖礦軟體并運作;
- 建立節點并加入網絡,加入之後同步鍊資料、建立錢包位址;
- 挖礦需要質押FIL,需要購買或者借貸FIL給錢包位址打入;
- 挖礦正式開始:礦工擷取存儲訂單,資料密封(扇區封裝,耗時最長),生成複制證明,驗證資料,形成有效算力,獲得打包權,送出時空證明,獲得出塊獎勵;
- 算力越大的礦工,獲得區塊打包的權利或者機率越大,這是涉及兩個參數:赢票率和出塊率;赢票率就是獲得選票的機率,出塊率就是獲得區塊獎勵的機率。
- 而在上面的流程中,扇區封裝是一個不可忽略的因素。通過複制證明封裝扇區是整個流程中計算量相對龐大的過程,進而生成該扇區獨一無二的辨別碼。一旦資料被封裝,存儲礦工将生成證明,運作壓縮證明;
- 最後,将壓縮後的結果送出到區塊鍊,作為存儲承諾的證明。
用割麥子來比喻挖礦,可能會更加通俗易懂一些。
- 首先,大家所謂的礦機其實就是存儲叢集,就像我們用來裝麥子的袋子。沒有存儲資料的礦機是沒有什麼價值,就像沒有裝滿麥子的袋子也是沒有什麼價值的。
- 扇區封裝獲得算力的過程就像割麥子一樣。
- 我們用收割機來割麥子,就像我們通過搭建計算叢集來對資料進行計算封裝擷取算力。
- 收割好了麥子裝進袋子,就像将資料封裝進礦機的硬碟裡,然後将收割好的麥子拿去賣掉換錢的過程,就是參與區塊打包獲得區塊獎勵一樣。收割的麥子越多賣的錢越多,封裝的資料越多、算力越大,獲得的區塊獎勵也越多。
- 但是,如果你收割好的麥子沒有進行妥善儲存,麥子在倉庫裡被老鼠吃掉了、淋雨受潮變質甚至被偷掉了,你收割的麥子也會損失掉。而你封裝好資料的扇區如果不能完成挑戰送出時空證明,算力也會被扣罰。
- 與傳統的比特币挖礦原理不同的是,比特币挖礦的算力是恒定的,礦機接入網絡之後,每天的産币量就是一個恒定值。但Filecoin挖礦則不同,Filecoin挖礦的算力值根據封裝資料來定,這意味着它的算力是在不斷累積的。
六、出塊原理
1、礦工存儲資料
礦工存儲的資料,可以是有效的資料檔案,當沒有交易檔案時,就會用特定的加密資料(垃圾資料)填充硬碟,這個過程最耗時, 資料越多, 時間越長. 初期, 大家硬碟都是空的, 就比誰存的快,這個時候比的是"密封速度", 涉及軟體算法的優化. CPU,記憶體,以及硬碟的讀寫能力。
2、生成複制證明
密封完資料後就需要生成複制證明,以驗證密封的資料來源于客戶的源資料,如果在指定時間内(30s)完成,并廣播到全網,讓别人确認你這個出塊的有效,然後上鍊(形成時空證明);這個過程要用到GPU加速, 如果30秒内完不成, 就沒有算力。
3、廣播、上鍊
把複制證明發送到鍊,讓網絡驗證,證明一直存儲着有效的資料。
4、驗證時空證明
礦工必須每30分鐘左右,送出一次複制證明,證明資料還在。鍊上也會在每個出塊時間随機發出挑戰challenge,來驗證資料是否存在。 如果失敗, 則被扣除抵押币。
總結:密封(時間最長)->證明(30s内)->上鍊(毫秒級)
七、質押機制
Filecoin有三種不同的質押機制:前置質押、後置質押、市場質押:
- 前置質押:成為礦工的門檻,質押的數量和承諾提供的存儲容量(抵押的扇區)成正比,具體值可檢視用戶端,扇區到期後一次性釋放;
- 後置質押:指礦工通過挖礦得到的區塊獎勵,先釋放25%,剩餘部分180天線性釋放;
- 市場質押:指用戶端資料交易需要質押一定量的代币,以保證市場交易能夠正常進行。
*質押機制的對象主要是礦工,有助于維持Filecoin網絡的穩定,讓礦工不會輕易退網和及時修複故障。
八、硬體要求
硬體類型 | 硬體作用 | 選型要點 |
CPU | 更快的完成資料封裝 | 僅考慮CPU的單一方案下,具備Hash計算指令的AMD處理器相對更優 |
RAM | 封裝32G/64G固定大小扇區需要相應的RAM容量 | 扇區越大所需RAM越大 |
GPU | 在一定的時間内完成零知識證明 | Lotus網絡中隻支援N卡 |
硬碟 | 存儲檔案/區塊資料 | 需要穩定存儲,預留白間提供查詢服務,參與主網至少100TB容量 |
網絡 | 作用于機器封裝時與存儲礦工的通訊 | 10GbE+網卡和交換機 |
官方推薦最低硬體要求
- CPU:一個礦工需要8+ 核的 CPU,推薦支援Intel SHA Extensions的 CPU 型号
- 記憶體:至少需要128 GiB 的 RAM。這應該與非常快的 NVMe SSD存儲媒體上的 256 GiB 交換相輔相成
- GPU:有權威榜,其他需手動啟用GPU模型
- 磁盤:建議使用最少 1TiB 的基于 NVMe 的磁盤空間用于緩存存儲
九、釋放機制
Filecoin代币總量是20億枚,官方配置設定規則如下:
名詞 | 比例 | 數量 | 釋放機制 |
協定實驗室 | 15% | 3億枚 | 6年線性釋放 |
基金會 | 5% | 1億枚 | |
紅衫資本等投資者 | 10% | 2億枚 | 6個月、12個月、24個月、3年線性釋放 |
生态建構獎勵(礦工獎勵) | 70% | 14億枚 | 以每6年減半的方式線性釋放 |
*約平均每月釋放555.6萬枚
生态建構的70%獎勵又分為兩部分:15%由社群配置設定給予檢索、修複等類型礦工,即3億枚;55%給予存儲類礦工,即11億枚;
而存儲礦工的釋放規則其實又分為兩種:
簡單釋放 | 30% | 3.3億枚 | 6年減半方式 |
基線釋放 | 7.7億枚 |
*區塊獎勵180天線性釋放:區塊獎勵不是立刻釋放的,是分為25%立刻釋放和75%180天線性釋放。比如某日長币720枚,那當天可到手180枚,剩下的540枚被鎖定分成180份,每天一份,每份3枚。
九、實時資料截圖