Smart Contract prüfen: So gleichen Sie Code und Adresse ab

The bit journal logo
8 Min Read
Die Prüfung beginnt mit der exakten Bereitstellung, nicht mit dem Namen des Vertrags.

Zuletzt aktualisiert: 06.11.2026

Um einen Smart Contract zu prüfen, gleichen Sie zuerst Adresse und Netzwerk ab. Danach lässt sich feststellen, ob der veröffentlichte Quellcode zum Code passt, der auf der Blockchain bereitgestellt wurde. Die Verifizierung hilft festzustellen, welchen Code Sie prüfen, beweist aber nicht, dass ein Vertrag sicher ist oder keine riskanten Funktionen enthält.

Das Wichtigste zur Smart Contract Verifizierung

  • Prüfen Sie Netzwerk und vollständige Contract-Adresse, bevor Sie einem Explorer-Eintrag vertrauen.
  • Vergleichen Sie den Quellcode mit dem Bytecode auf der Blockchain. Achten Sie, wenn verfügbar, auf einen vollständigen Metadaten-Abgleich.
  • Bei einem Proxy zählt auch die aktuelle Implementierung. Verifizierter Code ist kein Sicherheitsaudit.

Was es bedeutet, einen Smart Contract zu prüfen

Ein Blockchain-Explorer kann Quellcode zu einer Contract-Adresse anzeigen. Entscheidend ist, ob sich mit diesem Quellcode und den angegebenen Einstellungen beim Kompilieren Bytecode erzeugen lässt, der mit dem bereitgestellten Code übereinstimmt. Ethereum.org beschreibt diesen Vorgang in seinem Leitfaden zur Verifizierung von Smart Contracts.

Eine angezeigte Quellcode-Datei allein reicht nicht. Stimmen Code und Kompilierungseinstellungen nicht mit dem Bytecode des bereitgestellten Vertrags überein, ist nicht belegt, dass die Anzeige den Code beschreibt, mit dem Nutzer interagieren. Eine Übereinstimmung macht die veröffentlichte Logik prüfbar, zeigt aber nicht, wie sich der Vertrag in jeder Situation verhält.

Smart Contract prüfen: so gehen Sie im Explorer vor

Öffnen Sie die Adresse möglichst über eine vertrauenswürdige Projektquelle, etwa die offizielle Dokumentation, und prüfen Sie sie im richtigen Blockchain-Netzwerk. Ähnlich benannte Token und kopierte Projektseiten können zu einer anderen Bereitstellung führen. Name und Logo sind kein Nachweis.

  1. Bereitstellung abgleichen. Vergleichen Sie Adresse und Netzwerk mit den Projektangaben. Bei Ethereum kann ein Explorer Ersteller-Adresse, Erstellungs-Transaktion, Quellcode, ABI und den Bytecode bei der Erstellung anzeigen. Ethereum.org nennt diese Angaben als hilfreiche Prüfpunkte für die beabsichtigte Bereitstellung.
  2. Veröffentlichten Quellcode suchen. Prüfen Sie Verifizierungsstatus und Quelldateien im Explorer. Achten Sie darauf, ob Dateinamen und Contract-Name zur untersuchten Bereitstellung passen. Ein bekannter Tokenname belegt nicht, dass zwei Adressen zusammengehören.
  3. Kompilierung abgleichen. Der Quellcode muss sich mit den angegebenen Einstellungen kompilieren lassen und Bytecode ergeben, der zum bereitgestellten Vertrag passt. Laut Ethereum.org vergleicht ein vollständiger Abgleich zusätzlich den angehängten Metadaten-Hash. Dieser bildet Quelldateien und Kompilierungseinstellungen ab. Ein teilweiser Bytecode-Abgleich erfasst möglicherweise keine Unterschiede bei Kommentaren oder Variablennamen; der Metadaten-Abgleich hilft, diese Einschränkung zu berücksichtigen.
  4. Sichtbare Details lesen. Prüfen Sie Quellcode und ABI, die Schnittstelle mit den verfügbaren Contract-Funktionen. Read-only-Aufrufe können laut Ethereum.org Daten anzeigen, ohne den On-Chain-Zustand zu ändern oder Gas zu kosten. Eine schreibende Transaktion verändert den Zustand und kostet Gas. Weitere Informationen bietet Ethereum.org in seinem Leitfaden zur Interaktion mit Smart Contracts.
  5. Proxy erkennen. Ist die geprüfte Adresse ein Proxy, suchen Sie auch die Adresse seiner Implementierung und untersuchen Sie deren Code. OpenZeppelin erklärt, dass Nutzer den Proxy aufrufen, während die Implementierung die ausgeführte Logik enthält. Ein Proxy kann auf eine andere Implementierung aktualisiert werden.
Gedruckte Vertragsunterlagen und ein Sicherheitsschlüssel auf einem Arbeitstisch
Ein Explorer zeigt Details der Bereitstellung, die sich abgleichen lassen.

Vollständiger und teilweiser Abgleich: Was belegt das Ergebnis?

