Kun BitTorrent rakensi oman selaimen – ja mitä siitä opittiin
Kun BitTorrent yritti tappaa palvelimen
Kuvittele, että kun vierailet verkkosivulla, tietokoneestasi tulee osa sen infrastruktuuria. Et ole vain lukija – olet jakelupiste. Tämä oli Project Maelstromin villi visio, BitTorrent Inc:n kunnianhimoinen ja lopulta hylätty kokeilu peer-to-peer-verkkosivuilla.
Huhtikuussa 2015 BitTorrent julkisti Maelstromin julkisen betan. Kyseessä oli Chromiumiin pohjautuva selain, joka jakaisi verkkosivuja saman P2P-protokollan kautta, joka mullisti tiedostojen jakamisen. Lupaus oli houkutteleva: ei enää kalliita keskitettyjä palvelimia, ei yksittäisiä vikaantumispisteitä, ei keskiyön paniikkia hosting-laskun saapuessa.
Konsepti oli yksinkertaisuudessaan elegantti. Kun latasit Maelstrom-isännöidyn sivuston, selaimestasi tuli hiljaisesti osa palapeliä – jakamassa sivuston palasia muiden vierailijoiden kanssa. Sammutitko kannettavan? Sivusto pysyi pystyssä, koska jossain toinen vierailija piti sitä hengissä. Mitä suositumpi sivusto, sitä enemmän varmuuskopioita verkon yli.
Ongelma, jota Maelstrom yritti ratkaista
Ennen kuin ohitamme tämän utopiana, mieti ongelmaa, johon se tarttui. Perinteinen web-hosting on yllättävän haurasta. Palvelin maksaa, vaatii ylläpitoa ja edustaa yhtä vikaantumispistettä. Kun GitHub menee nurin, tuhansia sivustoja katoaa. Kun pilvipalveluntarjoajalla on katko, kokonaisia yrityksiä pysähtyy.
Maelstrom yritti soveltaa samaa redundanssia, joka tekee BitTorrentista lähes mahdottoman tappaa, vaatimattomaan verkkosivuun. Jos jokaisesta vierailijasta tulee siemen, keskitettyä palvelinta ei ole, johon hyökätä tai jonka ylikuormittaa. Kaistanleveys ei kasva liikenteen mukana – se jakaantuu verkostossa.
Tutuiltako kuulostaa? Tämä visio ennakoi keskusteluja, joita käymme edelleen edge computinista, CDN:stä ja hajautetusta infrastruktuurista. Verkon lupaus, jota ei voi sensuroida tai sulkea, on aina ollut houkutteleva.
Mitä oikeasti tapahtui
Täällä tarina menee mutkikkaaksi – ja tämä on se osa, joka saa jokaisen kehittäjän väistämään katsettaan. BitTorrent lanseerasi Maelstromin suurella kohulla, julkaisi muutaman blogipostauksen, ja sitten... hiljaisuus. Projektia ei koskaan virallisesti lopetettu. Se vain katosi.
Kaivautuessasi hajautetun webin yhteisöihin tänään, löydät ihmisiä, jotka muistavat Maelstromin elävästi – mutta muistot ovat yllättävän epäluotettavia. Osa vannoo sen käyttäneen salaa patentoitua protokollaa. Toiset väittävät sen olleen täysin avointa lähdekodia. Totuus on jossain siltä väliltä: selain oli suljettu, mutta rakennettu avoimen lähdekoodin libtorrentin päälle.
Todellinen ongelma? Dokumentaatio. BitTorrent ilmeisesti uskoi, että "se on rakennettu BitTorrentin päälle!" oli riittävä selitys kehittäjille. Python-skripti sivustojen torrenttien luomiseen oli olemassa, mutta ei oikeaa kehittäjäopasta, ei API-dokumentaatiota, ei yhteisöresursseja. Projekti oli puolivalmis lanseerauksessa ja hylättiin ennen kuin kukaan ehti viimeistellä sitä.
Päivitysongelma, jota kukaan ei ratkaissut
Vaikka Maelstromilla olisi ollut parempi markkinointi, se kohtasi perustavanlaatuisen teknisen haasteen: miten päivität hajautettua verkkosivua?
Perinteiset torrentit ovat staattisia manifestteja – muutat tiedostoa, rikot kryptografisen allekirjoituksen, ja jokainen asiakas hylkää "korruptoituneen" latauksesi. BitTorrentin protokollalaajennukset muutettavissa torrenteissa olivat olemassa paperilla, mutta niiden käytännöllinen toteuttaminen käyttäjäystävällisesti osoittautui mahdottomaksi.
Tämä ei ollut edes 2015 mahdoton ongelma. Protokollalaajennukset kuten BEP-39 (torrenttien päivitys syötteen URL-osoitteiden kautta) ja BEP-44 (datan tallentaminen DHT:hen) tarjosivat teoreettisia ratkaisuja. Mutta BitTorrent ei koskaan toimittanut toteutusta, joka olisi tehnyt Maelstromista elinkelpoisen muulle kuin staattiselle HTML-sivulle.
Miksi tämä on edelleen merkityksellistä
Maelstrom epäonnistui, mutta sen haamu vaanii modernia web-kehitystä hyvästä syystä. Hajautetun hostingin unelma ei kuollut – se vain kehittyi.
Tänään näemme uudistunutta kiinnostusta hajautettuihin järjestelmiin: IndieWeb-liike, ActivityPub-pohjaiset sosiaaliset verkot, IPFS sisällön osoitteistukseen ja lohkoketjupohjaiset hosting-ratkaisut. Joka kuukausi uusi startup lupaa vihdoin murtavansa koodin todella kimmoisaan web-infrastruktuuriin.
Maelstromin opetukset ovat selkeitä:
- Hajauttaminen vaatii infrastruktuuria – tarvitset silti jonkin verran keskitettyä käynnistystä, vaikka P2P-järjestelmässä
- Dokumentaatio ei ole valinnainen – olipa teknologiasi kuinka nokkela tahansa, kehittäjät eivät käytä sitä ilman selkeitä oppaita
- Päivitykset ovat vaikeita – muutettava sisältö on jakelu-hostingin ratkaisematon ongelma
- Visio ilman toteutusta on hölynpäätä – BitTorrent ilmoitti liian aikaisin, tuki liian vähän ja katosi liian nopeasti
Kehittäjille ja startupeille tänään Maelstrom on varoittava tarina inspiroivan idean ympärillä. Web-hostingin tulevaisuus saattaa olla jakeluinen – mutta se, joka rakentaa sen tulevaisuuden, joutuu oppimaan projektien kaltaisilta haamuiltamme.
Palvelin ei ole vielä kuollut. Mutta jossain Maelstrom siementää edelleen.
Mitä mieltä olet hajautetusta hostingista? Jätä ajatuksesi alle – haluaisimme kuulla kehittäjiltä, jotka rakentavat seuraavan sukupolven kimmoisaa web-infrastruktuuria.