Přeskočit na obsah

Matrix (protokol)

Z Wikipedie, otevřené encyklopedie

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]

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í

[editovat | editovat zdroj]

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

[editovat | editovat zdroj]

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

[editovat | editovat zdroj]

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í

[editovat | editovat zdroj]

Podle každoročního oznámení[28] nadace používalo Matrix v roce 2019 denně stovky tisíc francouzských 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]

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

[editovat | editovat zdroj]

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í

[editovat | editovat zdroj]

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:

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

[editovat | editovat zdroj]

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]

  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.

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 Nathan Willis. Matrix: a new specification for federated realtime chat. LWN.net. 2015-02-11. Dostupné online [cit. 2015-06-28]. 
  3. Archivovaná kopie. www.drdobbs.com. Dostupné v archivu pořízeném dne 2019-03-29. 
  4. Andrew Prokop. Solving the WebRTC Interoperability Problem - Post. No Jitter. 2015-02-23. Dostupné online [cit. 2015-06-28]. 
  5. Ian Scales. To interop or not to interop? Is Matrix.org the answer for silo’d comms services?. TelecomTV. 2015-05-11. Dostupné online [cit. 2015-06-22]. 
  6. Matt Weinberger. Matrix wants to smash the walled gardens of messaging. ITworld. 2014-09-16. Dostupné online [cit. 2015-07-20].  Archivovaná kopie. www.itworld.com [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném z originálu dne 2018-05-05. 
  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. Linkedin entry for Vector Creations Limited [online]. [cit. 2018-10-22]. 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. WebRTC World Miami Wrap Up and Review. WebRTC. 2015-05-18. Dostupné online [cit. 2015-06-28]. 
  12. Free company information from Companies House (UK Government). beta.companieshouse.gov.uk. Dostupné online [cit. 2018-07-30]. 
  13. New Vector - We believe the future will be open and decentralized [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  14. A Call to Arms: Supporting Matrix! | Matrix.org [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  15. Hello world! | Matrix.org on Patreon. Patreon. Dostupné online [cit. 2018-11-04]. (anglicky) 
  16. [s.l.]: [s.n.] 
  17. Archivovaná kopie [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném dne 2019-03-29. 
  18. Matrix [online]. [cit. 2015-06-28]. Dostupné online. 
  19. Awesome hosting for Matrix | Modular [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  20. Purism’s Privacy-Focused Librem 5 Smartphone's On Track For A Jan '19 Release. Tom's Hardware. 2018-06-06. Dostupné online [cit. 2018-11-04]. (anglicky) 
  21. Librem 5 – A Security and Privacy Focused Phone – Purism [online]. [cit. 2018-11-04]. Dostupné online. (anglicky) 
  22. Status invests $5 million in Matrix to create a blockchain messaging superpower. VentureBeat. 2018-01-29. Dostupné online [cit. 2018-10-20]. (anglicky) 
  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. ROSEMAIN, Mathieu. France builds WhatsApp rival due to surveillance risk. U.S.. Dostupné online [cit. 2018-11-04]. (anglicky) 
  25. Archivovaná kopie [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném dne 2019-03-08. 
  26. THE MATRIX.ORG FOUNDATION - Overview (free company information from Companies House) [online]. [cit. 2018-11-04]. Dostupné online. (anglicky) 
  27. Introducing the Matrix.org Foundation (Part 1 of 2) | Matrix.org [online]. [cit. 2018-11-04]. Dostupné online. (anglicky) 
  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. (September 2016) "End-to-End Encrypted Messaging Protocols: An Overview" in INSCI 2016. Bagnoli, Franco et al.: 244–254, Florence, Italy: Springer. 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. Matrix's 'Olm' End-to-end Encryption security assessment released – and implemented cross-platform on Riot at last! | Matrix.org [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  37. Bridges [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-17]. Dostupné online. (anglicky) 
  38. tulir/mautrix-telegram [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  39. Half-Shot/matrix-appservice-discord [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  40. matrix-org/matrix-appservice-gitter [online]. 2018-09-27 [cit. 2018-10-20]. Dostupné online. (anglicky) 
  41. matrix-org/matrix-appservice-slack [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  42. matrix-org/matrix-appservice-irc [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  43. tulir/mautrix-whatsapp [online]. [cit. 2018-10-20]. Dostupné online. (anglicky) 
  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. 
  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

[editovat | editovat zdroj]

Externí odkazy

[editovat | editovat zdroj]