Mikko Uuksulaisen kotisivu

9. elokuuta 2020

Matrix

Selvennettäköön näin aluksi, että jos tulit lukemaan arvostelua vuoden 1999 hittielokuvasta, saatat mahdollisesti tulla hieman pettymään sisällön suhteen. Myöskään nyt ei ole aika käsitellä kuuluisaa filosofista kysymystä siitä, elämmekö simuloidussa todellisuudessa, vaikka siitäkin kirjoittaminen ehkä joskus voisi olla mielenkiintoista. Tänään puhumme Matrix-standardista, sen toteuttavista sovelluksista ja siitä, mikä tekee siitä niin hienon.

Matrix itsessään on avoin standardi ja kevyt viestintäprotokolla, joka on ollut kehitteillä muodossa tai toisessa jo vuodesta 2014. Projekti sai alkunsa israelilaisen Amdocsin sisäisenä projektina, mutta siirtyi sitten myöhemmin New Vector -nimisen startup-yrityksen hallintaan. New Vector kehittää Matrixia ja sen referenssisovelluksia isolla rahalla ja tuo kehittäjilleen ruoan pöytään, mutta itse protokollan kehitystä valvoo säätiö nimeltään "The Matrix.org Foundation CIC". New Vectorin tuotokset ovat avointa lähdekoodia, ja Matrix-standardi on itsessään vapaa. New Vector lihottaa omaa tiliään myös myymällä Matrix-kotipalvelimia SaaS-mallilla (Software as a service).

Matrix-standardin päälle voidaan rakentaa sovelluksia, jotka kommunikoivat verkon yli reaaliajassa, hajautetusti ja yhteentoimivasti muiden viestimien kanssa. Hajautettu eli federoitu viestintä tarkoittaa sitä, että Matrixissa ei ole yhtä keskuspalvelinta, jonka kanssa kaikki asiakassovellukset keskustelevat, vaan palvelimia voi olla useita ja ne voivat viestiä keskenään muodostaen näin verkon. Hyvänä esimerkkinä federoidusta viestinnästä on sähköposti, jossa jokaisella palveluntarjoajalla on omat sähköpostipalvelimensa, mutta silti postit löytävät perille toisten palveluntarjoajien laatikoihin. Yhteentoimivuus muiden viestimien kanssa tarkoittaa Matrixin näkökulmasta sitä, että avoimen standardinsa luonteen takia Matrix-protokolla on helppo saada juttelemaan myös muiden viestintäprotokollien kanssa. Ei ole siis ihan tavatonta, että jos näin halutaan, Matrix yhdistää samaan keskusteluun ihmisiä IRC:stä, WhatsAppista, Telegramista tai vaikka Slackista.

Koska Matrix itsessään on vain kirjallinen standardi, se tarvitsee myös standardia toteuttavia sovelluksia ollakseen oikeasti käytettävä. Oleellisin sovelluksista lienee Element, joka ennen heinäkuun 2020 uudelleenbrändäystä tunnettiin nimellä Riot. Element on moderni viestintäsovellus, josta löytyvät omat versiot selaimelle, Applen iOS-laitteille sekä Androidille. Tavalliselle tallaajalle Element on epäilemättä se tärkein sovellus Matrixin ihmeelliseen maailmaan. Toinen merkittävä, mutta usein peruskäyttäjälle näkymätön sovellus on Synapse, joka on itsessään referenssitoteutus Matrix-kotipalvelimesta ja todennäköisesti pyörittää suurta osaa Matrix-verkosta. Parasta Matrix-standardissa on kuitenkaan sen avoimuus. Kukaan ei ole sidottu tyytymään Elementiin tai Synapseen, vaan jos rahkeet ja mielenkiinto riittävät, kuka tahansa voi tyhjästä rakentaa uuden standardia noudattavan sovelluksen, joka kykenee viestimään samassa verkossa muiden Matrix-sovellusten kanssa. Näitä sovelluksia onkin noussut jo huimaa tahtia referenssitoteutusten rinnalle, ja lisää niistä voit lukea esimerkiksi Matrixin viikoittaisista blogikirjoituksista.

Jos mielenkiintosi heräsi, tässä vaiheessa olisi hyvä hakea vaikka kupponen kuumaa, ottaa kännykkä kauniiseen käteen ja hakea sovelluskaupasta edellä mainittu Element-sovellus. Vaihtoehtoisesti voit myös availla selaimesta Element-sovelluksen, mutta tässä vaiheessa on aika tehdä myös ensimmäinen valinta. On aika valita kotipalvelin, jossa käyttäjäsi ja viestihistoriasi asuvat. Käyttääkö Matrixin tarjoamaa "virallista" kotipalvelinta, käyttääkö jotain muuta kotipalvelinta vai peräti perustaako kokonaan oman kotipalvelimen? Jälkimmäinen on yleensä tavalliselle käyttäjälle kivisempi polku, mutta esimerkiksi yrityksen sisäiseen viestintään se ei ole ollenkaan hassumpi vaihtoehto. Helpoimmalla tässä tapauksessa pääsee valitsemalla virallisen kotipalvelimen, mutta muita palvelininstansseja löydät esimerkiksi täältä: https://www.hello-matrix.net/public_servers.php. Kuten missä tahansa federoidussa palvelussa, kotipalvelimilla voi olla uniikkeja sääntöjä, joita ylläpitävät pyytävät käyttäjiään noudattamaan. Tämä voi olla esimerkiksi tietyn tyyppisen keskustelun rajoittaminen joillain kotipalvelimilla.

