為什么互聯(lián)網(wǎng)需要IPFS?
原力區(qū)原作
索引:原文由協(xié)議實驗室成員YIANNIS PSARAS, JORGE M. SOARES, DAVID DIAS 發(fā)表于IEEE(電氣電子工程師協(xié)會,世界上最大的專業(yè)技術組織之一,其所定義的標準在工業(yè)界有極大的影響。)全文較長(閱讀約需15mins),但是對于想更多了解IPFS的同學來說看這篇就夠了。
當2020年初新冠疫情爆發(fā)時,世界發(fā)生了前所未有的工作方式轉變——遠程辦公。作為預防措施,一些互聯(lián)網(wǎng)提供商暫時降低了服務水準,盡管這對亞洲、歐洲和北美國家來說可能不是必要的,因為這些國家通常能夠應對人們遠程工作(以及瘋狂觀看Netflix等在線視頻)帶來的需求激增。
這是因為他們的大多數(shù)網(wǎng)絡都是過度規(guī)劃的,容量超過了他們通常需要的容量。但在網(wǎng)絡基礎設施投資水平不高的國家,情況就不那么樂觀了:例如,南非和委內(nèi)瑞拉的互聯(lián)網(wǎng)服務提供商(ISP)報告了嚴重的壓力。但預留空間(設置冗余)是確保網(wǎng)絡柔韌性的唯一途徑嗎?
我們不這么認為。
不過,要理解我們所倡導的替代方法,你首先需要回憶一下互聯(lián)網(wǎng)是如何工作的。

互聯(lián)網(wǎng)的核心協(xié)議被恰當?shù)孛麨?strong>互聯(lián)網(wǎng)協(xié)議(Internet Protocol),它定義了一種計算機用來彼此通信的尋址方案。該方案將地址分配給特定設備,即人們的計算機和服務器,并根據(jù)需要使用這些地址在它們之間發(fā)送數(shù)據(jù)。
這是一種將獨特的信息從一個點發(fā)送到另一個點的模式,例如,您的銀行對賬單或愛人的來信。當互聯(lián)網(wǎng)主要用于向不同的人提供不同的內(nèi)容時,這種方法是合理的。但這種設計不太適合靜態(tài)內(nèi)容的大規(guī)模消費,例如電影或電視節(jié)目。
今天的現(xiàn)實是,互聯(lián)網(wǎng)更經(jīng)常被用來向許多人發(fā)送完全相同的信息,現(xiàn)在它正在做大量的重復性工作,其中大部分是以視頻的形式。
隨著4K視頻的廣泛使用和8K視頻的出現(xiàn),我們的屏幕分辨率不斷提高,對視頻的要求也越來越高。
Netflix等流媒體服務使用的內(nèi)容傳輸網(wǎng)絡(CDN)通過將內(nèi)容臨時存儲在許多ISP附近甚至內(nèi)部,幫助解決這一問題。但這一策略依賴于ISP和CDN能夠達成交易并部署所需的基礎設施。而且它仍然會使網(wǎng)絡邊緣不得不處理比實際需要的流量更多的流量。
真正的問題與其說是傳遞的內(nèi)容量,不如說是如何將內(nèi)容從一個中心源傳遞給許多不同的遠程用戶,即使這些用戶彼此相鄰。
P2P傳輸系統(tǒng)用于確定文件位置的一種方案是將該信息保存在集中數(shù)據(jù)庫中。Napster,第一個大規(guī)模的P2P交付系統(tǒng),使用了這種方法。
在這種情況下,更有效的分發(fā)方案是以P2P的方式將數(shù)據(jù)從相鄰的設備提供給你的設備。但你的設備怎么知道該問誰呢?
那么,歡迎使用星際文件傳輸系統(tǒng)(IPFS)。
星際文件傳輸系統(tǒng)之所以得名,是因為從理論上講,它甚至可以擴展到在太陽系不同行星上的計算機之間共享數(shù)據(jù)。
不過,目前,我們專注于為地球推出它!
IPFS的關鍵是所謂的內(nèi)容尋址。您的機器不會詢問特定的提供商“請將此文件發(fā)送給我”,而是詢問網(wǎng)絡,“誰可以將此文件發(fā)給我?”它首先詢問對等方:用戶附近的其他計算機、同一房屋或辦公室的其他計算機,同一社區(qū)的其他計算機以及同一城市的其他計算機(如果需要),直到系統(tǒng)找到你要找的東西的副本。
這些查詢是使用IPFS進行的,IPFS是超文本傳輸協(xié)議(HTTP)的替代方案,它為萬維網(wǎng)提供了動力。基于P2P網(wǎng)絡和內(nèi)容尋址的原則,IPFS是一種允許數(shù)據(jù)存儲和傳輸?shù)娜ブ行幕?/span>分布式網(wǎng)絡。
IPFS的好處包括更快、更高效地分發(fā)內(nèi)容。但他們并沒有就此止步。IPFS還可以通過內(nèi)容完整性檢查來提高安全性,以便數(shù)據(jù)不會被中間參與者篡改。使用IPFS,即使與原始服務器的連接被切斷,或者最初提供內(nèi)容的服務遇到中斷,網(wǎng)絡也可以繼續(xù)運行,這在網(wǎng)絡間歇性工作的地方尤為重要。IPFS還抗審查。
為了更全面地了解IPFS與其他解決方案的區(qū)別,讓我們快速了解一下互聯(lián)網(wǎng)的架構和一些早期的傳輸方法。
如上所述,在當今的互聯(lián)網(wǎng)架構中,我們可以根據(jù)服務器地址請求內(nèi)容。這源于互聯(lián)網(wǎng)的基礎協(xié)議,可控制數(shù)據(jù)如何從點到點流動,Vint Cerf和Bob Kahn于1974年在《IEEE通信學報》(IEEE Transactions on Communications)上的一篇論文中首次描述了這一方案,現(xiàn)在被稱為互聯(lián)網(wǎng)協(xié)議。
萬維網(wǎng)建立在因特網(wǎng)協(xié)議之上。
瀏覽網(wǎng)頁包括向特定的設備(由IP地址標識)詢問給定的數(shù)據(jù)。
當用戶在瀏覽器的地址欄中鍵入URL時,該過程開始:瀏覽器將獲取主機名部分并將其發(fā)送到域名系統(tǒng)(DNS)服務器。DNS服務器返回相應的數(shù)字IP地址。然后,用戶的瀏覽器將連接到IP地址,并詢問位于該URL的網(wǎng)頁。
換句話說,即使同一區(qū)域中的計算機擁有所需數(shù)據(jù)的副本,它也不會看到該請求,也無法將其與保存的副本相匹配,因為該內(nèi)容沒有固有標識符,它不是內(nèi)容尋址的。
互聯(lián)網(wǎng)的內(nèi)容尋址模式將使數(shù)據(jù)發(fā)揮主導作用,而不是設備。請求者將使用唯一標識符(類似于期刊文章的DOI編號或書籍的ISBN)明確請求內(nèi)容,互聯(lián)網(wǎng)將處理將請求轉發(fā)給具有副本的可用對等方。
這樣做的主要挑戰(zhàn)是,這將需要對核心互聯(lián)網(wǎng)基礎設施進行更改,該基礎設施由全球數(shù)千家ISP擁有和運營,沒有中央機構能夠控制所有ISP的操作。雖然這種分布式架構是互聯(lián)網(wǎng)最大的優(yōu)勢之一,但它幾乎不可能對系統(tǒng)進行根本性更改,這會破壞許多使用它的人的生活。
即使是實現(xiàn)增量改進,這通常也是非常困難的。引入變化時遇到的困難的一個很好的例子是IPv6,它擴展了可能的IP地址的數(shù)量。
如今,在推出近25年后,它仍然沒有達到50%的采用率。
繞過這種慣性的一種方法是在現(xiàn)有互聯(lián)網(wǎng)協(xié)議之上的更高抽象層實現(xiàn)更改,不需要修改底層網(wǎng)絡軟件堆棧或中間設備。
除了IPFS之外的其他傳輸系統(tǒng),如BitTorrent和Freenet,都試圖通過引入可以與萬維網(wǎng)并行運行的系統(tǒng)來實現(xiàn)這一點,盡管這些系統(tǒng)通常具有Web接口。
例如,您可以單擊與文件關聯(lián)的BitTorrent跟蹤器的Web鏈接,但此過程通常需要將跟蹤器數(shù)據(jù)從Web瀏覽器傳遞到單獨的應用程序來處理傳輸。
如果你找不到跟蹤器鏈接,你就找不到數(shù)據(jù)。
Freenet還使用分布式對等系統(tǒng)來存儲內(nèi)容,內(nèi)容可以通過標識符請求,甚至可以使用Web的HTTP協(xié)議訪問。
但Freenet和IPFS有不同的目標:Freenet非常注重匿名性,并以服務于該目標但降低性能和用戶控制的方式管理數(shù)據(jù)復制。
IPFS提供了靈活、高性能的共享和檢索機制,但將數(shù)據(jù)控制在用戶手中。
在P2P網(wǎng)絡中查找文件的另一種方法稱為查詢洪泛。查找文件的節(jié)點向其所連接的所有節(jié)點廣播對該文件的請求。
如果接收請求的節(jié)點沒有文件[紅色],它會將請求轉發(fā)給它所連接的所有節(jié)點,直到最后具有文件的節(jié)點將副本傳回請求者[藍色]。Gnutella對等網(wǎng)絡使用了該協(xié)議。
協(xié)議實驗室將IPFS設計為一種升級Web的協(xié)議,而不是創(chuàng)建替代版本。
它的設計目的是讓網(wǎng)絡變得更好,讓人們能夠離線工作,使鏈接永久化,更快、更安全,并使其盡可能容易使用。
IPFS始于2013年,是一個開源項目,由協(xié)議實驗室支持,由數(shù)百個組織和數(shù)千名開發(fā)人員組成的充滿活力的社區(qū)和生態(tài)系統(tǒng)構建。IPFS建立在對等(P2P)網(wǎng)絡和基于內(nèi)容尋址等先前工作的強大基礎上。
所有P2P系統(tǒng)的核心原則是用戶同時作為客戶端(從其他人請求和接收文件)和服務器(存儲文件并向其他人發(fā)送文件)參與。內(nèi)容尋址和P2P的結合為從最近的對等端獲取數(shù)據(jù)提供了正確的成分,該對等端持有所需內(nèi)容的副本或更正確的副本,即網(wǎng)絡拓撲方面最接近的對等端,但不一定在物理距離上。
為了實現(xiàn)這一點,IPFS生成了它所保存的內(nèi)容的指紋(稱為哈希),這是其他項無法擁有的。該散列可以被認為是該內(nèi)容的唯一地址。
更改內(nèi)容中的一個位數(shù)將產(chǎn)生完全不同的地址。想要獲取此內(nèi)容的計算機廣播對具有此特定哈希的文件的請求。
因為標識符是唯一的,而且永遠不會改變,所以人們通常將IPFS稱為“永久性Web”。而且,標識符永遠不會改變的情況下,只要網(wǎng)絡上的某臺計算機存儲了特定的文件,網(wǎng)絡就能夠找到該文件。
名稱持久性和不變性本質上提供了另一個重要屬性:可驗證性。
擁有內(nèi)容及其標識符后,用戶可以驗證所接收的內(nèi)容是所要求的內(nèi)容,并且沒有被篡改,無論是在傳輸過程中還是由提供商篡改。這不僅提高了安全性,而且有助于保護公共記錄,防止歷史被改寫。
您可能想知道需要更新以包含新信息的內(nèi)容(如網(wǎng)頁)會發(fā)生什么。這是一個值得關注的問題,IPFS確實有一套機制,可以將用戶指向最新的內(nèi)容。
2017年4月,土耳其禁止了維基百科的訪問,因為該平臺上的一篇文章將土耳其描述為支持恐怖主義的國家,世界有機會觀察到內(nèi)容尋址是如何運作的。
一周內(nèi),土耳其版維基百科的完整副本被添加到IPFS中,在禁令持續(xù)的近三年里,該國人民仍然可以訪問維基百科。
半年后,西班牙試圖鎮(zhèn)壓加泰羅尼亞的獨立公投,下令互聯(lián)網(wǎng)服務提供商屏蔽相關網(wǎng)站,也發(fā)生了類似的示威活動。信息再次通過IPFS提供。
IPFS是一個開放的、無限制的網(wǎng)絡:任何用戶都可以加入并獲取或提供內(nèi)容。盡管有許多開源的成功案例,但當前的互聯(lián)網(wǎng)主要基于封閉平臺,其中許多平臺采用鎖定策略,但也為用戶提供了極大的便利。
雖然IPFS可以提高效率、隱私和安全性,但讓這個去中心化平臺達到人們習慣的可用性水平仍然是一個挑戰(zhàn)。
你看,IPFS的點對點、非結構化特性既是優(yōu)點也是缺點。雖然CDN已經(jīng)建立了龐大的基礎設施和先進的技術來提供高質量的服務,但IPFS節(jié)點由最終用戶操作。因此,網(wǎng)絡依賴于他們的行為,他們的計算機在線多長時間,他們的連接有多好,以及他們決定緩存什么數(shù)據(jù)。通常這些事情都不是最佳的。
協(xié)議實驗室工作人員的一個關鍵研究問題是,盡管組成IPFS網(wǎng)絡的節(jié)點存在缺陷,甚至當這些節(jié)點表現(xiàn)出自私或惡意行為時,如何保持IPFS網(wǎng)絡具有彈性。
如果我們要保持IPFS的性能與傳統(tǒng)分銷渠道的競爭力,我們需要克服這些問題。
您可能已經(jīng)注意到,目前還沒有提供IPFS地址的示例。這是因為基于哈希的尋址導致URL不容易拼寫或鍵入。
例如,您可以通過在合適的瀏覽器中使用以下地址在IPFS上找到維基百科徽標:ipfs://QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8D/.這個長字符串可以被認為是持有該徽標的文件的數(shù)字指紋。
為了跟蹤哪些節(jié)點保存哪些文件,IPFS使用所謂的分布式哈希表。在這個簡化的視圖中,三個節(jié)點保存有兩列的表的不同部分:一列(Keys)包含存儲文件的散列;另一列(Records)包含文件本身。
根據(jù)其哈希鍵的不同,文件會存儲在適當?shù)奈恢肹左]-此處描述為系統(tǒng)檢查了哈希的第一個字母,并將字母表的不同部分存儲在不同的位置。
分發(fā)文件的實際算法更復雜,但概念類似。檢索文件是有效的,因為可以根據(jù)文件的哈希值來定位文件[右]-。
還有其他內(nèi)容尋址方案使用人類可讀的命名或分層的URL樣式命名,但每個方案都有自己的權衡。找到在IPFS中使用人類可讀名稱的實用方法將大大提高用戶友好性。這是一個目標,但我們還沒有達到。
在過去十年的大部分時間里,協(xié)議實驗室一直在解決這些和其他技術、可用性和社會問題。在這段時間里,我們看到IPFS的采用率迅速增加,其網(wǎng)絡規(guī)模逐年翻番。
以這樣的速度擴大規(guī)模帶來了許多挑戰(zhàn)。但當你的意圖正在改變我們所知的互聯(lián)網(wǎng)時,這是正常的。
內(nèi)容尋址和IPFS的廣泛采用將有助于整個互聯(lián)網(wǎng)生態(tài)系統(tǒng)。通過授權用戶請求準確的內(nèi)容并驗證他們是否未經(jīng)更改就收到了內(nèi)容,IPFS將提高信任和安全性。
減少通過網(wǎng)絡傳輸?shù)闹貜蛿?shù)據(jù),并從附近來源獲取數(shù)據(jù),將使ISP以更低的成本提供更快的服務。即使網(wǎng)絡被分割,也能繼續(xù)提供服務,這將使我們的基礎設施更能抵御自然災害和其他大規(guī)模中斷。
但權力下放有黑暗面嗎?
我們經(jīng)常聽到關于不良行為者如何利用對等網(wǎng)絡支持非法活動的擔憂。這些擔憂很重要,但有時被夸大了。
IPFS改進HTTP的一個方面是允許對存儲數(shù)據(jù)進行全面審計。例如,由于其內(nèi)容尋址功能,特別是使用了唯一和永久的內(nèi)容標識符,IPFS可以更容易地確定網(wǎng)絡上是否存在某些內(nèi)容,以及哪些節(jié)點正在存儲這些內(nèi)容。
此外,IPFS讓用戶決定他們分發(fā)什么內(nèi)容和停止分發(fā)什么內(nèi)容變得很簡單(只需從他們的設備上刪除)。
同時,IPFS沒有提供允許審查的機制,因為它是一個沒有中央權限的分布式P2P文件系統(tǒng)。因此,沒有一個參與者具備技術手段來禁止文件的存儲和傳播,或者從其他對等方的存儲中刪除文件。
因此,對不需要的內(nèi)容的審查無法在技術上強制執(zhí)行,這為言論自由受到威脅的用戶提供了保障。
刪除內(nèi)容的合法請求仍然是可能的,但需要將其發(fā)送給實際存儲內(nèi)容的用戶,以避免常見的濫用行為(如非法DMCA刪除請求),大型平臺難以對此進行防御。
最終,IPFS是一個開放的網(wǎng)絡,由社區(qū)規(guī)則管理,對所有人開放。今天你可以成為它的一部分!
Brave瀏覽器附帶內(nèi)置IPFS支持,Opera for Android也是如此。
Chrome和Firefox都有瀏覽器擴展,IPFSDesktop使運行本地節(jié)點變得容易。
一些組織提供基于IPFS的托管服務,而其他組織運營公共網(wǎng)關,允許您通過瀏覽器從IPFS獲取數(shù)據(jù),而無需任何特殊軟件。
這些網(wǎng)關充當P2P網(wǎng)絡的入口,對引導采用非常重要。通過一些簡單的DNS魔術,可以配置域,以便用戶的訪問請求將導致網(wǎng)關以對用戶完全透明的方式檢索和提供相應的內(nèi)容。
到目前為止,IPFS已被用于構建各種應用程序,包括電子商務系統(tǒng)、科學數(shù)據(jù)集的安全分發(fā)、鏡像維基百科、創(chuàng)建新的社交網(wǎng)絡、共享癌癥數(shù)據(jù)、區(qū)塊鏈創(chuàng)建、安全加密的個人文件存儲和共享、開發(fā)工具和數(shù)據(jù)分析。
你可能已經(jīng)使用過這個網(wǎng)絡:如果你曾經(jīng)訪問過協(xié)議實驗室網(wǎng)站(Protocol.ai),你甚至沒有意識到它就從IPFS檢索到了網(wǎng)站的頁面!
*原文發(fā)表于IEEE,編譯by柏禮


在這里,預見Web3
1
Telegram:
https://t.me/joinchat/0da2ZR6gPi1mY2Vl
2
Medium:
https://medium.com/@forcecommunity-official
3
Twitter:
https://twitter.com/force_ipfs
4
5
B站:
https://space.bilibili.com/444267709
6
抖音:
http://qr61.cn/o8W1Ml/qIf9MgW
??
