Anleitungen & Tutorials Guide 6 von 6
Wie man einen Smart Contract prüft, bevor man interagiert
Praktische Prüfungen, die auch Nicht-Entwickler vor der Freigabe einer Transaktion vornehmen können – Verifizierungsstatus, privilegierte Funktionen, Freigabeumfang und Widerruf.
Kurz gefasst
Du musst kein Solidity lesen können, um die meisten Contract-Katastrophen zu vermeiden. Prüfe, dass der Contract verifiziert ist, achte auf privilegierte Eigentümerfunktionen, verstehe genau, was eine Freigabe erlaubt, und widerrufe alte Allowances regelmäßig.
Zentrale Begriffe
- Ein nicht verifizierter Contract sollte als feindlich behandelt werden
- Eigentümerfunktionen wie mint, pause und blacklist sind Warnsignale
- Eine Token-Freigabe ist kein Login – sie kann unbegrenzt und dauerhaft sein
- Widerrufe alte Freigaben; sie bestehen unbegrenzt fort
- Auditiert ist ein schwaches Signal, keine Garantie
Du musst keinen Code lesen können, um die meisten Contract-Katastrophen zu vermeiden. Die meisten Verluste gehen auf eine kleine Zahl überprüfbarer Bedingungen zurück.
1. Ist der Contract verifiziert?
Ein verifizierter Contract hat veröffentlichten Quellcode, den ein Block-Explorer bestätigt hat, dass er zum eingesetzten Bytecode kompiliert. Nicht verifiziert bedeutet, dass außer dem Deployer niemand weiß, was er tut.
Behandle einen nicht verifizierten Contract als feindlich. Es gibt keinen legitimen Grund, warum ein Projekt, das dein Geld will, seinen Quellcode verstecken sollte. Diese eine Prüfung sortiert schon sehr viel aus.
2. Was kann der Eigentümer tun?
Auch in verifiziertem Code kann ein Nicht-Entwickler nach den relevanten Funktionen suchen. Achte auf:
mint– kann der Eigentümer unbegrenzt neue Token schaffen? Das kann dich nach Belieben bis auf null verwässern.pause/blacklist– kann er dich am Verkaufen hindern oder deine konkrete Adresse blockieren? Honeypot-Token funktionieren genau so: Du kannst kaufen, aber danach nicht verkaufen.setFee/setTax– lässt sich die Transfergebühr nach deinem Kauf ändern? Eine auf 99 % erhöhte Gebühr ist eine Falle.onlyOwner– wie viele Funktionen sind auf eine einzige Adresse beschränkt, und ist diese Adresse ein einzelner Schlüssel oder ein Multisig?
Viele Explorer zeigen das inzwischen automatisch an. Kann der Eigentümer nach Belieben prägen, pausieren oder besteuern, gelten für den Token die Regeln, die er sich morgen ausdenkt.
3. Verstehe, was du freigibst
Hier passieren die meisten Wallet-Leerungen. Damit ein Contract deine Token bewegen darf, erteilst du eine Allowance (Freigabe). Zwei Dinge überraschen die meisten:
- Allowances sind häufig unbegrenzt. Viele Oberflächen genehmigen standardmäßig den maximal möglichen Betrag, sodass der Contract jeden Token dieser Art bewegen kann, den du besitzt – jetzt und alle, die du später erwirbst.
- Sie bestehen unbegrenzt fort. Die Freigabe bleibt bestehen, nachdem du fertig bist, bis du sie widerrufst. Ein Protokoll, das ein Jahr später kompromittiert wird, kann immer noch auf eine Allowance zugreifen, die du heute erteilt hast.
Lies den Freigabebildschirm. Deine Wallet zeigt dir, welcher Contract und welcher Betrag. Steht dort „unbegrenzt“ und du machst nur einen einmaligen Swap, setze stattdessen einen konkreten Betrag.
4. Bösartige Signaturanfragen erkennen
Nicht jede Signatur ist eine Transaktion. Manche Anfragen fordern dich auf, eine Nachricht zu signieren, die Berechtigungen Off-Chain erteilt – eine Technik, die auf gefälschten Mint- und Airdrop-Seiten intensiv genutzt wird.
Warnzeichen: eine Signaturanfrage, die du nicht selbst ausgelöst hast; eine Anfrage, die unmittelbar nach dem Klick auf einen Link aus einer Direktnachricht oder Werbeanzeige erscheint; eine Anfrage, deren Inhalt deine Wallet nicht in etwas Lesbares übersetzen kann; oder jede Aufforderung auf einer Seite, die du über eine unaufgeforderte Quelle erreicht hast. Im Zweifel ablehnen. Eine legitime Aktion lässt sich immer wiederholen.
5. Alte Freigaben widerrufen
Mach es dir zur Gewohnheit. Nutze ein seriöses Widerruf-Tool – erreicht, indem du die Adresse direkt eintippst, denn gefälschte Widerruf-Seiten existieren und sind genau die Art von Falle, die sicherheitsbewusste Nutzer erwischt – und lösche Allowances, die du nicht mehr brauchst, besonders unbegrenzte und solche für Protokolle, die du nicht mehr nutzt.
6. „Auditiert“ mit Vorsicht behandeln
Ein Audit ist eine Momentaufnahme, geprüft von fehlbaren Menschen, oft an einer Version, die sich später verändert hat. Zahlreiche geauditete Protokolle wurden bereits erfolgreich angegriffen.
Nützliche Fragen: Wer hat es durchgeführt, ist der Bericht öffentlich, welche Schweregrade an Problemen wurden gefunden, wurden sie behoben, und wurde der Contract seither verändert? „Auditiert von“ ohne verlinkten Bericht ist Marketing.
7. Bevorzuge zeiterprobte Contracts
Das stärkste verfügbare Signal ist das Überleben. Ein Protokoll, das über Jahre hinweg erhebliche Werte hält, ohne gehackt zu werden, stand permanent unter Angriff gut finanzierter Gegner – und hat standgehalten. Das ist eine härtere Prüfung als jedes Audit.
Neue Contracts sind per Definition unbewiesen, egal wie gut der Code aussieht.
Eine Checkliste vor dem Start
- Contract auf einem Block-Explorer verifiziert
- Keine unbegrenzten mint-, pause-, blacklist- oder veränderbaren Gebührenfunktionen – oder Eigentümerschaft abgegeben
- Freigabeumfang verstanden und wo praktikabel eingeschränkt
- Signaturanfrage von mir ausgelöst, auf einer Seite, die ich direkt aufgerufen habe
- Protokoll hat nennenswerte Betriebshistorie und eingesetzten Wert
- Nutzung einer Wallet, in der nur liegt, was ich zu verlieren bereit bin
Was du als Nächstes lesen solltest
Du hast den Pfad „Verdienen & DeFi“ abgeschlossen – und alle vier Pfade. Das Glossar deckt jeden Begriff ab, den du noch einmal nachschlagen möchtest, und der Lern-Hub zeigt deinen Fortschritt.
Mitreden
Eine Frage oder einen Fehler entdeckt?
Kommentare stehen Mitgliedern offen und werden vor der Veröffentlichung geprüft. Fragen und Korrekturen sind immer willkommen; Werbung und Kursprognosen nicht.
Kostenlos beitreten Anmelden