2020年分布式存儲(chǔ)以其獨(dú)特的姿態(tài)涌入我們的視野之中,可是我們好像從來沒有思考過,究竟什么是分布式存儲(chǔ)?而我們?yōu)槭裁葱枰植际酱鎯?chǔ)?
實(shí)際上采用分布式存儲(chǔ)可以說是“被迫”的,因?yàn)槊鎸?duì)越發(fā)飛速發(fā)展的互聯(lián)網(wǎng)、整個(gè)生態(tài)應(yīng)用不斷創(chuàng)新、用戶數(shù)量不斷龐大、數(shù)據(jù)階梯式增長這些無疑不給現(xiàn)有的本地存儲(chǔ)帶來巨大的壓力。因此,必須通過采用其他分布式存儲(chǔ)系統(tǒng)去緩解相應(yīng)的壓力,所以分布式存儲(chǔ)和分布式文件系統(tǒng)應(yīng)運(yùn)而生。
今天我們這篇文章將對(duì)于分布式存儲(chǔ)進(jìn)行介紹,并對(duì)filecoin進(jìn)行深入研究。
01?定義
分布式存儲(chǔ)系統(tǒng),是將數(shù)據(jù)分散存儲(chǔ)在多臺(tái)獨(dú)立的設(shè)備上。傳統(tǒng)的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)采用集中的存儲(chǔ)服務(wù)器存放所有數(shù)據(jù),存儲(chǔ)服務(wù)器成為系統(tǒng)性能的瓶頸,也是可靠性和安全性的焦點(diǎn),不能滿足大規(guī)模存儲(chǔ)應(yīng)用的需要。分布式網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器分擔(dān)存儲(chǔ)負(fù)荷,利用位置服務(wù)器定位存儲(chǔ)信息,它不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展。
02?分布式存儲(chǔ)簡介
現(xiàn)代計(jì)算處于高度集中的階段,在過去的十年時(shí)間中,一些大型存儲(chǔ)公司通過將傳統(tǒng)計(jì)算機(jī)系統(tǒng)劃分云存儲(chǔ)產(chǎn)品獲得了巨大的財(cái)富。這側(cè)面反映了現(xiàn)代化網(wǎng)絡(luò)中心化集中的現(xiàn)象——如果其中一個(gè)供應(yīng)商發(fā)生問題時(shí),便會(huì)衍生成重大的互聯(lián)網(wǎng)事件。比如:2017年amazon網(wǎng)絡(luò)突然中斷;2020年6月github長時(shí)間中斷;2020年10月microsoft多周云服務(wù)出現(xiàn)問題等等。
而我們托管在這些服務(wù)上的內(nèi)容也值得我們擔(dān)心,它們被隱藏在經(jīng)常斷開的脆弱鏈接之后面,這對(duì)我們構(gòu)建的計(jì)算機(jī)系統(tǒng)以及越來越依賴它們的社會(huì)具有深遠(yuǎn)的影響。集中式架構(gòu)之所以成功,部分原因在于它們易于構(gòu)建。為了阻止合并,開發(fā)人員需要組成的基礎(chǔ)構(gòu)建區(qū)塊。分布式存儲(chǔ)就是這樣的基石,是分布式web的前提。
03?分布式存儲(chǔ)的基本特征
1.彈性
現(xiàn)代互聯(lián)網(wǎng)非常脆弱。如今,web內(nèi)容隱藏在url后面,每個(gè)url在任何給定時(shí)刻都屬于一臺(tái)確定的服務(wù)器,一旦供應(yīng)商出于原因中斷網(wǎng)絡(luò)連接,其指向的內(nèi)容將不可訪問。集中化會(huì)增加這種影響,造成單一節(jié)點(diǎn)故障并為審查提供方便。結(jié)果,在當(dāng)今的互聯(lián)網(wǎng)中,普遍存在著互聯(lián)網(wǎng)鏈接失效的現(xiàn)象,就好像當(dāng)一個(gè)鏈接斷開或永久不可用,國家級(jí)審查和分布式拒絕服務(wù)攻擊破壞可以訪問任何文件。
在理想的分散系統(tǒng)中,運(yùn)營商的損失不應(yīng)阻止用戶對(duì)先前存儲(chǔ)和服務(wù)的內(nèi)容的訪問。通過將責(zé)任分散到網(wǎng)絡(luò)的許多節(jié)點(diǎn)上,分散式系統(tǒng)還可以自然地抵抗審查制度和其他拒絕服務(wù)的嘗試,因?yàn)闆]有集中的目標(biāo)可以使攻擊者大量獲取資源。
集中存儲(chǔ)系統(tǒng)易于受到審查的影響,一個(gè)典型的案例是當(dāng)西班牙的17個(gè)自治社區(qū)之一的加泰羅尼亞,舉行獨(dú)立公投時(shí),反對(duì)獨(dú)立計(jì)劃的西班牙政府封鎖了擁有isp級(jí)別投票信息的網(wǎng)站,通過切斷這些關(guān)鍵的鏈接,政府有效地阻止了許多個(gè)人訪問這些信息。
然而,許多網(wǎng)站也使用對(duì)等存儲(chǔ)網(wǎng)絡(luò)星際文件系統(tǒng)(ipfs)進(jìn)行了鏡像。任何運(yùn)行ipfs節(jié)點(diǎn)的人都可以從網(wǎng)絡(luò)上的其他節(jié)點(diǎn)下載經(jīng)過審查的信息,并開始自己分享。ipfs的分散化本質(zhì)與西班牙政府阻止訪問這些文件的企圖背道而馳——只要一個(gè)節(jié)點(diǎn)被封鎖,另一個(gè)節(jié)點(diǎn)就可以輕易地取代它。通常,分布式存儲(chǔ)系統(tǒng)使網(wǎng)絡(luò)級(jí)阻塞變得更加困難。
2.效率
所有計(jì)算系統(tǒng)體系結(jié)構(gòu)都有其優(yōu)點(diǎn)和缺點(diǎn),并且沒有單一的解決方案適合所有可能的用例。不幸的是,現(xiàn)代網(wǎng)絡(luò)對(duì)集中化的重視沒有什么不同。如今,全球少數(shù)城市中的一些集中式數(shù)據(jù)中心存儲(chǔ)的內(nèi)容最多。例如,如果同一網(wǎng)絡(luò)上的兩個(gè)用戶希望彼此發(fā)送消息,這些消息通常將發(fā)送到其中一個(gè)數(shù)據(jù)中心;如果100個(gè)用戶在一個(gè)房間里用他們的設(shè)備觀看同一段視頻,他們每個(gè)人都會(huì)訪問一個(gè)中央服務(wù)器并下載100份副本,而不是下載一份副本并在本地網(wǎng)絡(luò)上共享它。
最簡單的說法是:分布式存儲(chǔ)使得共享文件變得更容易,而不需要在互聯(lián)網(wǎng)上向特定的幾個(gè)數(shù)據(jù)中心發(fā)送請(qǐng)求。取而代之的是,節(jié)點(diǎn)之間通過盡可能少的中間人建立連接。例如,連接到其他國家的節(jié)點(diǎn)仍然需要幾次跳轉(zhuǎn),但是同一網(wǎng)絡(luò)上的節(jié)點(diǎn)可以直接共享文件。分布式存儲(chǔ)的最終目標(biāo)是建立眾多的節(jié)點(diǎn),從而使每個(gè)人都可以通過本地對(duì)等的節(jié)點(diǎn)來獲取信息。
分布式存儲(chǔ)解決方案可以將基本的新效率引入此類活動(dòng)。通過繞過數(shù)據(jù)中心,分布式系統(tǒng)可以使節(jié)點(diǎn)放置在比現(xiàn)代內(nèi)容分發(fā)網(wǎng)絡(luò)更接近終端用戶的地方,甚至比現(xiàn)代內(nèi)容交付網(wǎng)絡(luò)都更靠近最終用戶,從而大大加快了文件檢索速度。通過本地網(wǎng)絡(luò)進(jìn)行點(diǎn)對(duì)點(diǎn)文件共享還可以節(jié)省帶寬,特別是在對(duì)更廣泛的互聯(lián)網(wǎng)訪問有限的地區(qū)。
04?分布式存儲(chǔ)的理想特性
盡管彈性和效率是分布式存儲(chǔ)的標(biāo)志,但理想的存儲(chǔ)系統(tǒng)可能還具有許多其他特征:
1.可訪問
理想的分布式系統(tǒng)應(yīng)該是可訪問的。參與網(wǎng)絡(luò)應(yīng)該很容易,允許盡可能多的節(jié)點(diǎn)代表網(wǎng)絡(luò)存儲(chǔ)和分發(fā)文件。
如果您正在閱讀本文并想知道:我可以是一個(gè)節(jié)點(diǎn)嗎?答案是:視情況而定。借助filecoin,任何相對(duì)精通技術(shù)的人都應(yīng)該能夠運(yùn)行客戶端節(jié)點(diǎn)以與網(wǎng)絡(luò)進(jìn)行交互。至于運(yùn)行存儲(chǔ)礦工節(jié)點(diǎn),并不是所有人都能做的,因?yàn)槟枰哂袧M足特定規(guī)格的硬件。
對(duì)于ipfs,節(jié)點(diǎn)的硬件要求較低,這意味著有可能有更多的用戶通過運(yùn)行節(jié)點(diǎn),或許通過運(yùn)行內(nèi)置的web瀏覽器,對(duì)網(wǎng)絡(luò)做出貢獻(xiàn)。云服務(wù)提供商使廉價(jià),可靠的存儲(chǔ)比以往任何時(shí)候都更容易使用。它們成功的一個(gè)主要方面是能夠通過api通過代碼配置和管理存儲(chǔ)的能力。任何競爭性系統(tǒng)都應(yīng)該能夠提供相同級(jí)別的便利。
2.內(nèi)容尋址
如前所述,url體現(xiàn)了一些內(nèi)在的設(shè)計(jì)折衷。它們描述的是數(shù)據(jù)的位置,而不是數(shù)據(jù)的內(nèi)容。為了解釋集中式系統(tǒng)是如何使查找數(shù)據(jù)變得困難的——假設(shè)您想下載一只毛茸茸的小貓的照片。考慮以下兩個(gè)url:
https://example1.com/cat.jpeg
https://example2.com/cat.jpeg
這些url都引用了一個(gè)名為cat.jpeg的文件,但不能保證這兩個(gè)文件相同。如果example1.com離線,則無法確定example2.com是否滿足您的需求-cat.jpeg可能完全不同。事實(shí)上,它甚至可能是一張狗的照片!url和它引用的內(nèi)容之間沒有固有的關(guān)系。
因此,你沒有辦法問今天的互聯(lián)網(wǎng),“有人有這個(gè)文件嗎?”因?yàn)槌怂奈恢弥猓銓?duì)文件一無所知。
當(dāng)您使用url共享文件時(shí),可能會(huì)出現(xiàn)問題。服務(wù)器可能會(huì)從該url開始提供不同的文件,或者有人會(huì)執(zhí)行中間人攻擊并修改文件(奇怪的是,這種攻擊并不少見)。很難確認(rèn)訪問url的每個(gè)人都收到了他們想要的文件。
相比之下,內(nèi)容尋址基于內(nèi)容標(biāo)識(shí)符(cids)查找文件,cids作為文件的數(shù)字指紋。用這種方式尋址文件解決了位置尋址的問題。當(dāng)客戶端需要一個(gè)文件時(shí),他們向網(wǎng)絡(luò)中的節(jié)點(diǎn)詢問具有特定cid的文件,而不是向一個(gè)服務(wù)器詢問url。客戶端下載文件后,便會(huì)自己對(duì)其進(jìn)行指紋識(shí)別。
回顧我們前面的例子,就好像所有網(wǎng)站都對(duì)輸入cat.jpeg時(shí)要交付的文件有共同的理解。因此,雖然不能保證任何節(jié)點(diǎn)都具有特定的cat.jpeg,但這些節(jié)點(diǎn)將檢查該文件的指紋以嘗試找到匹配項(xiàng)。
盡管像指紋識(shí)別這樣的步驟需要比普通人要多的技術(shù)知識(shí),但filecoin和ipfs客戶可以輕松地使此過程自動(dòng)化。這樣一來,客戶就可以保證他們已收到所需的文件-在此系統(tǒng)中,查找數(shù)據(jù)的備用提供者很簡單。
主要要點(diǎn):cids意味著您可以找到集中式系統(tǒng)中可能丟失的內(nèi)容,cids還可以防止中間人攻擊或服務(wù)器在特定url處突然更改文件。
3.獨(dú)立性
無信任系統(tǒng)允許雙方進(jìn)行合作,而不需要了解對(duì)方或?qū)で蟮谌健KJ(rèn)為,系統(tǒng)的激勵(lì)促使參與者朝著網(wǎng)絡(luò)運(yùn)行所必需的行為前進(jìn)。
4.可驗(yàn)證
理想的存儲(chǔ)系統(tǒng)應(yīng)該能夠輕松地持續(xù)證明節(jié)點(diǎn)正在存儲(chǔ)它們所承諾的精確數(shù)據(jù)。這種類型的可審核性是實(shí)現(xiàn)不信任的關(guān)鍵。如果您總是能夠確定數(shù)據(jù)被正確地存儲(chǔ),那么您就不太需要信任提供存儲(chǔ)的一方。
5.開放性
最后,理想的分布式存儲(chǔ)系統(tǒng)是開放的:它的代碼是開放源代碼的,并且是可審計(jì)的。此外,存儲(chǔ)系統(tǒng)不應(yīng)該是單塊的。相反,它應(yīng)該公開一個(gè)任何人都可以實(shí)現(xiàn)和構(gòu)建的開放協(xié)議,而不是鼓勵(lì)鎖定。
05?filecoin如何體現(xiàn)這些特征
filecoin項(xiàng)目是一個(gè)分布式存儲(chǔ)系統(tǒng),旨在滿足這些特性。在2014年的描述中,filecoin協(xié)議最初是作為一個(gè)激勵(lì)層開發(fā)的星際文件系統(tǒng)(ipfs),一個(gè)對(duì)等存儲(chǔ)網(wǎng)絡(luò)。與ipfs一樣,filecoin是一種開放協(xié)議,它基于其較早版本的屬性,利用相同的底層對(duì)等和內(nèi)容尋址功能。
filecoin節(jié)點(diǎn)網(wǎng)絡(luò)為文件的檢索和存儲(chǔ)提供了一個(gè)分散的存儲(chǔ)市場。這個(gè)網(wǎng)絡(luò)是由一個(gè)新的區(qū)塊鏈支持的,它記錄了網(wǎng)絡(luò)參與者所做的承諾。用戶使用區(qū)塊鏈的加密貨幣fil在網(wǎng)絡(luò)上進(jìn)行交易。
1.檢索市場
在檢索市場上,被稱為檢索礦工的節(jié)點(diǎn)競爭將文件盡快提供給客戶端。檢索礦工通過少量的fil費(fèi)用獲得獎(jiǎng)勵(lì)。這使得位于關(guān)鍵位置的節(jié)點(diǎn)有了加入網(wǎng)絡(luò)的動(dòng)機(jī),并促進(jìn)了文件的快速分發(fā)。它還鼓勵(lì)建立一個(gè)穩(wěn)健的網(wǎng)絡(luò)來復(fù)制和保存急需的文件。
2.存儲(chǔ)市場
在filecoin的存儲(chǔ)市場中,被稱為存儲(chǔ)礦工的節(jié)點(diǎn)被授權(quán)在各種特性上競爭,比如價(jià)格和位置,為客戶提供指定時(shí)間內(nèi)的文件托管合同。存儲(chǔ)礦工在接受合同前,必須先進(jìn)行抵押fil;如果存儲(chǔ)礦工未能履行其對(duì)客戶的義務(wù),則此功能可用于自動(dòng)向客戶償還費(fèi)用。
當(dāng)存儲(chǔ)礦工和他們的客戶達(dá)成協(xié)議時(shí),客戶將他們的數(shù)據(jù)傳輸給存儲(chǔ)礦工。存儲(chǔ)礦工將其數(shù)據(jù)添加到一個(gè)扇區(qū),扇區(qū)是filecoin中存儲(chǔ)的基本單位。然后礦工執(zhí)行計(jì)算密集型操作(稱為封裝),以創(chuàng)建該扇區(qū)數(shù)據(jù)的唯一副本。
如果客戶希望存儲(chǔ)其數(shù)據(jù)的多個(gè)唯一副本,那么封裝過程將確保每個(gè)副本都具有惟一的指紋,而獲取該指紋所需的計(jì)算量將防止節(jié)點(diǎn)從基礎(chǔ)數(shù)據(jù)重新生成指紋,從而避免作弊。數(shù)據(jù)最終用于向filecoin區(qū)塊鏈發(fā)布復(fù)制證明。
在存儲(chǔ)交易期間,需要定期要求存儲(chǔ)礦工向區(qū)塊鏈提交時(shí)空證明。礦工使用隨機(jī)性(由區(qū)塊鏈本身提供),密封扇區(qū)和發(fā)布到區(qū)塊鏈的復(fù)制證明來獲得這些證明。這些證據(jù)為客戶端提供了一個(gè)強(qiáng)有力的概率論證,即存儲(chǔ)礦工擁有完整,唯一的數(shù)據(jù)副本。這是一個(gè)非常有力的保證-甚至是現(xiàn)代云存儲(chǔ)提供商也無法提供其客戶。
客戶通過支付fil作為交易費(fèi)來獎(jiǎng)勵(lì)filecoin存儲(chǔ)礦工。還為存儲(chǔ)礦工提供了為區(qū)塊鏈挖掘區(qū)塊的機(jī)會(huì),這既需要fil獎(jiǎng)勵(lì),也可以向希望在開采塊中包含消息的其他人收取交易費(fèi)用。filecoin的證明系統(tǒng)意味著礦工需要一些額外的硬件,但對(duì)于技術(shù)熟練的個(gè)人來說,要求仍然很低。作為客戶端參與網(wǎng)絡(luò)的硬件要求是適當(dāng)?shù)模琭ilecoin節(jié)點(diǎn)還公開了一個(gè)用于與網(wǎng)絡(luò)進(jìn)行編程交互的api,允許第三方服務(wù)在核心網(wǎng)絡(luò)功能之上構(gòu)建。
06?結(jié)論
分布式存儲(chǔ)提供了一種與傳統(tǒng)的集中式存儲(chǔ)相對(duì)應(yīng)的強(qiáng)有力的選擇。它為開發(fā)人員提供了探索設(shè)計(jì)計(jì)算空間的機(jī)會(huì),從而強(qiáng)調(diào)了內(nèi)容存儲(chǔ)和交付的穩(wěn)定性和效率。filecoin表明,通過分布式存儲(chǔ)可以不僅可以讓數(shù)據(jù)更加安全;也可以讓web3.0網(wǎng)絡(luò)為更多人使用。
來源:ipfs.cn(ipfs搬運(yùn)工)
美國香港便宜云服務(wù)器云服務(wù)器必須買到阿里云服務(wù)器網(wǎng)站搭設(shè)注意事項(xiàng)騰訊云低價(jià)購買云服務(wù)器活動(dòng)昆明云存儲(chǔ)服務(wù)器價(jià)格國內(nèi)有哪些域名商在電腦上如何制作表格 電腦制作表格的步驟教程比較好的域名多少錢