Kennisbank

Wat zijn smart contracts? Zo werken ze, en waar het misgaat

Een smart contract is een programma op een blockchain dat automatisch uitvoert wat erin staat. Hoe het werkt, voorbeelden, risico's en hoe je het controleert.

Een smart contract is een stuk code op een blockchain dat een afspraak automatisch uitvoert zodra aan de voorwaarden is voldaan, zonder bank, notaris of platform ertussen. Een gewoon contract is een afspraak op papier die je bij een geschil aan een rechter voorlegt; een smart contract voert de afspraak zelf uit. Stuur je bijvoorbeeld 1 ETH naar een contract dat tokens verkoopt, dan stuurt het contract automatisch het afgesproken aantal tokens terug. In dit artikel leggen we uit hoe dat werkt, waarvoor het wordt gebruikt en waar het misgaat.

Geschiedenis

  • 1994: Nick Szabo omschrijft een smart contract als "a computerized transaction protocol that executes the terms of a contract".
  • 2009: Bitcoin start met een eenvoudige scripttaal (Script) voor betalingsvoorwaarden, maar zonder ruimte voor vrije programma's.
  • 27 november 2013: Vitalik Buterin publiceert de whitepaper van Ethereum, een blockchain die willekeurige programma's kan uitvoeren.
  • 30 juli 2015: Ethereum gaat live; vanaf dan kan iedereen smart contracts plaatsen.
  • 2016: de hack van The DAO laat zien dat een fout in een contract onherroepelijk wordt uitgevoerd (zie hieronder).
  • 2020 en later: decentrale financiën (DeFi), NFT's en stablecoins maken smart contracts tot de basis van een groot deel van de cryptomarkt.

Hoe werkt een smart contract?

Een ontwikkelaar schrijft het contract in een programmeertaal zoals Solidity of Vyper (Ethereum), Rust (Solana) of Move (Sui en Aptos) en plaatst het op de blockchain. Vanaf dat moment heeft het contract een eigen adres, net als een wallet, en kan iedereen het aanroepen door er een transactie naartoe te sturen. Alle computers in het netwerk voeren dezelfde code uit en komen op hetzelfde resultaat; daardoor kan niemand de uitkomst achteraf veranderen.

Een voorbeeld

Stel: een vertragingsverzekering voor vluchten als smart contract. Je betaalt de premie aan het contract. Een orakel levert na de vlucht de werkelijke aankomsttijd aan. Is de vlucht meer dan drie uur te laat, dan betaalt het contract het afgesproken bedrag automatisch uit; zo niet, dan blijft de premie in het contract. Er is geen claimformulier en geen medewerker die beslist, maar de uitkomst is maar zo betrouwbaar als de code en de gegevens van het orakel.

Drie eigenschappen bepalen hoe je ermee omgaat:

  • Onveranderlijk. Eenmaal geplaatst kan de code niet worden aangepast, tenzij de maker vooraf een upgrade-mechanisme heeft ingebouwd. Dat maakt contracten betrouwbaar, maar ook onverbiddelijk bij een fout.
  • Openbaar. De code en alle transacties zijn zichtbaar op een blockchainverkenner zoals Etherscan. Wie het wil, kan controleren wat een contract doet.
  • Gesloten. Een contract weet alleen wat er op de blockchain staat. Informatie van buiten (koersen, weer, uitslagen) komt binnen via "orakels" zoals Chainlink, en die zijn een extra risico.

Waarvoor worden smart contracts gebruikt?

  • Tokens. Vrijwel elke token op Ethereum is een smart contract volgens de ERC-20-standaard; NFT's volgen ERC-721.
  • Decentrale financiën. Decentrale beurzen zoals Uniswap, uitleenplatformen zoals Aave en stablecoins zoals DAI zijn contracten. Volgens DefiLlama stond op 1 oktober 2026 ongeveer 54 miljard dollar in DeFi-contracten op Ethereum, 56 procent van het totaal. Lees wat DeFi is.
  • Staking en bestuur. Stemmen over een protocol en het verdelen van beloningen gebeurt via contracten.
  • Airdrops en tokenverkopen. Het uitdelen van tokens aan een lijst adressen gebeurt met een contract; zie wat is een crypto-airdrop.
  • Buiten crypto. Proeven met verzekeringen die automatisch uitkeren, het volgen van goederen in een toeleveringsketen en het vastleggen van eigendom. Buiten de cryptowereld is het gebruik tot nu toe beperkt gebleven tot pilots.

