IPFS 如何破除網站 404 的「魔咒」

買賣虛擬貨幣

什麼是 IPFS

IPFS 的全稱是 InterPlanetary File System,中文譯為「星際檔案系統」。IPFS 不是一個區塊鏈專案,而是一個底層的網路傳輸協議。該協議的提出者 Juan Benet 看到了當前網際網路 HTTP 協議的缺陷,因此於 2014 年 5 月提出了 IPFS,目的是打造更開放、更安全的下一代網際網路 Web3.0。

IPFS 的提出者 Juan Benet

那麼當前網際網路的 HTTP 協議到底有什麼問題?

HTTP 的全稱是 Hypertext Transport Protocol,中文譯為超文字傳輸協議,由全球資訊網之父 Tim Berners-Lee 在 1991 年提出,主要規定了客戶端和伺服器之間的通訊格式,該協議主要有三大缺陷:

中心化

成本高

隱私保護差

一、中心化

HTTP 協議極度依賴中心化服務網路,伺服器必須 24 小時開機執行。

世界第一臺 Web 伺服器

👆這是 Tim Berners-Lee 在 CERN 歐洲核子研究中心工作時使用過的一臺電腦,也是世界上第一臺遵循 HTTP 協議的 Web 伺服器,現已被淘汰存於博物館。機箱上貼著紙條:

This machine is a server. Do not power down!(這是一臺伺服器,不要關機!)

因為一旦關機,這臺伺服器所承載的網站資訊就會消失不見。我們訪問網站時就會看到網站頁面不存在的 404 提醒。404 是 HTTP 協議的錯誤碼,代表客戶端在瀏覽網頁時,伺服器無法正常提供資訊,或是伺服器無法迴應且不知原因。

當我們在瀏覽器中輸入網址後,瀏覽器會根據這個網址從伺服器中進行資訊檢索並返回展示在客戶端,即我們普通使用者看到的樣子。而一旦伺服器關機,瀏覽器就無法檢索到相關資訊,於是我們就會看到網頁 404 的介面。

另外,雖然現在網站、App 很多,但是大多都執行在阿里雲、亞馬遜雲、谷歌雲等伺服器商的伺服器上,一旦這些雲伺服器出現問題,租用了服務的網站都會被牽連。

2019 年 3 月 3 日,阿里雲華北地區的伺服器宕機 3 小時,租用了服務的眾多網際網路公司也因此處於服務癱瘓的狀態。

二、成本高

Gangnam Style

還記得《江南 Style》麼,這首歌在 2012 年風靡一時,是網際網路歷史上第一個點選量超過 10 億次的影片(雖然我到現在也沒明白這歌好聽在哪😓)。如果這個影片大小為 100 MB,那麼 10 億次的瀏覽就消耗了 100 PB 的網路流量。

假設每 GB 的流量成本(包括網路頻寬和伺服器儲存)是 0.01 美元,則總共的花費是 100 萬美元。此外,中心化的資料服務對資源的利用效率低,比如中心化的模式要求各資料中心 365 天不間斷運營,行業報告顯示僅電力消耗就佔據了 57% 的運營成本。可見在 HTTP 協議上,集中由資料中心向外傳播資訊的成本是非常昂貴的。

三、隱私保護差

網際網路,顧名思義就是由連線到世界各地互聯互通的網路組成的,而資訊流經通訊線路上的光纜和某些網路裝置時,可能遭到監視。值得注意的一點是,全球的通訊流量大部分都經過美國。

美國國家安全域性與多家電訊公司簽署了《網路安全協議》,規定電訊企業要在美國本土建立「網路執行中心」。與此同時,美國的盟友英國、加拿大等也為其提供光纜監聽情報。根據華盛頓郵報的訊息,美國國家安全域性 NSA 海底光纜的監控覆蓋全球 4 大洲的 27 個國家地區。

此外伺服器一旦被成功入侵,儲存其中的資訊也會洩漏。2013 年 6 月,美國中央情報局(CIA)前僱員愛德華·斯諾登揭露了美國國家安全域性代號為「稜鏡」的秘密專案。稜鏡是美國國家安全域性(NSA)和聯邦調查局(FBI)於 2007 年啟動的一個秘密監控專案,可以直接進入微軟、雅虎、蘋果、谷歌等網際網路巨頭公司的中心伺服器裡獲悉通訊記錄以及雙方通訊的時間、地點等資訊。

愛德華·斯諾登

正是看到了 HTTP 協議的諸多缺陷,Juan Benet 提出了 IPFS 的設想,並在 2015 年成立了 Protocol Labs 實驗室,專門負責開發 IPFS。

IPFS 的運作原理

1、透過內容定址進行唯一標識

2、透過非對稱加密保護文件隱私

3、透過點對點傳輸加快文件傳輸速度

一、內容定址

HTTP 協議是基於「域名的定址」,瀏覽器會根據我們輸入的網址到指定的伺服器上獲取檔案,而 IPFS 是基於「內容的定址」。IPFS 會將檔案進行雜湊得到一個以 Qm 開頭的雜湊值,我們提供雜湊值就能檢索獲取對應的檔案。

這兩者具體有什麼不同呢?

例如我想透過瀏覽器下載一個檔案,按照 HTTP 協議,瀏覽器首先會查詢伺服器的位置,也就是域名定址,接著向伺服器索要檔案的路徑。這種體系下檔案的位置取決於伺服器的管理者,而我只能寄希望於檔案的位置沒有變動,並且伺服器處於開機狀態。

