IPFS是什么
星際文件系統(tǒng)(InterPlanetary File System). IPFS 是一個分布式的web, 點(diǎn)到點(diǎn)超媒體協(xié)議. 可以讓我們的互聯(lián)網(wǎng)速度更快, 更加安全, 并且更加開放.
IPFS要解決什么問題
眾所周知, 互聯(lián)網(wǎng)是建立在HTTP協(xié)議上的. HTTP協(xié)議是個偉大的發(fā)明, 讓我們的互聯(lián)網(wǎng)得以快速發(fā)展.但是互聯(lián)網(wǎng)發(fā)展到了今天HTTP逐漸出來了不足.
HTTP的中心化是低效的, 并且成本很高.
使用HTTP協(xié)議每次需要從中心化的服務(wù)器下載完整的文件(網(wǎng)頁, 視頻, 圖片等), 速度慢, 效率低. 如果改用P2P的方式下載, 可以節(jié)省近60%的帶寬. P2P將文件分割為小的塊, 從多個服務(wù)器同時下載, 速度非掣嫠簦快.
Web文件經(jīng)常被刪除
回想一下是不是經(jīng)常你收藏的某個頁面, 在使用的時候?yàn)g覽器返回404(無法找到頁面), http的頁面平均生存周期大約只有100天. Web文件經(jīng)常被刪除(由于存儲成本太高), 無法永久保存. IPFS提供了文件的歷史版本回溯功能(就像git版本控制工具一樣), 可以很容易的查看文件的歷史版本, 數(shù)據(jù)可以得到永久保存
中心化限制了web的成長
我們的現(xiàn)有互聯(lián)網(wǎng)是一個高度中心化的網(wǎng)絡(luò). 互聯(lián)網(wǎng)是人類的偉大發(fā)明, 也是科技創(chuàng)新的加速器. 各種管制將對這互聯(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)爭, 自然災(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)用對主干網(wǎng)的依賴.
IPFS的目標(biāo)
IPFS不僅僅是為了加速web. 而是為了最終取代HTTP協(xié)議, 使互聯(lián)網(wǎng)更加美好(野心真的很大).
IPFS的的”宏偉”目標(biāo)是取代HTTP, 那么先來看看IPFS是如何工作的?
IPFS為每一個文件分配一個獨(dú)一無二的哈希值(文件指紋: 根據(jù)文件的內(nèi)容進(jìn)行創(chuàng)建), 即使是兩個文件內(nèi)容只有1個比特的不相同, 其哈希值也是不相同的.所以IPFS是基于文件內(nèi)容進(jìn)行尋址, 而不像傳統(tǒng)的HTTP協(xié)議一樣基于域名尋址.
IPFS在整個網(wǎng)絡(luò)范圍內(nèi)去掉重復(fù)的文件, 并且為文件建立版本管理, 也就是說每一個文件的變更歷史都將被記錄(這一點(diǎn)類似版本控制工具git, svn等), 可以很容易個回到文件的歷史版本查看數(shù)據(jù).
當(dāng)查詢文件的時候, IPFS網(wǎng)絡(luò)根據(jù)文件的哈希值(全網(wǎng)唯一)進(jìn)行查找. 由于每個文件的哈希值全網(wǎng)唯一, 查詢將很容易進(jìn)行.
如果僅僅使用哈希值來區(qū)分文件的話, 會給傳播造成困難, 因?yàn)楣V挡蝗菀子洃? 就像ip地址一樣不容易記憶, 于是人類發(fā)明的域名. IPFS利用IPNS將哈希值映射為容易記的名字
每個節(jié)點(diǎn)除了存儲自己需要的數(shù)據(jù), 還存儲了一張哈希表, 用來記錄文件存儲所在的位置. 用來進(jìn)行文件的查詢下載.
IPFS是如何來解決HTTP缺點(diǎn)的?
1 下載速度快, 不再依賴主干網(wǎng), 中心化服務(wù)器
整個IPFS系統(tǒng)是一個分布式的文件存儲系統(tǒng), 那么在下載相關(guān)數(shù)據(jù)的時候, 將從多個節(jié)點(diǎn)同時下載, 相比于HTTP從中心服務(wù)器的下載速度要快很多, 大家都用過P2P下載(比如: 迅雷,BitTorrent), IPFS下載過程跟這個類似.
2 存儲空間變得非常便宜:
由于IPFS使用的是區(qū)塊鏈技術(shù), 利用 Filecoin(為了的文章中會將如何獲取filecoin, 也就是挖礦)來激勵礦工分享自己的硬盤, 并且IFPS從全網(wǎng)去掉了冗余存儲(從整個網(wǎng)絡(luò)空間考慮, 這將大大節(jié)省網(wǎng)絡(luò)存儲空間), 將來的IPFS存儲將會變得非常便宜(與我們現(xiàn)在的云盤, 各種中心化的CND相比較).
3 安全:
中心化服務(wù)器目前很難抵擋DDoS攻擊, 當(dāng)大量的訪問請求從四面八方涌來, 中心化的服務(wù)器幾乎會在一瞬間癱瘓, 做過運(yùn)維的同學(xué)應(yīng)該深有感觸, 比如每年雙11, 不能睡覺的除了阿里, 騰訊的技術(shù)同學(xué), 還有整個銀行業(yè)的小朋友. 巨大的訪問量隨時可能造成服務(wù)器宕機(jī). IPFS天生就擁有抵擋這種攻擊的能力. 因?yàn)樗械脑L問將會被分散到不同的節(jié)點(diǎn). 甚至攻擊者自己也是節(jié)點(diǎn)之一. 某種程度上講, IPFS甚至能抵擋量子計(jì)算的攻擊.
? ?
4 開放:
眾所周知, 比特幣是一種去中心化, 匿名的數(shù)據(jù)貨幣, 這些特性使得比特幣無法被管制, 交易無法篡改. IPFS同樣, 由于是建立在去中心化的分布式網(wǎng)絡(luò)上的, 所以IFPS很難被中心化管理, 限制. 互聯(lián)網(wǎng)將更加開放.