做SDS存儲(chǔ)的都知道,現(xiàn)在IPFS挖礦項(xiàng)目很多。雖然西瓜哥平時(shí)不太關(guān)心區(qū)塊鏈的東西,但I(xiàn)PFS挖礦,對(duì)存儲(chǔ)的需求很大,因此經(jīng)常有朋友和我探討關(guān)于IPFS存儲(chǔ)的選型問題。今天,我就轉(zhuǎn)發(fā)一篇業(yè)界人士寫的文章,供大家參考。
01
什么是 IPFS?
IPFS指星際文件系統(tǒng)(InterPlanetary File System)。IPFS 是一個(gè)分布式的Web,點(diǎn)到點(diǎn)超媒體協(xié)議??梢宰屛覀兊幕ヂ?lián)網(wǎng)速度更快,更加安全,并且更加開放。IPFS協(xié)議的目標(biāo)是取代傳統(tǒng)的互聯(lián)網(wǎng)協(xié)議HTTP。
02
IPFS 對(duì)存儲(chǔ)的要求
IPFS 引入 Filecoin 作為存儲(chǔ)之上激勵(lì)層,也就是 Filecoin 礦工存儲(chǔ)數(shù)據(jù)的同時(shí),會(huì)得到一部分 Fil 虛擬幣收益。Filecoin 與其他區(qū)塊鏈項(xiàng)目有相似之處但也有不同,不同點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:
1
質(zhì)押
Filecoin 礦工在進(jìn)行數(shù)據(jù)存儲(chǔ)之前,需要提交一定的質(zhì)押幣,因?yàn)樯婕暗綌?shù)據(jù)的完整性和安全性,所以官方對(duì)參與者設(shè)置了一定的門檻。如果出現(xiàn)錯(cuò)誤,如存儲(chǔ)系統(tǒng)無(wú)法訪問,或數(shù)據(jù)丟失等情況,則可能不僅拿不到收益,還會(huì)把質(zhì)押的 Fil 幣全部扣除。
2
時(shí)空證明
與其他區(qū)塊鏈項(xiàng)目不同的是,F(xiàn)ilecoin 使用 PoSt(時(shí)空證明)作為共識(shí)算法。顧名思義,時(shí)空證明主要目的是證明數(shù)據(jù)在一段時(shí)間內(nèi)占用存儲(chǔ)系統(tǒng)的一部分空間。
時(shí)空證明的生成過程中,需要訪問底層存儲(chǔ)系統(tǒng),所以存儲(chǔ)系統(tǒng)的性能和穩(wěn)定性就跟時(shí)空證明的正確性密切相關(guān)。如果 IPFS/Filecoin 參與者可以遵照規(guī)則提供穩(wěn)定的時(shí)空證明,則參與者所獲得收益也會(huì)隨著存儲(chǔ)數(shù)據(jù)量的增加而水漲船高。
3
懲罰機(jī)制
Filecoin 的懲罰機(jī)制比較復(fù)雜,同時(shí)也很嚴(yán)格,如果頻繁出現(xiàn)失誤,那就得不償失了。跟存儲(chǔ)相關(guān)的懲罰主要有下面幾種:
A、時(shí)空證明出錯(cuò)
時(shí)空證明出錯(cuò)包括很多種情況,常見的如已封裝的數(shù)據(jù)丟失或數(shù)據(jù)出錯(cuò),會(huì)導(dǎo)致時(shí)空證明出錯(cuò)。而出錯(cuò)將會(huì)導(dǎo)致罰幣。
B、未提交時(shí)空證明
如果 Filecoin 礦工不僅沒有在一個(gè)證明周期內(nèi)提交證明,而且延遲的時(shí)間甚至超過了生成攻擊閾值,則會(huì)被系統(tǒng)認(rèn)為證明沒有提交。
C、違背合作
如果由于存儲(chǔ)服務(wù)不可用,或存儲(chǔ)系統(tǒng)故障導(dǎo)致礦工未能按照合約在規(guī)定時(shí)間內(nèi)完整且安全的存儲(chǔ)用戶數(shù)據(jù),則用戶可以馬上報(bào)告給主網(wǎng)。在確認(rèn)情況屬實(shí)后,將會(huì)對(duì)礦工進(jìn)行處罰,扣除礦工的質(zhì)押幣和其后的挖礦收益。
03
IPFS后端存儲(chǔ)選擇
通過上面分析可以看出,IPFS 對(duì)數(shù)據(jù)存儲(chǔ)的安全性和完整性具有非常高的要求,所以怎么選擇存儲(chǔ),就變得非常重要。我們主要從三個(gè)維度來(lái)談 IPFS 對(duì)存儲(chǔ)方案的選擇。
對(duì)于傳統(tǒng) NAS 來(lái)說,元數(shù)據(jù)和數(shù)據(jù)使用本地存儲(chǔ),無(wú)法擴(kuò)展,不具備高可用,同時(shí)受限于存儲(chǔ)空間和性能,實(shí)際可保存的文件數(shù)有限,一般小于1億,存儲(chǔ)空間也為 TB 級(jí)別。分布式存儲(chǔ)系統(tǒng)中,數(shù)據(jù)采用分布式架構(gòu),可擴(kuò)展,具備高可用;一般情況下單命名空間中,文件數(shù)可支持百億,容量也支持百 PB 到 EB 級(jí)別。
在 IPFS 場(chǎng)景中,傳統(tǒng) NAS 會(huì)有一定的用武之地,但分布式存儲(chǔ)一定是趨勢(shì)。分布式系統(tǒng)帶來(lái)的高可用和容錯(cuò),是非常契合 IPFS 底層存儲(chǔ)需求的。
開源方案 or 企業(yè)級(jí)存儲(chǔ)
對(duì)于 IPFS 場(chǎng)景,動(dòng)輒幾十 PB 上百 PB 的存儲(chǔ)集群部署已經(jīng)是常態(tài)了,在這種情況下如何保證大規(guī)模存儲(chǔ)集群的數(shù)據(jù)安全和長(zhǎng)期穩(wěn)定運(yùn)行就是 Filecoin 參與者們要思考的問題了。
隨著數(shù)據(jù)量的持續(xù)不斷增加,只有保證存儲(chǔ)系統(tǒng)可以穩(wěn)定提供服務(wù)的前提下,才可能做到收益最大化。開源方案短期內(nèi)可能成本較低,但如果由于大規(guī)模下運(yùn)維能力不足,對(duì)核心 IO 邏輯或者一些數(shù)據(jù)安全特性理解不透徹,則可能造成投資血本無(wú)歸。所以長(zhǎng)期來(lái)看,選擇企業(yè)級(jí)存儲(chǔ)方案是更優(yōu)的選擇。
對(duì)象存儲(chǔ) or 文件系統(tǒng)
IPFS 的底層存儲(chǔ)類型選擇上,目前市場(chǎng)主要有兩種聲音:文件系統(tǒng) & 對(duì)象存儲(chǔ)。
文件系統(tǒng)是以目錄樹的結(jié)構(gòu)進(jìn)行組織,以文件為單位進(jìn)行存儲(chǔ)的。對(duì)象存儲(chǔ)則主要是以扁平化的結(jié)構(gòu)進(jìn)行組織,所有對(duì)象都平鋪在存儲(chǔ)桶中,與文件系統(tǒng)一個(gè)明顯的不同是對(duì)象存儲(chǔ)的接口協(xié)議是 S3(事實(shí)標(biāo)準(zhǔn)),而非 POSIX、NFS 等標(biāo)準(zhǔn)文件系統(tǒng)的訪問方式,這也導(dǎo)致大部分場(chǎng)景無(wú)法做到直接適配。
對(duì)于 IPFS 場(chǎng)景來(lái)說,選擇存儲(chǔ)類型應(yīng)該從以下幾個(gè)方面來(lái)考慮:
1、數(shù)據(jù)規(guī)模:Filecoin 本身主要存儲(chǔ) 32GB 大文件,所以需要存儲(chǔ)文件的數(shù)量非常少,對(duì)象存儲(chǔ)的海量小文件優(yōu)勢(shì)沒法發(fā)揮;
2、存儲(chǔ)結(jié)構(gòu):Filecoin 目錄結(jié)構(gòu)簡(jiǎn)單,實(shí)際只有1~2層目錄,對(duì)于文件系統(tǒng)來(lái)說基本上是扁平的存儲(chǔ)結(jié)構(gòu),對(duì)象存儲(chǔ)同樣沒有什么優(yōu)勢(shì);
3、應(yīng)用對(duì)接:Filecoin 原生使用文件系統(tǒng)接口訪問底層存儲(chǔ),如果使用文件存儲(chǔ)可以做到無(wú)縫對(duì)接。如果使用對(duì)象存儲(chǔ),則需要進(jìn)行 Filecoin 應(yīng)用代碼改造。這種情況下除了存儲(chǔ)產(chǎn)品,存儲(chǔ)廠商還需要提供持續(xù)的 Filecoin 社區(qū)的跟進(jìn)服務(wù),無(wú)論是應(yīng)用改造還是社區(qū)跟進(jìn),都需要投入大量的人力成本,這部分成本最終將轉(zhuǎn)嫁到整體方案成本中。
針對(duì)對(duì)象存儲(chǔ)應(yīng)用改造的部分,大致分為2塊:
1、對(duì)象存儲(chǔ)driver,這部分是指基于S3 SDK封裝的對(duì)象存儲(chǔ)客戶端,以及用S3 API 模擬合并讀等接口。
2,F(xiàn)ilecoin 代碼改造,這部分主要是指改lotus 相關(guān)代碼庫(kù),以讓lotus 支持新的對(duì)象存儲(chǔ)driver,包括合并讀等接口。
實(shí)際上 Filecoin 是一個(gè)非常典型的文件存儲(chǔ)場(chǎng)景,并且仍然屬于早期項(xiàng)目。項(xiàng)目本身還存在一些BUG和不穩(wěn)定,在這種情況下選用存儲(chǔ)廠商定制的 Filecoin 版本,并且跟隨社區(qū)主線代碼變更,如果碰到問題,無(wú)法確定是 Filecoin 問題還是存儲(chǔ)廠商問題。
綜上所述,這里比較建議選擇分布式文件存儲(chǔ)作為IPFS/Filecoin存儲(chǔ)系統(tǒng)。
后記
技術(shù)角度,西瓜哥一直覺得對(duì)象存儲(chǔ)是大趨勢(shì),可以替換很多分布式文件存儲(chǔ)的場(chǎng)景。但看了這篇文章,我也覺得針對(duì)IPFS的挖礦場(chǎng)景,對(duì)象存儲(chǔ)的優(yōu)勢(shì)沒有發(fā)揮出來(lái),反而分布式文件由于和社區(qū)代碼良好的兼容性,無(wú)需像對(duì)象存儲(chǔ)一樣,緊跟社區(qū)代碼不斷升級(jí)迭代存儲(chǔ)訪問接口,穩(wěn)定性和可運(yùn)維性更佳。
責(zé)任編輯:xj
原文標(biāo)題:為什么說IPFS挖礦應(yīng)該選擇分布式文件而不是對(duì)象存儲(chǔ)?
文章出處:【微信公眾號(hào):高端存儲(chǔ)知識(shí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
分布式
+關(guān)注
關(guān)注
1文章
895瀏覽量
74498 -
對(duì)象存儲(chǔ)
+關(guān)注
關(guān)注
0文章
68瀏覽量
11970 -
挖礦
+關(guān)注
關(guān)注
6文章
448瀏覽量
16051
原文標(biāo)題:為什么說IPFS挖礦應(yīng)該選擇分布式文件而不是對(duì)象存儲(chǔ)?
文章出處:【微信號(hào):High-end_Storage,微信公眾號(hào):高端存儲(chǔ)知識(shí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論