“Hello Distributed Web!” – Beaker Browser en het Dat-protocol

technologie

“Decentralisatie: betekent letterlijk ‘ont-centraliseren’. Hiermee wordt vooral bedoeld het ongedaan maken van eerdere centralisaties.” – aldus Wikipedia. Volgens velen is decentralisatie het antwoord als we in de toekomst een open en vrij internet willen behouden. In dit artikel laten we zien hoe je met behulp van een paar eenvoudige tools zelf actief kunt meebouwen aan het decentrale web.

Noot vooraf

Het gedecentraliseerde web is een verzamelterm waar, afhankelijk van je definitie, vele interessante en complexe initiatieven, technologieën en projecten onder vallen. Om dit artikel overzichtelijk te houden zoomen we dan ook in op een concrete afgekaderde toepassing: het publiceren van een pagina op het gedistribueerde web met behulp van de Beaker Browser en het Dat-protocol. Aan het einde van dit artikel is een lijst met referenties terug te vinden wanneer je dieper in de wondere wereld van decentralisatie en de toekomst van het internet wil duiken.

Peer-to-peer: hoe was het ook al weer?

Peer-to-peer (P2P) technologie wordt al decennialang toegepast. Het meest bekende voorbeeld hiervan is misschien wel het Torrent-protocol, waarbij gebruikers razendsnel van elkaar grote bestanden kunnen downloaden zonder dat daarbij centrale servers worden ingezet. De onderstaande afbeelding vat simpel samen wat het verschil is tussen een traditionele gecentraliseerde server-client oplossing en het decentrale peer-to-peer model:

 

Afbeelding 1: een centrale server versus het gedecentraliseerde peer-to-peer model

Websites: ouderwets centraal

Jouw telefoon of laptop waarop je dit artikel leest is dus een client, en de computer waarop onze website draait de centrale server. Gaat onze server waarop de website draait plat? Dan kun jij, en alle andere clients, dit artikel dus niet meer lezen. Best onhandig eigenlijk! Daarnaast is het kostbaar en technisch ingewikkeld om een server te draaien; je moet een hostingpartij betalen, software installeren, onderhouden en nog veel meer ingewikkelde zaken. Stel je nu eens voor dat door een stroomstoring in Amsterdam opeens ontelbare servers van Nederlandse websites niet meer bereikbaar zijn, of een rechter jouw provider dwingt bepaalde websites te blokkeren. Dergelijke scenario’s zijn de reden dat centralisatie en het klassieke client-server model volgens velen onverenigbaar zijn met het idee van een open, vrij en weerbaar internet.

Het Dat-protocol: samen staan we sterk

De Eonics Inbox wordt iedere maand door meer dan duizend mensen over heel de wereld gelezen. Stel je voor dat al deze mensen op hun telefoon, computer of laptop een programma installeren. Dit programma zorgt ervoor dat ze bij het lezen van de Eonics Inbox een kopie opslaan op hun eigen apparaat. Wanneer de centrale server uitvalt, zijn er dus nog honderden kopieën, verspreid over heel de wereld, waardoor iedereen alsnog de Eonics Inbox kan lezen. Sterker nog: in dit model is er helemaal geen centrale server meer nodig, zolang er maar iemand in het netwerk online is die een kopie beschikbaar heeft. Het mooiste is nog: dit programma bestaat echt! Hallo Beaker Browser:

 

Afbeelding 2: de Beaker Browser, merk op dat in de adresbalk dat:// staat in plaats van het gebruikelijke http:// dat je gewend bent

Power to the people: een decentrale website in 3 klikken

Een belangrijke kernwaarde van het Beaker project is toegankelijkheid voor iedereen. Omdat er op dit decentrale web geen centrale servers zijn is er ook geen centrale autoriteit aan wiens regels je moet voldoen of aan wie je eerst geld moet betalen om mee te mogen doen. Middels het Dat-protocol kun je in enkele muisklikken een site publiceren en delen met andere gebruikers: klik op het “hamburgertje” rechts naast de adresbalk en kies: “Create New” -> “Website” en je eerste eigen decentrale website is een feit! Klik in het volgende scherm op de “preview” knop om te kijken hoe je site eruitziet voor bezoekers:

Afbeelding 3: het standaard template van een nieuwe Beaker site

Batteries included: bewerk je site direct in de browser

Om het zo eenvoudig mogelijk te maken kun je in Beaker je websites bewerken en beheren direct vanuit de browser, zonder dat je extra software of ingewikkelde commando’s hoeft te leren. Sluit de preview-tab en dubbelklik op “index.html” om het bronbestand van je website te openen. Klik vervolgens op “edit” om het bestand direct te bewerken in de ingebouwde editor. Als je al HTML kent is deze stap eenvoudig, aangezien dit dezelfde taal is als die op het “normale” web wordt gebruikt. Als je goed kijkt zie je direct onder de <body> de tekst “Hello World!” staan. Vervang deze tekst door iets anders en klik op “save”.

Afbeelding 4: met de ingebouwde editor kun je zonder extra software direct je site bewerken

Publiceer je wijzigingen met ingebouwd versie-beheer

Voor programmeurs die bekent zijn met systemen als Git zal de volgende stap erg vertrouwd zijn. Beaker Browser en het Dat-protocol ondersteunen namelijk versie-beheer, waardoor je altijd terug kan naar oudere versies van je website. Sterker nog: iedereen kan een specifieke versie van jouw website “clonen” en als basis gebruiken voor een nieuwe website! Wanneer je in de vorige stap op “save” hebt gedrukt zal Beaker aangeven dat er een ongepubliceerde wijziging is binnen je website. Klik op de knop “Review 1 Change” om te zien welke bestanden zijn gewijzigd en klik vervolgens op “Publish all” om de wijzigingen definitief te maken en te publiceren.

Afbeelding 5: ook versiebeheer (ala Git) zit ingebouwd in het protocol

Afbeelding 6: de decentrale site gemaakt volgens de stappen in dit artikel, zie referenties onderaan

Surf nu naar dat://3aa8095b5aa415f….

Als je anderen wilt laten genieten van je creatie stuur je ze simpelweg de juiste dat-url, net als op het normale web, maar dan begint het met dat:// in plaats van http://. Enige probleem: ze zijn wel een beetje lang en moeilijk te onthouden! Als je de hele tekenreeks uit de bovenstaande afbeelding precies goed over typt, kom je op de site gemaakt door de Inbox-redactie. Tenminste: als wij op dat moment onze Beaker Browser aan hebben staan, de site staat immers niet op een centrale server maar op onze lokale redactie-computer! Om allebei deze problemen op een simpele manier op te lossen hebben de mensen achter het Dat-protocol en Beaker sinds kort de dienst hashbase.io gelanceerd. Met deze dienst kun je gratis en eenvoudig een kopie opslaan van je dat-website en deze tevens beschikbaar maken op een makkelijk te onthouden url, zelfs voor mensen die geen Beaker Browser gebruiken.

Zo is de bovenstaande site van de Inbox-redactie bijvoorbeeld te vinden op: eonics.hashbase.io. De oplettende lezer zal nu opmerken dat we dan toch weer terug bij af zijn: er is nu immers weer afhankelijkheid van een centrale server. Deze lezer heeft gelijk, maar wordt vooral aangemoedigd in de link-lijst onderaan dit artikel te duiken. Er zijn namelijk talloze andere mogelijkheden om met het Dat-protocol je eigen of andermans site zonder centrale server te hosten, mirroren, clonen zónder daarbij van een centrale server afhankelijk te zijn. Het voert echter te ver om daar in dit artikel dieper op in te gaan.

 

Afbeelding 7: upload en deel je decentrale website op een eenvoudige manier met hashbase.io

Deel je creaties en vondsten

Ben je ook geïnspireerd geraakt en heb je zelf iets vets gebouwd in Beaker? Of ben je een grappige, leuke of innovatieve website of app tegengekomen tijdens het surfen in de Beaker Browser? Laat het ons weten via Twitter of stuur ons een e-mail. Uiteraard zal de Inbox Redactie ook niet stilzitten dus hou de Inbox in de gaten voor meer artikelen over Beaker en de wondere wereld van het decentrale web.

Referenties

Zoals genoemd is het decentrale web een breed en gevarieerd onderwerp. Met deze uitgebreide lijst kun je zelf op onderzoek uit en echt de diepte in duiken. Veel plezier op je ontdekkingsreis en laat het ons weten als je iets interessants tegenkomt!

 

 

Afbeelding 8: zie de referentielijst hierboven voor een verwijzing naar de fantastische visuele deep-dive in het Dat-protocol waar deze afbeelding uit afkomstig is

Blijf op de hoogte

Schrijf je in op de nieuwsbrief, dan ontvang je automatisch een berichtje wanneer we een nieuw artikel plaatsen.