Wat is een smart contract?

Definitie
Een smart contract, net als elk ander contract, legt de voorwaarden van een overeenkomst vast. Maar in tegenstelling tot een traditioneel contract, worden de voorwaarden van een smart contract uitgevoerd als code die op een blockchain zoals Ethereum draait. Met smart contracts kunnen ontwikkelaars apps bouwen die profiteren van de beveiliging, betrouwbaarheid en toegankelijkheid van de blockchain, en zo geavanceerde peer-to-peer functionaliteiten bieden: alles van leningen en verzekeringen tot logistiek en gaming.
Net als elk ander contract leggen smart contracts de voorwaarden van een overeenkomst of deal vast. Wat smart contracts echter 'smart' maakt, is dat de voorwaarden worden vastgesteld en uitgevoerd als code die op een blockchain wordt uitgevoerd, in plaats van op papier dat op het bureau van een advocaat ligt. Smart contracts bouwen voort op het basisidee achter Bitcoin - geld verzenden en ontvangen zonder een 'vertrouwde tussenpersoon' zoals een bank in het midden - om het mogelijk te maken om vrijwel elke soort transactie veilig te automatiseren en decentraliseren, hoe complex die ook is. En omdat ze op een blockchain zoals Ethereum draaien, bieden ze veiligheid, betrouwbaarheid en grenzeloze toegankelijkheid.
Waarom zijn smart contracts belangrijk?
Smart contracts stellen ontwikkelaars in staat om een grote verscheidenheid aan gedecentraliseerde apps en tokens te bouwen. Ze worden in van alles gebruikt, van nieuwe financiële hulpmiddelen tot logistiek en game-ervaringen, en ze worden net als elke andere cryptotransactie op een blockchain opgeslagen. Zodra een smart-contract app aan de blockchain is toegevoegd, kan deze over het algemeen niet meer teruggedraaid of veranderd worden (hoewel er enkele uitzonderingen zijn).
Door smart contracts aangedreven apps worden vaak 'gedecentraliseerde applicaties' of 'dapps' genoemd. Daarnaast omvatten ze gedecentraliseerde financiële (of DeFi) technologie die de banksector wil transformeren. DeFi-apps staan bezitters van cryptovaluta toe om complexe financiële transacties uit te voeren - sparen, lenen, verzekeren - zonder dat een bank of andere financiële instelling er een aandeel in heeft en overal ter wereld. Enkele van de populaire toepassingen die momenteel worden aangedreven door smart contracts zijn:
Uniswap: een gedecentraliseerde beurs waarmee gebruikers via smart contracts bepaalde soorten crypto kunnen verhandelen zonder dat een centrale autoriteit de wisselkoersen bepaalt.
Compound: een platform dat smart contracts gebruikt om investeerders rente te laten verdienen en leners direct een lening te laten krijgen zonder dat er een bank aan te pas hoeft te komen.
USD Coin: een cryptovaluta die via een smart contract aan de Amerikaanse dollar is gekoppeld, waardoor één USD Coin één Amerikaanse dollar waard is. UDDC maakt deel uit van een nieuwere categorie digitaal geld, bekend als stablecoins.
Hoe zou u deze tools op basis van smart contracts gebruiken? Stel u voor dat u wat Ethereum bezit dat u wilt inruilen voor USDC. U zou wat Ethereum in Uniswap kunnen stoppen, dat via smart contracts automatisch de beste beurskoers voor u kan vinden, de ruil kan uitvoeren en u uw USDC kan sturen. U kunt dan een deel van uw USDC in Compound stoppen om uit te lenen aan anderen en een algoritmisch bepaalde rente ontvangen: en dat allemaal zonder een bank of andere financiële instelling te gebruiken.
In de traditionele financiële wereld is het omwisselen van valuta duur en tijdrovend. En het is niet gemakkelijk of veilig voor particulieren om hun liquide activa uit te lenen aan vreemden aan de andere kant van de wereld. Maar smart contracts maken beide scenario's, en nog een heleboel andere, mogelijk.
Hoe werken smart contracts?
Smart contracts werden voor het eerst voorgesteld in de jaren 1990 door een computerwetenschapper en advocaat genaamd Nick Szabo. Szabo vergeleek een smart contract met een verkoopautomaat. Stel u een machine voor die blikjes frisdrank verkoopt voor 25 cent. Als u een dollar in de automaat stopt en een frisdrank kiest, is de automaat zo ingesteld dat hij ofwel uw drankje en 75 cent wisselgeld produceert, ofwel (als uw keuze uitverkocht is) u vraagt om een andere keuze te maken of uw dollar terug te krijgen. Dit is een voorbeeld van een eenvoudig smart contract. Net zoals een frisdrankautomaat een verkoop kan automatiseren zonder menselijke tussenpersoon, kunnen smart contracts vrijwel elke vorm van uitwisseling automatiseren.
Momenteel is Ethereum het populairste smart contract-platform, maar veel andere cryptocurrency-blockchains (waaronder EOS, Neo, Tezos, Tron, Polkadot en Algorand) kunnen ze uitvoeren. Een smart contract kan door iedereen worden aangemaakt en geïmplementeerd op een blockchain. De code is transparant en publiekelijk verifieerbaar, wat betekent dat elke geïnteresseerde partij precies kan zien welke logica een smart contract volgt wanneer het digitale activa ontvangt.
Smart contracts zijn geschreven in verschillende programmeertalen (waaronder Solidity, Web Vergadering en Michelson). Op het Ethereum-netwerk wordt de code van elk smart contract opgeslagen op de blockchain, waardoor elke geïnteresseerde partij de code en de huidige status van het contract kan inspecteren om de functionaliteit te verifiëren.
Elke computer op het netwerk (of 'knooppunt') slaat een kopie op van alle bestaande smart contracts en hun huidige status, naast de blockchain en transactiegegevens.
Wanneer een smart contract middelen ontvangt van een gebruiker, wordt de code ervan uitgevoerd door alle knooppunten in het netwerk om een consensus te bereiken over de uitkomst en de resulterende waardestroom. Hierdoor kunnen smart contracts veilig worden uitgevoerd zonder centrale autoriteit, zelfs wanneer gebruikers complexe financiële transacties uitvoeren met onbekende entiteiten.
Om een smart contract op het Ethereum netwerk uit te voeren, moet u over het algemeen een vergoeding betalen die 'gas' wordt genoemd (zo genoemd omdat deze vergoedingen de blockchain draaiende houden).
Eenmaal geïmplementeerd op een blockchain kunnen smart contracts over het algemeen niet worden gewijzigd, zelfs niet door hun maker. (Er zijn uitzonderingen op deze regel.) Dit helpt ervoor te zorgen dat ze niet kunnen worden gecensureerd of stilgelegd.