Wat is een smart contract?
Een smart contract (slimme overeenkomst) is een geprogrammeerde overeenkomst die is opgesteld in een bepaalde programmeertaal en vastgelegd is in een blockchain. Het werkt zonder de tussenkomst van derde partijen zoals een notaris. Het is een geschreven programma dat wordt uitgevoerd door een decentraal computing netwerk dat automatisch en zelfstandig zijn werk doet op basis van de opgestelde (geprogrammeerde) regels en afspraken. Een smart contract werkt als een transactie protocol die de termen van het contract uitvoert en door alle nodes in het decentrale netwerk worden gevolgd. De transactieverwerking verloopt automatisch met behulp van de gebruikte blockchain en de benodigde crypto-equity. De deelnemers van deze overeenkomst kunnen de termen en code wel inzien, maar de uitvoering niet meer manipuleren of veranderen.
Alles is cryptografisch en algoritmisch bepaald en in onveranderbaar digitaal graniet (de blockchain) ingegrift. In feite is de programmeercode van de smart contract de essentie van crypto-equity en de gezondheid van een token economie. Wanneer je met een blockchain geen smart contracts kunt programmeren, dan is het deze vaak alleen bruikbaar voor de interne cryptocurrency. In dat geval maakt is het niet mogelijk om makkelijk crypto-equity tokens of een crypto asset te programmeren. Dit is afhankelijk van de interne programmeertaal en hoe expressief deze is. De Bitcoin blockchain heeft een zeer eenvoudige programmeertaal waardoor het minder expressief is voor het programmeren van uitgebreide slimme contracten. Dit is gedaan vanuit veiligheidsoverwegingen.
Hieronder is een goede video introductie met een uitleg over de werking van een smart contract:
Wanneer we het hebben over programmeerbaar geld van een programmeerbare blokketen, dan hebben we het over crypto-equity.
Vele nieuwe blockchain projecten zijn gaan onderzoeken hoe ze slimme contracten op een veilige manier konden implementeren met een expressieve programmeertaal. Het is mogelijk om alles te programmeren basis van smart contracts en er gedistribueerde peer-to-peer markten voor te ontwikkelen: effecten, testamenten, derivaten, obligaties, leningen, eigendomsbewijzen, schuldbewijzen, ruilcontracten zoals de Amotic Swaps etc. Het is dan belangrijk dat alle objecten waar naar gerefereerd worden binnen de overeenkomst goed zijn gedefinieerd als digitale representaties. De meest bekende namen van crypto-equity waar je makkelijk slimme contracten kunt opzetten zijn Bitcoin, maar dan met behulp van Rootstock, Ethereum, Bitshares, NEO, EOSIO etc. Vooral het programmeren van smart contracts binnen Ethereum is eenvoudig onder de knie te krijgen met een goede Ethereum programmeer cursus.
De slimme contracten laten eigendom van unieke digitale tokens – die een bepaalde waarde vertegenwoordigen in de vorm van bijvoorbeeld 100 aandelen– betrouwbaar wisselen van eigenaar. De transacties zijn onderhavig aan onveranderlijke, veel betrouwbaardere wetten in plaats van juridische tussen partijen. Voor deze unieke digitale activa is er geen tegenpartij-risico wanneer de waarde, in de vorm van valuta of eigendom, wordt opgesloten in het contract. Binnen Ethereum is er een DAO (DIGIX) opgericht die tracht een goudstandaard te introduceren met behulp van tokenized goud! Een andere manier waarop slimme contracten worden gebruikt is bij het opstellen van weddenschappen (betting). Augur is begonnen met de ontwikkeling van een decentrale ‘betting’ of ‘prediction’ markt op basis van Ethereum.
Deelnemers aan een smart contract weten van te voren precies onder welke voorwaarden het contract wordt uitgevoerd. Hiermee weten ze op het moment dat de transactie wordt voltrokken allemaal exact dat én hoe aan de contractvoorwaarden is voldaan. We noemen dit principe compliance vooraf of onmiddellijke verifieerbaarheid. Om een smart contract effectief te kunnen gebruiken zullen doorgaans alle deelnemers aan het contract akkoord gaan met de afspraak dat het contract niet valt af te dwingen in een wettelijke context. Slimme contracten vallen niet onder juridische wetten van bepaalde landen. Voor de eerlijke uitvoering is er geen rechtspraak nodig als derde partij. Een slimme contract garandeert een deterministisch correcte en betrouwbare afwikkeling van de afspraken.
Met de open architectuur van de blockchains zijn de markten eerlijker en transparanter doordat informatie-asymmetrie, moral hazard en frictie kunnen worden vermeden. Dit biedt ruimte voor grote verbeteringen door de opkomst van real-time financial auditing. Voor het toezicht, wat veelal slechts achteraf de problemen kan aanpakken in plaats van ze te voorkomen, is dit een grote vooruitgang. Er zijn al vele verschillende p2p marktplaatsen in ontwikkeling zoals Lykke waar iedereen gemakkelijk met deze smart contract technologie aan de slag kan gaan.
Blockchain technologie met crypto-equity en smart contract programmeertalen werken enorm disruptief en zullen onze wereld voorgoed veranderen en een paradigma verschuiving veroorzaken in vooral de financiële wereld. Het is dan ook niet zo vreemd dat de grootbanken flink investeren in allerlei blockchain projecten.
Wat zijn de nadelen van smart contracts?
Het programmeren van slimme contracten is een nieuw technologisch speelveld en komt met behoorlijke risico’s:
- De kwaliteit van een slim contract is afhankelijk van de expertise van de ontwikkelaar en de gebruikte programmeertaal en blokketen technologie!
- Een slecht ontwikkeld contract op basis van ook nog eens een onveilige of slecht ontwikkelde blokketen, zal tot veiligheidslekken en foutmeldingen leiden. Het probleem is dat een slim contract niet terug te draaien is. Het zal leiden voor grote problemen voor de gebruikers van het slimme contract. Hackers zullen niet toekijken.
- Een smart contract is uiteindelijk een menselijke overeenkomst met afspraken die worden omgezet in een computertaal. Voor de doorsnee mens wordt hierdoor het contract onleesbaar. Er is een afhankelijkheidsrelatie en we zullen vertrouwen moeten hebben in de ontwikkelaar, het betreffende bedrijf, de gebruikte code en natuurlijk de onderliggende blockchain.
De nieuwe stap voor Smart Contracts!
De smart contract technologie zal worden verbeterd door de vereniging van de Ricardian contract technologie. Voor meer informatie:
- Wat is een Ricardian contract?
Voor meer informatie:
- Programmeren in Ethereum
- Wat is het ERC20 protocol?
- Colored Coins
Bronnen: