Rhyddhad cyntaf Cleient Cymheiriaid-i-Gyfoed Rhwydwaith Ffederal Matrix

Mae cleient arbrofol wedi'i ryddhau Terfysg P2P.


Terfysg - cleient ar gyfer rhwydwaith ffederal yn wreiddiol Matrics. Mae'r addasiad P2P yn ychwanegu gweithrediad gweinydd a ffederasiwn i'r cleient heb ddefnyddio DNS canolog trwy integreiddio lib2p, a ddefnyddir hefyd yn IPFS. Dyma fersiwn gyntaf y cleient sy'n arbed y sesiwn ar Γ΄l ail-lwytho tudalen, ond yn y diweddariadau mawr nesaf (er enghraifft, 0.2.0) bydd y data yn dal i gael ei ddileu. Felly, ni argymhellir defnyddio'r cleient ar gyfer unrhyw beth pwysig.

Mae'r cleient yn gweithredu ffederasiwn, creu ystafelloedd ac arddangos catalog byd-eang (di-weinydd!) o ystafelloedd.

Fodd bynnag, ni all y prif rwydwaith Matrics sy'n defnyddio DNS a'r rhwydwaith Matrix ar libp2p ffedereiddio a rhyngweithio Γ’'i gilydd eto.

I ddefnyddio'r cleient, cliciwch ar y botwm mewngofnodi, ac ar Γ΄l hynny byddwch yn derbyn ID a gynhyrchir ar y rhwydwaith. Ni chefnogir allforio data eto.

Gan fod hwn yn gyflwyniad ansefydlog o gysyniad posibl, efallai y byddwch chi'n mynd i drafferth:

  • Ni fyddwch yn gallu mewngofnodi i'ch cyfrif na rhyngweithio Γ’ chleientiaid eraill os bydd y gweinydd sy'n rhedeg fel Gweithiwr Gwasanaeth yn cael ei ladd gan y porwr pan ddaw'n amser. Problem o'r fath gweld ar Firefox, sy'n gwneud hyn ar Γ΄l 30 eiliad o anweithgarwch].
  • Ar lefel rhwydwaith lipp2p, mae terfynau amser ar nifer y camau gweithredu y gellir eu cyflawni, a all achosi problemau gyda ffedereiddio.

Roedd cychwyn y gwaith ar y fersiwn P2P o Matrix oherwydd awydd y datblygwyr i roi mwy o ryddid i'w defnyddwyr. Mae datgysylltu oddi wrth y gweinydd canolog yn ei gwneud hi'n bosibl hwyluso cyfathrebu o fewn rhwydweithiau lleol a rhwyll, ac yn gyffredinol, mewn amodau lle mae mynediad i'r rhwydwaith allanol yn gyfyngedig neu'n absennol. Mae hyn hefyd yn cael effaith gadarnhaol ar breifatrwydd, oherwydd lleihau metadata a drosglwyddir, sydd yn y senario hwn yn cael ei storio gan y cyfranogwyr yn yr ohebiaeth yn unig. Yn y pen draw, mae hyn yn arwain un i ystyried ail-ffactorio cysyniadau Matrics cyfredol i gyflawni mwy o hygludedd a diogelwch.

Cyflawnir gweithrediad API y gweinydd trwy lunio gweinydd Dendrite i mewn i god WebCynulliad, sy'n rhedeg ar yr un pryd Γ’'r cleient ar ffurf Gweithiwr Gwasanaeth, gan ddefnyddio IndexedDB a SQLite i storio data'n lleol, yn achos fersiwn y we a'r papur lapio Electron.
Mae Dendrite yn weinydd Matrics "ail genhedlaeth" yn Go sy'n cael ei ddatblygu ac sydd wedi'i gynllunio i fod yn gwbl fodiwlaidd a gellir ei ddefnyddio'n fonolithig hefyd. Mewn ffurf fodiwlaidd, defnyddir Apache Kafka ar gyfer rhyngweithio rhwng microwasanaethau, ac ar ffurf monolithig - Naffka. Gellir dod o hyd i ddogfennaeth ar gyfer adeiladu'r fersiwn P2P o Dendrite ar GitHub.

Yn wreiddiol, bwriadwyd Dendrite i fod yn weinydd pwrpas cyffredinol y bwriadwyd ei ddisodli'n uniongyrchol Synaps, wedi'i ysgrifennu yn Python, sydd Γ’ materion perfformiad a scalability. Ond oherwydd yr angen am gefnogaeth ac ad-drefnu sylweddol ar Synapse, gostyngodd datblygiad Dendrite ar ymyl y ffordd. Yn y pen draw, ailddechreuodd y datblygiad, ond penderfynwyd datblygu'r sylfaen god bresennol nid mewn cyd-destun pwrpas cyffredinol, ond i ganolbwyntio ar addasu i'w fewnosod mewn dyfeisiau cleient cludadwy a phΕ΅er isel, megis porwyr a ffonau.

Mae gweithrediad presennol Dendrite yn ei gamau cynnar o hyd, ond mae eisoes yn ddigonol ar gyfer ffederasiwn syml:

APIs Cleient-Gweinydd: 34% (227/672 o brofion) - i fyny o 33%
APIs Ffederasiwn: 34% (35/103 o brofion) - i fyny o 27%

Nid dyma'r ymgais gyntaf i roi P2P ar waith. Yn flaenorol, roedd menter i'w chreu Dirprwy CoAP i rwydwaith Yggdrasil ar gyfer Synapse.


Nid yw datblygwyr y protocol Matrics yn canolbwyntio ar ffedereiddio yn unig ac maent yn arbrofi gydag offer ar gyfer mwy fyth o ddatganoli. Er enghraifft, cynhaliwyd arbrawf i leihau costau ar lefel trafnidiaeth. Mae cythraul yn esblygu Pantalaimon - dirprwy y gall unrhyw gleient heb gefnogaeth amgryptio gysylltu a rhyngweithio Γ’ negeseuon wedi'u hamgryptio iddo. Mae pob menter yr ymgymerir Γ’ hi wedi'i hanelu at sicrhau hynny yn y dyfodol cael gwared ar logio rhwymo i'r gweinydd, dileu MXID, rhyngweithio Γ’'r rhwydwaith gan ddefnyddio allwedd gyhoeddus, sydd eisoes yn cael ei weithredu'n rhannol yn Riot P2P.


Gallwch ddod o hyd i wybodaeth fanylach am gysyniadau gweithrediadau arfaethedig yng nghyflwyniad FOSDEM 2020 ar YouTube ΠΈ blogbost diweddar.

Mae yna hefyd amrywiad Riot P2P ar gyfer Android, yn seiliedig ar y cod o'r hen app. Yn y dyfodol, bwriedir ei drosglwyddo i'r un presennol. TerfysgX.

Ar ben hynny

  • Prosiect wedi'i gyflwyno TARDIS (Gwasanaeth Arolygu Ystafell Agnostig Amser DAG) yn ddadfygiwr graff digwyddiad llinellol (DAG) ar gyfer ystafelloedd Matrix yn seiliedig ar Riot P2P.

  • Mewn prosiect Conduit (gweinydd a ddatblygwyd yn y gymuned yn Rust) bellach amgryptio ac atodiadau wedi'u rhoi ar waith.

  • Mae gweinydd arbrofol yn Scala wedi ymddangos - Mascarene.

Ffynhonnell: linux.org.ru

Ychwanegu sylw