Filecoin使用存力挖礦,簡單來說礦工通過提供存儲來獲取收益。Filecoin用復制證明PoRep和時空證明PoSt來確保EC共識機制的運行。通過復制證明,礦工向系統證明確實存儲了用戶的數據,而通過時空證明,礦工向系統證明了在一段時間內用戶存儲的數據都在,如果沒有在周期內及時連續的提交時空證明或者提交的時空證明出錯,意味著用戶數據可能丟失,礦工會被系統懲罰(扣除抵押的Fil幣),因此對于Filecoin來說,礦機的維護非常重要。
礦工如何通過存儲獲得收益呢?如上圖所示,Filecoin目前主要有兩種角色的礦工:存儲礦工和檢索礦工(其他角色如維修礦工)。存儲礦工的主要收益一部分來自于存儲用戶支付給礦工的存儲收益,另一部分來自于區塊的爆塊收益。而檢索礦工的收益則來自于用戶的檢索需求訂單。同一礦工可以同時扮演兩個角色。
目前來說爆塊收益是存儲礦工的主要收益,而是否能獲取打包權,最基本的在于礦工的算力,算力在全網的總算力占比越大,獲得區塊獎勵的幾率越大。Filecoin使用EC預期共識作為共識機制來決定誰有出塊權,并獲得爆塊收益。簡單來說,通過礦工的有效存儲在全網的占比和Filecoin周期出區塊時的Ticket值比較,如果有效存儲率大于區塊Ticket值,就成為Leader,獲得區塊打包權。每個區塊只有一個Leader,而Filecoin每個區塊會有多個Leader,他們去共享爆塊的收益(也可能某些塊沒有Leader)。
不斷增長的算力
看來要想挖到更多的礦,需要讓自己的算力足夠大。在Filecoin中,算力為有效存力,是礦工真實完成的存儲任務,例如在sector size為32G時,礦工將扇區數據經過了密封,證明和鏈上驗證之后,算力就會增加32G。和固定的算力不同,Filecoin的算力是在不斷累積中的,算力增長越快,算力的占比越高,獲取區塊打包的概率和權利就越大。
有效存儲決定了算力,Filecoin是如何存儲用戶數據的呢?Filecoin基于IPFS存儲協議。IPFS是一個點對點的基于內容尋址的分布式版本文件系統,是致力于創建持久且分布式存儲和共享文件的網絡傳輸協議。和它相對應的是傳統互聯網的HTTP協議。
由于在IPFS網絡中文件要切片成不超過256K,因此在Filecoin扇區封裝形成算力的過程中,也需要切。在Filecoin扇區封裝的過程中,階段將這一堆文件數據切片“裝箱”,然后基于這些數據碎片的文件名和信息生成動態哈希表DHT,第三階段給“箱子”貼“標簽”,最后做零知識證明。這幾個階段就是Precommit1, Precommit2, Commit1和Commit2。
提升算力的增長速度
Filecoin扇區封裝效率越高,算力增長越快。在Filecoin挖礦的扇區封裝階段,P1和C1為CPU密集型,P2和C2為GPU密集型。CPU擅長處理復雜的計算,而GPU擅長邏輯簡單而量很大的計算,因此CPU用于P1和C1, GPU用于P2和C2. 同時,SHA256是Filecoin中使用最多的一種算法,支持SHA256的AMD運行效率要比Intel快很多。因此礦機需要高性能AMD服務器搭載GPU。
另一方面將計算和存儲分開,Filecoin集群部署區分Miner服務器,算力服務器和存儲服務器。
同時,將SSD與Filecoin結合。將SSD應用于數據封裝階段的緩存和存儲未密封的傳輸中扇區等,來加快數據封裝。DapuStor企業級NVMe SSD具有低延時、高性能、低功耗、超長耐用的特點,將其應用于Filecoin中,能大大提高數據封裝效率,助力算力增長。
LENZE X400 EZAEBK1001 PCCG32000
CM1600HH
TP2525
SKLB36BCC1200
H325DS
Kawasaki HMB030/P/21/PL40
P0960AW
PC32000
NG31200W
7874A59H01
Altivar 66 ATV66D79N4
HND312T32W
MXL36800G
GE TJL4V2605
Allen Bradley 150-A135NBD
MM-PMC240SC
AS42CM-T
MVC77U034A50-76
Altistart 46C25N
1771-ODC
Cutler Hammer V201KRCJ
JFF3M400
HND3800T33W
HLXD63S600AAFAF
Magnetek DS350
PC-W984-685
2D82302G01
IC697CPU-782
ITE SHMD69800ANT
2D82302G01
Ferraz Shawmut Amp Trap A4-BY4000
ITE CJD63L400
A072F1D0R0-9R
NEHB442ASP-N
Cutler Hammer MDL3800WKA1201S0101
IC697CMM711PX
HMXD63B800
LI36600
FDC3200
Square D PAF362000
ASP890
HMP231A2A0A2AA12A2A3B
1785-L40C15F
ITE CJ3B150
Dover Flexo TMV-U-RS48,tto,tls
Westinghouse LC3600
CJ600N
MDS3800
Westinghouse MC3800
LC36400
SGLB36BC0400
MC3800
Eddy Tach Current Board 040553
PJ800
IC600CB526N
MHL36800
CPU-113-03
Westinghouse LC3300
MHL3630025DC
LC36450
Westinghouse LC3400
LC3600F
LC3600F
LC3600F
LC3400F
HMDLB3800T33W
IC698PSA350C
MH36600
Allis Chalmers Fuses (lot of 5) 48FM3X-4
TH3221SS
LCFP550
LD3600
ITE CJD63L400
NWBP85-002
NWRR-85-001
LB3400
63230-210-100
Allen Bradley B-400N*3
CHS-110-00
LCMA-116
8793C15G01
CHS100-00
LH36250
LH36400
LXL36250
LXL36250
LXD63B500
KC34250
AS-S911-801
LXD63B600
C250E
Rosemount 1151 Smart
NWRR85001
MAL367006185
Westinghouse W200M5CFC
Siemens HF3625
2711-T5A8L1
Westinghouse LC3500
Westinghouse LC3400
JJ63B400
Square D MAP36800
KAL362251021
LB3400
2572A
CRP-932-00
LCMA-114-0-0-2
KD3400 Rebuilt and Calibrated
HKB3250
MA 250 Finger Cluster
HFD3225
LH36300
16252150111A03
HMCP400X5
XSM-010-00
S6HD
HLXD63S600AASAS
NSJ400N
TEL136070WL
KD3400K
AS-J890-102
HFD3150
KHL361501021
GE TEL136125WL
LAL26400
NWBM85
Westinghouse W210MLCFCY7
RMS810
887191BJ
44080-497-01
Foxboro Chart Recorder New C124-CS20
Allen Bradley 1771-IFE
AS-S908-120
NWBP85002
CRP93200
MAL36600
KC34225
TJL4V2601
Allen Bradley 1784-KTX
Square D GC Monitor
50006-364-01C
ASJ375-010
1771P7D
PCE984-685
NW-BM85-000
SGHA36AT0400
KH362001021
TEL136125WL
1785-L30B A
1785-L30B C