Ethereum: hoe werken slimme contracten?

Slimme contracten zijn het belangrijkste kenmerk dat Ethereum zo succesvol heeft gemaakt. 

Wat zijn slimme contracten en waar zijn ze voor?

Het Bitcoin-protocol voorziet niet in de mogelijkheid hiervan het creëren van echt complexe slimme contracten, omdat het in principe alleen was ontworpen om transacties mogelijk te maken. 

Ethereum, dat zes jaar na Bitcoin werd geboren, werd daarentegen vanaf het begin ontworpen als een netwerk dat in staat is om het hosten en uitvoeren van slimme contracten

In 2014 mede-oprichter van Ethereum Vitalik Buterin schreef expliciet in de whitepaper dat het netwerk dat hij aan het ontwerpen was een platform van de volgende generatie op basis van slimme contracten, en dat alternatieve toepassingen voor Bitcoin op basis van blockchain-technologie ook het gebruik van digitale activa omvatten om aangepaste valuta en financiële instrumenten, niet-fungibele activa en complexere toepassingen te vertegenwoordigen. 

In het bijzonder werden deze laatste, dat wil zeggen slimme contracten, gedefinieerd als toepassingen die directe controle over digitale activa omvatten door een code die willekeurige regels implementeert, of gedecentraliseerde autonome organisaties gebaseerd op blockchain, de zogenaamde DAO's.  

Vitalik schreef: 

“Wat Ethereum wil bieden is een blockchain met een ingebouwde Turing-complete programmeertaal die kan worden gebruikt om ‘contracten’ te creëren die kunnen worden gebruikt om willekeurige statustransitiefuncties te coderen, waardoor gebruikers elk van de hierboven beschreven systemen kunnen creëren. – en vele andere die we ons nog niet hebben voorgesteld – simpelweg door logica in een paar regels code te schrijven”.

Slimme contracten op Ethereum zijn dus coderegels waarmee dit mogelijk is programmeer de automatische uitvoering van instructies door het netwerk, wanneer aan bepaalde voorwaarden is voldaan, zonder dat u de uitvoering ervan aan een tussenpersoon hoeft toe te vertrouwen.

Buterin zelf heeft de term ‘contracten’ tussen aanhalingstekens gezet, omdat het geen echte contracten tussen partijen zijn, maar computerprogramma's uitgevoerd door een gedecentraliseerd netwerk. 

Vanuit een algemeen gezichtspunt is de werking ervan dus niet erg ingewikkeld. 

slim contract
Slimme contracten worden uitgevoerd zodra de daarin opgenomen voorwaarden zijn geverifieerd

Slimme contracten implementeren op de Ethereum-blockchain

Allereerst moeten een of meer ontwikkelaars uiteraard het slimme contract creëren door de juiste coderegels te schrijven, en dan moeten ze dat ook doen stuur het naar het Ethereum-netwerk. 

In technische termen betekent het publiceren op de Ethereum-blockchain dat alle knooppunten in het netwerk het moeten ontvangen en uitvoeren. Eenmaal gepubliceerd, worden alle instructies daarin altijd op precies dezelfde manier door alle knooppunten uitgevoerd. 

Daarom niet alleen de publicatie ervan, maar ook de uitvoering van instructies is onomkeerbaar zodra het op de blockchain is gepubliceerd. 

Wat er dus echt toe doet, zijn de instructies die het bevat – die het meest divers kunnen zijn – en hoeveel mensen het gebruiken. Om de instructies van een slim contract daadwerkelijk uit te voeren, moet dat inderdaad het geval zijn een of meer transacties die hierop een beroep doen

Het is ook de moeite waard om te onthouden dat deze instructies over het algemeen het gebruik van bronnen, zoals gegevens of tokens, met zich meebrengen, zodat ze daadwerkelijk kunnen worden uitgevoerd. aan alle eventueel gestelde voorwaarden moet worden voldaan. 

Soms komt deze data van buitenaf, dankzij zogenaamde orakels, soms komt het simpelweg van transacties op de blockchain. 

Meestal de transactie die de uitvoering van de instructies in een slim contract activeert betreft de betaling van a vergoeding in ETH, en in veel gevallen omvat het, om de uitvoering daadwerkelijk te activeren, ook de betaling of verzending van tokens die specifiek zijn voor het slimme contract zelf, of andere slimme contracten. 

Technisch gezien zijn slimme contracten een soort account op de Ethereum blockchain, ‘gecontroleerd’ door het netwerk in plaats van door een centrale entiteit. Ze kunnen ETH of tokens opslaan, en dat kan ook autonoom transacties op het netwerk verzenden.

Hoe u met de code kunt omgaan en meer in het algemeen met dApps

Gebruikers kunnen communiceren met slimme contracten door transacties te verzenden activeer een van de functies die in hun code zijn gedefinieerd. 

Daarom is de werking van slimme contracten op Ethereum over het algemeen heel eenvoudig: stuur gewoon een transactie van een bepaald type naar een slim contract, en dit zal de uitvoering door de knooppunten van alle instructies in de functie van het slimme contract activeren die door de knooppunten worden aangeroepen. de transactie zelf. 

Het is duidelijk dat, afhankelijk van welke instructies de aangeroepen functie bevat, zeer verschillende gevolgen kunnen worden gegenereerd, die niet alleen variëren van slim contract tot slim contract, maar ook van functie tot functie. 

De enorme complexiteit van slimme contracten vloeit dus precies voort uit wat de individuele slimme contracten doen, en niet in het algemeen uit het feit dat het Ethereum-netwerk deze ondersteunt en uitvoert. Bovendien is het absoluut onmogelijk om op te sommen hoe alle soorten slimme contracten op het netwerk daadwerkelijk werken. 


Bron: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/