Wat is een smart contract?

Eén van de grootmeesters van de cryptowereld, Nick Szabo, schreef in 1995 al een paper over hoe cryptografie en decentrale systemen aan de basis zouden kunnen liggen van wat hij ‘smart contracts’ doopte. Hij voorspelde toen dat deze technologie een enorm disruptief karakter zou hebben en er voor zou kunnen zorgen dat de manier waarop mensen met elkaar afspraken maken en in contracten vastleggen, wel eens ongemeen hard zou kunnen veranderen. Van Szabo wordt gezegd dat hij wel eens Satoshi Nakamoto zou zijn.

Een contract is een set van afspraken tussen verschillende partijen waarin overeengekomen wordt bepaalde handelingen te stellen wanneer aan die afspraken voldaan wordt. Contracten vormen al eeuwenlang de ruggengraat voor de economie, zowel op het niveau van kleine ondernemingen, als op multinationaal vlak.

Vaak worden contracten tussen twee partijen onderling vastgelegd en uitgevoerd. Maar in een groot aantal gevallen is er een derde partij (of nog meer partijen) betrokken. We staan er niet echt meer bij stil maar bijna elke grote aankoop die je doet, gaat gepaard met het ondertekenen van een contract in het bijzijn van of gefaciliteerd door een derde partij.

Een eenvoudig voorbeeld van een smart contract

Nemen we bijvoorbeeld de aankoop van een huis. Daarvoor ben je verplicht een notaris onder de arm te nemen die het contract opstelt tussen de koper en verkoper en wat de rol van de banken van die personen daarin precies zijn. De notaris legt de gemaakte afspraken over prijs, een datum van overdracht vast en de precieze beschrijving van het huis en de grond vast in het contract.

Voor die dienstverlening wordt hij betaald, meestal door de koper. Naast zijn eigen betaling, ontvangt hij ook belastingen die hij later doorstort naar de overheid. Hoewel dit een waarschijnlijk niet helemaal volledige beschrijving is, geeft het in grote lijnen wel weer hoe een koopcontract voor een huis wordt opgesteld en uitgevoerd. Een heleboel, maar ook geen rocket science, toch? Alleszins niets dat Nick Szabo niet geprogrammeerd zou kunnen krijgen. “Enter smart contracts.”

Ethereum was de eerste

Eén van de allergrootste stappen voorwaarts in de blockchaintechnologie die Ethereum meebracht, waren de mogelijkheden tot smart contracts. Alle afspraken en handelingen in het hierboven beschreven voorbeeld, kunnen dankzij deze technologie geprogrammeerd worden. Daarenboven zorgen ze er dus ook voor dat er in principe geen nood meer is voor die derde partij, exit notaris dus voor wat betreft ons voorbeeld. Dat is natuurlijk de theorie. In de praktijk zijn we nog ver van de rol van de notaris te schrappen.

Vanuit dezelfde redenering kunnen we nog tientallen situaties bedenken waar er een derde partij kan vervangen worden door smart contracts. Denk maar aan de hele administratie die er hangt rond de logistieke sector of bij de verzekeringssector. Wees er maar zeker van dat de grote actoren in die sectoren nog niet hebben stilgezeten. Er zijn al honderden voorbeelden van bedrijven die bezig zijn om de mogelijkheden van deze technologie te implementeren. De voornaamste drijfveer bij hen is om kosten te besparen.

Een smart contract kan dus afspraken of voorwaarden en acties die volgen op het vervullen van die afspraken bevatten. Die zijn in de programmeertaal omgezet afhankelijk van de blockchain waarin ze zullen actief zijn. Voor Ethereum is dat Solidity, maar ook Java en C++ zijn talen waarmee smart contracts geschreven worden. Die acties worden automatisch geactiveerd wanneer aan de voorwaarden voldaan is.

Wat blockchaintechnologie nog bijbrengt aan het smart contract gegeven is dat alle informatie die er in wordt vastgelegd op een blockchain staat. Dat wil dus zeggen dat die voor iedereen toegankelijk en te controleren is. Dankzij het decentrale gegeven wordt al die informatie ook nog eens veelvuldig geverifieerd. De data kan eveneens door niemand worden gewijzigd.