Blockchain en gedistribueerd vertrouwen – Hoe zit dat nu precies? (Deel 1/3)

Voorbeeld van een afbeelding uit de Rorshach test

Je kent ze wel, die psychologische tests waarbij je iets hoort of ziet en je spontaan moet zeggen wat er in je opkomt. Bij het horen van “gedistribueerd vertrouwen” zullen de meeste lezers vol zelfvertrouwen “Blockchain” antwoorden. Maar wat is nu precies de relatie tussen blockchain en gedistribueerd vertrouwen? Is blockchain de enige en volmaakte oplossing? Hoe gedistribueerd is het vertrouwen in blockchain netwerken? Zijn nog andere technologieën mogelijk? Dit artikel is een eerste in een artikelenreeks die hierover klaarheid tracht te brengen. We gaan nu in op wat we bedoelen met gedistribueerd vertrouwen, bespreken op conceptueel niveau wat we met blockchain wel en niet kunnen en doorprikken de mythe dat een blockchain benadering per se een kostenreductie impliceert.

Wat bedoelen we met gedistribueerd vertrouwen?

Wat bedoelen we eigenlijk met de term “distributed trust”? Het betekent dat niet langer één enkele partij moet vertrouwd worden om in een proces tot het gewenste resultaat te komen, zonder ongewenste neveneffecten. We willen m.a.w. afhankelijkheden van één partij elimineren, of toch op zijn minst reduceren. Drie voorbeelden van dergelijke partijen vandaag:

Bank run op de Britse bank Northern Rock in 2008

  • Als je geld op een spaarboekje staan hebt, moet je je bank vertrouwen, wat ten tijde van de bankencrisis niet evident was.
  • Als je gebruik maakt van Facebook, vertrouw je erop dat de dienst beschikbaar is, afdoende beveiligd is en dat Facebook op een behoorlijke manier met je gegevens omgaat. We verwachten dat misbruik zoals door onder meer Cambridge Analytica, niet voorvallen.
  • Als je vastgoed bezit, vertrouw je erop dat dit correct in het kadaster geregistreerd werd en er ook geregistreerd blijft. In Syrië dreigen mensen door een nieuwe wet de aanspraak op hun woning en grond te verliezen.

In de drie voorbeelden zijn we afhankelijk van respectievelijk een bank, een bedrijf en een overheid. We moeten hen dus vertrouwen, of we nu willen of niet. Technologieën gebaseerd op cryptografie laten toe om niet langer afhankelijk te zijn van die ene partij, maar wel van een netwerk. En zolang de meerderheid van dat netwerk eerlijk is, loopt alles zoals het hoort. Dat is wat we bedoelen met gedistribueerd vertrouwen.

Er is een stelling uit de cryptografie, die als volgt luidt: “Elke berekening die kan berekend worden met een centrale autoriteit kan ook berekend worden zonder.” Wat algemener geformuleerd wordt dit: “Alles wat met een centrale autoriteit gedaan kan worden, kan ook zonder die autoriteit gedaan worden.” Bitcoin en blockchain hebben de verdienste dit idee gepopulariseerd te hebben. Dit betekent echter niet dat blockchain de enige en zaligmakende oplossing is. Blockchain is een specifiek concept dat distributed trust mogelijk maakt.

Wat kan blockchain wel en niet?

Laat ons eerst even scherp definiëren naar wat we met blockchain technologie kunnen. Het laat ons toe om drie zaken zonder vertrouwde autoriteit te regelen:

  1. Het beschermen van data. Blockchain kan garanties bieden wat betreft de integriteit, onweerlegbaarheid en zelfs authenticiteit van gegeven. Ook is er achteraf geen antidatering mogelijk of betwisting over het moment van registratie. Denk bijvoorbeeld aan het registreren van diploma’s en testamenten op de blockchain.
  2. Het transfereren van activa. Bitcoin laat toe om, zonder bank, waarde (virtuele valuta) uit te wisselen, maar met blockchain kan in principe om het even wat van waarde uitgewisseld worden, gaande van auteursrechten en domeinnamen tot diamanten en vastgoed. Eigenlijk wordt hier een simpele regel collectief door het netwerk afgedwongen: is de zender ook de eigenaar van de activa die hij wil transfereren”. Dit kan dus gezien worden als een specifieke, beperkte toepassing van het volgende puntje.
  3. Het afdwingen van regels. In blockchain netwerken wordt een set van regels collectief (gedistribueerd) afgedwongen. Met smart contracts kan dit ook voor willekeurige code. Geen enkele entiteit in het netwerk kan op zichzelf de correcte uitvoering ervan beïnvloeden. Een smart contract kan bovendien activa op de blockchain ontvangen, blokkeren en transfereren. Vaak komt het neer op het volgende: “Indien aan voorwaarden A & B voldaan, transfereer activa naar X.”

