U lançuar një klient eksperimental Riot P2P.
Riot â fillimisht njĂ« klient pĂ«r njĂ« rrjet federal Matrix. Modifikimi P2P shton nĂ« klient implementimin e serverit dhe federatĂ«n pa pĂ«rdorimin e njĂ« DNS centralizuar pĂ«rmes integrimit libp2p, i cili gjithashtu pĂ«rdoret nĂ« IPFS. Kjo Ă«shtĂ« versioni i parĂ« i klientit qĂ« ruan sesionin pas ri-ngarkimit tĂ« faqes, por nĂ« pĂ«rditĂ«simet e ardhshme (p.sh., 0.2.0) tĂ« dhĂ«nat do tĂ« fshihen pĂ«rsĂ«ri. Prandaj, nuk rekomandohet qĂ« klienti tĂ« pĂ«rdoret pĂ«r diçka tĂ« rĂ«ndĂ«sishme.
Klienti implementon federatën, krijimin e dhomave dhe shfaqjen e një katalogu global (pa server!) të dhomave.
Megjithatë, rrjeti kryesor Matrix, që përdor DNS, dhe rrjeti Matrix mbi libp2p aktualisht nuk mund të federohen dhe të interaktojnë me njëri-tjetrin.
Për të përdorur klientin, mjafton të klikoni butonin e hyrjes, pas së cilës do të merrni një ID të gjeneruar në rrjet. Eksporti i të dhënave aktualisht nuk mbështetet.
Duke qenë se kjo është një prezantim i paqëndrueshëm i një koncepti të mundshëm, mund të përballeni me vështirësi:
- Nuk do të jeni në gjendje të hyni në llogarinë tuaj ose të ndërveproni me klientë të tjerë, nëse serveri, i nisur si një Service Worker, mbyllet nga shfletuesi pas skadimit të kohës së pritjes. Një problem i tillë është vërejtur në Firefox, i cili e bën këtë pas 30 sekondave mosveprimi].
- Në nivelin e rrjetit libp2p ka kufizime mbi numrin e veprimeve që mund të kryhen brenda një kohe, gjë që mund të shkaktojë probleme me federatën.
Fillimi i punĂ«s mbi versionin P2P tĂ« Matrix Ă«shtĂ« i motivuar nga dĂ«shira e zhvilluesve pĂ«r tĂ« ofruar mĂ« shumĂ« liri pĂ«r pĂ«rdoruesit e tyre. Ălirimi nga serveri qendror lejon lehtĂ«simin e komunikimit nĂ« rrjetet lokale dhe mesh, dhe nĂ« pĂ«rgjithĂ«si, nĂ« situatat kur qasja nĂ« rrjetin e jashtĂ«m Ă«shtĂ« e kufizuar ose mungon. Po ashtu, kjo ka njĂ« ndikim pozitiv nĂ« privatĂ«sinĂ«, pĂ«r shkak tĂ« minimizimit tĂ« metadaten e transmetuar, tĂ« cilat nĂ« njĂ« skenar tĂ« tillĂ« ruhen vetĂ«m nga pjesĂ«marrĂ«sit e bisedave. NĂ« fund tĂ« fundit, kjo e bĂ«n tĂ« mendosh pĂ«r rifaktimin e koncepteve aktuale tĂ« Matrix pĂ«r tĂ« arritur mĂ« shumĂ« portabilitet dhe siguri.
Implementimi i API-së së serverit arrihet përmes kompilimit të serverit Dendrite në kodin WebAssembly, i cili ekzekutohet njëkohësisht me klientin si një Service Worker, duke përdorur IndexedDB dhe SQLite për të ruajtur të dhënat lokalisht, në rastin e versionit web dhe të mbështjellësit Electron.
Dendrite Ă«shtĂ« njĂ« "server i gjeneratĂ«s sĂ« dytĂ«" i zhvilluar pĂ«r Matrix nĂ« gjuhĂ«n Go, i orientuar drejt modulinimit tĂ« plotĂ«, i cili gjithashtu mund tĂ« pĂ«rdoret nĂ« formĂ« monolite. NĂ« formĂ«n modulinore, pĂ«r ndĂ«rveprimin e mikroshĂ«rbimeve pĂ«rdoret Apache Kafka, ndĂ«rsa nĂ« formĂ«n monolite â Naffka. Dokumentacioni pĂ«r ndĂ«rtimin e versionit P2P tĂ« Dendrite mund tĂ« gjendet nĂ« GitHub.
Dendrite fillimisht ishte menduar si një server universal, i cili duhej të ishte një zëvendësim i drejtpërdrejtë Synapse, i shkruar në Python, i cili kishte probleme me performancën dhe shkallëzimin. Por për shkak të nevojës për mbështetje dhe rimekembje serioze të Synapse, zhvillimi i Dendrite u vonua. Në fund, zhvillimi rifilloi, megjithatë, baza ekzistuese e kodit vendosi të zhvillohet jo në kontekstin e një qëllimi universal, por të fokusoheshin në adaptimin për t'u integruar në pajisje klienti portable dhe me kapacitet të ulët, si shfletuesit dhe telefonat.
Implementimi aktual i Dendrite është ende në fazën e hershme të zhvillimit, por kjo është e mjaftueshme për një federatë të thjeshtë:
Client-Server APIs: 34% (227/672 teste) â nga 33%
Federation APIs: 34% (35/103 teste) â nga 27%
Kjo nuk është përpjekja e parë për realizimin e P2P. Më parë kishte një iniciativë për krijimin e CoAP-proxys në rrjetin Yggdrasil për Synapse.
Zhvilluesit e protokollit Matrix nuk pĂ«rqendrohen vetĂ«m nĂ« federatĂ« dhe po eksperimentojnĂ« me mjete pĂ«r njĂ« decentralizim edhe mĂ« tĂ« madh. PĂ«r shembull, u realizua njĂ« eksperiment pĂ«r tĂ« reduktuar kostot nĂ« nivelin e transportit. NjĂ« demon Ă«shtĂ« nĂ« zhvillim Pantalaimon â njĂ« proxy, nĂ« tĂ« cilin mund tĂ« lidhet çdo klient pa mbĂ«shtetje pĂ«r enkriptimin dhe tĂ« ndĂ«rveprojĂ« me mesazhe tĂ« enkriptuara. TĂ« gjitha iniciativat e kryera janĂ« tĂ« orientuara drejt sĂ« ardhmes pĂ«r tĂ« eliminuar lidhjen e identifikimit me serverin, duke hequr MXID, duke ndĂ«rvepruar me rrjetin me ndihmĂ«n e njĂ« çelĂ«si publik, gjĂ« qĂ« Ă«shtĂ« realizuar pjesĂ«risht nĂ« Riot P2P.
Për të gjetur informacione më të detajuara mbi konceptet e realizimeve të planifikuara mund të në prezantimin e FOSDEM 2020 në YouTube dhe në një postim të fundit në blog.
Ekziston gjithashtu një variant Riot P2P për Android, i bazuar në kodin e aplikacionit të vjetër. Në të ardhmen, planifikohet që të transferohet në aktualin RiotX.
Për më tepër
-
Projekti Ă«shtĂ« prezantuar TARDIS (ShĂ«rbimi i Inspektimit tĂ« DAG pĂ«r Dhomat Pa Ko) â njĂ« debugger pĂ«r linjĂ«n e grafit tĂ« ngjarjeve (DAG) pĂ«r dhomat Matrix mbi bazĂ«n e Riot P2P.
-
Në projektin Conduit (një server i zhvilluar nga komuniteti në gjuhën Rust) tani është realizuar enkriptimi dhe bashkëngjitjet.
-
U paraqit njĂ« server eksperimental nĂ« Scala â Mascarene.
Burimi: linux.org.ru
