IPFS是一個點對點的傳輸網路,每個檔案在這個網路上都有一個唯一的hash值。檔案定址只需要透過這個hash值就可以了。使用者將自己的儲存空間貢獻出來就可以成為礦工,獲取filecoin得到回報。儲存檔案的過程如下:
1、使用者發出訂單(用 filecoin出價,請求儲存檔案),系統撮合礦工和訂單,一旦撮合成功,進入第二步。
2、使用者傳送檔案給礦工,礦工收到檔案之後放到資料庫裡,進行加密,驗證之後放到鏈上。
3、礦工不斷以復製證明的方式和規則來證明他們在工作,客戶端支付的金額是分期付款進行的,隨著出塊,線性像前推進給礦工進行支付。
4、檔案索引:使用者請求檔案並支付filecoin到檢索市場之後,響應速度最快的礦工拿到這個檔案的分發權。
為了確保礦工誠實地工作並且能公平獲取代幣,在共識演算法上,IPFS使用的是復製量證明。這種共識能夠防範以下三種常見的攻擊方式:
1、女巫攻擊:利用n個身份,承諾儲存n份資料D,而實際上儲存小於n份(比如1份),但是卻提供了n份儲存證明。
2、外部資料來源攻擊:當攻擊者收到檢驗者要求提供資料D的證明的時候,攻擊者從別的礦工那裡生成證明,證明自己一直儲存了資料D,而實際上沒有儲存。
3、生成攻擊:攻擊者可以使用某種方式生成資料D,當檢驗者驗證的時候,攻擊者就可以重新生成資料D來完成儲存證明。
IPFS上挖礦主要需要做以下幾件事情:
1、檔案儲存。擁有儲存容量將在共識機制上扮演比較重要的角色,容量越大越好。
2、打包區塊
3、檔案檢索。當有使用者要求檢索檔案時,最快交付給使用者的礦工將獲取挖礦獎勵收益。
影響FIL挖礦的需要注意的因素:
(1)傳輸速度與伺服器需要不斷電執行
網速的快慢以及穩定性會影響資料的傳輸速度,而且伺服器需要24小時進行工作,如果在家裡挖礦的話,遇到突發停電的話,伺服器的所有資料都全部丟失,造成的後果可能就是抵押的代幣被系統給沒收,託管在機房的話,機房是採用的不間斷供電系統,也就不存在斷電問題 。
(2)伺服器需要24小時有人值守
如果託管礦機出現伺服器遭受攻擊資料丟失以及系統崩潰等問題,機房裡面將有專業的工程師進行處理。放在家裡的話,一旦資料丟失與系統造受到攻擊,自己會處理抵押的代幣也將會被沒收。
(3)伺服器保證網路連線
伺服器要保證來自全球訪問者的訪問速度,如果伺服器能即時響應這必須需要一個公網靜態IP地址。辦公室或家用寬頻一般都是動態IP。而且辦公室或家用頻寬都是經過N層ISP轉換,所以速度上無法保障全球各地都能正常訪問。
礦機選擇的主要考量因素:
(1)礦機的價效比
FIL需要能順暢執行官方挖礦軟體的礦機,才可以進行挖礦,且需要價效比高。
(2)礦機是選擇固態硬碟還是選擇機械硬碟
固態硬碟的讀取速度越快,但固態硬碟昂貴,採用固態硬碟過於的奢侈。前期最好還是採用機械硬碟進行儲存。
(3)伺服器所處的地理位置
FIL挖礦就好比滴滴打車,滴滴打車系統會根據乘車使用者的距離來選擇就近的司機去接送使用者進行分配任務。因此伺服器所處的地理位置最好選擇在一線城市,一線城市的資料和需求都較大。