此外,下載檔案時,我無法確定客戶端下載的檔案和伺服器上的檔案是否一致,檔案在下載傳輸的過程中可能會被人篡改,但我對此是無法感知的。

IPFS 的做法則是撇開伺服器和檔案具體位置,只關注檔案中的內容。當我把一個檔案放到 IPFS 節點,它會根據檔案內容計算出一串 Qm 開頭的雜湊值,比如這樣👇

QmYqSCWuzG8Cyo4MFQzqKcC14ct4ybAWyrAc9qzdJaFYTL

雜湊演算法從數學上確保了文件中的內容哪怕只修改一個標點,雜湊值也會完全不同。每份儲存在鏈上的內容都會分配得到獨一無二的雜湊值作為內容標識(Content Identifier,縮寫 CID)。

但有個隱私問題,任何人知道了雜湊值,不就都能透過 IPFS 網路下載我的檔案了麼?這時就需要用到非對稱加密技術了,是時候再次請出密碼學的男女主角 Bob 和 Alice 了。

二、非對稱加密

傳送者:Bob 🚹 ,接收者:Alice 🚺

1、Bob 想上傳一份文件至 IPFS ,且只有 Alice 能檢視該文件

2、Bob 用 Alice 的公鑰對文件進行加密

3、Bob 將加密後的文件上傳至 IPFS ,得到對應的雜湊值作為內容標識

4、加密後的文件被儲存在 IPFS 系統中,Alice 可以憑藉 Bob 提供的雜湊值下載該文件

5、Alice 用自己的私鑰解密這份文件,獲取文件中的內容

6、未經授權的第三方由於沒有 Alice 的私鑰,即便下載了文件也無法解密。

Alice 透過 IPFS 下載文件的過程類似於透過迅雷下載電影,是基於 P2P 點對點傳輸技術。

三、點對點傳輸

如果你讀過比特幣白皮書,點對點這個詞聽起來應該不會很陌生,因為它白皮書的標題就是《比特幣,一種點對點的電子現金系統》

點對點是根據 Peer-to-Peer 翻譯過來的中文,簡稱 P2P,Peer 這個英文單詞在字典有一個常見意思是身份或地位相同的人。

在 HTTP 協議中,客戶端想要獲取資訊時需要訪問伺服器,如果伺服器訪問量在短時間內劇增,就會出現訪問失敗的情況,你可以想想自己回家搶火車票時,訂票平臺宕機的情景。分散式拒絕服務攻擊 DDoS 就是透過在短時間內藉助數百甚至上千臺裝置對伺服器發起請求,耗盡伺服器的資源造成其他使用者無法正常訪問該網站。

IPFS 採用的點對點傳輸技術,點就是指一臺計算機。系統中的任何一臺電腦都可以做為伺服器,彼此之間共享檔案,比如迅雷,電驢,酷狗都用到了 P2P 技術,實現彼此之間資源的共享。

比如我想下載某個檔案,那麼我的電腦就會找到存有對應資源的多臺電腦,從這些電腦上下載一個個小小的碎片,最後在我的電腦上拼成一個完整的檔案。

根據 HTTP 協議進行文件下載時,B、C、D 等多臺電腦都要訪問伺服器 A 進行下載,訪問量一多,伺服器 A 就會宕機。而點對點傳輸技術可以使得 B 從 A 處下載,B 下載完後變成一個伺服器, C 就可以從 A、B 處下載。C 下載完後也變成一個伺服器,D 可以從 A、B、C 處下載文件,每一個存有文件的電腦都可以作為伺服器,給其他下載使用者提供資訊。

因此越到後面,可以作為伺服器的電腦就越多,下載速度也就越快。此時 A、B、C、D 等多臺電腦之間的地位是平等的,都可以作為伺服器。原則上,與傳統的 HTTP 協議相比,Alice 透過 IPFS 下載文件的速度更快。

但這裡有個問題,A、B、C、D 等多臺電腦在沒有任何獎勵的情況下,為什麼要白白給其他電腦提供資源下載?經濟激勵 Filecoin 就顯得很有必要了。

IPFS 與 Filecoin 的關係

2017 年,Protocol Labs 實驗室宣佈成立基於 IPFS 的區塊鏈專案 Filecoin。Filecoin 和 IPFS 雖然都由 Protocol Labs 建立,但 Filecoin 不等同於 IPFS,IPFS 是一個底層協議,而 Filecoin 是建立其上的經濟激勵層,透過發行代幣 FIL 作為獎勵,讓各個節點有動力去儲存和檢索資料。

當使用者想要將文件上傳至 IPFS 網路或者在網路中下載文件時,都需要支付 Filecoin 給礦工作為他們的辛苦費。Filecoin 網路的原生代幣 FIL 總髮行量為 20 億枚,其中 70% 都會分配給礦工。

同時,為了確保礦工不會中途刪除儲存的資料,礦工需要抵押一部分 FIL 代幣,每 1 小時左右提交一次資料還在的證明。鏈上也會在每個出塊時間隨機驗證資料是否存在,若驗證失敗,礦工抵押的代幣會被扣除。

然而由於 Filecoin 主網剛剛上線,不少礦工手中並沒有足夠的 FIL 進行抵押,處於一個略顯尷尬的狀態。IPFS 中國社羣的發起人在朋友圈吐槽:主網上線,全部礦工停在那,是無奈!是大家都沒有幣進行抵押!

經歷了多次跳票,被稱為「鴿王」的 Filecoin 真的能改變現有的中心化儲存模式麼?對這個問題,你怎麼看?

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;