Wat is smartcontractrisico?

Smartcontractrisico is de kans dat u waarde verliest — of bruikbare toegang tot die waarde verliest — omdat gedrag van een on-chain programma, de dependencies, de oracles, of de admin-/upgradeautoriteit een uitkomst oplevert die u niet bedoelde toen u stortte, goedkeurde of interacteerde. Smartcontractrisico is niet «de chain is uw coins vergeten».
Definitie
Smartcontractrisico is de kans dat u waarde verliest — of bruikbare toegang tot die waarde verliest — omdat gedrag van een on-chain programma, de dependencies, de oracles, of de admin-/upgradeautoriteit een uitkomst oplevert die u niet bedoelde toen u stortte, goedkeurde of interacteerde.
In gewone taal:
Smartcontractrisico is niet «de chain is uw coins vergeten». Het is het risico dat code die u heeft geautoriseerd — of code die de regels na uw storting kan herschrijven — waarde verplaatst, bevriest, verkeerd prijst of leegtrekt volgens de eigen logica.
Bewaring vraagt wie mag uitgeven. Smartcontractrisico vraagt wat de programma’s die u aanraakt mogen doen, wat ze over de wereld aannemen, en wie die regels later mag wijzigen.
In de trading
De echte tradingvraag
Kan ik voor deze blootstelling de contracten, de trust-oppervlakken (oracles, upgrades, admins) en een verliesvorm noemen die ik nog kan overleven als die oppervlakken falen — of behandel ik «geaudit / hoge TVL / bekend logo» als vervanging van meting?
Beantwoord per storting en per goedkeuringsoppervlak. Beantwoord opnieuw na upgrades, na oraclewijzigingen en na size-sprongen. Eén slogan voor elke DeFi-interactie is de valkuil van louter herkenning die deze pagina achterlaat.
Twee meetlatten die mensen tot één laten ineenstorten
| Marktbrede «hack»-koppen | DeFi-protocolblootstellingen | |
|---|---|---|
| Wat vaak de dollar-verliezen domineert | Sleutels, signers, wallet-infra, front-ends, admin-compromittering | Protocollogica en economische aannames |
| Wat vaak het incidentenaantal domineert | Gemengd; codebugs blijven frequent | Logica, toegangscontrole, oracle, accountingpaden |
| Traderfout | Elk verliesverhaal behandelen als «contracten zijn onveilig, dus vermijd DeFi» | Elk auditbadge behandelen als «coderisico is dicht» |
| Bruikbare reactie | Houd een bewaringmeetlat voor venues en sleutels | Houd een contract-/oracle-/upgrademeetlat voor stortingen |
Beide meetlatten zijn echt. Ze vermengen produceert de verkeerde hedge: of u onderdimensioneert elk protocol omdat CeFi-sleutelendiefstallen het nieuws vulden, of u vertrouwt een vault te sterk omdat «het meeste gestolen waarde dit jaar sleutels waren».
Begrensde lezing van recente industrieelijsten: over de hele markt bezitten infrastructuur en sleutelcompromittering vaak het grootste deel van de waarde; binnen DeFi-protocolverliezen bezit logica vaak het grootste deel van de verliesmassa. Gebruik beide feiten. Kies er niet één en gooi de andere weg.
Taxonomie (klassen, niet één enkele vlag «gehackt»)
| Klasse | Wat breekt | Hoe verlies zichtbaar wordt |
|---|---|---|
| Toegangscontrole | Geprivilegieerde functies aanroepbaar door de verkeerde partij | Mint-, pause-, upgrade-, set-price- of drainpad opent |
| Businesslogica | Bedoelde regels ≠ gecodeerde regels | Verkeerde rewards, verkeerde collaterale wiskunde, gebroken liquidatie of mint/redeem |
| Reentrancy / externe calls | Controle overgedragen voordat state final is | Herhaalde withdraw, cross-function reentry, hook-callbacks |
| Rekenkunde / afronding / shares | Fixed-point-, fee-, share- of reservewiskunde drijft weg | Stille waardelek; extreme states versterken one-wei-fouten |
| Oracle / dunne liquiditeit | Veiligheidslogica vertrouwt een beweegbare of stale prijs | Underwater borrows, oneerlijke liquidaties, opgeblazen collateral |
| Flashloan-amplificatie | Same-tx-kapitaal duwt een zwakke aanname tot breken | Rootbug zat er al; tijdelijk kapitaal maakte hem lonend |
| Proxy / upgradeability | Implementation- of initializer-/adminpad is zwak | Logica-herschrijving, ongeïnitialiseerde claim, storage-corruptie |
| Griefing / DoS | Beschikbaarheid of exits geblokkeerd zonder nette «diefstal» | Withdrawals vast, liquidaties vastgelopen, distributies die revert doen |
OWASP-achtige Top 10-lijsten roteren rangen van jaar tot jaar. Toegangscontrole, businesslogica en oracles blijven dicht bij de top; flashloan-gefaciliteerde paden en proxy-/upgradecategorieën stegen als praktische oppervlakken. Behandel de lijst als een monitormenu, niet als een bingokaart.
Tweede-orde-oppervlakken (waar ervaren size echt sterft)
Textbook-reentrancy is niet de enige meetlat. Deze tweede-orde-paden wegen meestal zwaarder zodra u speelgoedsize verlaat:
- Composability — uw vault is in orde tot hij shares prijst vanaf een peer-pool, wrapper of bridge die u nooit heeft beoordeeld.
- Audit-scopegaten — veel post-mortems van «geaudite» protocollen tonen dat het aanvalspad buiten elke publieke auditscope zat, of in een dependency / keeper / forwarder die het rapport nooit dekte.
- Ongeverifieerde of mismatchende bytecode — UI-naam ≠ explorer-adres ≠ de implementation waarnaar de proxy nu wijst.
- Upgrade zonder reviewvenster — geen timelock, één EOA-upgrader, of stille implementation-swap na uw storting.
- Emergency pause als trust — een pause kan een drain redden en kan exits ook vasthouden; wie de schakelaar houdt, hoort bij de risicoprijs.
- Gedeeltelijke vs totale drain — sommige bugs skimmen afronding; sommige legen de pool; sommige bevriezen fondsen zonder ze over te maken. Dimensioneer voor de slechtste geloofwaardige vorm, niet voor de gemiddelde headline.
- Stale «veilige» contracten — oude deployments worden opnieuw bezocht; leeftijd is geen veiligheidshalve als incentives nog in het adres zitten.
Residuele oppervlakken op wallet-first venues
Wallet-first trading (inclusief venues zoals edgeX) verlaagt «IOU op het bedrijfsbalans»-risico wanneer uw autorisatie fondsen verplaatst. Contractrisico verschijnt nog steeds wanneer:
- u een spender goedkeurt die later tokens kan trekken
- u stort in een vault, bridge of gestructureerd product
- matching of settlement afhangt van contracten waarvan u het upgrade- of oraclepad niet heeft gemapt
- een gekloonde frontend u vraagt te ondertekenen tegen een ander adres dan het adres dat u heeft geverifieerd
Als uw checklist alleen vraagt «is het non-custodial?», staat u nog op de oude meetlat.
Uitgewerkte scènes (oordeel, geen slogans)
A — Afronding onder flashloan-druk.
De withdraw-wiskunde van een pool rondt de verkeerde kant op in een extreme tick. Normale flow oogt prima. Same-transaction geleend kapitaal duwt de pool in die state, haalt de gap eruit, lost de lening af en laat LP’s tekort. De flashloan was de versterker. De bug was accounting.
B — «Oracle-hack» die toegangscontrole was.
Prijs-updates horen via een keeper-/forwarderpad te lopen. Een zwakke forwarder laat een aanvaller `setPrices` bereiken. Ze printen een slechte mark, openen en sluiten ertegen, en lopen weg. Het feedmerk was niet de root; wie de feed kon schrijven wel.
C — Geaudite vault, out-of-scope dependency.
Drie audit-PDF’s staan op de docs-site. De drain gebruikt een library-helper of bridge-verifier die die rapporten nooit scoped hebben. «We waren geaudit» was waar en incompleet. Vraag welke commit, welke files, welke economische paden, en wat er sindsdien is veranderd.
D — Proxy dag één vs jaar twee.
U dimensioneerde een storting toen de implementation bevroren was en multisig + timelock publiek waren. Zes maanden later landt een upgrade met een kort venster en een nieuwe rol. Zelfde proxy-adres; ander trust-oppervlak. Herbeoordeel of exit — erf niet de these van vorig jaar.
Monitoring (wat te falsificeren)
Scoreer elke materiële contractblootstelling tegen feiten die u kunt checken — niet tegen badges.
| Monitor | Pass oogt zo | Fail oogt zo |
|---|---|---|
| Adreskaart | U kunt proxy vs implementation vs spender noemen | «Het contract van de site», ongeverifieerd |
| Permissiekaart | Rollen voor upgrade, pause, mint, oracle-write zijn bekend | Eén god-key «owner» die u niet kunt beschrijven |
| Upgradepad | Timelock- / multisig- / gepubliceerde-diff-cultuur | Stille EOA-upgrades |
| Oracledesign | Aggregated / TWAP / freshness / afwijkingsgrenzen waar size ze nodig heeft | Same-tx spot uit een dunne pool voor liquidaties |
| Audithygiëne | Scope, datum, commit-hash; bounty nog live | Logomuur; geen scope; code verplaatst na rapport |
| Composability | U weet van welke externe pools/bridges de blootstelling afhangt | Geneste wrappers die u niet kunt noemen |
| Allowance-oppervlak | Least privilege; periodiek intrekken | Unlimited approve voor altijd naar elke router |
| Exitdrill | Kleine withdraw werkte recent | Alleen stortings-spiergeheugen |
| Incidenthouding | Pause scoped; monitoring; publieke post-mortem-gewoonte | TVL als bewijs van veiligheid |
Conditionele defaults (begin hier, pas daarna aan)
- Als u het contractadres en wie het kan upgraden niet kunt noemen → schaal de blootstelling niet op.
- Als safety-kritische pricing een same-transaction dunne-pool-spot leest → behandel liquidatie- / mint- / redeempaden als vijandig tot het tegendeel bewezen is.
- Als het enige comfort «geaudit» is zonder scope of commit → prijs audit als marketing, niet als meetlat.
- Als er na uw storting een upgrade landde → herbeoordeel; neem geen continuïteit aan.
- Als flashloan-size kapitaal de oracle of share-wiskunde kan bewegen waarvan u afhangt → dimensioneer alsof dat kapitaal komt opdagen.
- Als hot trading en protocolstortingen unlimited approvals delen → scheid de oppervlakken in dezelfde week.
- Als size scherp steeg → maak de kaart opnieuw, ook als de UI niet veranderde.
Ontwerpzetten
- Scheid goedkeuringen voor tradingfloat van stortingen in idle protocol.
- Verkies geverifieerde adressen die u plakt uit een bekende bron boven «Connect and hope».
- Beperk elke protocolblootstelling tot een verliesvorm die u kunt overleven (skim vs leeg vs bevriezen).
- Oefen een kleine withdraw vóór opschalen.
- Trek stale unlimited allowances in op schema.
- Verkies venues en protocollen die contractadressen, upgradepolicy en auditscope publiceren — en draai daarna nog steeds uw eigen monitors.
- Schrijf een korte stressvolgorde: welke blootstelling u eerst exit als een upgrade- of oracle-alert afgaat.
Grenzen van dit framework
Deze pagina vervangt geen professionele audit, formele verificatie of incident response voor builders. Ze prijst niet elke chain-, bridge- of L2-finality-quirk. Ze redt geen blootstelling als u phishing negeert en een kwaadaardige spender ondertekent. Buurmeetlatten — bewaring, goedkeuringen, MEV, protocol- vs platform- vs gebruikersrisico — blijven gelden. Gebruik deze taxonomie om te stoppen met elk on-chain verlies tot één woord ineen te laten storten.
Verwar dit niet met
- Bewaringsrisico — uitgifte-autoriteit / tegenpartij-vs-operatorfalen; stapelt met protocolstortingen, niet dezelfde meetlat.
- Tokengoedkeuringsrisico — allowance die later een pull kan mogelijk maken; vaak de deur naar contractrisico, niet de hele exploitboom.
- Prijsrisico — de mark kan bewegen terwijl codegedrag en controle intact blijven.
- Liquiditeits- / slippagerisico — size niet kunnen exitten in de markt ≠ vault geleegd, bevroren of verkeerd geprijsd door programmalogica.
- MEV / sandwich — ordening en extractie rond uw transactie; kan oracle-/swapdesign raken, nog steeds geen synoniem van een logicabug.
Delen
Gerelateerde artikelen

Klaar voor de volgende stap?
Ga vanaf deze pagina via de officiële links verder naar registratie of trading.
Disclaimer
Deze inhoud is uitsluitend bedoeld voor educatieve doeleinden en vormt geen beleggingsadvies. Handelen in digitale activa en derivaten brengt risico's met zich mee. Zorg dat je de producten begrijpt en houd rekening met je eigen situatie voordat je handelt.







