什麼是「IPFS」?
「IPFS」星際文件系統 (InterPlanetary File System) 是一個分佈式的 web,點到點超媒體協議。可以讓我們的互聯網速度更快、更加安全,並且更加開放。 IPFS 協議的目標是取代傳統的互聯網協議 HTTP 。
為什麼有 IPFS?
眾所周知,互聯網是建立在 HTTP 協議上。 HTTP 協議是個偉大的發明,讓我們的互聯網得以快速發展,但是互聯網發展到了今天,HTTP 逐漸出來了不足。
HTTP的中心化是低效的,並且成本很高。
使用 HTTP 協議每次需要從中心化的服務器下載完整的文件 (網頁、視頻、圖片等),速度慢、效率低。如果改用 P2P 的方式下載,可以節省近 60% 的帶寬。 P2P 將文件分割為小的塊,從多個服務器同時下載,速度非常快。
Web文件經常被刪除。
回想一下是不是經常你收藏的某個頁面,在使用的時候瀏覽器返回 404(無法找到頁面), http 的頁面平均生存週期大約只有 100 天。 Web 文件經常被刪除 (由於存儲成本太重),無法永久保存。 IPFS 提供了文件的歷史版本回溯功能 (就像 git 版本控制工具一樣),可以很容易的查看文件的歷史版本,數據可以得到永久保存。
中心化限制了web的成長。
我們的現有互聯網是一個高度中心化的網絡。 互聯網是人類的偉大發明,也是科技創新的加速器。 各種管制將對這互聯網的功能造成威脅,例如: 互聯網封鎖、管制、監控等等,這些都源於互聯網的中心化。而分佈式的 IPFS 可以克服這些 web 的缺點。
互聯網應用高度依賴主幹網。
主幹網受制於諸多因素的影響,戰爭,自然災害,互聯網管制,中心化服務器宕機等等,都可能是我們的互聯網應用中斷服務。 IPFS 可以是互聯網應用極大的降低互聯網應用對主幹網的依賴。
1. IPFS 的目標
IPFS 不僅僅是為了加速 web 。 而是為了最終取代 HTTP 協議,使互聯網更加美好
2. IPFS 包含哪些內容
IPFS 是一個協議,類似 http 協議
- 定義了基於內容的尋址文件系統
- 內容分發
- 使用的技術分佈式哈希、 p2p 傳輸、版本管理系統
3. IPFS 是一個文件系統
- 有文件夾和文件
- 可掛載文件系統
4. IPFS 是一個 web 協議
- 可以像 http 那樣查看互聯網頁面
- 未來瀏覽器可以直接支持 ipfs:/ 或者 fs:/ 協議
5. IPFS 是模塊化的協議
- 連接層:通過其他任何網絡協議連接
- 路由層:尋找定位文件所在位置
- 數據塊交換:採用 BitTorrent 技術
6. IPFS 是一個 p2p 系統
- 世界範圍內的 p2p 文件傳輸網絡
- 分佈式網絡結構
- 沒有單點失效問題
7. IPFS 天生是一個 CDN
- 文件添加到 IPFS 網絡,將會在全世界進行 CDN 加速
- bittorrent 的帶寬管理
8. IPFS 擁有命名服務
- IPNS:基於 SFS(自認證系統)命名體系
- 可以和現有域名系統綁定
IPFS 的「宏偉」目標是取代 HTTP,那麼先來看看 IPFS 是如何工作的?
- IPFS 為每一個文件分配一個獨一無二的哈希值 (文件指紋: 根據文件的內容進行創建), 即使是兩個文件內容只有 1 個比特的不相同, 其哈希值也是不相同的。所以 IPFS 是基於文件內容進行尋址, 而不像傳統的 HTTP 協議一樣基於域名尋址。
- IPFS 在整個網絡範圍內去掉重複的文件, 並且為文件建立版本管理, 也就是說每一個文件的變更歷史都將被記錄 (這一點類似版本控制工具 git, svn 等), 可以很容易個回到文件的歷史版本查看數據。
- 當查詢文件的時候, IPFS 網絡根據文件的哈希值 (全網唯一) 進行查找。 由於每個文件的哈希值全網唯一, 查詢將很容易進行。
- 如果僅僅使用哈希值來區分文件的話, 會給傳播造成困難, 因為哈希值不容易記憶, 就像 ip 地址一樣不容易記憶, 於是人類發明的域名。 IPFS 利用 IPNS 將哈希值映射為容易記的名字。
- 每個節點除了存儲自己需要的數據, 還存儲了一張哈希表, 用來記錄文件存儲所在的位置。 用來進行文件的查詢下載。
我們在前面提到了HTTP及一些中心化服務器的缺點。那麼問題來了, IPFS是如何來解決這些缺點的?
1 . 下載速度快, 不再依賴主幹網, 中心化服務器
整個 IPFS 系統是一個分佈式的文件存儲系統,那麼在下載相關數據的時候,將從多個節點同時下載,相比於 HTTP 從中心服務器的下載速度要快很多,大家都用過 P2P 下載 (比如: 迅雷、 BitTorrent), IPFS 下載過程跟這個類似。
2 . 存儲空間變得非常便宜
由於 IPFS 使用的是區塊鏈技術,利用 Filecoin 來激勵礦工分享自己的硬盤,並且 IFPS 從全網去掉了冗餘存儲 (從整個網絡空間考慮, 這將大大節省網絡存儲空間), 將來的 IPFS 存儲將會變得非常便宜 (與我們現在的雲盤, 各種中心化的 CND 相比較) 。
3 . 安全
中心化服務器目前很難抵擋 DDoS 攻擊, 當大量的訪問請求從四面八方湧來, 中心化的服務器幾乎會在一瞬間癱瘓, 做過運維的同學應該深有感觸,比如每年雙 11,不能睡覺的除了阿里、騰訊的技術同學,還有整個銀行業的小朋友。巨大的訪問量隨時可能造成服務器宕機。 IPFS 天生就擁有抵擋這種攻擊的能力。因為所有的訪問將會被分散到不同的節點。甚至攻擊者自己也是節點之一。某種程度上講, IPFS 甚至能抵擋量子計算的攻擊。
4 . 開放
眾所周知, 比特幣是一種去中心化, 匿名的數據貨幣, 這些特性使得比特幣無法被管制, 交易無法篡改。 IPFS 同樣, 由於是建立在去中心化的分佈式網絡上的, 所以 IFPS 很難被中心化管理、限制,互聯網將更加開放。
上面介紹了IPFS的基本概念, 那麼IPFS都可以用來做什麼?
如果你認為僅僅是 CDN, 永久的 web?Are you kidding me?
IPFS 可是要
—改變世界的。。。
—變世界的。。。
—世界的。。。
—界的。。。
—的。。。
接下來我們來看看 IPFS 都可以用來做什麼:
- 在/ipfs 和/ipns 下面掛載全球文件系統:就是說我們所有的文件都可以存到上面。
- 掛載個人同步的文件夾, 可以自動進行版本管理, 自動備份。也就意味著未來我們將擁有無限空間的網盤, 不用擔心數據丟失,不用擔心隱私洩露 (非對稱加密) 。是不是想到了什麼? 現在比較流行的某度 (曾經把大家自動備份的照片全部共享了,各種艷照啊) 和企鵝網盤,國外的 dropbox,跟 IPFS 雲盤相比,都將變得微不足道。
- 作為加密文件和數據共享系統。 IPFS 天生視乎就具備這樣的能力,文件加密,數據共享,都是小菜一碟。
- 作為帶版本控制的軟件包管理系統。
- 作為虛擬機的根文件系統。
- 作為利用管理程序,把 IPFS 作為虛擬機的引導文件系統:在線操作系統。
- 作為數據庫:應用可以直接操作 IPFS 的 Merkle DAG 數據結構,並且可以使用 IPFS 的版本控制、緩存。試想一下我們的數據庫直接存在IPFS的文件系統是什麼體驗? 自動備份,永不丟失,安全加密,無限空間,高速連接,想想就美好。科技改變生活,未來會有多美好 ⋯
- 作為加密通訊平台,誰都別想竊聽消息通信。
- 作為加密 CDN, 作為 web 的 CDN, CDN 功能全包了。
- 永久 web, 不存在不能訪問的鏈接, 跟「404」說 byebye 。
上面的應用場景是 IPFS 的創始人 Juan Benet 在 IPFS 論文裡面直接提到的。有興趣的朋友可以去 《IPFS 白皮書》裡面看一下。
實際上 IPFS 能做不僅僅限於這些場景。 我們所有的計算機系統幾乎都是這種結構:
IPFS 為我們解決的是最後那一個部分:數據存儲。它能夠極大的降低數據存儲的成本,提升數據下載速度。
那麼凡是需要優化數據存儲的地方幾乎都可以使用IPFS來提升效率!
(插點題外話)
世界發展的規律告訴我們, 凡是符合「共享的、提升效率的」,一定是未來的趨勢。
從人類誕生之初, 我們的世界運轉就圍繞「共享」這個核心運行!為什麼?因為共享是我們已發現最有效的提升資源配置、提升效率的方式之一,它已經植根於我們的基因當中了。記得有人寫了本書叫做《共享經濟》,作者是羅賓·蔡斯, 還有互聯網騰飛的這幾年,各種把共享經濟掛在嘴邊的那些人(包括我自己),都在討論這個概念。然而事實上共享經濟從人類誕生就開始了:
- 國家就是一個最大的共享體, 我們要共享國防,共享安全,共享一切。
- 城市是組成國家的共享體單位, 你的生存, 你的工作,無不是共享,你乘坐的地鐵、飛機、公交。你使用的自來水、電力等等, 哪一樣不是共享的呢?
所以「共享」是我們人類與生俱來的生存方式, 並不是互聯網的東西,互聯網探討的共享經濟只不過是這幾年集中出現的一種創業方式而已。
(題外話結束)
IPFS 和 Filecoin的哲學思考
IPFS 和 filecoin 的誕生極大提高了我們數據存儲的共享,這就是價值。如果這是潮流,那將是不可逆的。
跟 BTC 不一樣,BTC 帶來的問題是 POW 對計算資源的高度依賴和對能源的巨大耗費。
BTC的價值如何確定:
1 用馬克思經濟學來解釋BTC的價值是耗費的能源+計算成本+無差別的人類勞動;
2 用西方經濟學來解釋:BTC的價值是供需平衡;
3 用時下互聯網流行說法解釋是:IP。BTC創造了自己的IP,就像黃金一樣,一個巨大的IP。
可是 BTC 沒有從根本上提升我們的效率,從 BTC 的創始宣言(中本聰 BTC 白皮書)裡面可以看到 BTC 誕生的原因:源於公平,卻無關乎效率(或者可以說 BTC 共享了貨幣?關於這一點還沒有認真深入思考,也許以後會單獨寫文章,也歡迎大家交流)
IPFS(Filecoin)採用 POW 機制不同於 BTC,不需要消耗巨大的能源和依賴計算資源。從這種意義上來講 IPFS 系統從根本上提升人類的效率,是真正的共享經濟,把我們對存儲資源利用方式往前邁了一大步,這也是筆者對 IPFS 的信心的來源。
聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。
【相關活動推廣】
區塊客研究室:深入認識 IPFS 及動手實作技術小聚 (Dive Deeper Into IPFS Technical Camp)
🔥 對於 IPFS 以及 Filecoin 有興趣的朋友要注意了!🔥區塊客研究室 及 ProtoSchool Taipei 邀請到 IPFS 核心開發團隊成員來跟大家近距離 Demo 及實作 IPFS 的核心技術!兩位講者都是 IPFS 知名的核心開發人員,他們難得到台灣一趟,想了解 IPFS 的朋友們千萬不要錯過啊!
日期:2019 年 10 月 21 日(星期一)晚上 7 點 到 10 點
【講者介紹】
🔹Raúl Kripalani, Protocol Labs – Technical Lead
來自西班牙南方小島 Tenerife 的 Raúl Kripalani 曾任職於 ConsenSys Media 、 Red Hat 、 FuseSource 以及 Atos 等各大科技公司。 2018 年加入 Protocol Lab,負責 libp2p 的核心開發。目前在 Medium 有 3 萬 5 千位 Followers 在追蹤其撰寫的技術文章。
🔹Jeromy Johnson, Filecoin Technical Lead
Jermoy 是 Protocol Labs 分佈式系統工程師,2014 年與 Juan Benet 一起創立 Protocol Labs,是其中的元老級的人物。在此之前,他曾在 EMC Isilon 從事分佈式系統轉移和服務端文件傳輸的開發。