IPFS里程碑:IPFS整合進Brave瀏覽器

從 1。19。86 版本開始,Brave 瀏覽器已經正式增加了(IPFS)的支援! 這是多年努力的結果,將這兩個專案結合起來。 在本篇文章中,我們將討論這次合作的實現過程,並從背後看看我們是如何完成這次整合的。

合作

Brave 和 IPFS 都與其他專案和供應商有著長期的成功合作關係。 Brav e 現在內建加密貨幣錢包,利用 Tor 的隱私模式,以及一個高度整合的 VPN 選項。 同時,IPFS 還與微軟(開發去中心化身份棧)、Netflix(實驗透過 IPFS 獲取 Docker 映象)、NixOS(去中心化原始碼和構建產品)等名家合作。

在Brave中展示IPFS URI解析的早期實驗。

IPFS 和 Brave 之間的這種整合本身就是長期實驗合作的產物,合作始於 2017,當時 Brave UI 還是基於 Muon(Electron 的一個分叉)開發的。 事實上,這個實驗進行了概念實現證明,明確了在 Brave 位址列中解析 IPFS URIs。

在Brave中透過IPFS Companion對IPFS檔案進行流式傳輸的初步嘗試。

然而,在取得實驗初步成功後不久,Brave 就改用 Chromium 作為引擎。 雖然這在短期內是 IPFS 整合的一個挫折,但早期工作為最近合併這兩個專案的努力奠定了基礎。 這次切換也讓 Brave 全面相容 Chromium 瀏覽器擴充套件(外掛),讓使用者可以充分利用 IPFS Companion 擴充套件,同時我們也開發了原生解決方案。

在之後的兩年裡,Brave 和 IPFS 背後的團隊一直在繼續共同致力於在瀏覽器內實現 IPFS 的全面相容。 並制定了新計劃,來自兩個團隊和更廣泛的社群的貢獻者開始規劃實現這個願景。 在這期間,征服了瀏覽器原始碼使得團隊能夠更緊密地將 IPFS Companion 擴充套件整合到 Brave 中:Chrome 套接字 API(通常不會暴露在 Chrome 應用中)使得在擴充套件中嵌入具有真正 TCP 傳輸的 js-ipfs 節點成為可能,並且 Brave 更改了他們的設定選單,包含了一個可一鍵安裝的 IPFS Companion。

在 Brave 設定選單中一鍵安裝 IPFS Companion。

最終,彙集了包括 Chrome 套接字 API 在內的各種因素,產生了獲取完整的 IPFS 節點推送,這一些都都在 Brave 內執行,並得到完全管理。 又經過半年的努力,我們終於實現了這一長遠的目標!

架構

整合的一個關鍵目標是使使用者儘可能無縫地使用 IPFS,同時也尊重和保留他們對瀏覽器的控制。 當用戶第一次在位址列中輸入

ipfs://

ipns://

URI 時,Brave 會發出提示,詢問使用者是否願意使用公共 IPFS 閘道器(預設情況下,Brave 使用 “https://dweb。link”,但使用者可以配置)或透過自己的本地 IPFS 節點(由 Brave 管理)。 透過 IPFS Companion 擴充套件的介面也可以啟動 Brave 管理的本地節點。

透過支援多種配置,並在部署本地節點之前徵求使用者同意,Brave 確保了它的行為符合瀏覽器作為使用者代理的最初理念和願景,存在是為使用者服務,而不是相反。 選擇信任誰,是否在自己的電腦上執行點對點軟體,這些選擇權仍然完全掌握在使用者手中。 執行你自己的節點,或者將完整性驗證委託給你信任的閘道器。

本地節點實施

如果使用者希望 Brave 代表他們執行一個本地節點,他們只需要點選一個按鈕。 一旦 Brave 獲得許可權,就會為使用者的平臺下載最新版本的 go-ipfs(目前最成熟的 IPFS 實現)。 然後 Brave 將負責管理 IPFS,在後臺執行 go-ipfs 守護程序。

Brave 和 go-ipfs 完美地結合在一起:go-ipfs 為 IPFS 提供 HTTP 互操作性,而 Brave 本身就是一個 HTTP 門戶。 這就在兩者之間建立了一個天然的介面,彌補了兩者功能集之間的差距,大大簡化了整合。 這兩個專案在主要的桌面環境(Windows、macOS、Linux)都是可用的,所以讓 Brave 作為 go-ipfs 的包裝器,是一個無論在哪個平臺都能是很好的解決方案。

在幕後,Brave 將所有的 IPFS 資料,包括檔案庫,都儲存在使用者的 Brave 配置檔案中。 它將在 go-ipfs 可用時獲取更新,並在必要時遷移底層 IPFS 倉庫。 清除瀏覽器快取也會啟動 IPFS 垃圾收集,清除任何沒有 pinned 或儲存在 MFS 的資源。

綜上所述,這意味著在 Brave 內部執行節點而不是手動執行節點幾乎沒有任何妥協:使用者可以獲得目前最好的 IPFS 實現,以及自動更新。 儘管如此,依舊為 Brave 執行的節點所採取的步驟進行隔離,確保那些也希望手動執行節點的使用者能夠在不發生任何碰撞的情況下執行節點。

未來計劃

這一整合標誌著 IPFS 的一個重要里程碑,併為進一步實驗,去改善網路瀏覽器與網路互動的體驗奠定了基礎。

特別是,在瀏覽器的位址列中擁有原生的 URI 解決方案,開啟了許多不同的研究問題。 新的概念,比如 IPFS 提供的內容完整性保證,應該如何向用戶傳達? 我們如何向廣大使用者解釋點對點網路的原理? 也許最重要的是,我們如何將非傳統 URI 意識帶給使用者,並幫助他們適應非 “http” 的世界?

事實上,這種研究已經在進行,特別是在移動領域,由於去年在 Opera for Android 瀏覽器中引入了 IPFS。 然而,仍有大量的工作要做。 透過與 Brave 的整合,IPFS 網路將其覆蓋範圍擴大到數百萬潛在的參與者——來自各種背景的人。 需要新的介面和隱喻,讓所有這些使用者的互動變得簡單、直觀、易懂。

IPFS 與 Brave 的合作也為瀏覽器生態系統的變革提供了進一步的動力。 這包括增加瀏覽器能夠識別的 URI 和網路協議(IANA 標準機構最近批准了一些 URI 方案,包括 ipfs 和 ipns)以及推動在瀏覽器本身引入這些協議在本地處理,而不是將該功能委託給單獨的應用程式或第三方閘道器。

總之,此次整合為 IPFS 開啟了全新的篇章,代表著向主流社群接受內容定址網路邁出了重要的一步。 透過合作和研究,IPFS 正變得越來越容易獲得和使用,將分散式網路的覆蓋面擴大到前所未有的程度。

相關文章