一藏否、IPFS概覽
1 什么是IPFS
星際文件系統(tǒng)(InterPlanetary File System)。?IPFS 是一個(gè)分布式的web概荷,?點(diǎn)到點(diǎn)超媒體協(xié)議秕岛。 可以讓我們的互聯(lián)網(wǎng)速度更快碌燕, 更加安全误证, 并且更加開放。
2 為什么有IPFS
眾所周知修壕, 互聯(lián)網(wǎng)是建立在HTTP協(xié)議上的愈捅。 HTTP協(xié)議是個(gè)偉大的發(fā)明, 讓我們的互聯(lián)網(wǎng)得以快速發(fā)展慈鸠。但是互聯(lián)網(wǎng)發(fā)展到了今天HTTP逐漸出來(lái)了不足蓝谨。?
HTTP的中心化是低效的, 并且成本很高青团。
使用HTTP協(xié)議每次需要從中心化的服務(wù)器下載完整的文件(網(wǎng)頁(yè)譬巫, 視頻, 圖片等)督笆, 速度慢芦昔, 效率低。 如果改用P2P的方式下載娃肿, 可以節(jié)省近60%的帶寬咕缎。?P2P將文件分割為小的塊珠十, 從多個(gè)服務(wù)器同時(shí)下載, 速度非称竞溃快焙蹭。?
Web文件經(jīng)常被刪除
回想一下是不是經(jīng)常你收藏的某個(gè)頁(yè)面, 在使用的時(shí)候?yàn)g覽器返回404(無(wú)法找到頁(yè)面)嫂伞, http的頁(yè)面平均生存周期大約只有100天孔厉。?Web文件經(jīng)常被刪除(由于存儲(chǔ)成本太高), 無(wú)法永久保存帖努。 IPFS提供了文件的歷史版本回溯功能(就像git版本控制工具一樣)烟馅, 可以很容易的查看文件的歷史版本, 數(shù)據(jù)可以得到永久保存
中心化限制了web的成長(zhǎng)
我們的現(xiàn)有互聯(lián)網(wǎng)是一個(gè)高度中心化的網(wǎng)絡(luò)然磷。 互聯(lián)網(wǎng)是人類的偉大發(fā)明郑趁, 也是科技創(chuàng)新的加速器。 各種管制將對(duì)這互聯(lián)網(wǎng)的功能造成威脅姿搜, 例如: 互聯(lián)網(wǎng)封鎖寡润, 管制, 監(jiān)控等等舅柜。 這些都源于互聯(lián)網(wǎng)的中心化梭纹。而分布式的IPFS可以克服這些web的缺點(diǎn)。?
現(xiàn)在的互聯(lián)網(wǎng)應(yīng)用高度依賴互聯(lián)網(wǎng)主干網(wǎng)
主干網(wǎng)受制于諸多因素的影響致份, 戰(zhàn)爭(zhēng)变抽, 自然災(zāi)害, 互聯(lián)網(wǎng)管制氮块, 中心化服務(wù)器宕機(jī)等等绍载, 都可能是我們的互聯(lián)網(wǎng)應(yīng)用中斷服務(wù)。 IPFS可以是互聯(lián)網(wǎng)應(yīng)用極大的降低互聯(lián)網(wǎng)應(yīng)用對(duì)主干網(wǎng)的依賴滔蝉。?
3 IPFS的目標(biāo)
IPFS不僅僅是為了加速web击儡。 而是為了最終取代HTTP協(xié)議, 使互聯(lián)網(wǎng)更加美好(野心真的很大)蝠引。
二阳谍、IPFS如何工作?
IPFS的的”宏偉”目標(biāo)是取代HTTP螃概,那么先來(lái)看看IPFS是如何工作的矫夯。
IPFS為每一個(gè)文件分配一個(gè)獨(dú)一無(wú)二的哈希值(文件指紋: 根據(jù)文件的內(nèi)容進(jìn)行創(chuàng)建), 即使是兩個(gè)文件內(nèi)容只有1個(gè)比特的不相同吊洼, 其哈希值也是不相同的训貌。所以IPFS是基于文件內(nèi)容進(jìn)行尋址, 而不像傳統(tǒng)的HTTP協(xié)議一樣基于域名尋址融蹂。
IPFS在整個(gè)網(wǎng)絡(luò)范圍內(nèi)去掉重復(fù)的文件旺订, 并且為文件建立版本管理弄企, 也就是說(shuō)每一個(gè)文件的變更歷史都將被記錄(這一點(diǎn)類似版本控制工具git, svn等)区拳, 可以很容易個(gè)回到文件的歷史版本查看數(shù)據(jù)拘领。
當(dāng)查詢文件的時(shí)候, IPFS網(wǎng)絡(luò)根據(jù)文件的哈希值(全網(wǎng)唯一)進(jìn)行查找樱调。 由于每個(gè)文件的哈希值全網(wǎng)唯一约素, 查詢將很容易進(jìn)行。
如果僅僅使用哈希值來(lái)區(qū)分文件的話笆凌, 會(huì)給傳播造成困難圣猎, 因?yàn)楣V挡蝗菀子洃洠?就像ip地址一樣不容易記憶, 于是人類發(fā)明的域名乞而。 IPFS利用IPNS將哈希值映射為容易記的名字
每個(gè)節(jié)點(diǎn)除了存儲(chǔ)自己需要的數(shù)據(jù)送悔, 還存儲(chǔ)了一張哈希表, 用來(lái)記錄文件存儲(chǔ)所在的位置爪模。 用來(lái)進(jìn)行文件的查詢下載欠啤。
三、IPFS相對(duì)于中心化服務(wù)器的優(yōu)點(diǎn)
上文提到 HTTP 及一些中心化服務(wù)器的缺點(diǎn)屋灌。那么問(wèn)題來(lái)了洁段, IPFS是如何來(lái)解決這些缺點(diǎn)的?
1. 下載速度快, 不再依賴主干網(wǎng)共郭, 中心化服務(wù)器
?整個(gè)IPFS系統(tǒng)是一個(gè)分布式的文件存儲(chǔ)系統(tǒng)祠丝, 那么在下載相關(guān)數(shù)據(jù)的時(shí)候, 將從多個(gè)節(jié)點(diǎn)同時(shí)下載除嘹, 相比于HTTP從中心服務(wù)器的下載速度要快很多写半, 大家都用過(guò)P2P下載(比如: 迅雷,?BitTorrent)憾赁, IPFS下載過(guò)程跟這個(gè)類似污朽。
2. 存儲(chǔ)空間變得非常便宜:?
由于IPFS使用的是區(qū)塊鏈技術(shù), 利用 Filecoin(為了的文章中會(huì)將如何獲取filecoin龙考, 也就是挖礦)來(lái)激勵(lì)礦工分享自己的硬盤, 并且IFPS從全網(wǎng)去掉了冗余存儲(chǔ)(從整個(gè)網(wǎng)絡(luò)空間考慮矾睦, 這將大大節(jié)省網(wǎng)絡(luò)存儲(chǔ)空間)晦款, 將來(lái)的IPFS存儲(chǔ)將會(huì)變得非常便宜(與我們現(xiàn)在的云盤, 各種中心化的CND相比較)枚冗。
3. 安全:?
中心化服務(wù)器目前很難抵擋DDoS攻擊缓溅, 當(dāng)大量的訪問(wèn)請(qǐng)求從四面八方涌來(lái), 中心化的服務(wù)器幾乎會(huì)在一瞬間癱瘓赁温, 做過(guò)運(yùn)維的同學(xué)應(yīng)該深有感觸坛怪, 比如每年雙11淤齐, 不能睡覺的除了阿里, 騰訊的技術(shù)同學(xué)袜匿, 還有整個(gè)銀行業(yè)的小朋友更啄。 巨大的訪問(wèn)量隨時(shí)可能造成服務(wù)器宕機(jī)。 IPFS天生就擁有抵擋這種攻擊的能力居灯。 因?yàn)樗械脑L問(wèn)將會(huì)被分散到不同的節(jié)點(diǎn)祭务。 甚至攻擊者自己也是節(jié)點(diǎn)之一。 某種程度上講怪嫌, IPFS甚至能抵擋量子計(jì)算的攻擊义锥。
4. 開放:?
眾所周知, 比特幣是一種去中心化岩灭, 匿名的數(shù)據(jù)貨幣拌倍, 這些特性使得比特幣無(wú)法被管制, 交易無(wú)法篡改噪径。 IPFS同樣贰拿, 由于是建立在去中心化的分布式網(wǎng)絡(luò)上的, 所以IFPS很難被中心化管理熄云, 限制膨更。 互聯(lián)網(wǎng)將更加開放。