Smart Contracts / Slimme Overeenkomsten

smart contracts blockchainIn dit artikel gaan we dieper in op alles rondom smart contracts. We proberen dit op een zo simpel mogelijke uit te leggen, een ‘dummie-proof’ uitleg. We beantwoorden de volgende vragen:

  • Wat is het?
  • Hoe werkt het?
  • Wat heeft het te maken met blockchain?
  • Welke toepassingen zijn er?
  • Wat zijn de nadelen?

Wat is een smart contract?

Een smart contract is een in codetaal geschreven overeenkomst, die automatisch van kracht wordt wanneer aan bepaalde omstandigheden wordt voldaan. Denk hierbij aan “de auto van Bob wordt automatisch overgeschreven naar Johan, wanneer Johan 10.000€ overmaakt aan Bob”.

Een voordeel van Smart Contracts is dat er geen derde partij bij betrokken hoeft te zijn. In het geval van het bovenstaande voorbeeld zou er normaal gesproken een autoriteit betrokken zijn die het eigenaarschap van auto’s bijhoudt. In het geval van een Slimme Overeenkomst is deze tussenpartij, een zogeheten ‘middle man’ niet nodig. Het idee achter een Smart Contract is bedacht in 1994. Nick Szabo, een Hongaarse student, bedacht dat gedecentraliseerde systemen konden werken in combinatie met zelf uitvoerbare contracten.

Een duidelijke visualisatie van bovenstaande voorbeeld zie je hieronder:

voorbeeld normaal contract

Bij een Slimme Overeenkomst komt er geen andere partij van pas:

voorbeeld smart contract

Hoe het werkt

Smart Contracts werken aan de hand van een ‘als X, dan Y’ principe. Hierboven gaven we al een voorbeeld van de verkoop van een auto. Hierbij was de regel dat als partij B een specifiek bedrag overmaakte naar partij A, deze eigenaar zou worden van de auto. Deze contracten werken op basis van een geschreven computercode.

Een Smart Contract kan worden opgesteld aan de hand van verschillende programmeertalen. Zo wordt de code voor overeenkomsten binnen Ethereum vooral geschreven in Solidity. Andere crypto valuta zoals Bitcoin maken gebruik van onder anderen C++ of Java.

De code voor een Slimme overeenkomst ziet er bijvoorbeeld als volgt uit:

code sc

Een Smart Contract voldoet aan de volgende eigenschappen:

  • Betrouwbaar
    Contracten werken met behulp van blockchain Dat houdt in dat er niet gerommeld kan worden met data en dat transacties voor iedereen zichtbaar zijn
  • Autonoom
    Een contract wordt automatisch uitgevoerd zodra aan de afgesproken voorwaarden is voldaan
  • Backup
    Van alles wat er op de blockchain gebeurt wordt een backup gemaakt. Er bestaat dus geen gevaar dat gegevens kwijt raken

Blockchain

Wat heeft een Smart Contract te maken met blockchain? We hebben net gezien dat er in het geval van een Slim Contract geen tussenpersoon of onafhankelijke partij nodig is. Bij normale contracten zorgt zo een onafhankelijke partij, bijvoorbeeld een notaris, ervoor dat alles eerlijk verloopt.

Omdat er in dit geval geen derde partij betrokken is, wordt er gebruik gemaakt van blockchain technologie. Een blockchain is volledig gedecentraliseerd. Dit betekent dat alles wat er op de chain gebeurd eerst geverifieerd door meerdere computers (nodes) binnen het netwerk. Dit proces zorgt ervoor dat manipulatie of fraude niet mogelijk is.

Toepassingen

  • Overheden

Overheden kunnen Smart Contracts voor verschillende doeleinden gebruiken. Een van de meest logische toepassing? Verkiezingen! Bij elke verkiezing of referendum worden alle stemmen met de hand geteld. Omdat alles met de hand gedaan wordt kan er heel veel misgaan. Niet alleen bij het tellen maar ook bij hete identificeren van stemgerechtigden. Door Smart Contracts toe te passen zal het systeem een stuk minder fraudegevoelig zijn.

  •  Logistiek

Ook in de logistiek kunnen Slimme Overeenkomsten van waarde zijn. Zo kan een bedrijf zijn producten automatisch bijvullen aan de hand van afgeleverde goederen. Een regel zou kunnen zijn; ‘als bestelling X wordt afgeleverd, doe dan een nieuwe order bij leverancier Y’.

  • Vastgoed

Om je vakantiehuis te verhuren ben je momenteel afhankelijk van een tussenpartij zoals AirBNB. Deze vragen ook een bepaalde commissie voor hun diensten. Met een Smart Contract stel je vast; ‘Als klant X een bedrag van 400€ overmaakt op rekening 1234ABCD, stuur dan een toegangscode tot het appartement die werkzaam is voor de volgende data: datum 1, datum2 en datum 3’.

  • Gezondheidzorg

Er zijn vaak discussies over medische patiëntgegevens. Het gebeurd te vaak dat informatie over patiënten personen bereikt die geen toestemming hebben om deze gegevens in te zien. Een Smart Contract kan ervoor zorgen dat gegevens alleen maar inzichtelijk zijn voor personen die hier rechtmatige toegang tot hebben.

  • Verzekeringindustrie

Momenteel wordt een verzekeringspremie voor je auto bepaald aan de hand van hoevaak je in de afgelopen jaren gebruik hebt gemaakt van je verzekeraar. Dit is misschien een goed uitgangspositie, maar niet helemaal eerlijk. Zo zegt het namelijk niets over wie daadwerkelijk schuldig was aan een ongeluk of over iemands rijgedrag. Door rijgedrag vast te leggen kan een verzekeraar bepalen hoe hoog de premie zou moeten zijn.

Nadelen

Er zijn twee grote nadelen van Smart Contracts. Zo is het nog allemaal erg nieuw en moeilijk te begrijpen. Het zal dan ook wat tijd kosten voordat mensen er vertrouwd mee worden en er ook graag gebruik van gaan maken. Het tweede nadeel is dat er fouten kunnen bestaan in de code. De code wordt tenslotte nog steeds geschreven door mensen, waardoor de kans bestaat dat er een fout in kan zitten. Het is dan ook belangrijk dat elk contract door meerdere partijen gecontroleerd wordt, voordat deze gebruikt wordt. Een cryptocurrency project dat zich specifiek hiermee bezig houdt is Quantstamp (QSP).