Verifizierungswerkzeuge verwenden unterschiedliche Bezeichnungen. Ethereum.org zufolge veröffentlicht Etherscan verifizierten Quellcode, vergleicht aber nicht die Metadaten-Hashes von On-Chain-Code und erneut kompiliertem Code. Nach der Definition des Leitfadens ist das ein teilweiser Abgleich. Sourcify unterstützt demnach vollständige Abgleiche mit Metadaten-Hashes und verifiziert Verträge auf EVM-basierten Netzwerken. Prüfen Sie die genaue Angabe des Werkzeugs, statt jedes „verifiziert“-Label gleich zu verstehen.

Ein vollständiger Abgleich ist ein stärkerer Hinweis darauf, dass Quelldateien und Kompilierungseinstellungen zum bereitgestellten Bytecode gehören. Er belegt nicht, dass der Code gut entworfen ist. Ethereum.org unterscheidet Quellcode-Verifizierung, die die Verbindung von Quellcode und Bytecode prüft, von formaler Verifizierung, die untersucht, ob sich das Verhalten eines Systems mit einer Spezifikation deckt. Weder ein Explorer-Label noch ein passender Hash beweist für sich die Sicherheit eines Vertrags.

Warum Sie bei einem Proxy auch die Implementierung prüfen müssen

Wer nur die Adresse prüft, die Nutzer aufrufen, lässt möglicherweise die zentrale Logik des Proxys außen vor. Prüfen Sie daher die aktive Implementierung und ob der Proxy aktualisiert werden kann. OpenZeppelin erläutert, dass ein Upgrade einen Proxy auf eine andere Implementierung verweisen lassen kann. Der Code hinter der Adresse kann sich dadurch ändern. Für die Einschätzung zählen die Implementierung und die Regeln für Upgrades.

Zwei verbundene Glasblöcke als Sinnbild für Proxy und Implementierung
Bei einem Proxy muss auch der Code der aktiven Implementierung geprüft werden.

Grenzen und Risiken bei der Prüfung

Auch eine sorgfältige Prüfung ist nur ein Teil der Risikoeinschätzung. Ein Quellcode-Abgleich beweist nicht, dass der Code keine Fehler enthält, ein Administrator sein Verhalten nicht ändern kann oder eine Interaktion keinen Verlust verursacht. Contract-Aktivitäten können mit Kursschwankungen, irreführenden Projekten und Schwachstellen in Smart Contracts verbunden sein. Prüfen Sie Wallet-Freigaben und Transaktionen genau, bevor Sie sie signieren.

Achten Sie auf gefälschte Explorer-Seiten, kopierte Adressen und ähnlich benannte Token. Kontrollieren Sie Netzwerk und vollständige Adresse. Geben Sie niemals Ihre Seed Phrase weiter. Wenn der Code schwer verständlich ist, belegt ein Verifizierungslabel nicht, dass eine unbekannte Interaktion sicher ist.

Hardware-Wallet, Prüfliste und Lupe auf einer dunklen Arbeitsfläche
Ein verifizierter Quellcode allein macht eine Interaktion nicht sicher.

Was eine Verifizierung zeigt und was nicht

Wobei die Verifizierung hilftWas sie nicht belegt
Veröffentlichten Quellcode mit bereitgestelltem Bytecode zu verknüpfenDass der Code sicher oder fehlerfrei ist
Quellcode, ABI, Ersteller und Bereitstellungsdetails einzusehenDass eine Adresse zum angezeigten Projektnamen gehört
Proxy und Implementierung für eine Prüfung zu erkennenDass Proxy-Logik nicht aktualisiert oder geändert werden kann
Daten ohne zustandsändernde Transaktion auszulesenDass eine spätere Schreibtransaktion oder Freigabe sicher ist

Für wen ist die Prüfung gedacht?

Eine Contract-Verifizierung kann allen helfen, die vor einer Interaktion einen Token, eine dezentrale Anwendung oder eine andere On-Chain-Bereitstellung überprüfen möchten. Entwickler und Sicherheitsforscher können Quellcode und Bytecode gründlicher untersuchen. Nutzer können mit Netzwerk, Adresse, Verifizierungsstatus und Proxy-Informationen beginnen, ohne jede Codezeile lesen zu müssen.

Das Verfahren ersetzt keine Sicherheitsprüfung und reicht möglicherweise nicht aus, um komplexes Vertragsverhalten einzuschätzen. Lässt sich nicht feststellen, ob eine Adresse zur beabsichtigten Bereitstellung gehört, oder bleibt unklar, was eine angeforderte Transaktion ausführt, beseitigt ein Verifizierungslabel diese Unsicherheit nicht.

Was Sie aus der Prüfung mitnehmen sollten

Um einen Smart Contract zu prüfen, gleichen Sie die beabsichtigte Adresse und das Netzwerk ab, untersuchen Sie Quellcode und Bytecode-Ergebnis und prüfen Sie auf einen Proxy samt aktiver Implementierung. Ein vollständiger Abgleich liefert stärkere Hinweise darauf, dass Quellcode und bereitgestellter Code zusammenpassen. Eine Verifizierung ist jedoch kein Sicherheitsbeweis, sondern ein Prüfschritt, kein Schutz vor Fehlern, Upgrades, Betrug oder finanziellen Verlusten.

Quellen

Dieser Artikel dient ausschließlich Informationszwecken und stellt keine Finanz- oder Anlageberatung dar. Kryptowährungen sind sehr volatil, recherchieren Sie daher immer selbst, bevor Sie investieren.

Share This Article
Keine Kommentare