Wordt het smart contract een vervanger voor een notaris, jurist, bank of gaat deze het traditionele contract vervangen? dat is misschien nog toekomstmuziek maar het smart contract heeft zeker een hoop potentie. Smart contracts zijn vooral bekend geworden door de toepassingen op de Ethereum Blockchain, denk bijvoorbeeld aan de ICO. Smart contracts zijn stukjes code met daarin bepaalde voorwaarden of regels, deze worden tegelijkertijd door een netwerk aan computers uitgevoerd. Is er aan de voorwaarden van het smart contract voldaan? Dan wordt de transactie uitgevoerd.
Een smart contract is met andere woorden een stuk code die de afspraken en regels van een contract bevatten. In het smart contract staat niet alleen duidelijk wat de regels en voorwaarden zijn, maar kan de daaruit resulterende acties ook zelfstandig uitvoeren. Het contract wordt gepubliceerd op publieke blockchain, maar de betrokken partijen blijven geheim.
Een voorbeeld: stel dat je een vakantiehuis wilt huren. Je betaalt de verhuurder met cryptocurrency en spreekt met een smart contract af dat je voor aankomst een digitale sleutel ontvangt om de voordeur mee te openen. Het versturen van de sleutel door de verhuurder laat je als voorwaarde in het smart contract opnemen. Wanneer je de sleutel bij aankomst niet hebt ontvangen, zorgt het smart contract ervoor dat je de huursom automatisch terugkrijgt.
Een ander, simpeler voorbeeld van een smart contract is vergelijkbaar met automatische overschrijvingen bij een bank. Je zou in een smart contract kunnen schrijven dat je elke maand nadat je loon krijgt direct je huur wilt betalen. De enige voorwaarde voor dit contract is dan dat je loon hebt ontvangen. Ontvang je je loon? Dan wordt het smart contract uitgevoerd en wordt de huur automatisch betaalt. Een groot verschil met automatische overschrijvingen bij banken is dat meerdere partijen (de computers in het netwerk) smart contracts uitvoeren.

Smart contracts worden door een netwerk aan computers op de blockchain gevalideerd en uitgevoerd. Hierdoor zijn smart contracts betrouwbaar en onafhankelijk. Door de decentralisatie is fraude erg lastig, er zijn immers meerdere partijen die het smart contract valideren. Niemand kan dan ook ‘vals spelen’ bij smart contracts.
Een ander voordeel is de flexibiliteit die smart contracts bieden. Je kan momenteel met je gewone betaalrekening bij de bank een betaling inplannen en deze vervolgens binnen X dagen laten plaatsvinden. Maar wat niet mogelijk is, is de betaling alleen laten plaatsvinden als het buiten regent of wanneer de lokale voetbalclub net gewonnen heeft. Met smart contracts is dit wel mogelijk met behulp van zogenaamde oracles. Deze laten het smart contract de status weten van een bepaalde gebeurtenis in de ‘echte’ wereld. ‘Turing complete’ contracten kunnen elke berekening doen die een normale computer ook kan. Op die manier kan je variabelen en berekeningen toevoegen die de uitkomst van het contract bepalen.
Bij betalingen tussen twee partijen die elkaar niet volledig vertrouwen zijn smart contracts een goede uitkomst. Bij traditionele contracten is het mogelijk dat er onenigheid over de uitkomst van een contract is. Stel dat twee banken hebben afgesproken om elkaar geld te betalen nadat een bepaalde gebeurtenis heeft plaatsgevonden. Ze hebben deze overeenkomst in een traditioneel contract opgeschreven en elke partij heeft een kopie. Maar naast een eigen versie van het contract heeft elke partij ook een eigen perspectief op de externe factoren die de overeenkomst beïnvloeden. De betalende bank kan het dan op drie mogelijke redenen niet eens zijn met de uitkomst: er is een misverstand, er is verwarring doordat er meerdere versies van het contract zijn of er is onenigheid over de externe factoren die het contract beïnvloeden.
Smart contracts hebben maar één versie, geschreven in computercode met duidelijke voorwaarden, regels en gevolgen. Externe factoren zoals bijvoorbeeld de stand van de AEX of klimaat worden door een wederzijds overeengekomen bron voorzien. Het staat op de blockchain en wordt uitgevoerd wanneer een bepaalde gebeurtenis plaatsvindt of wanneer het contract eindigt.
Smart contracts en Bitcoin
Smart contracts komen momenteel alleen voor in de Ethereum en NXT blockchains. Er is daarnaast een sidechain van Bitcoin die smart contracts biedt, maar Bitcoin zelf werkt er niet mee. Bitcoin is goed in het verwerken van transacties, maar het heeft niet veel rekenkracht. Omdat bepaalde logica niet in de scripts van Bitcoin opgenomen kan worden, zijn smart contracts technisch gezien niet beschikbaar met Bitcoin.
Technisch gezien is Bitcoin’s code niet geavanceerd genoeg voor uitgebreide smart contracts, maar er zijn al wel voorbeelden van smart contracts bij Bitcoin. Multisig adressen zijn een vorm van smart contracts en kunnen volgens voormalig Bitcoin developer Gavin Andresen Ethereum’s functionaliteiten vrijwel vervangen. Denk hierbij aan het Lightening netwerk, het Arwen protocol en Abra die handel in traditionele aandelen met Bitcoin mogelijk maakte.
Het is echter te verwachten dat Bitcoin eerder als ‘vertrouwensanker’ voor andere sidechains zal blijven dienen. Deze sidechains gebruiken de Bitcoin blockchain, maar maken door hun verschillen in hun code smart contracts wel mogelijk. Het eerder genoemde NXT is hiermee al goed op weg. Bitcoin’s team wordt als vrij conservatief gezien en voeren niet snel veranderingen door. Daarom is het niet aannemelijk dat zij op korte termijn zelf met smart contracts komen.