IPFS——它能取代HTTP協(xié)議?

互聯(lián)網(wǎng)是人類歷史上最重要、最具影響力的發(fā)明,在互聯(lián)網(wǎng)誕生之前,誰也不知道它能給世界帶來如此巨大的改變。足不出戶,我們可以接受來自全世界的訊息,即使是在移動行走的狀態(tài),也可以用我們的掌上“器官”隨時與其他人通訊。

但你有沒有想過,互聯(lián)網(wǎng)是怎么運行的,使得互聯(lián)網(wǎng)上信息自由流通呢?

Tim Berners-Lee的NeXT電腦是世界上第一臺Web服務(wù)器,但機(jī)器上有一個貼紙:“這臺機(jī)器是服務(wù)器,不要關(guān)閉”。

互聯(lián)網(wǎng)就是由數(shù)以萬計的服務(wù)器分布在全世界的各個角落,世界最大的芯片制造廠商 Intel 有大約10萬臺服務(wù)器,F(xiàn)acebook有3萬臺,美國最大的電話公司 AT&T 也有2萬臺,而 Google有超過100萬臺服務(wù)器!這個數(shù)字還是非??植赖摹?/p>

我們當(dāng)前的互聯(lián)網(wǎng)就是由這些巨頭公司的服務(wù)器所構(gòu)成的,這些服務(wù)器一直在機(jī)房運轉(zhuǎn)著,如果關(guān)閉服務(wù)器,你將無法訪問上面托管的內(nèi)容。

懂點計算機(jī)網(wǎng)絡(luò)原理的人都知道,互聯(lián)網(wǎng)的數(shù)據(jù)交互模式使用的是 B/S 和 C/S 模式,即 客戶-服務(wù)器,以及 瀏覽器-服務(wù)器 模式。

網(wǎng)絡(luò)數(shù)據(jù)是存儲在各大服務(wù)器上,即使這樣的服務(wù)器全世界非常多,多達(dá)千萬甚至上億個,但對于文件數(shù)據(jù)仍然是非常中心化的,因為你建的網(wǎng)站也只會放在一家公司的服務(wù)器上,你所產(chǎn)生的用戶數(shù)據(jù),也都是存在中心化的公司服務(wù)器上的。

一臺服務(wù)器可能要每天應(yīng)對百萬次來自各個客戶端和瀏覽器的訪問,如果遭遇類似美國安全局這樣的機(jī)構(gòu)的審查,只需要控制這些服務(wù)器提供商,就可以輕易掌握用戶數(shù)據(jù)。同樣,黑客只需要發(fā)動對服務(wù)器的攻擊,也有可能讓普通用戶無法訪問服務(wù)器,DDOS攻擊就是利用多臺計算機(jī)對服務(wù)器進(jìn)行大量的服務(wù)請求,占據(jù)服務(wù)器資源,導(dǎo)致正常用戶也無法訪問網(wǎng)站,出現(xiàn)我發(fā)經(jīng)??吹?02的情況。


現(xiàn)有的web協(xié)議——HTTP協(xié)議實際上已經(jīng)存在很多問題。我這里引用官網(wǎng)https://ipfs.io/的介紹:

  • HTTP效率低下,服務(wù)器成本昂貴

使用HTTP協(xié)議從一臺計算機(jī)服務(wù)器上一次只能下載一個文件,而不是同時從多臺計算機(jī)中獲取文件。通過P2P方式的視頻傳輸可以節(jié)省帶寬成本的60%。

  • 歷史文件被刪除

網(wǎng)頁的平均使用壽命為100天,大量的網(wǎng)站文件不能得以長期保存。有些重要的文件因操作不當(dāng),也有可能永遠(yuǎn)在互聯(lián)網(wǎng)消失。

  • 中心化的網(wǎng)絡(luò)限制了機(jī)會

互聯(lián)網(wǎng)一直是人類進(jìn)步的催化器,但中心化的網(wǎng)絡(luò)容易被控制,是對互聯(lián)網(wǎng)良性發(fā)展的的威脅。

  • 網(wǎng)絡(luò)應(yīng)用太依賴骨干網(wǎng)

