Hiji klien eksperimen geus dileupaskeun Karusuhan P2P.
nyieun onar - asalna klien pikeun jaringan federated matrix. Modifikasi P2P nambihan palaksanaan server sareng federasi ka klien tanpa nganggo DNS terpusat ngaliwatan integrasi. libp2p, anu ogé dianggo dina IPFS. Ieu mangrupikeun vérsi munggaran klien anu ngahémat sési saatos ngamuat halaman, tapi dina apdet utama salajengna (contona, 0.2.0) datana masih bakal dipupus. Ku alatan éta, ngagunakeun klien pikeun hal penting teu dianjurkeun.
Klién ngalaksanakeun federasi, nyiptakeun kamar sareng tampilan katalog kamar global (serverless!).
Nanging, jaringan Matrix utama anu nganggo DNS sareng jaringan Matrix dina libp2p henteu acan tiasa ngahijikeun sareng saling berinteraksi.
Pikeun nganggo klien, ngan klik tombol login, saatos éta anjeun bakal nampi ID anu dihasilkeun dina jaringan. Ékspor data henteu acan dirojong.
Kusabab ieu mangrupikeun presentasi anu teu stabil tina konsép anu mungkin, anjeun tiasa ngalaman masalah:
- Anjeun moal tiasa lebet kana akun anjeun atanapi berinteraksi sareng klien anu sanés upami server anu ngajalankeun salaku Worker Service dibunuh ku browser nalika waktosna kaluar. Masalah sapertos kitu ditingali dina Firefox, anu ngalakukeun ieu saatos 30 detik teu aktip].
- Dina tingkat jaringan libp2p, aya wates waktu dina jumlah tindakan anu tiasa dilakukeun, anu tiasa nyababkeun masalah sareng federasi.
Mimitian gawé dina versi P2P of Matrix éta alatan kahayang pamekar méré leuwih kabebasan ka pamaké maranéhanana. Decoupling ti server sentral ngamungkinkeun pikeun mempermudah komunikasi dina jaringan lokal sarta bolong, sarta sacara umum, dina kondisi dimana aksés ka jaringan éksternal kawates atawa henteu. Ieu ogé boga pangaruh positif dina privasi, alatan minimization tina metadata dikirimkeun, nu dina skenario ieu disimpen ukur ku pamilon dina susuratan. Pamustunganana, ieu ngabalukarkeun hiji mertimbangkeun refactoring konsép Matrix ayeuna pikeun ngahontal portability gede tur kaamanan.
Palaksanaan API server kahontal ngaliwatan kompilasi server Dendrite kana kode WebAssembly, nu dijalankeun sakaligus kalawan klien dina bentuk Service Worker, ngagunakeun IndexedDB na SQLite pikeun nyimpen data lokal, dina kasus versi web na wrapper éléktron.
Dendrite mangrupikeun server Matrix "generasi kadua" di Go anu dikembangkeun sareng dirarancang pikeun pinuh modular sareng ogé tiasa dianggo sacara monolitik. Dina bentuk modular, Apache Kafka dianggo pikeun interaksi antara layanan mikro, sareng dina bentuk monolitik - Naffka. Dokuméntasi pikeun ngawangun versi P2P Dendrite tiasa dipendakan dina GitHub.
Dendrite asalna dimaksudkeun pikeun jadi server Tujuan umum anu dimaksudkeun pikeun ngagantian langsung Synapse, ditulis dina Python, nu boga masalah kinerja sarta scalability. Tapi kusabab butuh dukungan sareng refactoring utama Synapse, pamekaran Dendrite murag ku jalan. Pamustunganana, pangwangunan diteruskeun, tapi aranjeunna mutuskeun pikeun ngembangkeun dasar kode anu tos aya sanés dina kontéks tujuan umum, tapi pikeun fokus kana adaptasi pikeun nampilkeun dina alat klien portabel sareng kakuatan rendah, sapertos browser sareng telepon.
Palaksanaan Dendrite ayeuna masih dina tahap awal pangwangunan, tapi éta parantos cekap pikeun federasi saderhana:
API Klién-Server: 34% (227/672 tés) - naék tina 33%
API Féderasi: 34% (35/103 tés) - naék tina 27%
Ieu sanés usaha munggaran pikeun nerapkeun P2P. Saméméhna, aya inisiatif nyieun Proksi CoAP kana jaringan Yggdrasil pikeun Synapse.
Pamekar tina protokol Matrix henteu museurkeun kana federasi nyalira sareng ékspérimén sareng alat pikeun desentralisasi anu langkung ageung. Contona, hiji percobaan dilaksanakeun pikeun ngurangan biaya di tingkat angkutan. Sétan mekar Pantalaimon - proxy anu mana waé klien tanpa dukungan enkripsi tiasa nyambung sareng berinteraksi sareng pesen énkripsi. Sadaya inisiatif anu dilaksanakeun ditujukeun pikeun mastikeun éta di hareup meunang leupas tina login mengikat ka server, ngaleungitkeun MXID, berinteraksi sareng jaringan nganggo konci umum, anu sawaréh dilaksanakeun dina Riot P2P.
Anjeun tiasa mendakan inpormasi anu langkung rinci ngeunaan konsép palaksanaan anu direncanakeun dina presentasi FOSDEM 2020 dina YouTube и pos blog panganyarna.
Aya ogé varian Riot P2P pikeun Android, dumasar kana kode tina aplikasi anu lami. Dina mangsa nu bakal datang rencanana pikeun mindahkeun ka ayeuna. RiotX.
komo
-
Proyék dibere TARDIS (Waktu Agnostic Room DAG Inspection Service) mangrupakeun grafik acara linier (DAG) debugger pikeun kamar Matrix dumasar kana Riot P2P.
-
Dina proyék pipah (Server anu dikembangkeun ku komunitas di Rust) ayeuna enkripsi sarta kantétan dilaksanakeun.
-
Server ékspérimén di Scala parantos muncul - Mascarene.
sumber: linux.org.ru
