Certified Crypto Market

Wat is een smart contract?

Wat is een smart contract? Ontdek hoe zelfuitvoerende programma’s op de blockchain werken, wat ze mogelijk maken, wat hun grenzen en risico’s zijn en hoe je er een controleert voordat je het gebruikt.

CCM ResearchCertified Crypto Market4 okt 20265 min lezen
Delen op XLinkedIn

Een smart contract is een programma dat op een blockchain is opgeslagen en automatisch wordt uitgevoerd zodra vooraf bepaalde voorwaarden zijn vervuld. Het kan geld bewaren en verplaatsen volgens zijn code, zonder dat een bank, broker of andere tussenpersoon beslist of elke stap wordt uitgevoerd.

Smart contracts vormen de basis van vrijwel alles in crypto wat verder gaat dan eenvoudige betalingen: tokens, gedecentraliseerde exchanges, leenprotocollen, NFT’s en DAO’s. Als je begrijpt wat ze wel en niet kunnen, kun je zowel de kansen als de risico’s van het gebruik ervan beter inschatten.

Hoe smart contracts werken

Het idee van contracten die door code worden afgedwongen, werd in de jaren negentig beschreven door computerwetenschapper Nick Szabo, met een verkoopautomaat als vergelijking: gooi de juiste munten erin, kies een product en de automaat levert het zonder dat er een winkelier aan te pas komt.

Op een blockchain ziet het proces er zo uit:

  1. 1Een ontwikkelaar schrijft de code, bijvoorbeeld in Solidity voor Ethereum of in Rust voor sommige andere netwerken.
  2. 2De code wordt uitgerold via een transactie en krijgt een eigen adres.
  3. 3Gebruikers roepen het contract aan door transacties naar dat adres te sturen, vaak met tokens erbij.
  4. 4Elke node voert de code uit en bereikt overeenstemming over het resultaat, zodat de uitkomst voor iedereen hetzelfde is.
  5. 5De status van het contract wordt bijgewerkt — saldi, eigendomsregistraties of instellingen veranderen on-chain.

Elke stap kost netwerkkosten. Op Ethereum heten die kosten gas; lees wat gas is in Ethereum om te zien hoe dat werkt.

Waarvoor smart contracts worden gebruikt

ToepassingWat het contract doetVoorbeeld
TokensHoudt saldi en overboekingen bijEen ERC-20-tokencontract
Gedecentraliseerde exchangesBeheert pools van tokens en prijst transacties met een formuleEen automated market maker (AMM)
LenenAccepteert onderpand, verstrekt leningen, liquideert risicovolle positiesEen DeFi-geldmarkt
NFT’sRegistreert eigendom van unieke itemsHet NFT-contract van een collectie
DAO’sTelt stemmen en voert goedgekeurde voorstellen uitEen on-chain governancecontract
Multisig-walletsVereist meerdere goedkeuringen om geld te verplaatsenDe schatkist van een project

Veel van deze contracten roepen elkaar aan, en daarom wordt DeFi soms omschreven als „geld-lego”. Onze gids over DeFi laat zien hoe die stukjes in elkaar passen.

Smart contracts vs traditionele contracten

Het helpt om smart contracts te vergelijken met de papieren overeenkomsten die de meeste mensen kennen.

Traditioneel contractSmart contract
Geschreven inMenselijke taalProgrammeercode
Afgedwongen doorRechtbanken, instellingen, de goede wil van de partijenHet blockchainnetwerk dat de code uitvoert
FlexibiliteitKan opnieuw worden onderhandeld of geïnterpreteerdWordt precies uitgevoerd zoals geschreven, tenzij het upgradebaar is gebouwd
TransparantieMeestal privéCode en activiteit zijn vaak openbaar on-chain
GeschillenbeslechtingRechters, arbiters, advocatenGeen ingebouwde manier om geschillen af te handelen buiten de code
SnelheidDagen tot maanden voor afwikkelingSeconden tot minuten, afhankelijk van het netwerk

De sterke punten zijn snelheid, transparantie en het wegvallen van tussenpersonen. Het zwakke punt is de starheid: code kan geen rekening houden met redelijkheid of context. Als er iets onverwachts gebeurt waar de ontwikkelaars niet op hadden gerekend, volgt het contract gewoon zijn regels — zelfs wanneer de uitkomst duidelijk niet is wat iemand bedoelde. We gaan hier dieper op in in Wat zijn testnet en mainnet?

Wie smart contracts schrijft en beheert

Iedereen kan een smart contract uitrollen; op openbare blockchains bestaat geen goedkeuringsproces. Die openheid maakt snelle innovatie mogelijk, maar betekent ook dat oplichterscontracten net zo makkelijk uit te rollen zijn als legitieme. Na het uitrollen hangt de controle af van hoe het contract is geschreven: sommige hebben helemaal geen eigenaar, sommige worden beheerd door één wallet en andere door een multisig of een DAO-stemming met een tijdsvertraging. Weten welk model van toepassing is, is een belangrijk onderdeel van het inschatten van het risico van een app. Verder lezen: Aanvallen op smart contracts.

Wat smart contracts niet kunnen

Smart contracts zijn krachtig, maar hebben een beperkt bereik.

  • Ze kennen alleen on-chain data. Om informatie uit de echte wereld te gebruiken, zoals prijzen of sportuitslagen, zijn ze afhankelijk van orakels, die externe data on-chain brengen en kunnen falen of worden gemanipuleerd.
  • Ze begrijpen geen intenties. Als je geld naar de verkeerde functie stuurt of een kwaadaardige goedkeuring ondertekent, doet het contract wat de code zegt.
  • Ze zijn niet automatisch juridische contracten. Het uitvoeren van code en juridische afdwingbaarheid zijn twee verschillende vragen.
  • Ze kunnen fouten niet terugdraaien. Een voltooide transactie blijft normaal gesproken voltooid.

Risico’s van het gebruik van smart contracts

Bugs en exploits

Code wordt door mensen geschreven, en er worden fouten gemaakt. Aanvallers zoeken naar zwakke plekken en kunnen in één transactie al het geld wegsluizen. Audits helpen, maar kunnen geen veiligheid garanderen — zie hoe je een auditrapport van een smart contract beoordeelt.

Beheerderssleutels en upgrades

Veel contracten zijn upgradebaar of hebben eigenaarsfuncties waarmee de handel kan worden gepauzeerd, kosten kunnen worden gewijzigd of nieuwe tokens kunnen worden gemunt. Dat kan gebruikers beschermen in een noodsituatie, maar opent ook de deur naar misbruik of een gestolen beheerderssleutel. Verder lezen: Account abstraction uitgelegd.

Kwaadaardige contracten

Oplichterstokens kunnen verborgen regels bevatten, zoals het blokkeren van verkopen of het heffen van enorme overdrachtsbelastingen. Een contract kan er op een tokenpagina normaal uitzien, terwijl het zich in de praktijk heel anders gedraagt. Zie ook: ICO vs IEO vs IDO.

Goedkeuringen

Voor het gebruik van DeFi moet je vaak een contract toestemming geven om je tokens uit te geven. Onbeperkte goedkeuringen aan een contract met bugs of kwade bedoelingen kunnen later worden gebruikt om die tokens weg te nemen. Wil je verder lezen, bekijk dan Wat is de mempool?

Zo controleer je een smart contract voordat je het gebruikt

  1. 1Bevestig het adres via de officiële website van het project en een onafhankelijke bron.
  2. 2Zoek het op in een block explorer om de aanmaakdatum, de activiteit en of de broncode geverifieerd is te zien.
  3. 3Kijk of er audits zijn door bekende bedrijven en lees of de gevonden problemen zijn opgelost.
  4. 4Zoek uit wie de beheerdersfuncties beheert — een multisig, een timelock of één enkele wallet.
  5. 5Begin klein en beperk tokengoedkeuringen tot het bedrag dat je nodig hebt.

Onze gids over hoe je het officiële contractadres van een token verifieert behandelt de eerste twee stappen in detail.

Conclusie

Een smart contract is zelfuitvoerende code op een blockchain die waarde kan bewaren en verplaatsen zonder tussenpersoon. Dat maakt open, programmeerbare financiën mogelijk, maar betekent ook dat bugs, verborgen beheerdersbevoegdheden en kwaadaardige code direct en onomkeerbaar effect hebben. Controleer het adres, begrijp wie het contract beheert en keur alleen goed wat je nodig hebt.

Veelgestelde vragen

Zijn smart contracts juridisch bindend?

Niet automatisch. Een smart contract is software die op een blockchain draait, geen juridische overeenkomst op zich. Sommige rechtsstelsels erkennen mogelijk overeenkomsten die met code worden vastgelegd of uitgevoerd, maar dat hangt af van het land en de omstandigheden. Als juridische afdwingbaarheid belangrijk is, controleer dan de lokale wetgeving of raadpleeg een gekwalificeerde professional.

Kan een smart contract worden gewijzigd nadat het is uitgerold?

De uitgerolde code zelf kan meestal niet worden aangepast. Veel projecten gebruiken echter upgradebare ontwerpen, zoals proxycontracten, waarmee een beheerder gebruikers naar nieuwe code kan doorverwijzen. Die flexibiliteit helpt bugs te verhelpen, maar betekent ook dat iemand de macht heeft om de regels te veranderen. Controleer wie eventuele upgrade- of beheerderssleutels in handen heeft.

Welke blockchains ondersteunen smart contracts?

Ethereum maakte smart contracts voor algemeen gebruik populair, en veel andere netwerken ondersteunen ze, waaronder BNB Chain, Solana, Avalanche, Cardano en de layer 2-netwerken van Ethereum. Bitcoin ondersteunt bewust slechts beperkte scripting. Elk platform gebruikt zijn eigen talen en tools, dus contracten zijn niet automatisch overdraagbaar tussen platforms.

Wat gebeurt er als een smart contract een bug bevat?

De code wordt precies uitgevoerd zoals hij is geschreven, inclusief de bug. Aanvallers kunnen die misbruiken om geld weg te sluizen, en transacties kunnen meestal niet worden teruggedraaid. Sommige projecten kunnen contracten pauzeren of upgraden om de schade te beperken, terwijl onveranderlijke contracten helemaal niet te repareren zijn. Audits en bugbounty’s verkleinen dit risico, maar nemen het niet weg.

Dit artikel is uitsluitend educatief en geen financieel, juridisch of fiscaal advies. Crypto is volatiel en je kunt geld verliezen. Controleer live koersen en projectdetails op de pagina van elke munt voordat je iets doet.