為保證數(shù)據(jù)的可靠性,我們開發(fā)的應(yīng)用程序太依賴大型的中心服務(wù)器,并通過大量的備份來保證數(shù)據(jù)的安全。

HTTP協(xié)議已經(jīng)用了20年的歷史,從HTTP 1.0 到現(xiàn)在的HTTP5,網(wǎng)頁的展示越來越美觀豐富,但它背后的Browser/Server 模式是從來沒變的。

如果你關(guān)注區(qū)塊鏈的話,也許聽說過IPFS——星際文件系統(tǒng)。IPFS就是用來解決或者彌補HTTP的一系列弊端。

星際文件系統(tǒng)(InterPlanetary File System,縮寫IPFS)是一個旨在創(chuàng)建持久且分布式存儲和共享文件的網(wǎng)絡(luò)傳輸協(xié)議。它是一種內(nèi)容可尋址的對等超媒體分發(fā)協(xié)議。在IPFS網(wǎng)絡(luò)中的節(jié)點將構(gòu)成一個分布式文件系統(tǒng)。它是一個開放源代碼項目,自2014年開始由Protocol Labs (協(xié)議實驗室)在開源社區(qū)的幫助下發(fā)展。其最初由Juan Benet設(shè)計。

IPFS是點對點的超媒體協(xié)議,可以讓網(wǎng)絡(luò)更快、更安全、更開放。它是一個面向全球的、點對點的分布式版本文件系統(tǒng),試圖將所有具有相同文件系統(tǒng)的計算設(shè)備連接在一起。

IPFS可以從本質(zhì)上改變網(wǎng)絡(luò)數(shù)據(jù)的分發(fā)機(jī)制。

來看看IPFS的工作原理:

  • 每個文件及其中的所有塊都被賦予一個稱為加密散列的唯一指紋。

  • IPFS通過網(wǎng)絡(luò)刪除重復(fù)具有相同哈希值的文件,通過計算是可以判斷哪些文件是冗余重復(fù)的。并跟蹤每個文件的版本歷史記錄。

  • 每個網(wǎng)絡(luò)節(jié)點只存儲它感興趣的內(nèi)容,以及一些索引信息,有助于弄清楚誰在存儲什么。

  • 查找文件時,你通過文件的哈希值就可以在網(wǎng)絡(luò)查找到儲存改文件的節(jié)點,找到想要的文件。

  • 使用稱為IPNS(去中心化命名系統(tǒng)),每個文件都可以被協(xié)作命名為易讀的名字。通過搜索,就能很容易地找到想要查看的文件。
    從IPFS的介紹可以看出, IPFS設(shè)想的是讓所有的網(wǎng)絡(luò)終端節(jié)點不僅僅只充當(dāng) Browser或Client的角色,其實人人都可以作為這個網(wǎng)絡(luò)的運營者,人人都可以是服務(wù)器。


對比HTTP,IPFS具有這樣的一些特性:

  • 基于內(nèi)容尋址,而非基于域名尋址。文件(內(nèi)容)具有存在的唯一性,一個文件加入了IPFS的網(wǎng)絡(luò),將基于計算對內(nèi)容賦予一個唯一加密的哈希值。這將改變我們使用域名訪問網(wǎng)絡(luò)的習(xí)慣。

  • 提供文件的歷史版本控制器(如git),并且讓多節(jié)點使用保存不同版本的文件。

  • IPFS的網(wǎng)絡(luò)上運行著一條區(qū)塊鏈,即用來存儲互聯(lián)網(wǎng)文件的哈希值表,每次有網(wǎng)絡(luò)訪問,即要在鏈上查詢該內(nèi)容(文件)的地址。

  • 通過使用代幣(FileCoin)的激勵作用,讓各節(jié)點有動力去存儲數(shù)據(jù)。 Filecoin 是一個由加密貨幣驅(qū)動的存儲網(wǎng)絡(luò)。礦工通過為網(wǎng)絡(luò)提供開放的硬盤空間獲得Filecoin,而用戶則用 Filecoin 來支付在去中心化網(wǎng)絡(luò)中儲存加密文件的費用。


比如我想觀看一部叫ABC的視頻

1, 加入IPFS網(wǎng)絡(luò),在網(wǎng)絡(luò)中搜索叫ABC的文件,(通過IPNS——去中心化的文件命名系統(tǒng))