Wat kan blockchain niet? In het geval gegevens in de blockchain geregistreerd worden kan het blockchain netwerk niet de correctheid van deze gegevens verifiëren, tenzij alle data voor die verificatie zich reeds op de blockchain bevinden. Een blockchain netwerk kan dus wel verifiëren of een Bitcoin transactie geldig is, maar weet niet of het huwelijkscontract of het diploma dat op de blockchain geregistreerd wordt, effectief correct, geldig of waar is. Stel dat er een smart contract je automatisch een bedrag uitbetaalt als je vlucht vertraging heeft, dan moet er informatie over de vluchten aan het smart contract aangeleverd worden. Het smart contract kan niet nagaan of de aangeleverde informatie correct is. Foutieve input resulteert dus in foutieve output. Of, samengevat: “Rommel in, rommel uit”. Een blockchain is dus niet per se een bron van waarheid, zoals het weleens, ietwat religieus, uitgedrukt wordt.

Dezelfde informatie kan natuurlijk ook door verschillende partijen aangeleverd worden. Naarmate meer partijen onafhankelijk van elkaar hetzelfde zeggen, hebben we een hogere graad van vertrouwen in de correctheid van de informatie. Wanneer je verhuist, zal een agent langskomen om te bevestigen dat je daar effectief woont. Stel dat dit in de toekomst niet langer door een agent gebeurt, maar door verschillende burgers en bedrijven. Je buren bevestigen dat je daar effectief woont, alsook pakjesbezorgers en nutsbedrijven. Het bevestigen van informatie gebeurt hier dus gedistribueerd, maar dit heeft op zich niets te maken met blockchain. Al deze entiteiten kunnen dit evengoed op een gecentraliseerde service aangeven. Het collectief valideren van externe aangeleverde informatie heeft dus niets met blockchain te maken. Dit gebeurt al jaren bij crowdsourcing, waarvan Wikipedia het meest gekende voorbeeld is. Een collectieve validatie van externe informatie is dus in zekere zin complementair met blockchain en kan er dus mee gecombineerd worden.

Zonder vertrouwensissue, is er weinig reden om blockchain technologie te kiezen. Dit betekent niet dat als dat er wel is, er automatisch voor blockchain gekozen moet worden. Stel dat een aantal concurrerende partijen en een overheidsbedrijf moeten samenwerken en dat geen van deze partijen in het proces geëlimineerd kan worden. De banken vertrouwen elkaar niet, dus er is een vertrouwensissue. Maar als ze allen het overheidsbedrijf vertrouwen, is er mogelijks een alternatief voor een blockchain benadering, op basis van traditionele technologie, waarbij de banken dan wel afhankelijk worden van het overheidsbedrijf. Het is dan aan het consortium om een keuze te maken.

Gedistribueerd vertrouwen betekent trouwens niet dat de noodzaak aan vertrouwen verdwijnt. Of, anders geformuleerd, “distributed trust” impliceert niet “trustlessness”. We moeten er nog steeds op vertrouwen dat een meerderheid eerlijk is, dat er geen security kwetsbaarheden in de software van de client of inhet smart contract zitten, dat het smart contract doet wat de makers beloven, dat de cryptografische assumpties waar alles op steunt correct zijn en blijven, dat de orakels – de entiteiten die data aanleveren aan de blockchain – hun werk correct doen, dat we onze private sleutel niet verliezen, dat het bedrijf dat onze virtuele munten beheert niet gehackt wordt, … Ik ben dus niet overtuigd van de populaire stelling dat blockchain “trustless” of “vertrouwensvrij” zou zijn. Er is nog steeds vertrouwen vereist, maar op een minder zichtbaar, abstracter en daardoor minder inzichtelijk niveau.

Is gedistribueerd vertrouwen steeds goedkoper?

