基于內(nèi)容尋址的分布式存儲(chǔ)系統(tǒng)IPFS你怎么看_第1頁(yè)
基于內(nèi)容尋址的分布式存儲(chǔ)系統(tǒng)IPFS你怎么看_第2頁(yè)
基于內(nèi)容尋址的分布式存儲(chǔ)系統(tǒng)IPFS你怎么看_第3頁(yè)
基于內(nèi)容尋址的分布式存儲(chǔ)系統(tǒng)IPFS你怎么看_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

-4-基于內(nèi)容尋址的分布式存儲(chǔ)系統(tǒng)IPFS,你怎么看?在傳統(tǒng)的Web中,用戶數(shù)據(jù)存儲(chǔ)在自己能夠完全掌握的集中式存儲(chǔ)服務(wù)器上。這種掌握力量,為他們供應(yīng)了在用戶不知情或未經(jīng)用戶同意的狀況下可能會(huì)濫用的高級(jí)特特權(quán)。在傳統(tǒng)的Web中,用戶數(shù)據(jù)存儲(chǔ)在自己能夠完全掌握的集中式存儲(chǔ)服務(wù)器上。這種掌握力量,為他們供應(yīng)了在用戶不知情或未經(jīng)用戶同意的狀況下可能會(huì)濫用的高級(jí)特特權(quán)。此外,集中存儲(chǔ)可能存在可用性問(wèn)題,尤其是假如數(shù)據(jù)僅存儲(chǔ)在一個(gè)位置時(shí),會(huì)因此產(chǎn)生單點(diǎn)故障。

Web上的文件存儲(chǔ)

web使用基于位置的尋址來(lái)存儲(chǔ)和檢索文件。假設(shè)我們想從域名訪問(wèn)一張關(guān)于貓的圖片cat.png。我們會(huì)先通過(guò)Web掃瞄器訪問(wèn)這個(gè)位置(如/cat.png),然后,我們將得到貓的圖片。但是,假如由于某種緣由,文件已經(jīng)從abc服務(wù)器上刪除,我們就無(wú)法再訪問(wèn)該圖片?,F(xiàn)在有一種可能性是,網(wǎng)上的其他人也有這只貓的照片,但是我們無(wú)法聯(lián)系到他們,也無(wú)法獵取這只貓的照片?;ヂ?lián)網(wǎng)上的很多文件都可能具有相同的名稱,但內(nèi)容可能不同。

IPFS解決方案

IPFS是一種用于文件存儲(chǔ)的對(duì)等網(wǎng)絡(luò)協(xié)議,采納的是基于內(nèi)容的尋址,而非基于位置。這意味著要查找文件,我們不需要知道它在哪里(/cat.png),而是它包含的內(nèi)容(QmSNssW5a9S3KVRCYMemjsTByrNNrtXFnxNYLfmDr9Vaan)由內(nèi)容的哈希進(jìn)行表示。

哈希函數(shù)為每個(gè)文件創(chuàng)建唯一的"指紋'。因此,假如我們想要檢索一個(gè)文件,只需詢問(wèn)網(wǎng)絡(luò)"誰(shuí)擁有這個(gè)文件(QmSNssW5a9S3KV)',然后來(lái)自IPFS網(wǎng)絡(luò)的某個(gè)擁有該文件的人將供應(yīng)給我們。我們可以通過(guò)將懇求的哈希值與接收到的哈希值進(jìn)行比較來(lái)驗(yàn)證文件的完整性,假如哈希值匹配,則可知該文件沒(méi)有被更改。這個(gè)哈希函數(shù)還可以關(guān)心消退網(wǎng)絡(luò)的重復(fù),這樣具有相同內(nèi)容的文件就無(wú)需提交兩次,由于相同的內(nèi)容會(huì)產(chǎn)生相同的哈希。這優(yōu)化了存儲(chǔ)需求,也提高了網(wǎng)絡(luò)的性能。

IPFS如何存儲(chǔ)文件

文件存儲(chǔ)被為IPFS對(duì)象,后者是一種數(shù)據(jù)結(jié)構(gòu),包括:

數(shù)據(jù)(Data)一個(gè)二進(jìn)制大對(duì)象(BLOB),可以存儲(chǔ)高達(dá)256KB。

鏈接(Links)鏈接IPFS對(duì)象的一個(gè)數(shù)組。

假如我們的文件大于256KB,那么它將被拆分并存儲(chǔ)在多個(gè)IPFS對(duì)象中,然后創(chuàng)建一個(gè)空對(duì)象,鏈接文件的全部其他對(duì)象。如下圖所示:

IPFS數(shù)據(jù)對(duì)象

IPFS作為一種不行變的存儲(chǔ)方式工作,一旦某個(gè)東西被添加到網(wǎng)絡(luò)中,它就不能被更改,由于更改文件將更改哈希。那么我們?nèi)绾胃挛募?為此,IPFS使用了版本掌握系統(tǒng),該系統(tǒng)特殊是在開(kāi)源社區(qū)中被廣泛使用,被稱為Git。IPFS具有"提交對(duì)象',這有助于跟蹤文件創(chuàng)建以來(lái)的全部版本。每當(dāng)我們?cè)贗PFS網(wǎng)絡(luò)上添加一個(gè)文件時(shí),都會(huì)為該文件創(chuàng)建一個(gè)提交對(duì)象,當(dāng)我們更新該文件時(shí),會(huì)創(chuàng)建一個(gè)新的提交對(duì)象,該對(duì)象指向該文件的舊提交對(duì)象,如下圖所示:

IPFS提交對(duì)象

我的文件永久存在于網(wǎng)絡(luò)上嗎?

只有重要的文件保存在網(wǎng)絡(luò)上,不重要的文件會(huì)被垃圾回收器刪除,其中文件的重要性由"Pinning'打算。通過(guò)Pinning一個(gè)文件,我們將該文件標(biāo)記為一個(gè)重要的文件,這樣不重要的文件只會(huì)被作為臨時(shí)緩存,而該文件將持續(xù)存在。

IPFS的問(wèn)題

現(xiàn)在,我們需要講講IPFS的相關(guān)挑戰(zhàn)。IPFS最大的問(wèn)題之一是保持文件可用,IPFS具備長(zhǎng)久性,但無(wú)法保證持續(xù)性。也就是說(shuō),假如Alice上傳了一個(gè)文件,讓Bob來(lái)訪問(wèn)該文件;當(dāng)Alice離線時(shí),在垃圾收集器沒(méi)有刪除它時(shí),Bob才可能連續(xù)訪問(wèn)它。另一方面,假如Bob已經(jīng)Pinning了該文件,那么即使Alice的節(jié)點(diǎn)離線了,它也仍舊可以訪問(wèn)。因此,Pinning是一個(gè)主要問(wèn)題。目前有很多的公共Pinning服務(wù),獲得持續(xù)性是要付出肯定代價(jià)的。

另一個(gè)限制是文件的實(shí)際共享。你必需通過(guò)傳統(tǒng)的通信機(jī)制(例如即時(shí)消息、電子郵件、Skype、Slack等)與網(wǎng)絡(luò)上的其他人共享文件鏈接(內(nèi)容地址

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論