Module 4B - Blockchain focus: Smart Contracts Flashcards
Wat is een smart contract?
- Een smart contract is een stukje software met (meestal, doch niet uitsluitend) blockchain als onderliggende technologie waarbij regels vertaald worden in programmeercode.
- Die regels zijn typisch geformuleerd in een “als …, dan …”(“if, then”)-vorm waarbij bepaalde trigger events zorgen dat er automatisch een actie uitgevoerd wordt.
Kenmerken smart contract?
-
Zelf-uitvoerend en zelf-afdwingend: eenmaal de partijen een smart contract hebben afgesloten, dit contract in principe zonder verdere tussenkomst van de partijen kan voltooid worden.
- Bv. vanaf dat de ene partij bevestigt dat een levering heeft plaatsgevonden, dat dan de smart contract automatisch de verschuldigde sommen overschrijft naar de leverancier.
- Onderscheid met domiciliering:
- Bij een smart contract is er geen centrale partij zoals een bank betrokken → gedecentraliseerd karakter dus geen single point of failure waar de contractuele afspraken tussen beide partijen wordt bewaard of uitgevoerd.
Waar wordt het smart contract bewaard?
- Op de blockchain: bv. Ethereum.
- Op die manier kunnen beide partijen vertrouwen dat niemand plotse veranderingen kan maken aan de neergepende afspraken zonder dat de volledige Ethereumblockchain gecorrumpeerd zou moeten worden.
Audit trail
- De transparante aard van blockchains ervoor dat elke verandering van en transactie op de smart contract wordt bijgehouden. Deze audit trail is voor juristen natuurlijk erg interessant wanneer er achteraf conflict zou ontstaan over het tijdstip van levering, gebrek aan betaling, moment van wijziging van het contract, etc.
Voordelen smart contract?
- Geen trusted third party nodig
- Kosten gedrukt
- Kans op menselijke fouten beperkt
- Ingebouwde transparantie
- Uitvoering quasi-real time
Wat is het voordeel: geen TTP nodig?
Dus geen kosten maar kunnen ze vertrouwen op de technologie achter hun smart contract: blockchain kan nog wel gecorrumpeerd worden.
Ook kosten gedrukt doordat er minder menselijke tussenkomst vereist is.
Ingebouwde transparantie bij smart contracts?
Daarnaast zorgt de ingebouwde transparantie van blockchain dat elke partij op elk moment (in real-time) toegang heeft tot alle informatie.
Uitvoering quasi-real time van een smart contract?
Het contract zal ook in quasi-realtime uitgevoerd kunnen worden, waardoor de tijd tussen trigger event en de bijhorende actie zo klein mogelijk wordt. Op die manier worden complexe discussies over evenementen tussen uitvoering en betaling en de bijhorende risico’s vermeden.
Nadelen smart contracts?
- Gebrek aan menselijke flexibiliteit en redelijkheid
- Manifest gebrekkige levering die toch voldoet aan voorwaarden -> gaat toch voltooid worden
- Vage concepten die niet in software kunnen worden omgezet
- Menselijke fouten
Gebrek aan menselijke flexibiliteit en redelijkheid als nadeel smart contract?
- Een code is ook maar zo goed als degene die ze heeft geschreven en kan op dit moment erg moeilijk alle omstandigheden, gevoelens, intenties, … van partijen capteren. Een goed voorbeeld hiervan is de uitdaging om het idee van goede trouw in een smart contract te programmeren.
Wat is nadeel smart contract bij de automatische betaling?
- Manifest gebrekkige levering die toch voldoet aan voorwaarden
- Automatisch betaling door het smart contract. Aangezien een smart contract in principe onomkeerbaar is, zullen partijen ook niet zomaar die betaling kunnen tegenhouden.
Vage concepten kunnen niet in programmeertaal worden omgezet als nadeel?
- Een stuk software kan ook nooit met alle mogelijke scenario’s rekening houden.
- Wanneer begin 2020 de covid-pandemie ten volle doorbrak in Europa, dan hadden bitter weinig smart contracts een pandemie-clausule die zich aanpasten aan lockdowns, de sluiting van grenzen, etc.
Wat met menselijke fouten en smart contracts?
- Alhoewel een goed geprogrammeerde smart contract geen uitvoeringsfouten zal maken, kan het nog steeds zo zijn dat de menselijke fout in de software van het contract zelf sluipt. Dergelijke bugs kunnen voor een foute uitvoering van het contract zorgen of dat één van beide partijen het contract kan hacken en zichzelf onrechtmatig kan verrijken.
Wat is mogelijk op Ethereum?
- Niet alleen een blockchain maar ook volledig blokken software. Zo kunnen ook smart contracts op de Ethereumblockchain geplaatst worden.
- De partijen moeten dan via Ethereumtransacties (i.e. opdrachten die gegeven worden om iets te plaatsen op de Ethereumblockchain zoals de late levering van een goed) hun geplaatste smart contract inputs geven zodanig dat dit smart contract op basis van de afgesproken regels daar automatisch gevolg aan kan geven:
- bv. de leverancier 10% minder betalen door de te late levering.
Vertaling van een traditioneel contract naar een smart contract
- Juridische en economische afspraken → vertaald worden in software → BPMN: symbolische taal zoals Business Process Modelling Notation:
- Op die manier kunnen partijen over de verschillende dimensies van het slimme contract heen onderhandelen.