全球網際網路不能使用怎麼辦?別慌,有它在IPFS

網安俊俊發表於2020-05-16

如果有一天 HTTP協議不能使用, 全球網際網路不能使用怎麼辦?不用擔心有現在有 IPFS在。

IPFS(星際檔案系統)點對點(p2p)檔案共享系統,旨在從根本上改變資訊在全球及全球範圍內的分佈方式。它與Swarm有點相似,或者我們也可以說Swarm與IPFS有點相似。

 

IPFS由通訊協議和分散式系統中的多項創新組成,這些創新相結合產生了無與倫比的檔案系統。因此,要了解IPFS所要實現的全部廣度和深度,重要的是要了解使之成為可能的技術突破以及所要解決的所有問題。

 

IPFS自豪地替換了http。因此,讓我們來看看當今的網際網路是如何工作的。

 

簡而言之,網際網路是描述資料如何在網路中移動的協議的集合。開發人員逐漸採用了這些協議,並在此基礎架構之上構建了他們的應用程式。 HTTP或超文字傳輸協議是充當Web骨幹網的協議之一。這是Tim Berners-Lee在1991年發明的。

 

 


 

HTTP是一個請求-響應協議。客戶端(例如Web瀏覽器)將請求傳送到外部伺服器。然後,伺服器將響應訊息(例如Google主頁)返回給客戶端。這是一個位置定址的協議,這意味著當我在瀏覽器中鍵入google.com時,它將轉換為某個Google伺服器的IP地址,然後使用該伺服器啟動請求-響應週期。

 

 


 

HTTP問題

 

假設您坐在演講廳裡,而教授要求您訪問特定的網站。講座中的每個學生都向該網站提出請求並得到答覆。這意味著將相同的確切資料分別傳送給會議室中的每個學生。如果有100名學生,則為100個請求和100個響應。這顯然不是最有效的處理方式。理想情況下,學生將能夠利用他們的身體接近性來更有效地檢索他們所需的資訊。

 

如果網路通訊線路中存在某些問題,並且客戶端無法與伺服器連線,則HTTP也會帶來很大的問題。如果ISP中斷,某個國家/地區阻止了某些內容,或者只是刪除或移動了內容,則可能發生這種情況。這些型別的斷開連結在HTTP網站上無處不在。

 

HTTP的基於位置的定址模型鼓勵集中化。使用我們的所有資料信任少數幾個應用程式很方便,但是由於這個原因,Web上的許多資料都被汙染了。這使那些提供者對我們的資訊負有巨大的責任和權力。

 

HTTP非常適合載入網站,但它並不是為傳輸大量資料(例如音訊和影片檔案)而設計的。這些限制可能使替代檔案共享系統(如Napster(音樂)和BitTorrent(電影以及幾乎所有東西))的出現和主流成功。

 

快進到2018年,點播高畫質影片流和大資料正變得無處不在;我們將繼續生產/消費越來越多的資料,並開發越來越強大的計算機來處理它們。雲端計算的重大進步幫助維持了這一過渡,但是用於分發所有這些資料的基本基礎架構基本上保持不變。

 

解決方案

 

IPFS是胡安·貝納特(Juan Benet)的一項努力,旨在建立一個快速處理版本化科學資料的系統。它是經過測試的網際網路技術的綜合,例如DHT,Git版本控制系統和Bittorrent。它建立了一個P2P群,可以交換IPFS物件。IPFS物件的總數形成了一個稱為Merkle DAG的經過密碼驗證的資料結構,該資料結構可用於對許多其他資料結構進行建模。或者換句話說...

 

“ IPFS是一個分散式檔案系統,旨在將所有計算裝置與同一檔案系統連線起來。在某些方面,這類似於Web的原始目標,但是IPFS實際上更類似於單個git交換git bit的群體。IPFS可能成為網際網路的一個新的主要子系統。如果構建正確,它可以補充或替換HTTP。它可以補充甚至替代更多。聽起來很瘋狂。太瘋狂了。” 

 

IPFS的核心是一個版本化的檔案系統,可以獲取檔案並對其進行管理,還可以將它們儲存在某個位置,然後隨時間跟蹤版本。IPFS還考慮了這些檔案如何在網路中移動,因此它也是一個分散式檔案系統。

 

IPFS具有關於資料和內容如何在網路上移動的規則,這些規則本質上與bittorrent相似。該檔案系統層提供了非常有趣的屬性,例如:

 

      1)完全分散的網站。

 

      2)沒有原始伺服器的網站。

 

      3)可以完全在客戶端瀏覽器上執行的網站。

 

      4)沒有可與之對話的伺服器的網站。

 

讓我們看看這些不同的技術突破是如何協同工作的。

 

分散式雜湊表

 

阿雜湊表是一種資料結構,其儲存資訊作為鍵/值對。在分散式雜湊表(DHT)中,資料分佈在計算機網路中,並進行有效協調以實現節點之間的有效訪問和查詢。

 

DHT的主要優勢在於分散性,容錯性和可伸縮性。節點不需要中央協調,即使節點發生故障或離開網路,系統也可以可靠地執行,DHT可以擴充套件以容納數百萬個節點。這些功能共同構成的系統通常比客戶端-伺服器結構更具彈性。

 

大宗交易

 

流行的檔案共享系統Bittorrent能夠依靠創新的資料交換協議成功地協調數百萬個節點之間的資料傳輸,但僅限於torrent生態系統。IPFS實現了該協議的通用版本,稱為BitSwap,它可作為任何型別的資料的市場。這個市場是Filecoin的基礎:Filecoin:基於IPFS構建的p2p儲存市場。

 

默克爾DAG

 

merkle DAG是Merkle樹和有向無環圖(DAG)的混合。默克爾樹可確保在p2p網路上交換的資料塊是正確,未損壞和未更改的。透過使用密碼雜湊函式組織資料塊來完成此驗證。這只是一個接受輸入並計算與該輸入相對應的唯一字母數字字串(雜湊)的函式。容易檢查輸入是否會導致給定的雜湊,但是很難從雜湊中猜測輸入。

 

各個資料塊稱為“葉子節點”,這些資料經過雜湊形成“非葉子節點”。然後可以將這些非葉節點進行組合和雜湊處理,直到所有資料塊都可以由單個根雜湊表示。這是一種更簡單的概念化方法:

 

 

 

DAG是一種對沒有周期的資訊的拓撲序列進行建模的方法。DAG的一個簡單示例是家譜。Merkle DAG基本上是一種資料結構,其中雜湊用於引用DAG中的資料塊和物件。這建立了幾個有用的功能:IPFS上的所有內容都可以唯一標識,因為每個資料塊都有唯一的雜湊。再加上資料是防篡改的,因為對其進行更改會改變雜湊值,如下所示:

 

 

默克爾樹的不可篡改性質

 

IPFS的中心宗旨是在通用的Merkle DAG上對所有資料進行建模。很難誇大此安全功能的重要性。一個例子表明,這一想法的強大之處在於,價值數萬億美元的資產受到這一原則的保護。

 

版本控制系統

 

Merkle DAG結構的另一個強大功能是,它允許您構建分散式版本控制系統(VCS)。最受歡迎的示例是Github,它使開發人員可以輕鬆地同時在專案上進行協作。Github上的檔案使用merkle DAG儲存和版本控制。它允許使用者獨立地複製和編輯檔案的多個版本,儲存這些版本,然後將編輯內容與原始檔案合併。

 

IPFS對資料物件使用類似的模型:只要可以訪問與原始資料相對應的物件以及任何新版本,就可以檢索整個檔案歷史記錄。假定資料塊儲存在整個網路的本地並且可以無限期地快取,這意味著IPFS物件可以永久儲存。

 

此外,IPFS不依賴對Internet協議的訪問。資料可以分佈在覆蓋網路中,覆蓋網路只是建立在另一個網路上的網路。這些功能非常引人注目,因為它們是抗審查網路中的核心元素。它可能是促進言論自由以對抗全球網際網路審查風行的有用工具,但我們也應該認識到不良行為者有可能濫用權力。

 

自認證檔案系統

 

IPFS的最後一個基本組成部分是自認證檔案系統(SFS)。它是一種分散式檔案系統,不需要特殊許可權即可進行資料交換。這是“自我認證”,因為提供給客戶端的資料透過檔名(由伺服器簽名)進行認證。結果?您可以透過本地儲存的透明性來安全地訪問遠端內容。

 

IPFS在此概念的基礎上建立了星際名稱空間(IPNS)。

 

它是一個使用公用金鑰加密技術對網路使用者釋出的物件進行自我認證的SFS 。前面我們提到,IPFS上的所有物件都可以唯一標識,但這也擴充套件到了節點。網路上的每個節點都有一組公用金鑰,專用金鑰和一個節點ID,該ID是其公用金鑰的雜湊。因此,節點可以使用其私鑰對釋出的任何資料物件進行“簽名”,並且可以使用傳送者的公鑰來驗證此資料的真實性。

 

以下是IPFS關鍵元件的快速回顧:

 

       藉助分散式雜湊表,節點無需中央協調即可儲存和共享資料。

 

       IPNS允許使用公共金鑰加密技術對交換的資料立即進行預身份驗證和驗證。

 

       Merkle DAG支援唯一識別,防篡改和永久儲存的資料。

 

IPFS是一個持久資料結構,因此IPFS中沒有刪除/刪除操作的概念。這是因為將內容分發給了被激勵提供內容的IPFS節點。

 

無法保證上傳的內容在網路上持久存在。所有參與節點都應將參與自願服務視為自願,不承擔任何正式義務,應期望其自願刪除內容。因此,在激勵系統(Filecoin)正常執行之前,使用者在任何情況下都不應將IPFS視為安全儲存。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69954449/viewspace-2692502/,如需轉載,請註明出處,否則將追究法律責任。

相關文章