Voordelen

  • Geen tussenpersoon nodig, dus lagere kosten en geen partij die de afspraak kan blokkeren.
  • Uitvoering is automatisch en controleerbaar: iedereen kan vooraf lezen wat er gebeurt.
  • Contracten kunnen op elkaar bouwen. DeFi bestaat uit contracten die elkaars functies gebruiken, als legoblokken.

Risico's en beperkingen

  • Fouten in de code. Een bug wordt precies zo uitgevoerd als een correcte regel. Bij The DAO werd op 17 juni 2016 ongeveer 3,6 miljoen ETH weggesluisd, waarna Ethereum op 20 juli 2016 werd gesplitst om het terug te draaien; de oude keten ging verder als Ethereum Classic. Op 22 mei 2025 verloor de beurs Cetus op Sui ongeveer 223 miljoen dollar door een rekenfout in een gedeelde bibliotheek, ondanks meerdere audits.
  • Nepcontracten. Iedereen kan een contract plaatsen dat er betrouwbaar uitziet en toch je tokens wegsluist. Controleer adressen via de officiële site van een project.
  • Goedkeuringen (approvals) en handtekeningen. Veel toepassingen vragen toestemming om je tokens te beheren. Een onbeperkte goedkeuring of een "Permit"-handtekening aan een kwaadaardig contract is genoeg om alles te verliezen. Keur niets goed dat je niet begrijpt en trek oude goedkeuringen in.
  • Juridische status. Er is in Nederland en België geen aparte wet voor smart contracts. Volgens juristen kan een smart contract in Nederland deel zijn van een bindende overeenkomst als aan de gewone voorwaarden is voldaan, maar code alleen is niet automatisch een contract. Leg afspraken daarom ook op papier vast. De Europese Data Act (van toepassing sinds 12 september 2025) stelt in artikel 36 eisen aan smart contracts voor het delen van data, zoals een veilige manier om ze te stoppen; de Europese Commissie heeft in november 2025 in het "Digital Omnibus"-pakket voorgesteld dat artikel te schrappen. Een definitief besluit daarover hebben we op 29 september 2026 niet gevonden.
  • Kosten en snelheid. Elke uitvoering kost transactiekosten (gas), die bij drukte oplopen.

Een smart contract controleren voordat je het gebruikt

Je hoeft geen code te kunnen lezen om de grootste fouten te vermijden. Loop deze stappen af voordat je een contract toestemming geeft of geld stuurt:

  1. Haal het adres van de officiële bron. Gebruik de link of het contractadres van de officiële website of documentatie van het project, niet uit een advertentie, privébericht of zoekresultaat. Nepcontracten en nepsites lijken vaak sprekend op het origineel.
  2. Zoek het adres op in een blockchainverkenner. Op Etherscan (Ethereum) zie je onder het tabblad "Contract" of de broncode is geverifieerd: Etherscan heeft dan gecontroleerd dat de gepubliceerde code overeenkomt met de code op de blockchain. Een contract zonder geverifieerde code is een waarschuwingssignaal.
  3. Kijk of het contract aanpasbaar is. Staat er dat het een "proxy" is, dan kan de beheerder de code later vervangen. Dat is niet per se verkeerd, maar je vertrouwt dan ook de beheerder.
  4. Zoek naar audits en naar eerdere incidenten. Een audit door een bekend bureau verkleint het risico, maar is geen garantie (zie Cetus hierboven). Een project dat al jaren draait zonder grote incidenten is minder riskant dan een contract van vorige week.
  5. Keur alleen goed wat je nodig hebt. Een onbeperkte goedkeuring (approval) bespaart je later een transactie, maar geeft het contract toegang tot al je tokens van dat soort, ook als je je geld al hebt teruggehaald. Kan je wallet het bedrag beperken, kies dan het bedrag van deze transactie.
  6. Begin klein. Doe eerst een transactie met een bedrag dat je kunt missen, en controleer in de verkenner wat er werkelijk is gebeurd.
  7. Trek goedkeuringen in die je niet meer gebruikt. Met hulpmiddelen zoals de Token Approval Checker van Etherscan of Revoke.cash zie je welke contracten nog bij je tokens kunnen, en trek je die toestemming in. Intrekken is zelf een transactie en kost dus transactiekosten.

