一、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億枚 |
6年線性釋放 |
紅衫資本等投資者 |
10% |
2億枚 |
6個月、12個月、24個月、3年線性釋放 |
生態構建獎勵(礦工獎勵) |
70% |
14億枚 |
以每6年減半的方式線性釋放 |
*約平均每月釋放555.6萬枚
生態構建的70%獎勵又分為兩部分:15%由社區分配給予檢索、修復等類型礦工,即3億枚;55%給予存儲類礦工,即11億枚;
而存儲礦工的釋放規則其實又分為兩種:
名詞 |
比例 |
數量 |
釋放機制 |
簡單釋放 |
30% |
3.3億枚 |
6年減半方式 |
基線釋放 |
70% |
7.7億枚 |
6年線性釋放 |
*區塊獎勵180天線性釋放:區塊獎勵不是立刻釋放的,是分為25%立刻釋放和75%180天線性釋放。比如某日長幣720枚,那當天可到手180枚,剩下的540枚被鎖定分成180份,每天一份,每份3枚。
九、實時數據截圖
*截於2021/07/23,來源:https://filscan.io/