Deel deze pagina
Blogcyclus over Blockchain

Deel 2 – Wat zijn Smart Contracts en welke nieuwe mogelijkheden biedt dit?

Deel 2 uit de blogcyclus over Blockchain

In een aantal artikelen zal Bauke Peter Steenstra, Senior Project Manager bij Fenêtre, uitleggen wat de Blockchain is, hoe de achterliggende techniek in elkaar zit en wat de toepassingsmogelijkheden zijn. In dit tweede artikel legt hij uit wat Smart Contracts zijn en geeft hij enkele voorbeelden van welke Blockchain technologie hiervoor gebruikt kan worden.

Wat zijn Smart Contracts?

In mijn vorige artikel heb ik uitgelegd waarom er behoefte bestaat aan een veilige en betrouwbare digitale infrastructuur waarmee digitale bezittingen kunnen worden overgedaan van de ene naar de ander eigenaar, zonder de betrokkenheid van een centraal controlerende partij. Dit heeft enerzijds geleid tot gedistribueerde betrouwbare opslag in de vorm van een Blockchain, maar anderzijds ook tot gedistribueerde betrouwbare berekeningen in de vorm van Smart Contracts. Maar wat is nu een Smart Contract?

 “Een Smart Contract is een set regels en voorwaarden waarmee de gemaakte afspraken in computercode zijn vastgelegd op een Blockchain. Het contract wordt automatisch uitgevoerd zonder dat er een derde partij voor nodig is. De afspraken zijn in te zien, maar kunnen niet meer worden aangepast.”

Een Smart Contract wordt uitgevoerd op een Blockchain. Het resultaat van een Smart Contract dient bij alle deelnemers overeen te komen. Pas dan wordt het resultaat als een transactie opgeslagen in het grootboek van de deelnemers.

Een Smart Contract kan bijvoorbeeld gebruikt worden als een bankrekening, maar dan met allerlei ingebouwde functionaliteit. Er is geen centraal controlerende partij als een bank bij betrokken en de code wordt decentraal uitgevoerd bij de deelnemers in plaats van centraal bij een bank. Het resultaat is vervolgens onveranderbaar en voor iedereen toegankelijk.

Omdat de Smart Contracts ontwikkeld worden met een volwaardige, Turingcomplete, programmeertaal kan elke berekening of gegevensbewerking worden opgenomen. Zo zou je in een Smart Contract bijvoorbeeld kunnen vastleggen dat er automatisch geld wordt overgeboekt indien de temperatuur boven de 35 graden Celsius komt gemeten door een instantie als het KNMI. Op het moment dat het KNMI de temperatuur bekendmaakt wordt het Smart Contract uitgevoerd en indien de gemeten temperatuur inderdaad boven de 35 graden Celsius ligt wordt de overboeking uitgevoerd. De KNMI levert in dit geval informatie van buitenaf om de uitkomst van het Smart contract te kunnen bepalen.

Smart Contract met het KNMI

 Een ander voorbeeld is het afsluiten en vastleggen van de polis bij een verzekering zonder dat een derde partij met eigen belangen zoals een tussenpersoon is betrokken. Een claim kan dan automatisch worden afgehandeld op basis van het Smart Contract van de polis. Als er aan de voorwaarden wordt voldaan kan de schade automatisch worden uitbetaald. De afhandeling van een claim kan dan (grotendeels) plaatsvinden zonder menselijke handelingen.

Meetbare criteria

Zolang de gemaakte afspraken te vertalen zijn in meetbare criteria kunnen deze worden opgenomen in een Smart Contract. Door deze ontwikkeling zal een deel van de traditionele contracten naar verwachting worden vervangen door Smart Contracts. Advocatenkantoren zullen zich in de nabije toekomst dan meer en meer met het programmeren en beoordelen van Smart Contracts gaan bezighouden.

Blockchains met Smart Contracts

Waar bij het gebruik van een traditionele infrastructuur applicaties draaien in eigen geïsoleerde omgevingen, biedt een Blockchain met Smart Contracts een netwerk waarbinnen applicaties decentraal worden uitgevoerd en daardoor heel stabiel zijn. Eén probleem in de infrastructuur ontregelt nooit het gehele platform. De potentie van deze netwerken is erg groot.

Openbaar Blockchain met Smart Contracts

Ethereum is de meest bekende Blockchain met Smart Contracts en is een open-source en openbaar (permissionless) Blockchain netwerk waarop iedereen decentrale applicaties (Smart Contracts) kan ontwikkelen en gebruiken. De decentrale applicaties draaien op de Ethereum Virtual Machine (EVM). Elke aangesloten computer in het netwerk bevat deze EVM. Smart Contracts kunnen met diverse programmeertalen worden ontwikkeld zoals Solidity dat vergelijkbaar is met Javascript. Ethereum gebruikt Proof of Work voor het toevoegen van blocks, maar er zijn plannen om over te stappen naar Proof of Stake. Lees ook mijn vorige artikel over het verschil tussen Proof of Work en Proof of Stake.

Gesloten Blockchain met Smart Contracts

Hyperledger Fabric is een open-source en gesloten (permissioned) Blockchain netwerk waarop alleen vooraf geselecteerde gebruikers Smart Contracts (hier Chaincode genoemd) kunnen ontwikkelen en gebruiken. Hiervoor is een extra toegangslaag geïmplementeerd waarmee ook bepaald kan worden welke gebruikers transacties binnen het netwerk geldig kunnen verklaren en deze in blocks kunnen toevoegen. Hierdoor spelen issues zoals bij permissionless Blockchains met mechanismes als Proof of Work hier niet. Hyperledger Fabric is daardoor ook beter schaalbaar. Met Hyperledger Fabric is een veilige Blockchain te creëren, waarbinnen de toegang tot een Smart Contract is te beperken tot alleen de betrokken partijen.

Uitdagingen

Er zijn er nog allerlei uitdagingen die opgelost moeten worden zoals de juridische status van Smart Contracts, maar de toekomst van Smart Contracts ziet er veelbelovend uit en zal naar verwachting grote impact hebben op allerlei markten en industrieën.

Het volgende artikel

In het volgende artikel ga ik in op welke Business Cases zich wel en niet lenen voor Blockchain technologie.

top