Het reduceren van afhankelijkheden m.b.v. blockchain technologie impliceert niet per se dat het proces ook goedkoper wordt, hoewel dat uiteraard wel mogelijk is. We verduidelijken dit a.d.h.v. twee voorbeelden.

Op het moment van schrijven was de kost van een gemiddelde Bitcoin transactie terug gezakt tot ongeveer een dollar, na een piek op 22 december met een daggemiddelde van 55 dollar. Deze bedragen zijn onafhankelijk van het te transfereren bedrag. Om je euro’s in bitcoins om te zetten wordt er trouwens nog een percentage door de handelsplatformen aangerekend. Zelfs ten tijde van de piek was het gebruik van bitcoin veelal nog goedkoper voor internationale transacties dan de klassieke weg. Lokaal een klein bedrag met bitcoin uitgeven is, in vergelijking met de bestaande, gencentraliseerde systemen dan weer erg duur. Er zijn nog andere virtuele munten met lagere transactievergoedingen, maar Bitcoin is vandaag wel de referentie. Bovendien hangt aan het gebruik van Bitcoin een stevige ecologische kost. IOTA is een crypto munt die niet gebaseerd is op blockchain. Er wordt geen transactievergoeding aangerekend, maar er wordt wel van je gevraagd een inspanning te doen in de vorm van computerkracht, door een kleine cryptografische puzzel op te lossen.

Een tweede voorbeeld vinden we in Nederland. Door de Nederlandse gemeente Stichtse Vest werd bekeken of blockchain een meerwaarde kan bieden bij het aanvragen van een rolstoel. Daarbij zijn, naast de burger, het gemeentebestuur en verschillende zorgaanbieders betrokken. Ze maakten de vergelijking: wat als we dit regelen m.b.v. een publieke blockchain, een afgeschermde (private) blockchain of een traditionele centrale database. Het resultaat is te zien in onderstaande tabel. Een centrale database heeft een lagere infrastructuurkost en complexiteit dan een afgeschermde blockchain. Ook wanneer gebruik gemaakt wordt van een publieke blockchain, is de complexiteit hoger volgens de tabel en zal je moeten betalen per actie. Die prijs fluctueert trouwens constant, afhankelijk van hoe verzadigd het netwerk is, en hoe snel je de actie op de blockchain geregistreerd wil krijgen.

Het distribueren van vertrouwen leidt dus niet per se tot een afname van de kosten.

Om de balans in dit artikel te herstellen, zou ik nog een positief voorbeeld willen aanhalen. In Jordanië is er een cash-for-food programma, georganiseerd door de WFP (World Food Programme), dat 100 000 Syrische vluchtelingen helpt. Dankzij een oplossing die onder meer gebruik maakt van blockchain, zouden de transactiekosten, die nu naar lokale banken gaan, met 98% verminderen.

Afronding

Dit artikel ging in op wat we bedoelen met gedistribueerd vertrouwen. Het komt erop neer dat we afhankelijkheden van één partij willen reduceren, zonder dat de noodzaak aan vertrouwen volledig verdwijnt. Verder werd ingegaan op wat blockhain op conceptueel niveau wel en niet kan. Een dergelijke benadering is trouwens niet steeds goedkoper dan een traditionele benadering.

Het volgende artikel gaat in op wat blockchain wel kan: het beschermen van data en het afdwingen van regels (met inbegrip van transfereren van activa). Kan blockchain dit compromisloos? Of is er toch een bepaalde prijs die we moeten betalen? We zullen zien dat de combinatie van blockchain om vertrouwen te distribueren aan de ene kant, en confidentialiteit (bijvoorbeeld om de privacy van de burger te beschermen) aan de andere kant vandaag een niet evidente evenwichtsoefening is.

This entry was posted in Security and tagged , by Kristof Verslype. Bookmark the permalink.
avatar

About Kristof Verslype

Kristof behaalde begin 2011 een doctoraat in de ingenieurswetenschappen aan de KU Leuven. Hij onderzocht hoe privacy m.b.v. cryptografie verbeterd kon worden. Na een klein jaar als postdoctoraal onderzoeker werd hij eind 2011 onderzoeker bij Smals. Zijn huidige domeinen zijn distributed trust, privacy & analytics, blockchain & smart contracts en toegepaste cryptografie. Hij wordt regelmatig gevraagd als spreker. Meer info op www.cryptov.net

Leave a Reply

Your email address will not be published. Required fields are marked *