Numri i parë i klientit Peer-to-Peer të rrjetit federativ Matrix

U lansua klienti eksperimental Riot P2P.


Riot — fillimisht klient pĂ«r rrjetin e federuar Matrix. Modifikimi P2P shton nĂ« klient realizimin e serverit dhe federatĂ«n pa pĂ«rdorimin e DNS-it tĂ« centralizuar pĂ«rmes integrimit libp2p, i cili pĂ«rdoret gjithashtu nĂ« IPFS. Kjo Ă«shtĂ« versioni i parĂ« i klientit qĂ« ruan seancĂ«n pas rinisjes sĂ« faqes, por nĂ« pĂ«rditĂ«simet e ardhshme kryesore (p.sh., 0.2.0) tĂ« dhĂ«nat megjithatĂ« do tĂ« fshihen. Prandaj, nuk rekomandohet tĂ« pĂ«rdorni klientin pĂ«r diçka tĂ« rĂ«ndĂ«sishme.

Në klient është realizuar federata, krijimi i dhomave dhe shfaqja e një katalogu global (pa server!) të dhomave.

Megjithatë, rrjeti kryesor Matrix, që përdor DNS, dhe rrjeti Matrix në libp2p për momentin nuk mund të federohen dhe të ndërveprojnë me njëri-tjetrin.

Për të përdorur klientin, mjafton të klikoni butonin për t'u futur, pas së cilës do të merrni një ID të gjeneruar në rrjet. Eksporti i të dhënave aktualisht nuk mbështetet.

Duke qenë një prezantim i paqëndrueshëm i një koncepti të mundshëm, mund të përballeni me disa vështirësi:

  • Nuk do tĂ« mund tĂ« hyni nĂ« llogarinĂ« tuaj ose tĂ« ndĂ«rveproni me klientĂ«t e tjerĂ« nĂ«se serveri, i cili Ă«shtĂ« aktivizuar si njĂ« Service Worker, ndalet nga shfletuesi pas skadimit tĂ« kohĂ«s. Ky problem Ă«shtĂ« vĂ«nĂ« re te Firefox, i cili e bĂ«n kĂ«tĂ« pas 30 sekondash pasiviteti].
  • NĂ« nivelin e rrjetit, libp2p ka kufij pĂ«r numrin e veprimeve qĂ« kryhen nĂ« kohĂ«, çka mund tĂ« shkaktojĂ« probleme me federatĂ«n.

Fillimi i punës për versionin P2P të Matrix është motivuar nga dëshira e zhvilluesve për të ofruar më shumë liri për përdoruesit e tyre. Shkëputja nga serveri qendror lejon lehtësimin e komunikimit brenda rrjeteve lokale dhe mesh, dhe në përgjithësi, në kushte ku dalja në rrjetin e jashtëm është e kufizuar ose mungon. Kjo gjithashtu ndihmon pozitivisht në privatësi, për shkak të minimizimit të metadatat e transmetuara, të cilat në këtë skenar ruhen vetëm nga pjesëmarrësit e bisedës. Në fund, kjo nxit të mendosh për rifaktorizimin e koncepteve aktuale të Matrix për të arritur një portabilitet dhe siguri më të madhe.

Implementimi i API-së serverike arrihet përmes kompilimit të serverit Dendrite në kodin WebAssembly, i cili ekzekutohet në mënyrë të njëkohshme me klientin si një Shërbim Punonjës, duke përdorur IndexedDB dhe SQLite për ruajtjen e të dhënave lokalisht, në rastin e versionit në internet dhe të mbështjellësit Electron.
Dendrite — Ă«shtĂ« njĂ« "server i gjeneratĂ«s sĂ« dytĂ«" Matrix qĂ« zhvillohet nĂ« gjuhĂ«n Go, i orientuar drejt modularitetit tĂ« plotĂ«, i cili gjithashtu mund tĂ« pĂ«rdoret nĂ« njĂ« formĂ« monolite. NĂ« formĂ«n modulare pĂ«r ndĂ«rveprimin e mikroshĂ«rbimeve pĂ«rdoret Apache Kafka, ndĂ«rsa nĂ« monolitin — Naffka. Dokumentacioni pĂ«r ndĂ«rtimin e versionit P2P tĂ« Dendrite mund tĂ« gjendet nĂ« GitHub.

Dendrite fillimisht u konceptua si një server me qëllim të përgjithshëm, i cili duhej të ishte një zëvendësim i drejtpërdrejtë Synapse, i shkruar në Python, i cili ka probleme me performancën dhe shkallëzimin. Por për shkak të nevojës për mbështetje dhe një ristrukturim të rëndësishëm të Synapse, zhvillimi i Dendrite u tërhoq në plan të dytë. Në fund, zhvillimi u rinis, megjithatë vendosën të zhvillojnë bazën e kodit ekzistuese jo në kontekstin e qëllimit të përgjithshëm, por të fokusohet në adaptimin për integrimin në pajisje të portative 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ë:

API-tĂ« Client-Server: 34% (227/672 teste) — njĂ« rritje nga 33%
API-tĂ« e FederatĂ«s: 34% (35/103 teste) — njĂ« rritje nga 27%

Kjo nuk është përpjekja e parë për të realizuar P2P. Më parë ka pasur një iniciativë për të krijuar proxy CoAP në rrjetin Yggdrasil për Synapse.


Zhvilluesit e protokollit Matrix nuk pĂ«rqendrohen vetĂ«m nĂ« federatĂ« dhe eksperimentojnĂ« me mjete pĂ«r decentralizim tĂ« mĂ«tejshĂ«m. PĂ«r shembull, Ă«shtĂ« zhvilluar njĂ« eksperiment pĂ«r tĂ« reduktuar kostot nĂ« nivelin e transportit. Po zhvillohet demon Pantalaimon — njĂ« proxy, tĂ« cilit mund t’i lidhet çdokund klient pa mbĂ«shtetje pĂ«r enkriptim dhe tĂ« ndĂ«rveprojĂ« me mesazhet e enkriptuara. TĂ« gjitha iniciativat e kryera kanĂ« si qĂ«llim qĂ« nĂ« tĂ« ardhmen tĂ« eliminojnĂ« lidhjen e login-it me serverin, duke hequr MXID, duke ndĂ«rvepruar me rrjetin pĂ«rmes çelĂ«sit publik, qĂ« tashmĂ« Ă«shtĂ« realizuar pjesĂ«risht nĂ« Riot P2P.


Informacione më të detajuara mbi konceptet e realizimeve të planifikuara mund të gjenden në prezantimin FOSDEM 2020 në YouTube dhe në një postim të fundit në blog.

Ka është gjithashtu një variant Riot P2P për Android, i bazuar në kodin e aplikacionit të vjetër. Në të ardhmen planifikohet të përkthehet në aktualin RiotX.

Për më tepër

  • ËshtĂ« paraqitur projekti TARDIS (ShĂ«rbimi i Inspektimit tĂ« DAG me Koha Agnostike) - njĂ« debugger pĂ«r grafikun e linjĂ«s sĂ« ngjarjeve (DAG) pĂ«r dhomat Matrix tĂ« bazuara nĂ« Riot P2P.

  • NĂ« projektin Conduit (server i zhvilluar nga komuniteti nĂ« gjuhĂ«n Rust) tani janĂ« realizuar enkriptimi dhe ngarkesat.

  • Doli njĂ« server eksperimental nĂ« Scala - Mascarene.

Burimi: linux.org.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster