Matrix 聯合網路的點對點用戶端的第一個版本

實驗性客戶端已發布 防暴P2P.


防暴 - 原為聯合網路的客戶端 矩陣。 P2P 修改透過整合新增了伺服器實作和聯合到客戶端,無需使用集中式 DNS 庫文件2p,也用於 IPFS。這是第一個在頁面重新載入後保存會話的用戶端版本,但在下一個重大更新(例如 0.2.0)中,資料仍將被刪除。因此,不建議將客戶端用於任何重要的事情。

客戶端實作聯合、房間創建和全域(無伺服器!)房間目錄的顯示。

然而,使用 DNS 的主 Matrix 網路和 libp2p 上的 Matrix 網路尚無法相互聯合和互動。

要使用客戶端,只需按一下登入按鈕,之後您將在網路上收到產生的 ID。尚不支援數據導出。

由於這是一個可能概念的不穩定表示,因此您可能會遇到麻煩:

  • 如果作為 Service Worker 執行的伺服器在逾時時被瀏覽器終止,您將無法登入您的帳戶或與其他用戶端互動。這樣的問題 在 Firefox 上發現,在 30 秒不活動後執行此操作]。
  • 在 libp2p 網路級別,可以執行的操作數量存在時間限制,這可能會導致聯合問題。

Matrix P2P 版本的開發是由於開發人員希望為使用者提供更多自由的願望。與中央伺服器的解耦使得可以促進本地和網狀網路內的通信,並且通常在對外部網路的存取受到限製或不存在的情況下。由於傳輸的元資料最小化,這對隱私也有正面的影響,在這種情況下,元資料僅由通訊中的參與者儲存。最終,這導致人們考慮重構目前的 Matrix 概念,以實現更高的可移植性和安全性。

伺服器API的實作是透過伺服器編譯來實現的 樹突 WebAssembly 程式碼以 Service Worker 的形式與用戶端同時執行,在 Web 版本和 Electron 包裝器的情況下,使用 IndexedDB 和 SQLite 在本機儲存資料。
Dendrite 是 Go 中的「第二代」Matrix 伺服器,正在開發中,設計為完全模組化,也可以整體使用。以模組化形式,Apache Kafka 用於微服務之間的交互,以整體形式 - 納夫卡。可以找到建置 P2P 版本 Dendrite 的文檔 在 GitHub 上.

Dendrite 最初旨在成為通用伺服器,旨在直接替代 突觸,用Python編寫,存在性能和可擴展性問題。但由於需要對 Synapse 的支援和重大重構,Dendrite 的開發被擱置了。最終,開發恢復了,但他們決定不在通用環境中開發現有的程式碼庫,而是專注於嵌入便攜式和低功耗客戶端設備(例如瀏覽器和手機)中的適配器。

目前的 Dendrite 實作仍處於開發的早期階段,但對於簡單的聯合來說已經足夠了:

客戶端-伺服器 API:34%(227/672 次測試)— 高於 33%
聯合 API:34%(35/103 測試) — 高於 27%

這並不是 P2P 的第一次嘗試。此前,曾有一項倡議創建 Synapse 的 Yggdrasil 網路的 CoAP 代理.


Matrix 協議的開發人員不僅專注於聯邦,而且正在嘗試使用工具來實現更大程度的去中心化。例如,進行了一個實驗 降低運輸層面的成本。惡魔進化了 潘塔萊蒙 - 任何不支援加密的用戶端都可以連接到加密訊息並與之互動的代理。採取的所有措施都是為了確保未來 擺脫與伺服器的登入綁定,消除 MXID,使用公鑰與網路交互,這已經在 Riot P2P 中部分實現。


您可以找到有關計劃實施的概念的更多詳細信息 在 YouTube 上的 FOSDEM 2020 演示中 и 最近的部落格文章.

Android 上還有一個 Riot P2P 變體,基於舊應用程式的程式碼。將來計劃將其轉移到現在的位置。 防暴X.

而且

  • 項目介紹 塔迪斯 (與時間無關的房間 DAG 檢查服務)是基於 Riot P2P 的 Matrix 房間的線性事件圖(DAG)偵錯器。

  • 專案中 管道 (Rust 中的社群開發的伺服器)現在 已實施加密和附件.

  • Scala 中的一個實驗伺服器已經出現 - 馬斯克林.

來源: linux.org.ru

添加評論