Uluai fa'asalalauga ole Peer-to-Peer client mo le Matrix federated network

Ua tatala mai se tagata fa'ata'ita'i Fa'alavelave P2P.


Riot - muamua o se kalani mo se federated network Taiala. Ole suiga ole P2P e fa'aopoopoina ai le fa'atinoina o le 'au'aunaga ma le tu'ufa'atasiga i le kalani e aunoa ma le fa'aogaina o se DNS tutotonu e ala i le tu'ufa'atasia. libp2p, lea e faʻaaogaina foi i IPFS. O le fa'asologa muamua lea o le tagata o tausia e fa'asaoina le sauniga pe a uma le toe fa'aleleia o le itulau, ae i isi fa'afouga tetele (mo se fa'ata'ita'iga, 0.2.0) o le a tapeina pea fa'amaumauga. O le mea lea, e le fautuaina le faʻaaogaina o le kalani mo soʻo se mea taua.

E fa'atino e le kalani le federation, fatuina o potu ma fa'aalia se fa'avasegaga o potu i le lalolagi atoa (leai se server!).

Ae ui i lea, o le fesoʻotaʻiga autu o le Matrix e faʻaaoga ai le DNS ma le Matrix network i luga o le libp2p e le mafai ona faʻatasi ma fegalegaleai ma le tasi.

Mo le faʻaaogaina o le kalani, naʻo le kiliki i le faamau saini, a maeʻa ona e mauaina se ID faʻatupuina i luga o le upega tafailagi. E le'i lagolagoina le auina atu i fafo o faamatalaga.

Talu ai o se faʻaaliga le mautonu lea o se manatu e mafai, e mafai ona e faʻalavelave:

  • O le a le mafai ona e ulufale i totonu o lau teugatupe pe fegalegaleai ma isi tagata faʻatau pe afai o le server o loʻo galue o se Auaunaga Auaunaga e faʻaumatia e le browser pe a uma le taimi. O sea faafitauli vaʻaia ile Firefox, lea e faia lenei mea pe a uma le 30 sekone o le le gaoioi].
  • I le libp2p network level, o loʻo i ai taimi faʻatapulaʻa i le numera o gaioiga e mafai ona faia, lea e mafai ona mafua ai faʻafitauli i le federation.

O le amataga o le galuega i luga o le P2P version of Matrix na mafua ona o le manaʻoga o le au atinaʻe e tuʻuina atu le tele o le saolotoga i latou tagata faʻaoga. Decoupling mai le 'auʻaunaga tutotonu e mafai ai ona faʻafaigofie fesoʻotaʻiga i totonu o fesoʻotaʻiga faʻapitonuʻu ma mesh, ma i se tulaga lautele, i tulaga e faʻatapulaʻaina pe leai foi le avanoa i fafo. E iai foʻi se aafiaga lelei i luga o le le faalauaiteleina, ona o le faʻaitiitia o metadata faʻasalalau, lea i lenei faʻataʻitaʻiga e teuina naʻo tagata auai i le fesoʻotaʻiga. Mulimuli ane, o lenei mea e taʻitaʻia ai se tasi e mafaufau i le toe faʻaleleia o manatu o le Matrix o loʻo iai nei ina ia ausia ai le sili atu le feaveaʻi ma le saogalemu.

O le faʻatinoina o le API server e maua e ala i le tuʻufaʻatasia o le server Dendrite i totonu o le WebAssembly code, lea e tamoe faʻatasi ma le kalani i le tulaga o se Auaunaga Auaunaga, faʻaaoga IndexedDB ma SQLite e teu ai faʻamatalaga i le lotoifale, i le tulaga o le web version ma le Electron wrapper.
Dendrite o le "lua-tupulaga" Matrix server i Go lea o loʻo atiaʻe ma ua mamanuina ina ia faʻaogaina atoatoa ma e mafai foi ona faʻaoga monolithically. I se faiga faʻapitoa, Apache Kafka e faʻaaogaina mo fegalegaleaiga i le va o microservices, ma i se foliga monolithic - Naffka. E mafai ona maua faʻamaumauga mo le fausiaina o le P2P version of Dendrite i luga ole GitHub.

O le Dendrite na muai fa'amoemoe e avea ma fa'aumau fa'amoemoe lautele na fa'amoemoe e fai ma sui sa'o Synapse, tusia i le Python, o loʻo i ai faʻatinoga ma faʻafitauli faʻapitoa. Ae ona o le manaʻomia o le lagolago ma le toe faʻaleleia o le Synapse, o le Dendrite development na paʻu i tafatafa o le auala. Mulimuli ane, na toe faʻaauau le atinaʻe, ae na latou filifili e atiaʻe le faʻavae o loʻo i ai nei e le o se faʻamoemoega lautele, ae ia taulaʻi i le fetuunaiga mo le faʻapipiʻiina i masini feaveaʻi ma le maualalo o le eletise, e pei o suʻesuʻega ma telefoni.

O le faʻatinoga o le Dendrite o loʻo i ai nei o loʻo i ai i le amataga o le atinaʻe, ae ua lava mo se faʻapotopotoga faigofie:

Client-Server APIs: 34% (227/672 su'ega) - mai le 33%
Federation APIs: 34% (35/103 su'ega) - mai le 27%

E le o le taumafaiga muamua lea e faʻatino le P2P. I le taimi muamua, sa i ai se taumafaiga e fai CoAP sui i le Yggdrasil fesoʻotaʻiga mo Synapse.


O le au atiaʻe o le Matrix protocol e le o taulaʻi i le faʻapotopotoga naʻo latou ma o loʻo faʻataʻitaʻiina meafaigaluega mo le sili atu le faʻavasegaina. Mo se faʻataʻitaʻiga, sa faia se faʻataʻitaʻiga e fa'aitiitia ai tau ile tulaga tau felauaiga. Ua tupu a'e se temoni Pantalaimon - o se sui e mafai e so'o se tagata o tausia e leai se lagolago fa'aigoaina ona feso'ota'i ma fegalegaleai ma fe'au fa'ailoga. O fuafuaga uma e faia e fa'atatau i le fa'amautinoaina i le lumana'i aveese le saini e saisaitia i le server, faʻaumatia MXID, fegalegaleai ma le fesoʻotaʻiga e faʻaaoga ai se ki faʻasalalauga, lea ua uma ona faʻatinoina i Riot P2P.


E mafai ona e mauaina faʻamatalaga faʻamatalaga e uiga i faʻamatalaga o faʻatinoga fuafuaina i le FOSDEM 2020 faʻaaliga ile YouTube и tala fou blog.

E iai foʻi se Riot P2P variant mo Android, faʻavae i luga o le code mai le app tuai. I le lumanaʻi ua fuafua e tuʻuina atu i le taimi nei. RiotX.

Faʻatasi

  • Poloketi ua tuuina atu TARDIS (Taimi Agnostic Room DAG Inspection Service) o se fa'asologa o mea e tupu i luga ole kalafi (DAG) fa'apipi'i mo potu Matrix e fa'avae ile Riot P2P.

  • I le galuega faatino paipa (o se 'auʻaunaga e atiaʻe faʻalapotopotoga i Rust) o loʻo i ai nei fa'ailoga ma fa'apipi'i fa'atino.

  • Ua aliali mai se 'au'aunaga fa'ata'ita'i i Scala - Mascarene.

puna: linux.org.ru

Faaopoopo i ai se faamatalaga