Matrix (protokol)

Matrix je otevřený protokol pro komunikaci v reálném čase. Je navržen tak, aby umožňoval uživatelům s účty u jednoho poskytovatele komunikačních služeb komunikovat s uživateli jiného poskytovatele prostřednictvím chatu, VoIP a videotelefonie. Cílem je, aby komunikace bezproblémově probíhala v reálném čase mezi poskytovateli služeb obdobně jako u standardního poštovní protokolu SMTP, který se nyní používá pro e-mailové služby. Dlouhodobější vizí je překonat fragmentovanost IP komunikace a umožnit bezpečnou výměnu a synchronizaci informací, která by byla plně pod kontrolovanou uživatelů bez ohledu na použité zařízení, konkrétní službu či jejího poskytovatele.[1]

Z technického hlediska je to komunikační protokol aplikační vrstvy pro federalizovanou komunikaci v reálném čase. Poskytuje API HTTP rozhraní a open source referenční implementaci bezpečného předávání a uchovávání zpráv ve formátu JSON v rámci otevřené federace serverů.[2][3] Umožňuje integraci se standardními webovými službami prostřednictvím služby WebRTC, což usnadňuje tvorbu aplikací typu prohlížeč-prohlížeč.

Jiné pokusy o definování otevřeného protokolu okamžitého zasílání zpráv nebo multimediálního signálního protokolu tohoto typu měly problémy, zda se stanou široce přijímanými – např. XMPP a IRCv3 – a zdůraznily výzvy, a to jak technologické, tak i politické.[4] Není zřejmé, zda je mezi uživateli dostatek poptávky po službách, které mezi poskytovateli spolupracují.[5][6]

Historie

Původní projekt vytvořili Matthew Hodgson a Amandine Le Pape ve společnosti Amdocs a zároveň byl vytvořen chatovací nástroj nazvaný "Amdocs Unified Communications".[7] Amdocs pak financoval většinu vývojových prací od roku 2014 do října 2017.[8] V roce 2015 vznikla její dceřiná společnost "Vector Creations Limited" do níž přešli vývojáři Matrixu.[9]

Matrix získal ocenění za inovaci na konferenci WebRTC 2014 Conference & Expo[10] a ocenění "Best in Show" na WebRTC World v roce 2015.[11]

Krize financování

V červenci 2017 firma Amdocs oznámila ukončení financování a v následujících týdnech týmové jádro založilo ve Velké Británii firmu "New Vector" [12] a to především za účelem podpory vývoje Matrixu a Riotu.[13] Během tohoto časového období byly společnosti a komunity, které na platformě Matrix staví,[14] opakovaně vyzvány, aby pomohly uhradit alespoň část mzdy základního týmu. Vznikly crowdfunding účty Patreon a Liberapay[15] a hlavní tým zprovoznil video podcast , nazvaný Matrix "Live", aby udrželi přispěvatele a rychlost dalšího vývoje.[16] To bylo doplněno blogem v týdenním formátu s názvem "This Week in Matrix", kde se zainteresovaní členové komunity mohli přečíst nebo zveřejnit své vlastní zprávy týkající se Matrixu.[17]

New Vector

Společnost byla založena s cílem nabízet poradenské služby pro Matrix a placené hostování serverů Matrix (jako platformu pod názvem Modular.im) na komerční bázi.[18][19]

Několik týdnů po vzniku vzniku společnost Matrix a společnost Purism zveřejnily plány na spolupráci při vytváření telefonu Librem 5.[20] Librem 5 byl zamýšlen jako na Matrixu založený telefon, jehož výchozí aplikace pro hovory a zasílání zpráv by používala Matrix pro audio a video hovory i okamžité zprávy.[21]

Koncem ledna 2018 společnost získala investici ve výši 5 milionů dolarů od "stavus" [22][23] - na Ethereu založené startupu.

V dubnu 2018 francouzská vláda oznámila plány na vytvoření vlastního nástroje pro zasílání okamžitých zpráv,[24] který, jak později potvrdil tým Matrixu, by byl založen na Riotu a Matrixu.[25] New Vector prohlásil, že tomuto vládnímu úsilí poskytne podporu .

Nadace Matrix.org

V říjnu 2018 vznikla soukromá společnost s ručením omezeným pod názvem "the Matrix.org foundation"[26] , která slouží jako neutrální právní subjekt pro další rozvoj tohoto standardu.[27]

Rozšíření

Podle každoročního oznámení[28] nadace používalo Matrix v roce 2019 denně stovky tisíc francouzský státních úředníků, celkově pak asi 5,5 milionu.[29] Testovací nasazení realizovala německá vláda prostřednictvím Bundeswehru, přirozeně se zvažuje celoevropské využití.[28] Ve stejném roce se do projektu zapojily provozováním vlastních domovských webklientů významné technologické komunity jako KDE (webklient[30]), Mozilla (webklient[31]) nebo Wikimedia (webklient[32][pozn. 1]),[28] neboť veřejný domovský webklient matrix.org bývá se svými zhruba 4 miliony uživatelů[29] poněkud přetížen.[33]

Protokol

Matrix cílí na případy jako VoIP, IoT a IM, včetně skupinové komunikace, spolu s dlouhodobým cílem stát se obecným systémem pro zasílání zpráv a synchronizaci dat pro web. Protokol podporuje zabezpečení a replikaci, uchování úplné historie konverzace bez centrálního kontrolního bodu a tím i zranitelnosti. Stávající komunikační služby se do ekosystému Matrix mohou integrovat.[2]

Klientský software je k dispozici jako otevřená federace pro IM, VoIP a IoT.

Standard Matrix specifikuje RESTful HTTP API rozhraní pro bezpečný přenos a replikaci JSON dat mezi klienty, servery a službami kompatibilními s Matrix. Klienti odesílají data do "místnosti" na serveru, který následně replikuje data na domovské Matrix servery všech aktuálních členů místnosti. Vlastní data jsou podepsána obdobně jako v gitu, což je chrání před manipulací a federalizovaný provoz je zašifrován protokolem HTTPS a podepisován soukromým klíčem každého serveru, aby se zabránilo podvržení. Replikace sleduje principy sémantické obsahové shody, což umožňuje serverům fungovat i offline nebo po ztrátě dat tím, že znovu synchronizují chybějící historii z jiných zúčastněných serverů.

Knihovna Olm poskytuje volitelné end-to-end šifrování po jednotlivých místnostech pomocí implementace Double Ratchet Algorithm.[34] Tím je zajištěno, že pouze členové místnosti mohou číst uchovaná data. Při této konfiguraci jsou data přenášená v Matrixu dostupná serverům pouze jako zašifrovaný text na a mohou být dešifrovány výhradně autorizovanými členy místnosti. Olm a Megolm (rozšíření olom lépe vyhovující potřebám větších místností) knihovny byly podrobeny kryptografické revizi NCC Group s veřejně dostupnými výsledky[35] adresovánými týmu Matrix.[36] Přezkum sponzoroval Open Technology Fund.

Uživatelský účet

Strukturou je analogický e-mailovému, ale vždy začíná znakem @, následuje název účtu, : a domovský server. Konkrétně pak @alice:matrix.org představuje uživatelku Alici s domovským serverem matrix.org.

Poznámka: Typický scénář založení účtu je, že si uživatel otevře webového klienta běžícího např. na serveru element.io, který ve výchozím nastavení zakládá účty na matrix.org. Tuto možnost však lze změnit a jako domovský server si zvolit např. mozilla.org, nebo rovnou použít webklienta na chat.mozilla.org, jehož výchozím domovským serverem je nepřekvapivě mozilla.org.

Přemostění

Matrix podporuje překlad zpráv z jiných chatovacích aplikací do místností Matrixu. Tato přemostění jsou programy, které běží na serveru a komunikují se servery mimo Matrix. Přemostění mohou pracovat v režimu loutky nebo relé, přičemž v prvním případě se osobní uživatelský účet jeví jako odesilatel zpráv, v tom druhém pak zprávy za regulérní účty posílá bot.

Seznam dostupných i připravovaných přemostění je průběžně aktualizován[37], existují například pro:

Klienti

Element je referenční implementace klienta. Existuje mnoho dalších klientů[45], botů, přemostění, serverů a jiných implementací protokolu Matrix. Jejich filtrovaný seznam je v odstavci "Let's go deeper",[46] přehled vlastností klientů pak v odstavci Features.[47]

Domovské servery

Domovský server je ten Matrix server, na němž si uživatel vytvořil účet. Vzorová implementace má název Synapse,[48] a byť existuje celá řada dalších,[49] jako jediná dosáhla produkční kvality.[50]

K dispozici je seznam veřejný domovských serverů, není tedy nutné používat občas přetížený matrix.org.[51]

Poznámky

  1. Ověřovací provoz běží v omezeném rozsahu s limitem 50 uživatelů, přičemž účastníci musí disponovat e-mailem s doménou @wikimedia.org. viz Run Matrix trial using the modular.im-hosted instance.

Reference

V tomto článku byl použit překlad textu z článku Matrix (protocol) na anglické Wikipedii.

  1. Frequently Asked Questions [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-12]. Kapitola What is Matrix's Mission?. Dostupné online. (anglicky) 
  2. a b lwn.net. Dostupné online. 
  3. Archivovaná kopie. www.drdobbs.com. Dostupné v archivu pořízeném dne 2019-03-29. 
  4. www.nojitter.com. Dostupné online. 
  5. www.telecomtv.com. Dostupné online. 
  6. www.itworld.com. Dostupné online.  Archivováno 5. 5. 2018 na Wayback Machine.
  7. Archivovaná kopie [online]. [cit. 2019-06-22]. Dostupné v archivu pořízeném dne 2017-01-20. 
  8. Archivovaná kopie [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném dne 2019-03-29. 
  9. Dostupné online. 
  10. Archivovaná kopie. blog.uppersideconferences.com. Dostupné v archivu pořízeném dne 2015-03-15.  Archivováno 15. 3. 2015 na Wayback Machine.
  11. www.webrtcworld.com. Dostupné online. 
  12. beta.companieshouse.gov.uk. Dostupné online. 
  13. Dostupné online. 
  14. Dostupné online. 
  15. www.patreon.com. Dostupné online. 
  16. [s.l.]: [s.n.] (anglicky) 
  17. Archivovaná kopie [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném dne 2019-03-29. 
  18. Dostupné online. 
  19. Dostupné online. 
  20. www.tomshardware.com. Dostupné online. 
  21. Dostupné online. 
  22. venturebeat.com. Dostupné online. 
  23. Archivovaná kopie. blog.status.im. Dostupné v archivu pořízeném dne 2018-01-30.  Archivováno 30. 1. 2018 na Wayback Machine.
  24. www.reuters.com. Dostupné online. 
  25. Archivovaná kopie [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném dne 2019-03-08. 
  26. Dostupné online. 
  27. Dostupné online. 
  28. a b c The 2019 Matrix Holiday Update! [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-16]. Dostupné online. (anglicky) 
  29. a b New Vector - Case Studies [online]. New Vector Ltd. [cit. 2020-03-16]. Dostupné online. (anglicky) 
  30. webchat.kde.org [online]. KDE community [cit. 2020-03-16]. Dostupné online. 
  31. chat.mozilla.org [online]. Mozilla community [cit. 2020-03-16]. Dostupné online. 
  32. Wikimedia chat [online]. Wikimedia [cit. 2020-03-16]. Dostupné v archivu pořízeném dne 2020-03-23. 
  33. Welcome to Matrix, KDE! [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-16]. Dostupné online. (anglicky) 
  34. In: [s.l.]: [s.n.] ISBN 978-3-319-45982-0. DOI 10.1007/978-3-319-45982-0_22.
  35. Archivovaná kopie [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném dne 2018-10-20. 
  36. Dostupné online. 
  37. Bridges [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-17]. Dostupné online. (anglicky) 
  38. Dostupné online. 
  39. Dostupné online. 
  40. Dostupné online. 
  41. Dostupné online. 
  42. Dostupné online. 
  43. Dostupné online. 
  44. General purpose bridging using libpurple . Contribute to matrix-org/matrix-appservice-purple development by creating an account on GitHub. [s.l.]: [s.n.] Dostupné online. (anglicky) 
  45. Clients [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-01]. Dostupné online. (anglicky) 
  46. Try Matrix Now [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-17]. Dostupné online. (anglicky) 
  47. Clients Matrix [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-19]. Dostupné v archivu pořízeném dne 2020-02-05. (anglicky) 
  48. Synapse. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné v archivu pořízeném z originálu dne 2020-09-16. (anglicky) 
  49. Matrix.org. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné v archivu pořízeném z originálu dne 2019-12-31. (anglicky) 
  50. Introduction. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (anglicky) 
  51. Matrix.org. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (anglicky) 

Související články

Externí odkazy