ipfs是什么?IPFS星際文件系統(tǒng)新手指南
這次讓我們來(lái)談?wù)勅ブ行幕瘍?chǔ)存的方式,IPFS代表星際文件系統(tǒng),它是一種開(kāi)源的,對(duì)等分布式超媒體協(xié)議,旨在充當(dāng)所有計(jì)算設(shè)備的普遍存在的文件系統(tǒng)。讓我們來(lái)看看這種方式有什么特點(diǎn)。
在講解IPFS 之前,讓我們先來(lái)復(fù)習(xí)一下幾個(gè)現(xiàn)有的文件傳輸協(xié)定,第一個(gè)是hyper text 也就是http 協(xié)議,這個(gè)協(xié)議本身是一個(gè)讓你可以去讀取網(wǎng)路上文件的協(xié)議,而讀出來(lái)你再用特定的方式來(lái)顯示他,這就是我們現(xiàn)在使用的web ,他依靠的是單一伺服器的內(nèi)容,所以當(dāng)伺服器掛了,你就無(wú)法讀取該網(wǎng)站的內(nèi)容,還有因?yàn)樗欧鞯牡鼐夑P(guān)系,很多時(shí)候你在很遠(yuǎn)的地方他讀取的速度是相對(duì)很慢的。
另外一個(gè)是所謂的BT ,這個(gè)協(xié)議就有點(diǎn)像我們現(xiàn)在講的IPFS ,他是一個(gè)共享的協(xié)議,當(dāng)你發(fā)出一個(gè)文件的請(qǐng)求,有很多文件的節(jié)點(diǎn)就會(huì)去貢獻(xiàn)他的文件,所以如果文件分享源離你很近的話,相對(duì)你拿到文件的速度是快的,而且當(dāng)越多人在分享一個(gè)文件,你能夠拿到文件的速度也會(huì)變快。
IPFS是什么
IPFS是一個(gè)分散式的文件儲(chǔ)存系統(tǒng),他將每一臺(tái)參與的電腦當(dāng)成一個(gè)節(jié)點(diǎn),儲(chǔ)存在這上面的文件會(huì)使用雜湊技術(shù)變成content identifier — CID來(lái)代表這個(gè)文件,然后將這些文件拆成一個(gè)個(gè)小的文件,儲(chǔ)藏在這個(gè)網(wǎng)路上的節(jié)點(diǎn)之上,當(dāng)用戶需要調(diào)閱這個(gè)文件的內(nèi)容時(shí),在使用P2P的方式去找到儲(chǔ)藏有這個(gè)部分文件的節(jié)點(diǎn),取出來(lái)進(jìn)行讀取。
IPFS如何工作?
基本上,IPFS與我們今天所知的萬(wàn)維網(wǎng)類似,但是更像是單個(gè)BitTorrent群,它們?cè)趩蝹€(gè)Git存儲(chǔ)庫(kù)中交換對(duì)象。
通過(guò)基于BitTorrent的協(xié)議分發(fā)文件。重要的是,IPFS是Kodemila,BitTorrent和Git的一種組合,可以創(chuàng)建Internet的分布式子系統(tǒng)。
協(xié)議的設(shè)計(jì)提供了與Git一樣的Internet歷史版本。每個(gè)文件及其中的所有塊均具有唯一的標(biāo)識(shí)符,該標(biāo)識(shí)符是加密哈希。跨網(wǎng)絡(luò)刪除重復(fù)項(xiàng),并跟蹤每個(gè)文件的版本歷史記錄。
這將導(dǎo)致永久可用的內(nèi)容,其中網(wǎng)頁(yè)不會(huì)由于服務(wù)器故障或Web主機(jī)損壞而消失。
此外,通過(guò)此機(jī)制可以保證內(nèi)容的真實(shí)性,并且在查找文件時(shí),您實(shí)際上是在要求網(wǎng)絡(luò)查找在與該內(nèi)容關(guān)聯(lián)的唯一標(biāo)識(shí)哈希后面存儲(chǔ)該內(nèi)容的節(jié)點(diǎn)。IPFS中節(jié)點(diǎn)之間的鏈接采用加密哈希的形式,由于其Merkle DAG數(shù)據(jù)架構(gòu),這是可能的。Merkle DAG對(duì)IPFS的好處包括:
內(nèi)容尋址–內(nèi)容具有唯一的標(biāo)識(shí)符,該標(biāo)識(shí)符是文件的加密哈希。
無(wú)重復(fù)-內(nèi)容相同的文件不能復(fù)制,只能存儲(chǔ)一次。
防篡改–使用校驗(yàn)和來(lái)驗(yàn)證數(shù)據(jù),因此,如果哈希發(fā)生變化,則IPFS將知道數(shù)據(jù)已被篡改。
IPFS使用Merkle鏈接將文件結(jié)構(gòu)彼此鏈接,并且每個(gè)文件都可以使用稱為IPNS的分散式命名系統(tǒng)通過(guò)人類可讀的名稱找到。Merkle有向無(wú)環(huán)圖(DAGS)的實(shí)現(xiàn)對(duì)于協(xié)議的基礎(chǔ)功能很重要,但是比本文的范圍更具技術(shù)性。
分散
在這網(wǎng)路上,每一個(gè)文件都有一個(gè)獨(dú)特的Content Identification,這個(gè)數(shù)字可以代表這個(gè)文件,讓我們?cè)趯ふ椅募臅r(shí)候不是因?yàn)檫@個(gè)文件在哪里,而是這個(gè)文件是什么。讓整個(gè)查找的邏輯相對(duì)會(huì)比較直接,然后這個(gè)主文件又可以拆成很多小文件,而這些小文件儲(chǔ)存在不同電腦里面,理論上,因?yàn)槊總€(gè)相同文件會(huì)有一樣的號(hào)碼,所以如果你的文件跟其他人是同一份,你們就可以共享這個(gè)內(nèi)容,也不會(huì)有冗余文件的問(wèn)題。
在軟體架構(gòu)上,跟其他的分散式儲(chǔ)存一樣,將整個(gè)文件分散成很多個(gè)部分,分散在不同部分去做儲(chǔ)存,是很常見(jiàn)的。因?yàn)楫?dāng)我們?cè)谔幚泶笮偷奈募臅r(shí)候,如果你不把它分散出來(lái),你可能會(huì)花很長(zhǎng)一段時(shí)間再將這個(gè)文件從硬碟讀出來(lái),而讀取硬碟其實(shí)是相當(dāng)慢的。首先,你必須將文件讀出來(lái)寫入在記憶體里面,才可以由記憶體去顯示出來(lái)。
反之,如果你將文件切割成很多的部分的時(shí)候,理論上你就可以平行的從不同電腦里面去讀取這個(gè)文件,此時(shí)就像是在一個(gè)車站一樣,當(dāng)旅客可以從不同出口進(jìn)出的時(shí)候,你就可以更快的將旅客疏散出來(lái)。例如,我們?cè)诳缒甑臅r(shí)候,我們可以看到,捷運(yùn)局會(huì)希望你可以從象山站,甚至永春站來(lái)進(jìn)出捷運(yùn),這都是一樣的道理,但如果大家都擠在市政府站,那么大家就要等很長(zhǎng)一段時(shí)間才能夠從101 疏散出來(lái)。
速度
因?yàn)榉稚⒌年P(guān)系,你可能會(huì)采用離你比較近的節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)可以更快的去存取你要的資料,在傳統(tǒng)的中心化架構(gòu)里面,如果你是在美國(guó)的機(jī)房,因?yàn)榫嚯x的關(guān)系,當(dāng)你必須要存取這個(gè)網(wǎng)頁(yè)的時(shí)候,你可能必須要花比較長(zhǎng)的時(shí)間來(lái)存取這個(gè)文件,所以我們有CDN 這個(gè)技術(shù),他就是希望你能夠針對(duì)內(nèi)容在比較近的機(jī)房,進(jìn)行內(nèi)容的存取,但現(xiàn)在這個(gè)分散的技術(shù),理想的狀況,假設(shè)很多人進(jìn)行分享的話,你可能可以從就近的電腦來(lái)存取別人分享的文件,這不就是最天然的CDN 嗎?
當(dāng)然,這只是一種假設(shè),實(shí)際上傳輸?shù)乃俣冗€會(huì)跟你鄰近的電腦他的網(wǎng)路頻寬,以及電腦的設(shè)備,然后還有演算法的執(zhí)行效率有關(guān),畢竟CDN 是專門用來(lái)存取內(nèi)容的, P2P 網(wǎng)路要在這方面占有優(yōu)勢(shì)其實(shí)還是挺難的,但如果cdn 也參與這部分的工作呢?畢竟,以往的經(jīng)驗(yàn)指出,大公司來(lái)染指這種open source的開(kāi)發(fā)也是蠻常見(jiàn)的。
隱密性
當(dāng)我們的文件散布在其他人的電腦的時(shí)候,我們會(huì)遇到一個(gè)問(wèn)題:那就是我們不想讓別人知道我們的文件內(nèi)容是什么?
現(xiàn)代人很注重隱私這件事情,那我們要如何把文件放在其他人的電腦里面,但又同時(shí)間不被對(duì)方所知道我們的資料呢?畢竟,我們是把我們的資料放在一個(gè)公開(kāi)的網(wǎng)路上。
我們可以透過(guò)加密的機(jī)制,他把你不想讓別人知道的訊息,使用私鑰去進(jìn)行加密,當(dāng)你有了這把私密的人,才能夠?qū)⑦@個(gè)內(nèi)容解鎖,也就能知道這個(gè)訊息里面的內(nèi)容。
結(jié)論:
儲(chǔ)存是一門相當(dāng)重要的工作,以現(xiàn)代的網(wǎng)路來(lái)說(shuō),幾乎你所用到的每一個(gè)網(wǎng)頁(yè)都需要儲(chǔ)存,包含文件、聲音、影片等。也就是說(shuō),你在使用網(wǎng)路的時(shí)候,你無(wú)時(shí)無(wú)刻都在跟儲(chǔ)存的伺服器打交道, IPFS 所希望能做的就是打造一個(gè)更好去取得這些文件的方式,他希望能夠讓這些文件少一些控制,多一些分享,但歷史上這樣的專案很多都無(wú)疾而終,畢竟太理想化了,但是這次區(qū)塊鏈的產(chǎn)業(yè),在這個(gè)以自愿分享的土壤中,加上了代幣的肥料,是不是能長(zhǎng)出不一樣的結(jié)果,讓我們繼續(xù)觀察下去。
以上就是ipfs是什么?IPFS星際文件系統(tǒng)指南的詳細(xì)內(nèi)容,更多關(guān)于ipfs百科知識(shí)分享的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
你可能感興趣的文章
-
IPFS/FIL挖礦防爆指南,IPFS/FIL挖礦需要主要哪些坑
這篇文章主要介紹了IPFS/FIL挖礦防爆指南,IPFS/FIL挖礦需要主要哪些坑,由于filecoin其收益的穩(wěn)定性和高回報(bào), FIL挖礦目前成為全網(wǎng)最火的區(qū)塊鏈項(xiàng)目,為了保護(hù)投資者不被…
2021-04-14 -
手把手教你搭建IPFS私有網(wǎng)絡(luò)與使用(附IPFS API參考文檔)
這篇文章主要介紹了手把手教你搭建IPFS私有網(wǎng)絡(luò)與使用,在聯(lián)盟鏈的場(chǎng)景下,IPFS 作為去中心化存儲(chǔ)的首選方案,本文將介紹如何使用 go-ipfs 搭建一個(gè)私有網(wǎng)絡(luò)并進(jìn)行簡(jiǎn)單使用…
2021-04-08 -
IPFS/Filecoin礦機(jī)是不是挖礦最主要的因素?
這篇文章主要介紹了IPFS/Filecoin礦機(jī)是不是挖礦最主要的因素?礦機(jī)不是挖礦的主要因素。并不是購(gòu)買了硬盤存儲(chǔ)越大的礦機(jī)就挖的多,想要挖的多,還需要通過(guò)在挖礦過(guò)程中不斷…
2021-04-06 -
預(yù)防IPFS/FIL挖礦中礦機(jī)廠商的各類陷阱
這篇文章主要介紹了預(yù)防IPFS/FIL挖礦中礦機(jī)廠商的各類陷阱,通過(guò)Filecoin挖礦的獲益方式,針對(duì)區(qū)塊打包這個(gè)獲取收益的方式,簡(jiǎn)要分析一下三種挖礦模式,及礦機(jī)存在風(fēng)險(xiǎn),來(lái)…
2021-04-01 -
IPFS到底是什么項(xiàng)目?IPFS項(xiàng)目是不是真的?如何分辨呢
這篇文章主要介紹了IPFS到底是什么項(xiàng)目?IPFS項(xiàng)目是不是真的?IPFS是一個(gè)互聯(lián)網(wǎng)的底層協(xié)議,類似HTTP協(xié)議,目前人們對(duì)于自己的隱 私問(wèn)題格外的注重,HPPT的弊端就日益的顯露出…
2021-04-01 -
IPFS/Filecoin挖礦 什么是IPFS/Filecoin集群挖礦
這篇文章主要介紹了什么是IPFS/Filecoin集群挖礦?隨著FIL的價(jià)格上漲,質(zhì)押和Gas的成本較大,全球芯片緊缺,IPFS礦機(jī)價(jià)格必定不斷增高,所以想入場(chǎng)礦業(yè)的朋友還需抓緊時(shí)間…
2021-04-01 -
IPFS/Filecoin的挖礦原理,挖礦流程及主要特點(diǎn)
這篇文章主要介紹了IPFS/Filecoin的挖礦原理,挖礦流程及主要特點(diǎn),今天我們就來(lái)捋一捋,F(xiàn)ilecoin的挖礦原理,什么是扇區(qū),什么是扇區(qū)封裝,封裝的意義又是什么。下面就跟隨…
2021-04-01 -
NFT教程:如何展示Flow和IPFS上的NFT收藏品
這篇文章主要介紹了NFT教程:如何展示Flow和IPFS上的NFT收藏品,我們將構(gòu)建一個(gè)簡(jiǎn)單的React應(yīng)用程序,該應(yīng)用程序與Flow智能合約交互,以驗(yàn)證和獲取用戶擁有的NFT。我們將解…
2021-03-18 -
用Flow和IPFS創(chuàng)建NFT的合約和鑄造代幣操作教程
這篇文章主要介紹了用Flow和IPFS創(chuàng)建NFT的合約和鑄造代幣操作教程,F(xiàn)low區(qū)塊鏈早期的主要應(yīng)用之一是NBA 巔峰對(duì)決(NBA Top Shot)。我們要重新建立一個(gè)非常基本的NFT鑄幣過(guò)…
2021-03-18