Megjelent egy kísérleti kliens Riot P2P.
Riot — eredetileg kliens a szövetségi hálózat számára Mátrix. A P2P-módosítás beépíti a szerver és a szövetség megvalósítását központosított DNS használata nélkül, integrálás révén libp2p, amely szintén használatban van a IPFS. Ez az első kliensverzió, amely megőrzi a munkamenetet az oldal újratöltése után, de a következő főbb frissítésekben (például 0.2.0) az adatok így is törlésre kerülnek. Ezért a klienst fontos dolgokra nem ajánlott használni.
A kliensben szövetség, szobák létrehozása és a globális (szerver nélküli!) szobakatalógus megjelenítése valósul meg.
Ezzel egy időben a Matrix főhálózata, amely DNS-t használ, és a libp2p alapú Matrix hálózat jelenleg nem képes szövetségbe lépni és kölcsönhatásba lépni egymással.
A kliens használatához egyszerűen nyomja meg a bejelentkezés gombot, és ezután kap egy generált ID-t a hálózatban. Adatexportálás jelenleg nem támogatott.
Mivel ez egy instabil bemutató egy lehetséges koncepcióról, kellemetlenségekkel találkozhat:
- Nem tud bejelentkezni a fiókjába vagy interakcióba lépni más kliensekkel, ha a Service Worker-ként futó szerver a böngésző által várakozási idő után leáll. Ez a probléma észlelve lett a Firefoxban, amely ezt 30 másodperc inaktivitás után végzi].
- A libp2p hálózati szinten korlátozások vannak érvényben az időszakonként végrehajtott műveletek számára, ami problémákat okozhat a szövetségben.
A Matrix P2P verziójának fejlesztése a fejlesztők azon törekvésének eredménye, hogy több szabadságot adjanak felhasználóiknak. A központi szervertől való függetlenség lehetővé teszi a kommunikáció megkönnyítését helyi és mesh hálózatokban, különösen olyan helyzetekben, amikor a külső hálózatra való kimenet korlátozott vagy hiányzik. Ez a magánélet védelmét is szolgálja, mivel minimalizálja az átvitt metaadatokat, amelyek ilyen körülmények között csak a beszélgetés résztvevőinél tárolódnak. Végső soron ez arra késztet, hogy átgondoljuk a Matrix jelenlegi koncepcióit a jobb hordozhatóság és biztonság érdekében.
A szerver API megvalósítását a szerver kompilációja teszi lehetővé Dendrite WebAssembly-kód, amely párhuzamosan fut a klienssel Service Workerként, IndexedDB-t és SQLite-ot használ a helyi adatok tárolására, webes verzió és Electron-borítás esetén.
A Dendrite egy Go nyelven fejlesztett, „második generációs” Matrix szerver, amely teljes moduláris megközelítésre épít, de monolitikus formában is használható. Moduláris formában az mikroszolgáltatások közötti interakcióhoz Apache Kafka, míg monolitikus formában — Naffka. A P2P-verzió Dendrite felépítéséről szóló dokumentációt megtalálhatók a GitHub-on.
A Dendrite eredetileg egy általános célú szervernek készült, amely a Synapse, Python nyelven íródott, teljesítménybeli és skálázhatósági problémákkal küzd. Azonban a Synapse támogatásának szükségessége és a jelentős újratervezés miatt a Dendrite fejlesztését háttérbe szorították. Végül a fejlesztés folytatódott, de a létező kódalapot nem általános célra, hanem hordozható és alacsony teljesítményű kliens eszközökre, például böngészőkre és telefonokra való beillesztés céljából szerették volna továbbfejleszteni.
A Dendrite jelenlegi megvalósítása még korai fejlesztési szakaszban van, de már elegendő az egyszerű szövetséghez:
Client-Server API-k: 34% (227/672 teszt) — emelkedett a 33%-ról
Federációs API-k: 34% (35/103 teszt) — emelkedett a 27%-ról
Ez nem az első próbálkozás a P2P megvalósítására. Korábban volt egy kezdeményezés a CoAP-proxy létrehozására az Yggdrasil hálózathoz a Synapse számára..
A Matrix protokoll fejlesztői nem csak a szövetségre koncentrálnak, és eszközöket kísérleteznek a további decentralizáció érdekében. Például egy kísérletet végeztek a szállítási költségek csökkentésére.Fejlődik a Pantalaimon proxy, amelyhez bármely kliens csatlakozhat titkosítási támogatás nélkül, és kölcsönhatásba lép a titkosított üzenetekkel. Minden kezdeményezés célja, hogy a jövőben megszüntesse a bejelentkezést a szerverhez való kötődést,eltöröljük az MXID-t, és a nyilvános kulccsal lépjünk kapcsolatba a hálózattal, amely már részben megvalósult a Riot P2P-ben.
További részletes információk a tervezett megvalósítások koncepcióiról találhatók a 2020-as FOSDEM előadásban a YouTube-on, és a közelmúltban megjelent blogbejegyzésben..
A Riot P2P androidos verziója is elérhető, amely a régi alkalmazás kódjára épül. A jövőben tervezik átállítani a jelenlegi RiotX.
Ezen kívül
-
Bemutatjuk a projektet TARDIS (Time Agnostic Room DAG Inspection Service) — események lineáris gráfjának (DAG) hibakeresője Riot P2P alapú Matrix szobákhoz.
-
A projektben Conduit (a közösség által fejlesztett Rust nyelvű szerveren) mostantól megvalósításra került a titkosítás és a csatolmányok.
-
Megjelent egy kísérleti szerver Scala nyelven — Mascarene.
Forrás: linux.org.ru
