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 Technoogy 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
- 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.
- Frequently Asked Questions [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-12]. Kapitola What is Matrix's Mission?. Dostupné online. (anglicky)
- lwn.net. Dostupné online.
- Archivovaná kopie. www.drdobbs.com. Dostupné v archivu pořízeném dne 2019-03-29.
- www.nojitter.com. Dostupné online.
- www.telecomtv.com. Dostupné online.
- www.itworld.com. Dostupné online.
- Archivovaná kopie [online]. [cit. 2019-06-22]. Dostupné v archivu pořízeném dne 2017-01-20.
- Archivovaná kopie [online]. [cit. 2019-02-02]. Dostupné v archivu pořízeném dne 2019-03-29.
- Dostupné online.
- Archivovaná kopie. blog.uppersideconferences.com. Dostupné v archivu pořízeném dne 2015-03-15. Archivováno 15. 3. 2015 na Wayback Machine
- www.webrtcworld.com. Dostupné online.
- beta.companieshouse.gov.uk. Dostupné online.
- Dostupné online.
- Dostupné online.
- www.patreon.com. Dostupné online.
- [s.l.]: [s.n.] (anglicky)
- Dostupné online.
- Dostupné online.
- Dostupné online.
- www.tomshardware.com. Dostupné online.
- Dostupné online.
- venturebeat.com. Dostupné online.
- Archivovaná kopie. blog.status.im. Dostupné v archivu pořízeném dne 2018-01-30.
- www.reuters.com. Dostupné online.
- Dostupné online.
- Dostupné online.
- Dostupné online.
- The 2019 Matrix Holiday Update! [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-16]. Dostupné online. (anglicky)
- New Vector - Case Studies [online]. New Vector Ltd. [cit. 2020-03-16]. Dostupné online. (anglicky)
- webchat.kde.org [online]. KDE community [cit. 2020-03-16]. Dostupné online.
- chat.mozilla.org [online]. Mozilla community [cit. 2020-03-16]. Dostupné online.
- Wikimedia chat [online]. Wikimedia [cit. 2020-03-16]. Dostupné v archivu pořízeném dne 2020-03-23.
- Welcome to Matrix, KDE! [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-16]. Dostupné online. (anglicky)
- In: [s.l.]: [s.n.] ISBN 978-3-319-45982-0. DOI 10.1007/978-3-319-45982-0_22.
- Dostupné online.
- Dostupné online.
- Bridges [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-17]. Dostupné online. (anglicky)
- Dostupné online.
- Dostupné online.
- Dostupné online.
- Dostupné online.
- Dostupné online.
- Dostupné online.
- 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)
- Clients [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-01]. Dostupné online. (anglicky)
- Try Matrix Now [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-17]. Dostupné online. (anglicky)
- Clients Matrix [online]. The Matrix.org Foundation C.I.C. [cit. 2020-03-19]. Dostupné online. (anglicky)
- Synapse. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (anglicky)
- Matrix.org. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (anglicky)
- Introduction. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (anglicky)
- Matrix.org. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (anglicky)