Kun palvelin on valittu, on aika luoda käyttäjä valitsemallesi palvelimelle. Valitse tunnuksesi tarkkaan, sillä tunnusta ei voi enää vaihtaa, ja sen avulla muut käyttäjät voivat aloittaa kanssasi keskustelun. Lopullinen käyttäjänimesi muodostuu tunnuksestasi ja kotipalvelimestasi (esimerkiksi omalla kohdallani @uuksu:privacytools.io). Jotkut kotipalvelimet vaativat myös sähköpostiosoitteen, jota käytetään tarvittaessa tunnusten palauttamiseen ja viesti-ilmoitusten lähettämiseen.

Kun kirjaudut ensimmäisen kerran, Element haluaa sinulta hieman hämmentävästi nimetyt Security Keyn ja Security Phrasen. On tärkeää, että molemmat näistä avaimista ovat pitkiä, vaikeasti arvattavia ja hyvin suojattuja. Avaimet liittyvät oleellisesti Matrixin salausmalliin, ja jos avaimet eivät ole turvallisia, joku muu voi potentiaalisesti päästä viesteihisi käsiksi! Security Key on avain, jota käytetään viestien salaamiseen kotipalvelimella. Oletuksena tätä avainta ei tallenneta palvelimelle, mutta halutessasi se voidaan tallentaa, ja sen turvaksi annetaan siinä tapauksessa Security Phrase. Huomaa, että koskaan avainta ei tallenneta salaamattomana minnekään, ja näin varmistetaan se, että ainoastaan sinä olet omien viestintäavaimiesi haltija. Joka kerta, kun kirjaudut uudelle "laitteelle" (Matrix-termistössä laite on mikä tahansa uusi kirjautuminen, esimerkiksi toinen selain tai sovellus), sinulta kysytään edellä mainittuja avaimia, jotta salattu viestihistoriasi aukeaa uudella laitteella ja viestintä muiden käyttäjien kanssa jatkuu ennallaan.

Elementin käyttö itsessään on helppoa, ja sen pitäisi olla tuttua kenelle tahansa moderneja viestimiä käyttäneelle. Suosittelen, että aluksi käyt läpi asetukset, joissa voit antaa itsellesi vaihtoehtoisen nimen ja profiilikuvan. Ilmoitusasetuksista kannattaa valita sellaiset asetukset, että sähköpostien määrä ei ala täyttämään postilaatikkoa.

Sitten voitkin aloittaa viestimisen haluamiesi kontaktien kanssa. Matrixin termistössä kaikki keskustelut ovat huoneita, joissa voi olla osallistujia yhdestä jäsenestä ylöspäin. Huoneet voivat olla joko julkisia tai yksityisiä, jolloin ensimmäisessä tapauksessa ne saavat valitun nimen kotipalvelimelle ja jälkimmäisessä liittyminen onnistuu ainoastaan huoneessa olijan kutsusta. Huonetta perustaessa voit myös valita, onko huone päästä päähän salattu. Yksityiseen viestintään se kannattaa pitää oletuksena päällä, mutta yleisissä huoneissa täytyy miettiä, onko tarvetta boteille tai integraatioille toisiin viestimiin. Edellä mainitut eivät ainakaan vielä toimi päästä päähän salatun viestinnän yli, mutta tämäkin ajan kanssa toivottavasti muuttuu. Ainakin Elementin selainversiossa voit myös selata julkisten huoneiden listaa ja näin löytää ehkä huoneita, joiden aihepiirit kohtaavat omien kiinnostuksenkohteittesi kanssa.

Mainitsemisen arvoinen asia Matrixissa on sen luottamussuhteet. Oletuksena esimerkiksi Element ei luota oikein kehenkään, ja luottamus toisiin käyttäjiin on luotava manuaalisesti. Tämä tapahtuu navigoimalla valitun käyttäjän profiiliin ja käynnistämällä verifiointiprosessi. Element näyttää osapuolille sarjan emojeja, jotka toisen pitää varmistaa näkevänsä myös omalla ruudullaan. Varmennus tapahtuu yleensä jotain muuta kanavaa pitkin, esimerkiksi naamatusten, puhelimessa tai jossain toisessa luotettavassa viestimessä. Näin voidaan varmistua siitä, että linjan toisessa päässä on juuri se henkilö, jonka kanssa oletetaankin keskusteltavan. Kun kirjaudut sisään uudella laitteella, Element haluaa vahvistaa, että laitteelle kirjautui juuri sinä. Tällöin aikaisemmassa laitteessa tulee ilmoitus, jonka voi kuitata hyväksytyksi, jos tietää juuri kirjautuneensa sisään toisella laitteella. Uudesta laitteesta tulee nyt myös luotettu muille käyttäjille.

Halutessasi Elementillä voi myös soittaa ääni- ja videopuheluita. Huomaathan kuitenkin, että tällöin käytössä on Jitsi-palvelu, joka oletuksena ei ole päästä päähän salattu. Jitsi itsessään on hieno korvike esimerkiksi Zoomille tai Teamsille, mutta se on itsessään oman postauksen arvoinen asia.

Toivottavasti mielenkiintosi heräsi Matrixia kohtaan ja voisit kuvitella ottavasi sen käyttöön omassa henkilökohtaisessa viestinnässäsi ja ehkä jopa yrityksen sisäisessä viestinnässä. Matrix itsessään on hieno projekti, ja sen tulevaisuus näyttää varsin valoisalta. Projektista on kiinnostuttu peräti jo valtiotasolla, kun Ranskan ja Saksan tiedetään suunnittelevan omia viestintäprojektejaan, jotka perustuvat Matrix-protokollaan. Ehkä vielä näemme sen päivän, että ihmisten oikeuksien loukkaaminen loppuu ja viestinnästä verkossa tulee oikeasti ja aidosti turvallista!

Lisää luettavaa: