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