Toleo la kwanza la mteja wa Peer-to-Peer kwa mtandao ulioshirikishwa wa Matrix

Mteja wa majaribio ametolewa Ghasia P2P.


Kutuliza ghasia - awali mteja wa mtandao wa shirikisho Matrix. Marekebisho ya P2P huongeza utekelezaji wa seva na shirikisho kwa mteja bila kutumia DNS ya kati kupitia ujumuishaji. libp2p, ambayo pia hutumika katika IPFS. Hili ni toleo la kwanza la mteja ambalo huhifadhi kipindi baada ya upakiaji upya wa ukurasa, lakini katika masasisho makubwa yanayofuata (kwa mfano, 0.2.0) data bado itafutwa. Kwa hiyo, kutumia mteja kwa kitu chochote muhimu haipendekezi.

Mteja hutumia shirikisho, uundaji wa vyumba na maonyesho ya orodha ya kimataifa (isiyo na seva!) ya vyumba.

Hata hivyo, mtandao mkuu wa Matrix unaotumia DNS na mtandao wa Matrix kwenye libp2p bado hauwezi kushirikisha na kuingiliana.

Ili kutumia mteja, bonyeza tu kifungo cha kuingia, baada ya hapo utapokea kitambulisho kilichozalishwa kwenye mtandao. Uhamishaji wa data bado hautumiki.

Kwa kuwa huu ni uwasilishaji usio na msimamo wa wazo linalowezekana, unaweza kupata shida:

  • Hutaweza kuingia katika akaunti yako au kuingiliana na wateja wengine ikiwa seva inayoendesha kama Mfanyakazi wa Huduma itauawa na kivinjari wakati muda wa kuisha. Tatizo kama hilo imeonekana kwenye Firefox, ambayo hufanya hivi baada ya sekunde 30 za kutofanya kazi].
  • Katika kiwango cha mtandao wa libp2p, kuna mipaka ya muda juu ya idadi ya vitendo vinavyoweza kufanywa, ambavyo vinaweza kusababisha matatizo na shirikisho.

Kuanza kwa kazi kwenye toleo la P2P la Matrix kulitokana na hamu ya watengenezaji kutoa uhuru zaidi kwa watumiaji wao. Kutenganisha kutoka kwa seva ya kati hufanya iwezekanavyo kuwezesha mawasiliano ndani ya mitandao ya ndani na ya mesh, na kwa ujumla, katika hali ambapo upatikanaji wa mtandao wa nje ni mdogo au haupo. Hii pia ina athari nzuri kwa faragha, kwa sababu ya kupunguzwa kwa metadata iliyopitishwa, ambayo katika hali hii inahifadhiwa tu na washiriki katika mawasiliano. Hatimaye, hii hupelekea mtu kuzingatia kufikiria upya dhana za sasa za Matrix ili kufikia uwezo wa kubebeka na usalama zaidi.

Utekelezaji wa API ya seva hupatikana kupitia mkusanyiko wa seva Dendrite kwenye msimbo wa WebAssembly, ambao hutumika kwa wakati mmoja na mteja katika mfumo wa Mfanyakazi wa Huduma, kwa kutumia IndexedDB na SQLite kuhifadhi data ndani ya nchi, katika kesi ya toleo la wavuti na kanga ya Electron.
Dendrite ni seva ya "kizazi cha pili" ya Matrix katika Go ambayo inaendelezwa na imeundwa kuwa ya moduli kikamilifu na inaweza pia kutumika kwa hali moja. Katika fomu ya kawaida, Apache Kafka hutumiwa kwa mwingiliano kati ya huduma ndogo, na kwa fomu ya monolithic - Naffka. Nyaraka za kujenga toleo la P2P la Dendrite zinaweza kupatikana kwenye GitHub.

Dendrite ilikusudiwa kuwa seva ya madhumuni ya jumla ambayo ilikusudiwa kuwa mbadala wa moja kwa moja Sinepsi, iliyoandikwa kwa Python, ambayo ina maswala ya utendaji na hatari. Lakini kutokana na hitaji la usaidizi na urekebishaji mkubwa wa Synapse, maendeleo ya Dendrite yalianguka kando. Hatimaye, utayarishaji ulianza tena, lakini waliamua kuunda msingi wa msimbo uliopo si katika muktadha wa madhumuni ya jumla, lakini ili kuzingatia urekebishaji wa kupachikwa katika vifaa vya mteja vinavyobebeka na vyenye nguvu ndogo, kama vile vivinjari na simu.

Utekelezaji wa sasa wa Dendrite bado uko katika hatua za mwanzo za maendeleo, lakini tayari inatosha kwa shirikisho rahisi:

API za Seva ya Mteja: 34% (majaribio 227/672) - kutoka 33%
API za Shirikisho: 34% (majaribio 35/103) - kutoka 27%

Hili sio jaribio la kwanza la kutekeleza P2P. Hapo awali, kulikuwa na mpango wa kuunda Wakala wa CoAP kwa mtandao wa Yggdrasil kwa Synapse.


Wasanidi wa itifaki ya Matrix hawajazingatia shirikisho pekee na wanajaribu zana za ugatuaji mkubwa zaidi. Kwa mfano, jaribio lilifanyika kupunguza gharama katika ngazi ya usafiri. Pepo huibuka Pantalaimon - proksi ambayo mteja yeyote bila usaidizi wa usimbaji anaweza kuunganisha na kuingiliana na ujumbe uliosimbwa. Mipango yote inayofanywa inalenga kuhakikisha hilo katika siku zijazo ondoa kizuizi cha kuingia kwa seva, kuondoa MXID, kuingiliana na mtandao kwa kutumia ufunguo wa umma, ambayo tayari imetekelezwa kwa sehemu katika Riot P2P.


Unaweza kupata maelezo zaidi juu ya dhana za utekelezaji uliopangwa katika wasilisho la FOSDEM 2020 kwenye YouTube ΠΈ chapisho la hivi karibuni la blogi.

Pia kuna kibadala cha Riot P2P cha Android, kulingana na msimbo kutoka kwa programu ya zamani. Katika siku zijazo imepangwa kuhamisha kwa moja ya sasa. RiotX.

Aidha

  • Mradi uliowasilishwa TARDIS (Huduma ya Ukaguzi wa Chumba cha Wakati wa Agnostic DAG) ni kitatuzi cha grafu ya tukio (DAG) cha vyumba vya Matrix kulingana na Riot P2P.

  • Katika mradi mabomba (seva iliyokuzwa na jamii huko Rust) iko sasa usimbaji fiche na viambatisho vimetekelezwa.

  • Seva ya majaribio huko Scala imeonekana - Mascarene.

Chanzo: linux.org.ru

Kuongeza maoni