PremiÚre version du client Peer-to-Peer pour le réseau fédéré Matrix.

Le lancement du client expérimental a eu lieu Riot P2P.


Riot — initialement un client pour un rĂ©seau fĂ©dĂ©rĂ© Matrix. La modification P2P ajoute dans le client une implĂ©mentation de serveur et fĂ©dĂ©ration sans utilisation de DNS centralisĂ© via l'intĂ©gration libp2p, qui est Ă©galement utilisĂ©e dans IPFS. C'est la premiĂšre version du client qui conserve la session aprĂšs le rechargement de la page, mais dans les prochaines mises Ă  jour majeures (par exemple, 0.2.0), les donnĂ©es seront nĂ©anmoins supprimĂ©es. Par consĂ©quent, il n'est pas recommandĂ© d'utiliser le client pour des choses importantes.

Le client implémente la fédération, la création de salles et l'affichage d'un annuaire de salles global (sans serveur!).

Cependant, le réseau principal de Matrix, utilisant DNS, et le réseau Matrix sur libp2p ne peuvent pas encore se fédérer et interagir l'un avec l'autre.

Pour utiliser le client, il suffit d'appuyer sur le bouton de connexion, aprÚs quoi vous recevrez un ID généré dans le réseau. L'exportation des données n'est pas encore supportée.

Comme il s'agit d'une présentation instable d'un concept potentiel, vous pourriez rencontrer des désagréments :

  • Vous ne pourrez pas accĂ©der Ă  votre compte ou interagir avec d'autres clients si le serveur, exĂ©cutĂ© sous forme de Service Worker, est arrĂȘtĂ© par le navigateur aprĂšs un dĂ©lai d'attente. Ce problĂšme a Ă©tĂ© observĂ© avec Firefox, qui le fait aprĂšs 30 secondes d'inactivitĂ©].
  • Au niveau du rĂ©seau libp2p, il existe des limitations sur le nombre d'actions exĂ©cutĂ©es par un certain temps, ce qui peut entraĂźner des problĂšmes de fĂ©dĂ©ration.

Le dĂ©but du travail sur la version P2P de Matrix est motivĂ© par le dĂ©sir des dĂ©veloppeurs d'offrir plus de libertĂ© Ă  leurs utilisateurs. La dĂ©connexion du serveur central facilite la communication au sein des rĂ©seaux locaux et mesh, et en gĂ©nĂ©ral, dans des conditions oĂč l'accĂšs au rĂ©seau externe est limitĂ© ou inexistant. Cela a Ă©galement un impact positif sur la confidentialitĂ©, en minimisant les mĂ©tadonnĂ©es transfĂ©rĂ©es, qui dans ce scĂ©nario ne sont conservĂ©es que par les participants Ă  la conversation. En fin de compte, cela amĂšne Ă  rĂ©flĂ©chir Ă  la refactorisation des concepts actuels de Matrix pour atteindre une plus grande portabilitĂ© et sĂ©curitĂ©.

L'implémentation de l'API serveur est réalisée grùce à la compilation du serveur Dendrite en code WebAssembly, qui s'exécute simultanément avec le client sous la forme d'un Service Worker, utilisant IndexedDB et SQLite pour stocker les données localement, dans le cas de la version web et de l'emballage Electron.
Dendrite — c'est un « serveur de deuxiĂšme gĂ©nĂ©ration » en dĂ©veloppement pour Matrix, Ă©crit en Go, axĂ© sur une modularitĂ© complĂšte, qui peut Ă©galement ĂȘtre utilisĂ© sous forme monolithique. En mode modulaire, Apache Kafka est utilisĂ© pour l'interaction des microservices, tandis qu'en mode monolithique — Naffka. La documentation pour la construction de la version P2P de Dendrite est disponible sur GitHub.

Dendrite a d'abord été envisagé comme serveur généraliste, destiné à remplacer Synapse, écrit en Python, qui avait des problÚmes de performance et d'évolutivité. Cependant, en raison de la nécessité de support et d'un refactoring important de Synapse, le développement de Dendrite a été mis en attente. Finalement, le développement a repris, mais l'équipe a décidé de ne pas développer le code existant dans le cadre d'une application généraliste, mais plutÎt de se concentrer sur l'adaptation pour l'intégration dans des dispositifs clients portables et peu puissants, comme les navigateurs et les téléphones.

La mise en Ɠuvre actuelle de Dendrite est encore Ă  un stade prĂ©coce de dĂ©veloppement, mais elle est dĂ©jĂ  suffisante pour une fĂ©dĂ©ration simple :

API Client-Serveur : 34 % (227/672 tests) — en hausse par rapport à 33 %
API de FĂ©dĂ©ration : 34 % (35/103 tests) — en hausse par rapport Ă  27 %

Ce n'est pas la premiĂšre tentative de mise en Ɠuvre de P2P. Une initiative prĂ©cĂ©dente avait Ă©tĂ© lancĂ©e pour crĂ©er un proxy CoAP dans le rĂ©seau Yggdrasil pour Synapse.


Les dĂ©veloppeurs du protocole Matrix ne se concentrent pas uniquement sur la fĂ©dĂ©ration et expĂ©rimentent des outils pour une dĂ©centralisation encore plus grande. Par exemple, une expĂ©rimentation a Ă©tĂ© menĂ©e pour rĂ©duire les coĂ»ts au niveau de transport. Un dĂ©mon est en dĂ©veloppement Pantalaimon — un proxy auquel tout client peut se connecter sans support de chiffrement et interagir avec des messages chiffrĂ©s. Toutes les initiatives menĂ©es visent Ă  ce que, Ă  l'avenir, se dĂ©barrasser de l'association du login au serveur, abolissant le MXID, interagissant avec le rĂ©seau Ă  l'aide d'une clĂ© publique, ce qui a dĂ©jĂ  Ă©tĂ© partiellement mis en Ɠuvre dans Riot P2P.


Pour des informations plus dĂ©taillĂ©es sur les concepts de mises en Ɠuvre prĂ©vues, vous pouvez consulter la prĂ©sentation FOSDEM 2020 sur YouTube et le dernier article de blog publiĂ©.

Il existe Ă©galement une version Riot P2P pour Android, basĂ©e sur le code de l'ancienne application. À l'avenir, il est prĂ©vu de la mettre Ă  jour vers la version actuelle RiotX.

De plus,

  • Le projet est prĂ©sentĂ© TARDIS (Service de DĂ©bogage d'Inspection de Graphe Acyclique des ÉvĂ©nements IndĂ©pendants du Temps) — un dĂ©bogueur de graphe linĂ©aire d'Ă©vĂ©nements (DAG) pour des salles Matrix basĂ©es sur Riot P2P.

  • Dans le projet Conduit (un serveur en dĂ©veloppement par la communautĂ© Ă©crit en Rust) maintenant des fonctionnalitĂ©s de cryptage et de piĂšces jointes.

  • Un serveur expĂ©rimental sur Scala est dĂ©sormais disponible — Mascarene.

Source : linux.org.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster