Wat zijn slimme contracten?

Om goed uit te kunnen leggen wat slimme contracten of smart contracts nu eigenlijk zijn, is het misschien handig om even bij de bitcoin te beginnen. De bitcoin is een digitale betalingseenheid die bij veel mensen wel bekend is. De bitcoin maakt het mogelijk om betalingen te laten plaatsvinden, binnen een netwerk. Deze transacties vinden plaats tussen “adressen”. Het is een mooie, snelle en relatief eenvoudige manier om binnen het blockchainnetwerk “waarde” over te maken van A naar B.

A lock between the letters A and B. It symbolises the blockchain technology and the way how smart contracts are secured due to cryptocurrency encryption. Een slot tussen de letters A en B. Het symboliseert de versleuteling van transacties met slimme contracten binnen het blockchainnetwerk.

 

 

Bitcoin en slimme contracten

 

The word flow in green letters. It is a good way to look at smart contracts as "being a flow of value with rules and terms of conditions in it". Het woord flow in groene letters. Je zou slimme contracten eigenlijk moeten zien als "een flow van waarde met regels en voorschriften die daarin zijn geïntegreerd".

Slimme contracten en de bitcoin

De ontwikkelaars van de bitcoin hebben de afgelopen jaren erg hard gewerkt om van de bitcoin een stevige betalingseenheid te maken. Ook de beveiliging van de transacties is sterk verbeterd. Maar wat nu als je niet alleen maar waarde van het ene adres naar het andere wilt overmaken, maar een transactie in gang wilt zetten die vergezeld gaat van bijvoorbeeld een handleiding of algemene voorwaarden? Stel nu dat Fleur 30 bitcoins wil overmaken naar Frank, onder voorwaarden dat Frank het gras maait van Fleur. Dan is het voor Frank dus van groot belang dat hij weet, dat Fleur de waarde die de bitcoin vertegenwoordigd, ook echt in bezit heeft. Voor Fleur is het belangrijk dat ze ervan uit kan gaan dat haar gras daadwerkelijk wordt gemaai, en dat ze daar dan ook geen omkijken meer naar heeft.

Flow van waarde

Het bitcoinprotocol is daarvoor nog niet goed genoeg doorontwikkeld. De technologie is daarvoor nog niet stevig genoeg. De transactie is daarvoor nog te gespecialiseerd. Je moet slimme contracten dus eigenlijk zien als een “flow” van waarde waar regels en voorschriften in zijn geïntegreerd. Een waarde die je niet kunt gebruiken – waar je dus niets aan hebt – als niet aan de exacte regels is voldaan. Dit is de basis van een smart contract.

 

Slimme contracten en onroerend goed

Zelf je hypotheek vastleggen, een huurcontract opstellen of een verzekeringscontact afsluiten? De mogelijkheden die de slimme contracten bieden zijn enorm. Ook zullen de smart contracts worden gebruikt ten behoeven van de energiemarkt. De technologie staat nog maar aan het begin van zijn ontwikkeling, maar er wordt momenteel al volop nagedacht over de combinatie van cryptocurrencies, slimme contracten en zelfs kunstmatige intelligentie. Ontwikkelaars van dit type contracten staan voor enorme uitdagingen.

Houses for sale. Buying a house and smart contracts. Huizen te koop. Hypotheken en slimme contracten.

 

Information technology. Network. Informatietechnologie. Netwerk.

Deterministische slimme contracten en non-deterministische slimme contracten

Er zijn in principe twee soorten categorieën van slimme contracten die betrekking hebben op de cryptocurrency. De deterministische slimme contracten en de non-deterministische slimme contracten. Ja, ik kan me voorstellen dat je de draad nu even kwijt bent, maar het is minder ingewikkeld dan je op dit moment zou denken. Het grote verschil tussen deze contracten zit hem in de manier, waarop bepaalde noodzakelijke informatie verkregen wordt. Het draait dan om de vraag of het netwerk zelf voldoende informatie in zich heeft om een uitkomst te bepalen, of dat er informatie van buitenaf noodzakelijk is. Informatie die kan worden verkregen met behulp van de zogenaamde orakels.  In beide gevallen is de doelstelling: het decentraliseren van een centrale service om de transparantie te vergroten, de noodzaak van vertrouwen te verkleinen en het bereiken van economische efficiëntie.

Loterij zonder centrale uitvoerder

Laten we eerst de deterministische slimme contracten eens onder de loep nemen. Om dit goed te kunnen uitleggen zal ik als voorbeeld een contract voor een loterij nemen. Als Fleur, Frank en Charlotte mee zouden doen aan een "gewone" loterij, dan wordt er geld (de waarde) afgegeven aan een centrale uitvoerder, in ruil voor een rijtje cijfers. De centrale uitvoerder wordt vertrouwd om het geld (de waarde) op een veilige manier op te slaan. Ook wordt van hem verwacht dat hij ervoor zorgt, dat de loterij eerlijk en op de juiste wijze verloopt. De centrale uitvoerder gebruikt een generator om een willekeurig cijfer te genereren. Vooraf heeft hij een methode bepaald om uit te maken of er een winnend cijfer tussen de nummers zit. Het grote probleem hierbij zit hem in het feit, dat je te allen tijden de centrale uitvoerder zult moeten vertrouwen.

Identificatie van de winnaars

Een centraal systeem daagt uit tot het plegen van fraude en diefstal. Het is ook daarom dat loterijen aan strenge regelgeving worden onderworpen. Ook is het om die reden noodzakelijk dat winnaars kunnen worden geïdentificeerd. Als dit niet het geval zou zijn, dan zouden we niet eens kunnen controleren of de loterij wel uitbetaald aan andere mensen.

A man is happy in a rain of money. He won the lotery. Een man kan zijn geluk niet op. Hij staat in een geldregen. Hij heeft de loterij gewonnen.

Paspoort. Identificatie en slimme contracten.

Numbers. Getallen.

The word autonomy written in English between two hands. Het Engelse woord voor autonomie geschreven tussen twee handen.

Loterijnummers

Hier kunnen de deterministische slimme contracten uitkomst bieden. Fleur, Frank en Charlotte versturen dus geld (waarde) samen met hun gekozen loterijnummers naar een adres toe. Ook de spelregels, algemene voorwaarden en informatie over de wijze waarop de winnaar bekend wordt gemaakt, worden vastgelegd in het contract. Naast de regels en voorschriften kunnen uiteraard nog vele andere zaken die betrekking hebben op de juiste uitvoering van de loterij, in het smart contract worden opgenomen. Slimme contracten als deze lijken een beetje op het bitcoin-transactie-adres-model. Het adres is een speciaal adres dat specifiek gekozen is voor een slim contract. Fleur, Frank en Charlotte verzenden dus waarde naar dat adres.

Autonoom

Het bijzondere van slimme contracten is dat het netwerk zelf – helemaal autonoom dus – dat loterijcontract gaat uitvoeren. Het netwerk gebruikt een soort mechanisme om de willekeurigheid en de winnaar te bepalen. De winnaar wordt gekozen door het netwerk zelf en de betaling is gegarandeerd. Het netwerk zelf beschikt over voldoende informatie om altijd een winnaar te kunnen bepalen. Dit is een zeer krachtig idee voor een probleem dat eigenlijk relatief eenvoudig is.

Wat zijn de voordelen van slimme contracten?

Deelnemers aan zo’n loterij kunnen volledig anoniem blijven, maar desalniettemin kan iedereen toch controleren of de loterij tot uitkering is gekomen en hoeveel de winnaar betaald heeft gekregen. Uiteraard willen alle deelnemers dit weten. Met de blockchain technologie is dit eenvoudig te achterhalen. Bij slimme contracten kunnen regels en voorschriften gemakkelijk worden veranderd als dat nodig is. Het aanpassen van een contract kan bijvoorbeeld nodig zijn om de belastingtarieven te wijzigen of veranderingen aan te brengen in de regelgeving en de voorschriften, op het moment dat de overheid de wetgeving rondom kansspelen heeft aangepast.

Zoals de deelnemers het bedoelen

Een ander voordeel van de slimme contracten is dat ingezamelde gelden (of waarde) alleen gespendeerd kunnen worden, op manieren zoals de deelnemers dat ook daadwerkelijk hebben bedoeld. Ook is er geen centrale uitvoerder die betaald hoeft te worden. Dit is echt een groot voordeel, omdat centrale uitvoerders bijna altijd recht hebben op een vergoeding. De hoogte van dergelijke vergoedingen liegen er meestal niet om. Een centrale uitvoerder heeft geen enkele toegevoegde waarde ten opzichte van de deelnemers Fleur, Frank en Charlotte. Deze vorm van slimme contracten noemen we dus deterministisch.

An old paper with rules and regulations. Rules and regulations can be build into the smart contracts. Een oud formulier met regels en voorschriften. Regels en voorschriften kunnen worden ingebouwd in de slimme contracten.

A group of people. Smart contracts and participants in the blockchain. Een groep mensen. Gebruikers van de blockchain en slimme contracten.

A hydrant sprying water. A text which says: Getting information off the internet is like taking a drink from a fire hydrant. Een brandkraan die water spuit. De tekst luidt: Het verkrijgen van informatie op het internet is als drinken uit een brandkraan.

 

Wat zijn dan non-deterministische slimme contracten?

De werking van deterministische slimme contracten zoals ik dat hiervoor heb uitgelegd, is relatief makkelijk te begrijpen. Fleur en haar vrienden sturen hun waarde naar een ander persoon of naar een specifiek adres. Er worden regels en voorschriften vastgemaakt aan de desbetreffende transactie en het netwerk zelf beschikt over voldoende informatie en middelen, om te bepalen hoe die waarde nu precies moet worden overgemaakt. Maar wat nu als het netwerk zelf niet over voldoende informatie beschikt om deze stappen in de juiste volgorde te doorlopen? In dat geval zou het netwerk dus niet in staat zijn om de juiste beslissingen te nemen. Hier komen we op het vlak van de non-deterministische slimme contracten. Het netwerk fungeert als platform voor het slimme contract. Op het moment dat het netwerk niet aan de noodzakelijke informatie kan komen om een contract uit te voeren, dan ontstaat er een probleem. Het netwerk kan dan niet bepalen wie de winnaar van de loterij is. Het is dan noodzakelijk dat er gebruikgemaakt kan worden van een externe bron. We noemen dit een orakel.

Wat is een slim contract orakel?

Een slim contract orakel is een externe bron die het netwerk van bepaalde informatie kan voorzien. Het kan gaan om informatie ten aanzien van geldstromen (“flow” van waarde), maar ook om info die betrekking heeft op beslissingsprocessen. Het gaat dan dus om gegevens die te maken hebben met het menselijk gedrag (menselijk handelen), ten aanzien van bepaalde gebeurtenissen, in het verleden of het heden. Ook kan het gaan om voorspellingen van bepaalde gedragingen en marktontwikkelingen. Dit noemen we non-determinisme. De informatie komt van buiten het systeem. Stel je eens voor dat Fleur, Frank en Charlotte het op een avond op een zuipen gaan zetten in het plaatselijke café. Als ze goed in de olie zijn, daagt Frank zijn vriendinnen uit met een weddenschap. Hij zegt dat Fleur nooit en te nimmer tien shots van één of andere alcoholische drank kan wegtikken, zonder “onderuit” te gaan.

Getuige

Fleur is niet voor één gat te vangen, want ze heeft immers wel vaker met dat bijltje gehakt. Ze weet inmiddels wel wat comazuipen is. Fleur gaat in op de weddenschap. Charlotte is getuige van de weddenschap, ook al vindt ze het niet zo’n goed idee. Laten we deze situatie eens even betrekken op de blockchain. Een dergelijke (menselijke) getuigenis, is bij een gewoon netwerk niet aan de orde. Er moet bij een decentraal netwerk dus sprake zijn van een soort bron (de getuige), die als derde partij kan dienen. Een vertrouwde bron die in staat is om een “waardebeoordeling” te maken. Een waardebeoordeling van “wat” er precies “wanneer” en “waarom” is afgesproken.

People drinking beer and making a toast. Mensen die bier drinken en met elkaar proosten.

The witness. De getuige.

I agree. Ik ben akkoord. Slimme contracten en consensus.

De blockchain en consensus

Een netwerk dat gebaseerd is op cryptocurrency-technologie kan niet stilzwijgend weten wie bijvoorbeeld een bepaalde voetbalwedstrijd heeft gewonnen. De wedstrijd vond immers plaats buiten het netwerk. De deelnemers aan een weddenschap kunnen dan overeenstemming over iets bereiken (consensus), op een non-deterministische manier. Consensus over regels en algemene voorwaarden, maar ook over kansen en andere zaken. De deelnemers zullen dan echter wel eerst een betrouwbare informatiebron moeten aanduiden: het orakel.

Voetbal

Betrouwbaarheid van het orakel

Het orakel moet aan het slimme contract de juiste informatie kunnen geven, om te kunnen bepalen hoe de “waarde” (flow) binnen het netwerk gaat stromen. Om te weten of Ajax van Feyenoord heeft gewonnen, zal een orakel geraadpleegd moeten worden om de uitslag aan het slimme contract te kunnen ”vertellen”. Dit is een vorm van een non-deterministisch slim contract. Omdat de informatie van een derde partij afkomstig is, valt of staat de veiligheid natuurlijk met de betrouwbaarheid van het orakel. Er wordt door ontwikkelaars onderzocht hoe dit probleem het beste getackeld kan worden.

Slimme contracten en ingebouwd vertrouwen

Slimme contracten zijn dus programmeerbaar en het vertrouwen is als het ware ingebouwd. Bij reguliere transacties gebeurt veel te veel achter de schermen en moet je er maar blindelings op vertrouwen dat alles ook daadwerkelijk klopt. Met slimme contracten heb je tot op zekere hoogte controle over dat “vertrouwensmodel”. In ieder geval is de procedure transparant en duidelijk, nog voor er ook maar iets van waarde is verstuurd.

Anonieme transactietechnieken

Wat ook een heel groot voordeel is van slimme contracten, is dat het veel goedkoper is om de regels of voorwaarden te veranderen. Je kunt dan gewoon een stukje van de code herschrijven of een module aanpassen. Ook is het fijn dat de communicatie en anonieme transactietechnieken, die ontwikkeld zijn voor de bitcoin, niet opgeofferd hoeven te worden om slimme contracten te kunnen gebruiken. Er zou zelfs een combinatie kunnen ontstaan van bitcoin en slimme contracten.

The word trust, written on a wall. Trust and smart contracts are very well connected. Het woord vertrouwen, geschreven op een muur. Vertrouwen en slimme contracten vormen een gouden combinatie.

Bicoin and a masked man. Bitcoin en een gemaskerde man.

An old election campaign poster for a left wing party. Smart contracts can also be used for elections in the near future. Een oud stemaffiche voor een linkse partij. Slimme contracten zouden ook gebruikt kunnen worden voor voor verkiezingsdoeleinden in de nabije toekomst.

 

De blockchain en verkiezingen

Ik heb net een voorbeeld gegeven van een anonieme loterij, maar slimme contracten zou je ook kunnen gebruiken voor bijvoorbeeld een anoniem stemsysteem tijdens verkiezingen. Slimme contracten bieden een heleboel nieuwe mogelijkheden, maar dat wil echter nog niet zeggen dat we er al zijn. Er zijn nog redelijk wat theoretische en praktische problemen die eerst moeten worden opgelost. Ik noemde net al het probleem ten aanzien van de betrouwbaarheid van het orakel, en blockchain specialisten onderzoeken op dit moment hoe dat soort problemen opgelost kunnen worden.

Aan welke eisen moet een slim contract voldoen?

Ten eerste moet je een geldig aanbod doen. Daarna moet je een geldige aanvaarding van dat aanbod hebben. Als derde moet alles goed in overeenstemming zijn. Er moet sprake zijn van welwillendheid. Beide partijen moeten precies weten wat het contract inhoud en wat de precieze gevolgen zijn van de overeenkomst. Er zijn natuurlijk nog veel meer eisen waar een contract aan moet voldoen, maar deze drie condities vormen de basis voor een goed contract. We moeten ons goed realiseren dat een contract niet altijd op papier – door middel van geschreven teksten – tot stand hoeft te komen. Ook een mondelinge overeenkomst is rechtsgeldig. Een contract is een gezamenlijke overeenkomst, het is niet alleen maar het stukje papier waar we het op noteren.

The word contract written in blue letters and a feather pencil. Smart Contracts. Het woord contract geschreven in blauwe letters en een veerpenceel. Slimme contracten.

Two banknotes of hundred euro and the words sell and buy. Twee bankbiljetten van honderd euro en de woorden verkopen en kopen in het Engels.

Wat is een aanbod?

Laten we eerst eens dieper ingaan op het begrip aanbod. Wat is een aanbod eigenlijk? Een aanbod is een hoeveelheid goederen die wordt aangeboden op een markt voor verschillende prijzen, op een manier waardoor de andere partij exact weet, onder welke voorwaarden iets wordt aangeboden. Er moet sprake zijn van een objectieve bereidheid om te handelen. Ook heb je uiteraard een persoon of partij nodig aan wie je je aanbod kunt doen. Deze persoon of partij moet ervan op de hoogte zijn, dat er een aanbod gedaan wordt. De levering van hetgeen dat verhandeld wordt moet gegarandeerd zijn en de algemene voorwaarden voor levering moeten duidelijk zijn omschreven. Er zijn natuurlijk veel verschillende soorten ingewikkelde transacties die plaatsvinden en de voorwaarden zullen van situatie tot situatie verschillen.

Een aanbod herroepen

Wanneer kun je een aanbod herroepen? Je kunt een aanbod herroepen als er te veel tijd verstrijkt. Het aanbod komt dan automatisch te vervallen. Als degene die het aanbod in eerste instantie wilde accepteren het aanbod weigert, dan vervalt het aanbod natuurlijk ook. Als er een tegenbod gedaan wordt, dan vervalt het eerdere bod, want de tegenpartij heeft nu geboden. Als iemand komt te overlijden of de aanbieder of koper is handelingsonbekwaam, dan vervalt het aanbod natuurlijk ook. Een overeenkomst met een minderjarige is nietig. De rechtshandeling heeft dan officieel nooit plaatsgevonden. Ook kan het gebeuren dat de aanbieder het aanbod intrekt, voordat het aanbod is geaccepteerd door de koper.

A child with a laptop. Een kind met een laptop.

A woman with a dialogue balloon with the text: "Ok, it's a deal". In the background two people doing a high five. Een dame met een tekstballon met de tekst: "Oke, we hebben een overeenkomst" in het Engels. Op de achtergrond doen twee mensen handjeklap.

Aanvaarding van een aanbod

We zouden dit kunnen definiëren als: “een eenzijdige rechtshandeling waarmee een aanbod wordt aanvaard en waardoor aldus een overeenkomst tot stand komt”.

Welwillendheid

Welwillendheid zou je kunnen omschrijven als: “een handeling van inschikkelijkheid of de belofte die door de ene persoon of partij wordt gedaan, in ruil voor een handeling of belofte van een andere persoon of partij”. Ik geef jou een waarde (meestal geld) en jij geeft me een andere waarde terug (in de vorm van een object of een dienst). Als we daar beide mee akkoord zijn, dan is er dus sprake van welwillendheid.

A sign with the words: Interesting value for money. Een bord met de woorden: Interessante waarde voor geld.

Ethereum written in the sky. Ethereum is a platform for smart contracts.  Ethereum geschreven in het heelal. Ethereum is een platform voor slimme contracten.

Blockchain en Ethereum

Ethereum is een platform dat uit twee elementen bestaat. Betalingseenheden en contracten. Het maakt gebruik van de blockchaintechnologie waarbij de ontwerpers en gebruikers gebruik kunnen maken van het gedecentraliseerde netwerk.

Kun je Ethereum gebruiken voor slimme contracten?

Jazeker! De slimme contracten van Ethereum zijn rekeninghoudende objecten op het Ethereum blockchain. Ze zijn geprogrammeerd en kunnen interacties aangaan met andere contracten. Ook kunnen ze beslissingen nemen, data opslaan, en ether (een verhandelbare identificatie-eenheid) verzenden naar anderen. De slimme contracten zijn geschreven door hun ontwikkelaars, maar de uitvoering en service wordt geleverd door het Ethereum netwerk zelf. De slimme contracten bestaan en zijn uitvoerbaar zolang als het hele netwerk bestaat. De smart contracts zullen alleen verdwijnen als ze zo zijn geprogrammeerd, dat ze zichzelf op een bepaald moment behoren te vernietigen.

Blue chains. Blauwe kettingen.

The word "security". In the background a blue chip. Security plays an important rol when it concerns smart contracts. Het Engels woord voor "veiligheid. Veiligheid speelt een belangrijke rol als het slimme contracten betreft.

Wat kun je doen met de slimme contracten van Ethereum?

Je zou je eigenlijk beter de vraag kunnen stellen: “wat eigenlijk niet?”. Het beste is waarschijnlijk om met een eenvoudig contract te beginnen. Je kunt dan je eigen cryptocurrency-eenheid bouwen, waarmee je contracten kunt versturen naar wie je maar wilt. Als je dat dan eenmaal onder de knie hebt, dan gaat er een geheel nieuwe wereld voor je open.

Ethereum en DAO

DAO staat voor Decentrale Autonome Organisaties. Het is een nieuw concept waar we met zijn allen toch best wel even aan zullen moeten wennen. Je zou de DAO eigenlijk moeten zien als een investeringsfonds waaraan iedereen kan deelnemen. De DAO zullen binnen de Ethereum blockchain gebruikt worden om te investeren in nieuwe technologieën. Slimme contracten zijn een vorm van DAO. Als mensen dus willen investeren in dit “crowdfundingproces” (deze mensen worden leden genoemd), dan zijn zij dus houder van een bepaalde identificatie-eenheid (tokenhouder). In principe wordt zo’n lid dan eigenlijk min of meer een soort aandeelhouder met stemrecht. Stel dat de leden van “het bestuur” een voorstel doen omtrent het investeren in bepaalde projecten, diensten of technologieën, dan krijgen alle leden van het “fonds” de mogelijkheid om te stemmen over het wel of niet investeren.

 

 

Ethereum blockchain investeringen

Ook kan er gestemd worden over hoe hoog of laag die investeringen dan wel niet mogen zijn. De DAO kunnen dus investeren in nieuwe technologieën en als die projecten dan zorgen voor winst, dan krijgen de DAO-leden hun winstaandeel. Er is dus voordeel voor het bedrijf dat de technologie ontwikkeld of een dienst levert en er is voordeel voor de leden. De leden bepalen ook welke richting het “fonds” op moet gaan. De waarde van de identificatie-eenheid zal namelijk toenemen, wanneer de waarde van het “fonds” stijgt.

Blocks, symbolising the blockchain and smart contracts. Blokken die de blockchain en de slimme contracten symboliseren.

A sign with the words: "Technology is changing business". Smart contracts are an example of new technologies.  Een bord met de tekst: "Technologie zal de wijze van zakendoen veranderen". Slimme contracten zijn een voorbeeld van een nieuwe manier van zakendoen.

Risico volledig gespreid

DAO maken het mogelijk om onroerend goed, eigendommen en assets op te slaan, door middel van cryptocurrency technologie. Het potentieel van DAO is enorm. Stel dat je Ethereum gebruikt om de DAO te ondersteunen, dan wordt je op dat moment houder van een DAO-identificatie-eenheid. Het grote voordeel voor personen die DAO gaan gebruiken, is dat de DAO zullen gaan investeren in zeer veel verschillende technologieën, ideeën, bedrijven en instellingen. Dat betekent dus simpelweg dat je risico volledig gespreid is.

 

Op de hoogte blijven van de ontwikkelingen op het gebied van de blockchain? Meld je dan nu aan voor onze blogpost!

Meld je aan voor de blogpost!
I agree to have my personal information transfered to MailChimp ( more information )
Met de blogpost van Uitleg Blockchain blijf je automatisch op de hoogte van de nieuwste ontwikkelingen omtrent de blockchain technologie.
We hebben een hekel aan spam. Uw e-mailadres zal niet worden verkocht of gedeeld met anderen.

Leave a Reply