Cloudflare的IPFS網關,輕鬆構建基於IPFS應用

Cloudflare,是一家美國的跨國科技企業,總部位於舊金山,在英國倫敦亦設有辦事處。Cloudflare以向客戶提供網站安全管理、性能優化及相關的技術支持為主要業務。

Cloudflare的IPFS網關,輕鬆構建基於IPFS應用

Cloudflare的IPFS網關,是一種從InterPlanetary文件系統(IPFS)訪問內容的簡便方法,它不需要在計算機上安裝和運行任何特殊軟件。在cloudflare-ipfs.com上託管的網關將作為許多新的高可靠性和安全性增強的Web應用程序的平臺。IPFS網關是第一個作為Cloudflare分佈式Web網關項目的一部分發布產品,最終將包含我們支持新的分佈式Web技術的所有努力。本文將簡要介紹IPFS。同時描述我們在網關之上構建的內容,以及如何通過我們的網關使用你自己的自定義主機名,提供自己內容的文檔。

IPFS快速入門

Cloudflare的IPFS網關,輕鬆構建基於IPFS應用

通常,當您從瀏覽器訪問網站時,瀏覽器會跟蹤原始服務器(或多個服務器),這些服務器是網站內容的最終集中存儲庫。然後,它會將您的計算機的請求發送到該源服務器,無論它在世界的哪個位置,該服務器都會將內容發送回您的計算機。這個系統幾十年來一直服務於互聯網,但是存在一個相當大的缺點:集中化使得無法將內容保持在線狀態,比託管它的原始服務器更長。如果該原始服務器被自然災害黑客入侵或取出,則該內容不可用了。如果網站所有者決定將其刪除,則內容將會消失。簡而言之,鏡像在大多數平臺上都不是一流的概念(Cloudflare的Always Online是一個值得注意的例外)。

InterPlanetary文件系統旨在改變這種狀況。IPFS是一種點對點文件系統,由世界各地的數千臺計算機組成,每臺計算機代表網絡存儲文件。這些文件可以是任何東西:圖片,3D模型,甚至整個網站。已經有超過5,000,000,000個文件上傳到IPFS。

IPFS與傳統Web

正如我們今天所想到的,IPFS與網絡之間存在兩個主要差異。

首先,對於IPFS,任何人都可以免費緩存和提供任何內容。目前,對於傳統的網絡最常見的是,依靠遠程位置的大型託管服務提供商來存儲內容,並將其提供給網絡的其餘部分。如果您想建立一個網站,您必須付費給其中的主要服務之一,然後才能執行此操作。使用IPFS,任何人都可以將其計算機註冊為系統中的節點,並開始提供數據。如果您正在使用Raspberry Pi或運行世界上最大的服務器,並不重要,您仍然可以成為系統中的高效節點。

Cloudflare的IPFS網關,輕鬆構建基於IPFS應用

第二個關鍵區別是數據是內容尋址的,而不是位置尋址的。這是一個微妙的差異,但影響是巨大的,所以它值得被打破。

目前,當您打開瀏覽器並導航到example.com時,您告訴瀏覽器“獲取存儲在example.com的IP地址中的數據”(這恰好是93.184.216.34)。該IP地址標記了您想要的內容存儲在網絡中的位置。然後,您在該IP地址向服務器發送“example.com”內容的請求,服務器發回相關信息。因此,在最基本的層面上,您可以告訴網絡在哪裡查看,網絡會發回它找到的內容。

IPFS將其轉變為頭腦。

使用IPFS,系統中存儲的每個數據塊都通過其內容的加密哈希來尋址,即,該塊的唯一字母和數字串。當您想要IPFS中的一段數據時,可以通過其哈希來請求它。因此,不要問網絡“讓我得到存儲在93.184.216.34的內容”,你問“給我一個哈希值為

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

的內容。”(

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

恰好是包含字符串“I”的.txt文件的哈希值)。

這有什麼不同?

使用IPFS,您可以告訴網絡要查找的內容,並且網絡會指出要查找的位置。

為什麼這很重要?

首先,它使網絡更具彈性。具有哈希的內容

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

可以存儲在幾十個節點上,因此如果緩存該內容的一個節點發生故障,則網絡將僅查找另一節點上的內容。

其次,它引入了自動安全級別。假設您知道所需文件的哈希值。所以你問網絡,“給我帶有哈希的文件

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy”

(上面的example.txt文件)。網絡響應併發送數據。當您收到所有數據時,您可以重新發送它。如果數據在傳輸過程中完全更改,則您獲得的哈希值將與您要求的哈希值不同。您可以將哈希視為文件的唯一指紋。如果您發回的文件不同於您預期收到的文件,則會有不同的指紋。這意味著系統具有內置的方式來了解內容是否已被篡改。

Cloudflare的IPFS網關,輕鬆構建基於IPFS應用

關於IPFS地址和加密哈希的註記

由於我們花了一些時間來討論為什麼這個內容尋址系統如此特殊,所以值得談一談如何構建IPFS地址。IPFS中的每個地址都是一個multihash,這意味著該地址將有關所使用的哈希算法和哈希輸出的信息組合成一個字符串。IPFS多重哈希有三個不同的部分:mulithash的第一個字節表示已使用哪個哈希算法來生成哈希; 第二個字節表示哈希的長度; 其餘字節是哈希函數輸出的值。默認情況下,IPFS使用SHA-256算法,該算法產生32字節的哈希值。這由Base58中的字符串“Qm”表示(IPFS地址的默認編碼),這就是為什麼這篇文章中的所有示例IPFS地址都是“Qm ...”形式的原因。

雖然SHA-256是目前使用的標準算法,但這種多哈格式允許IPFS協議支持其他哈希算法生成的地址。如果世界在未來的某個時間發現SHA-256的缺陷,這允許IPFS網絡轉移到不同的算法。如果有人用另一種哈希算法文件,該文件的地址將啟動“Qm”以外的某些字符。

好消息是,至少目前,SHA-256被認為具有許多特性,使其成為一種強大的加密哈希算法。其中最重要的是SHA-256具有抗衝擊性。當有兩個不同的文件在通過SHA-256算法運行時,產生相同的哈希時發生衝突。要了解防止衝突的重要性,請考慮這個簡短的情況。假設,某個IPFS用戶Alice上傳了一個帶有一些哈希的文件,另一個用戶Bob上傳了一個恰好產生完全相同哈希的不同文件。如果發生這種情況,網絡中將有兩個不同的文件具有完全相同的地址。因此,如果某個第三人Carol在該地址發出IPFS請求內容,她不一定知道自己是否會收到Bob的文件或Alice的文件。

SHA-256使碰撞極不確定。因為SHA-256計算256位散列,所以算法可以生成2 ^ 256個可能的IPFS地址。因此,IPFS中存在兩個產生衝突的文件的可能性很低。非常低。

Cloudflare的IPFS網關,輕鬆構建基於IPFS應用

如何訪問IPFS上的內容?

現在我們已經瞭解了IPFS的所有細節,你可能想知道如何使用它。有許多方法可以訪問存儲在IPFS網絡中的內容,但我們將在此處討論兩種流行的內容。第一種方法是將IPFS下載到您的計算機上。這會將您的計算機變為IPFS網絡的節點,如果您想要使用它,這是與網絡交互的最佳方式。

但是,如果您想要訪問存儲在IPFS上的內容,而不必在您的計算機上本地操作節點的麻煩,該怎麼辦?這就是IPFS網關發揮作用的地方。IPFS網關是第三方節點,它從IPFS網絡獲取內容並通過HTTPS為您提供服務。要使用網關,您無需下載任何軟件或鍵入任何代碼。您只需打開瀏覽器並輸入網關的名稱和您要查找的內容的哈希值,網關將在您的瀏覽器中提供內容。

假設您知道要從之前訪問example.txt文件,該文件具有哈希值

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

,並且有一個可在以下位置訪問的公共網關 https://example-gateway.com 要訪問該內容,您只需打開瀏覽器並輸入即可

https://example-gateway.com/ipfs/QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

並且你將獲得存儲在該哈希中的數據。/ ipfs /前綴和哈希的組合稱為文件路徑。您始終需要提供完整的文件路徑來訪問存儲在IPFS中的內容。

可以使用Cloudflare的網關做什麼?

在最基本的層面,可以從瀏覽器訪問存儲在IPFS上的數十億個任何文件。但這不是能做的唯一有趣的事情。使用Cloudflare的網關,您還可以構建一個完全託管在IPFS上的網站,但仍可通過自定義域名向您的用戶提供。此外,我們將發佈連接到我們網關的,任何網站免費SSL證書,確保連接到Cloudflare網關的每個網站都不會受到窺探和操縱。

處理濫用問題

IPFS是一個點對點交互網絡,因此用戶可能共享濫用內容。我們不會支持以和縱容這種事情的發生。然而,就像Cloudflare如何與更傳統的客戶合作一樣,Cloudflare的IPFS網關只是IPFS前面的緩存。Cloudflare無法修改或刪除IPFS網絡中的內容。如果發現Cloudflare IPFS網關提供的任何濫用內容,您可以使用標準濫用報告機制。

擁抱分佈式的未來

IPFS只是採用,新的哈希網絡前景的系列技術之一。Cloudflare對這些新技術帶來的可能性感到興奮,我們將網關視為一種工具。有助於彌合傳統網絡與IPFS標題下的,新一代分佈式網絡技術之間的差距,讓人們日常在瀏覽器中探索IPFS內容。我們使生態系統更加強大並幫助更進一步發展。就像Cloudflare在2010年推出,並通過提供之前僅供互聯網巨頭使用的,安全及可用來改變網絡媒體資產的遊戲一樣,我們認為IPFS網關將為分佈式網絡上的內容提供相同的推動力。

Dapper Labs首席技術官和CryptoKitties聯合創始人Dieter Shirley說:

自從Cloudflare網關推出以來,我們就想在IPFS上存儲CryptoKitty藝術,但技術還沒有準備好。Cloudflare的聲明將IPFS從一個充滿希望的實驗轉變為一個強大的商業部署工具,是一件非常的好的事情!

IPFS網關非常令人興奮,但它僅僅是一個開始。還有其他同樣有趣的分佈式Web技術可以從Cloudflare龐大的全球網絡中受益,我們目前正在探索這些可能性。

更多交流可點擊“瞭解更多”,進入IPFS-Filecoin社區


(本文由安迪·帕克發表於國外博客,經由Filecoin中國社區翻譯整理)

Cloudflare的IPFS網關,輕鬆構建基於IPFS應用



分享到:


相關文章: