Smart Contracts – Wat zijn het en wat kun je ermee?

Published by The Crypto Invstor on

Smart contracts”, een term waar menig cryptofanaat het laatste jaar maar al te vaak mee om de oren wordt geslagen. Als je de crypto experts moet geloven is smart contracts het nieuwe goud. De koers van elke coin en token die smart contracts in zijn platform implementeert lijkt door het dak te gaan. Terwijl menig crypto expert zich bezig houdt met de mogelijke toekomstige applicaties van smart contracts staat de gemiddelde cryptofanaat nog met de simpele vraag. Wat zijn smart contracts in godsnaam en wat kun je ermee? In dit artikel leg ik je uit wat smart contracts zijn, hoe ze werken en wat je er dus mee kunt.

De term smart contracts is natuurlijk niet zomaar uit de lucht komen vallen. Oftewel, om tot een eerste begrip te komen gaan we iets heel simpels doen. We gaan de term vertalen en ontleden. Met het vertalen van de term komen we op “slimme contracten”. We weten dus dat het gaat om contracten en dat deze slim zijn. Laten we maar eens beginnen met de term “contracten”. Want, wat is een contract nou precies? Als we kijken in de Dikke van Dale dan zien we het volgende: “Contract: een schriftelijk vastgelegde overeenkomst”. Een contract wordt normaliter gemaakt door twee partijen. Het is een schriftelijke overeenkomst waarin twee partijen iets met elkaar afspreken. Bij deze afspraak is vaak een levering van goederen, geld of diensten gemoeid en een tegenprestatie. Bij het afsluiten van een contract wordt vaak een derde partij ingeschakeld als tussenpersoon. Deze tussenpersoon bewaakt dat beide partijen zich aan de afspraak houden.

Het Kickstarter voorbeeld

Neem het crowdfundingsplatform Kickstarter als voorbeeld. Kickstarter is een crowdfundingsplatform wat investeerders verbindt aan start-ups. Een start-up met een goed idee voor een product kan zich er aanmelden. Vervolgens moet de start-up het idee presenteren en aangeven hoe veel geld ervoor nodig is om het product te ontwikkelen. Ook moeten ze aangeven binnen welke tijd zij dit geld bij elkaar willen krijgen. Consumenten zoals jij en ik kunnen vervolgens geld investeren in de start-up door bij voorbaat het product aan te schaffen ondanks dat deze nog niet is ontwikkeld. Het ingezamelde geld wordt vervolgens door de start-up gebruikt om de ontwikkeling op te zetten. Als het product vervolgens is ontwikkeld en geproduceerd dan ontvang jij het product. Kortom, jij investeert in een bedrijf door een product te kopen wat er eigenlijk nog niet is. De start-up gebruikt dit geld vervolgens om er ook daadwerkelijk voor te zorgen dat het product er komt. Waar een start-up vroeger geld probeerde te lenen bij de bank of via investeerders doen sommigen het nu via crowdfunding.

Informeel gezien sluiten de consumenten die investeren een contract af met de start-up. De investeerde investeert geld en verwacht hiervoor een van de volgende tegenprestaties:

  1. Als de start-up binnen de tijd genoeg geld weet op te halen dan begint de productontwikkeling en ontvangt de investeerde het gekochte product.
  2. Als de start-up niet binnen de tijd genoeg geld weet op te halen dan krijgt de investeerder het geld terug.

Midden in dit proces speelt het platform Kickstarter de tussenpersoon. De investeringen van consumenten komen namelijk niet gelijk op de bankrekening van de start-up terecht. Deze investeringen komen namelijk eerst terecht op de bankrekening van Kickstarter. Pas als de start-up binnen de tijd genoeg geld weet op te halen worden de investeringen door Kickstarter vrij gegeven. Is dit niet het geval dan worden de investeringen door Kickstarter teruggegeven. Kortom, voor het informele contract tussen investeerders en start-ups speelt Kickstarter de rol van tussenpersoon. Deze tussenpersoon zorgt ervoor dat alle partijen hun verplichtingen naleveren.

Wat zijn Smart Contracts?

Met de komst van smart contracts wordt in sommige gevallen deze tussenpersoon, oftewel de Kickstarter overbodig gemaakt. Een smart contract is namelijk een stukje computercode waarin de afspraken van een contract zijn vastgelegd. Dit stukje computercode kan zo worden ontworpen dat een bepaalde actie wordt uitgevoerd als aan één of meerdere voorwaarden van het contract is voldaan. Om dit beter uit te leggen gaan we even terug naar het Kickstarter voorbeeld. In plaats van dat investeerders hun geld overmaken naar Kickstarter maken ze hun geld over naar het smart contract. In het smart contract staat simpelweg een stukje code dat controleert hoe de investeringsvoortgang loopt en één van de volgende twee dingen doet:

  1. De investeringen automatisch doorgeven aan de start-up wanneer het investeringsdoel binnen de tijd is gehaald.
  2. De investeringen automatisch terug storten wanneer de tijd verstreken is en het doel niet is gehaald.

Kortom, smart contracts zijn niet meer dan stukjes computercode waarin men contractuele afspraken kan vastleggen. In plaats van een tussenpersoon als natuurlijk persoon of organisatie vervult het smart contract de rol van tussenpersoon. De eerste reactie die mensen dan vaak geven is:

maar heel veel mensen kunnen toch computercode schrijven.. Waarom is smart contracts dan sinds de komst van cryptocurrency zo een hype?”

Het antwoord op deze vraag heeft te maken met blockchain technologie.

Smart contracts en blockchain technologie

Waarom smart contracts zo een hype zijn sinds de introductie van cryptocurrency heeft alles te maken met de komst van blockchain technologie. Want, heel veel techneuten kunnen natuurlijk een stukje code schrijven met wat simpele als-dan constructies die overeen komen met de contractuele afspraken. Maar… wie is eigenaar van deze code? Waar is deze code opgeslagen? Hoe zorg je ervoor dat alle betrokken partijen inzicht hebben in de afspraken? En de meest belangrijke vraag die te maken heeft met vertrouwen:

Hoe zorg je ervoor dat de code niet verwijderd of eenzijdig gewijzigd kan worden?

Een smart contract met een achterliggend stukje code is leuk. Maar als ik deze code kan verwijderen of zelfs eenzijdig kan wijzigen dan kan ik heel gemakkelijk de boel belazeren. En, als dit mogelijk is, hoe veel mensen zullen dan nog vertrouwen hebben in smart contracts? Oftewel, smart contracts hebben een onderliggende constructie nodig die vertrouwen biedt aan alle partijen. Een onderliggende constructie die transparantie biedt en waardoor de code niet verwijderd of eenzijdig gewijzigd kan worden.

Als we gaan kijken naar een technologie die deze zekerheden biedt dan komen we op een antwoord: BLOCKCHAIN. Over blockchain technologie kun je natuurlijk hele boeken schrijven. Als je interesse hebt in een diepgaand technisch uitleg over blockchain technologie dan raden we je aan om ons artikel over blockchain technologie te lezen. Voor de achtergrond van smart contracts leg ik hieronder kort uit hoe blockchain in elkaar zit. Met blockchain technologie zorg je eigenlijk voor twee dingen:

  1. Informatie wordt decentraal opgeslagen, niemand is er alleen eigenaar van en niemand kan eenzijdig wijzigen.
  2. Informatie die wordt opgeslagen staat vast en kan überhaupt nooit worden gewijzigd.

Kortom, met blockchain technologie heb je de twee kern ingrediënten te pakken die nodig zijn om het vertrouwen te bieden die nodig is om smart contracts te laten werken. Smart contracts worden namelijk opgeslagen op een blockchain netwerk. Dit betekent dat alle betrokkenen inzicht hebben in het contract en het contract volledig vast staat wanneer deze wordt vastgelegd.

Hoe werken smart contracts

Het idee achter smart contracts is niet heel erg nieuw en stamt uit de tijd ver voor blockchain en cryptocurrency. Echter, met de komst van blockchain technologie is het mogelijk om smart contracts daadwerkelijk te implementeren. Het foutloos faciliteren van smart contracts is niet heel eenvoudig. Binnen de cryptowereld zijn een aantal platformen die hier overigens vrij ver mee zijn. De meest bekende hiervan is het Ethereum platform.

Het Ethereum platform gebruikt de Ethereum Virtual Machine (EVM) voor het verwerken van smart contracts. Smart contracts kunnen worden opgesteld in de daarvoor ontwikkelde programmeertaal Solidity. In deze programmeertaal leg je simpele als/dan constructies vast. Je legt als het ware de logica achter een contractuele afspraak vast middels programmeertaal. Wat je hier ook bij vastlegt zijn de betrokken partijen. Smart contracts zullen veelal gaan over de uitwisseling van waarde, oftewel geld. Daarom leg je hier dus ook de wallet adressen vast van de betrokken partijen.

Na het vaststellen van het contract moeten alle betrokken partijen akkoord geven op de inhoud ervan. Wanneer dit is gedaan wordt het smart contract vastgelegd op de blockchain. Hier blijft dit contract staan tot het in vervulling is gegaan of tot een datum waarvan is afgesproken waarop het contract kan komen te vervallen. Als vervolgens aan alle voorwaarden van het contract is vandaan dan worden de onderliggende afspraken uitgevoerd. Omdat alles volledig plaatsvindt op de blockchain is er volledige transparantie voor alle betrokken partijen.

De meerwaarde van smart contracts

Alvorens ik er een eind aan brei gaan we nog even in op de meerwaarde van smart contracts. Smart contracts zijn namelijk iets anders dan “legale contracten”. Het zijn geen overeenkomsten die je kunt zien als legaal bindend en waarmee je naar de rechter kunt. Het zijn simpele afspraken waarmee een als-dan constructie is verankerd in een stukje onfeilbare code.

Smart contracts maakt het mogelijk om zonder gebruik van tussenpersoon simpele afspraken tot stand te brengen met gebruik van het internet zonder enig risico te lopen. Zo maakt smart contracts het mogelijk om investeerders aan start-ups te verbinden zonder tussenpersoon. Naast het Kickstarter voorbeeld zijn er nog tal van andere applicaties waarbij smart-contracts kan worden toegepast. Denk bijvoorbeeld aan verzekeringsclaims die automatisch worden uitbetaald als aan bepaalde voorwaarden is voldaan.

De meerwaarde van smart contracts zit in de laagdrempeligheid en kostenbesparing. Je kunt op een laagdrempelige manier veilige afspraken maken met anderen. Daarnaast bespaar je kosten aan het wegsnijden van de tussenpersoon. Zo ga je natuurlijk voor een transactie van 100 euro geen tussenpersoon inhuren die het proces bewaakt. Met smart contracts kun je veilig en eenvoudig een afspraak vastleggen zonder tussenpersoon.