Zelf smart contracts gebruiken

Je hebt een eigen wallet nodig, zoals MetaMask, met wat ETH voor de transactiekosten; die koop je bij een exchange (zie ethereum kopen). Begin op een groot, lang bestaand platform, met een klein bedrag, en gebruik een hardware wallet voor alles wat je niet kunt missen. Controleer elk contract met de stappen hierboven. Onze pagina over beveiliging in web3 beschrijft de belangrijkste valkuilen.

Veelgestelde vragen

Wat is een smart contract in eenvoudige woorden?

Een automaat op de blockchain: je stopt er iets in (een betaling of een opdracht), en als aan de voorwaarden is voldaan, geeft de automaat volgens vaste regels iets terug. Niemand kan de automaat tussendoor stilzetten of de regels veranderen, tenzij dat vooraf in de code is ingebouwd.

Kan een smart contract worden aangepast?

Alleen als de maker dat vooraf heeft ingebouwd, bijvoorbeeld via een "proxy" die naar nieuwe code kan wijzen. Dat is handig voor updates, maar betekent ook dat je de maker moet vertrouwen.

Zijn smart contracts veiliger dan gewone contracten?

Ze worden zekerder uitgevoerd, maar niet noodzakelijk juister. Een gewoon contract kun je laten toetsen door een rechter; een smart contract doet wat de code zegt, fout of niet. Audits verkleinen het risico, maar sluiten het niet uit.

Op welke blockchains draaien smart contracts?

Onder meer Ethereum en zijn laag-2-netwerken, Solana, BNB Chain, Cardano, Avalanche en Polkadot. Bitcoin ondersteunt alleen zeer eenvoudige scripts.

Is een smart contract juridisch bindend?

Niet vanzelf. In Nederland kan een smart contract deel uitmaken van een bindende overeenkomst als de gewone voorwaarden van het contractenrecht zijn vervuld, maar de code op zich is geen contract. Leg afspraken daarom ook in gewone taal vast.

Hoe zie ik welke smart contracts toegang hebben tot mijn tokens?

Verbind je wallet met een hulpmiddel zoals de Token Approval Checker van Etherscan of Revoke.cash, op hetzelfde netwerk als je tokens. Je ziet dan per contract welke tokens het mag uitgeven en tot welk bedrag. Wat je niet meer gebruikt, trek je in; dat kost een kleine transactievergoeding.

Is een geaudit smart contract veilig?

Veiliger, niet veilig. De beurs Cetus was meerdere keren geaudit en verloor in mei 2025 toch ongeveer 223 miljoen dollar door een fout die niemand had gezien.

Bronnen

  1. Nick Szabo: Smart Contracts (1994) (geraadpleegd 29 september 2026)
  2. ethereum.org: geschiedenis (geraadpleegd 29 september 2026)
  3. ethereum.org: smart contracts (geraadpleegd 29 september 2026)
  4. DefiLlama: ketens (TVL) (geraadpleegd 1 oktober 2026)
  5. Greenberg Traurig: Digital Omnibus en Data Act (juli 2026) (geraadpleegd 29 september 2026)
  6. Simmons & Simmons: Digital Omnibus (geraadpleegd 29 september 2026)
  7. Cyfrin: analyse Cetus-exploit (geraadpleegd 29 september 2026)
  8. Guldemond Advocaten: smart contracts (geraadpleegd 29 september 2026)
  9. Etherscan Information Center: Verifying Contracts (geraadpleegd 1 oktober 2026)
  10. ethereum.org: How to revoke smart contract access to your crypto funds (geraadpleegd 1 oktober 2026)
  11. Revoke.cash: What are token approvals (geraadpleegd 1 oktober 2026)

Meer kennisbank

Alles bekijken →