2, IPFS網(wǎng)絡(luò)迅速索引區(qū)塊鏈上的哈希值,反饋出搜索結(jié)果。

3, 你支付一點FileCoin代幣, 獲取ABC文件緩存到本地,ABC文件不是從云或者服務(wù)器上下載下來的,而是由這個網(wǎng)絡(luò)的參與者貢獻(xiàn)的,它可能是離你最近的一個網(wǎng)絡(luò)節(jié)點。這樣的好處就是不僅不需要中間服務(wù)器,而且網(wǎng)絡(luò)效率最快。

4, 如果ABC文件恰好你周邊好幾個人都有,那IPFS網(wǎng)絡(luò)會把這個文件拆成一小片一小片,節(jié)省了這些節(jié)點的儲存成本,也讓你用最具效率的方式下載到該視頻。

5, 這個視頻文件緩存在自己電腦里,不僅自己觀看,同時也為其他人提供資源。

6, 另外也可以自己發(fā)布新內(nèi)容到這個網(wǎng)絡(luò)上,并且有機(jī)會獲得FileCoin代幣,因為你也為網(wǎng)絡(luò)做了貢獻(xiàn)。

通過這樣的方式,實現(xiàn)了整個網(wǎng)絡(luò)的文件利用達(dá)到最優(yōu)效率

如果你對IPFS感興趣,又懂點編程的話,可以親自試一下,IPFS已經(jīng)有了Alpha版。

https://ipfs.io/docs/getting-started/


那說到這里,IPFS跟SC(Sia Coin)有什么不同?這個問題應(yīng)該比較好回答了。

  • SC是一條做去中心化的存儲的公鏈,通過代幣購買存儲空間,將文件備份在互聯(lián)網(wǎng)的多個節(jié)點上,提高文件的安全性。

  • IPFS是一個底層的互聯(lián)網(wǎng)協(xié)議,跟HTTP一樣做的是信息交換的事,實現(xiàn)的方法不同,IPFS實現(xiàn)的是互聯(lián)網(wǎng)上各個節(jié)點的文件讀取、分享、交換。

是不是有滿滿的顛覆的感覺!

IPFS 的設(shè)計思維非常有意思,它從互聯(lián)網(wǎng)的最底層——數(shù)據(jù),也就是文件,來思考問題,顛覆式創(chuàng)新經(jīng)常是從第一性原理出發(fā),找出事物的本質(zhì),從而重新設(shè)計該系統(tǒng)的架構(gòu)。

區(qū)塊鏈技術(shù)的出現(xiàn)讓分布式網(wǎng)絡(luò)的設(shè)計成為了可能。區(qū)塊鏈并不是萬能的,反而區(qū)塊鏈?zhǔn)且环N低效且昂貴的存儲數(shù)據(jù)的方式。IPFS的精妙之處是它把分布式賬本可以被放置于IPFS之上,這個分布式賬本只是記錄了網(wǎng)絡(luò)里各個文件的哈希值。

“如果你把它(分布式賬本)加到IPFS里,然后通過哈希算法把它錄入?yún)^(qū)塊里,那么你就可以通過IPFS直接在網(wǎng)上瀏覽交易以及文件。IPFS協(xié)議與區(qū)塊鏈技術(shù)結(jié)合是個“完美的婚姻”。” ------Benet(IPFS創(chuàng)始人)

IPFS協(xié)議讓網(wǎng)絡(luò)的自由和獨立精神充分發(fā)揮,并且成本低廉。 無論如何,去中心化的網(wǎng)絡(luò)與中心化的網(wǎng)絡(luò)并存無疑會是一種趨勢。

至于IPFS能否替代HTTP,個人認(rèn)為,少用“代替“一詞....

參考官網(wǎng)介紹: 鏈接:http://ipfs.io/
參考老虎,大碩文章;https://mp.weixin.qq.com/s/gGW_E1QpwSYDX0d7G-jErQ
參考大碩的知乎文章:https://zhuanlan.zhihu.com/p/27827410

我是蘇江,長期分享區(qū)塊鏈思考,歡迎加我微信與我交流:iamsujiang

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容