{"id":591,"date":"2026-08-05T21:41:16","date_gmt":"2026-08-05T21:41:16","guid":{"rendered":"https:\/\/mycoinpartner.com\/was-ein-smart-contract-audit-aussagt\/"},"modified":"2026-08-05T21:41:16","modified_gmt":"2026-08-05T21:41:16","slug":"was-ein-smart-contract-audit-aussagt","status":"publish","type":"post","link":"https:\/\/mycoinpartner.com\/de\/was-ein-smart-contract-audit-aussagt\/","title":{"rendered":"Was ein Smart-Contract-Audit aussagt und was nicht"},"content":{"rendered":"<p>\u201eAuditiert\u201c steht auf Landingpages, als handle es sich um ein Zertifikat mit fest definierter Bedeutung. Das ist es nicht. Es ist eine Dienstleistung mit variablem Umfang, und der Unterschied zwischen einer gr\u00fcndlichen und einer oberfl\u00e4chlichen Pr\u00fcfung ist am G\u00fctesiegel nicht erkennbar.<\/p>\n<h2>Was ein Audit tats\u00e4chlich ist<\/h2>\n<p>Eine Firma wird beauftragt, einen festgelegten Satz von Contracts bei einem festgelegten Commit \u00fcber einen festgelegten Zeitraum auf M\u00e4ngel gegen ein festgelegtes Bedrohungsmodell zu pr\u00fcfen. Sie erstellt einen Bericht, der Befunde nach Schweregrad auflistet, das Projekt reagiert darauf, und ein Abschlussbericht h\u00e4lt \u00fcblicherweise fest, was behoben wurde.<\/p>\n<p>Jedes \u201efestgelegt\u201c darin leistet Arbeit. Der Umfang wird ausgehandelt, und ein Bericht \u00fcber drei Contracts sagt nichts \u00fcber den vierten aus, der die Gelder h\u00e4lt.<\/p>\n<h2>Zuerst den Abschnitt zum Pr\u00fcfungsumfang lesen<\/h2>\n<p>Der Umfang zeigt, welche Dateien gepr\u00fcft wurden und bei welchem Commit-Hash. Daraus ergeben sich zwei Fragen, beide in wenigen Minuten zu beantworten.<\/p>\n<p>Umfasst der Pr\u00fcfungsumfang die Contracts, die tats\u00e4chlich Werte halten oder bewegen, oder nur periphere? Und stimmt der gepr\u00fcfte Commit mit dem \u00fcberein, was tats\u00e4chlich l\u00e4uft? Code \u00e4ndert sich nach einem Audit, und ein Bericht zu einem Commit von vor mehreren Upgrades beschreibt Software, die es nicht mehr gibt. Den bereitgestellten Bytecode gegen den gepr\u00fcften Quellcode zu verifizieren ist die Pr\u00fcfung, die diese L\u00fccke schlie\u00dft, und sie wird von denjenigen, die nur das G\u00fctesiegel lesen, so gut wie nie durchgef\u00fchrt.<\/p>\n<h2>Befunde und ihr Umgang<\/h2>\n<p>Berichte klassifizieren Befunde nach Schweregrad. Wichtiger als die Anzahl ist der Umgang damit: behoben, zur Kenntnis genommen oder bestritten.<\/p>\n<p>\u201eZur Kenntnis genommen\u201c bedeutet, dass das Projekt den Befund gelesen und sich entschieden hat, nichts zu \u00e4ndern. Das kann v\u00f6llig vern\u00fcnftig sein \u2014 der Befund mag einen akzeptierten Kompromiss beschreiben \u2014, bedeutet aber, dass ein bekanntes Problem live ist, und das taucht in einer Zusammenfassung, die nur das G\u00fctesiegel wiedergibt, nicht auf.<\/p>\n<p>Ein Bericht ganz ohne Befunde ist kein Triumph. Er bedeutet meist einen engen Umfang oder eine oberfl\u00e4chliche Pr\u00fcfung. Kompetente Pr\u00fcfungen nicht-trivialer Systeme finden etwas.<\/p>\n<h2>Wo Audits strukturell schwach sind<\/h2>\n<p>Bestimmte Kategorien sind durch reine Code-Pr\u00fcfung schwer zu erfassen:<\/p>\n<ul>\n<li><strong>Fehler im \u00f6konomischen Design.<\/strong> Code, der sich exakt wie geschrieben verh\u00e4lt, dessen geschaffene Anreize aber ausnutzbar sind. Das erfordert eine Modellierung der \u00d6konomie des Systems, was eine andere Disziplin ist und h\u00e4ufig au\u00dferhalb des Pr\u00fcfungsumfangs liegt.<\/li>\n<li><strong>Composability.<\/strong> Ein Contract kann f\u00fcr sich genommen solide und in Kombination mit einem anderen, nicht vorhergesehenen Protokoll unsicher sein.<\/li>\n<li><strong>Annahmen zu Oracles.<\/strong> Contracts, die auf externe Preisdaten angewiesen sind, \u00fcbernehmen die Verl\u00e4sslichkeit dieser Daten, und das Oracle liegt meist au\u00dferhalb des Pr\u00fcfungsumfangs.<\/li>\n<li><strong>Governance und Schl\u00fcssel.<\/strong> Ein aktualisierbarer Contract, der von einer kleinen Multisig kontrolliert wird, birgt ein Risiko, das keine Code-Pr\u00fcfung adressiert, weil der Code das Upgrade konstruktionsbedingt erlaubt.<\/li>\n<\/ul>\n<p>Der letzte Punkt verdient Betonung. Wenn ein Contract aktualisiert werden kann, beschreibt das Audit die aktuelle Implementierung, und die Inhaber der Upgrade-Schl\u00fcssel k\u00f6nnen sie ersetzen. Entscheidend ist dann, wer diese Inhaber sind und welches Verfahren sie kontrolliert \u2014 eine Governance-Frage im technischen Gewand.<\/p>\n<h2>Wie ein guter Bericht aussieht<\/h2>\n<p>Vollst\u00e4ndig ver\u00f6ffentlicht statt nur zusammengefasst. Umfang mit Commit-Hashes angegeben. Befunde mit Schweregrad, Beschreibung und Umgang. Ein Methodikabschnitt, der beschreibt, was untersucht wurde und was nicht. Und ein Datum, damit Sie es mit der Deployment-Historie abgleichen k\u00f6nnen.<\/p>\n<p>Ein Projekt, das all das ver\u00f6ffentlicht, tut etwas sp\u00fcrbar anderes als eines, das nur ein Logo zeigt. Das Logo ist der Teil, der am wenigsten kostet.<\/p>\n<h2>Wie man einen Bericht nutzt<\/h2>\n<p>Behandeln Sie ein Audit als Beleg daf\u00fcr, dass ein Projekt Geld f\u00fcr Pr\u00fcfung ausgegeben hat und bereit war, das Ergebnis zu ver\u00f6ffentlichen \u2014 das ist ein echtes Signal dar\u00fcber, wie es arbeitet. Behandeln Sie es nicht als Sicherheitsgarantie, denn der Bericht erhebt diesen Anspruch nicht \u2014 der Haftungsausschluss darin sagt das meist ausdr\u00fccklich, in dem Abschnitt, den niemand zitiert.<\/p>\n<p>Die praktischen Fragen bleiben bestehen: Welcher Anteil Ihres Bestands ist diesem Contract ausgesetzt, k\u00f6nnten Sie den Verlust verkraften, und ist die angebotene Rendite plausibel eine Entsch\u00e4digung f\u00fcr dieses Risiko? Daran \u00e4ndert das Vorhandensein eines Berichts nichts, und genau deshalb wird das G\u00fctesiegel so eingesetzt, wie es eingesetzt wird.<\/p>\n<h2>Nicht alle Pr\u00fcfungen haben dieselbe Tiefe<\/h2>\n<p>\u201eAudit\u201c umfasst eine Bandbreite von T\u00e4tigkeiten mit sehr unterschiedlichen Kosten und unterschiedlicher Sorgfalt, und der Bericht macht diesen Unterschied nicht immer deutlich.<\/p>\n<p>Eine manuelle Pr\u00fcfung durch erfahrene Ingenieure, die den Code lesen, ist das teure Ende. Automatisierte Analyse erkennt bekannte Muster g\u00fcnstig und \u00fcbersieht alles Neuartige. Formale Verifikation beweist mathematisch, dass Code einer Spezifikation gen\u00fcgt, was m\u00e4chtig ist und nur so gut wie die Spezifikation selbst. Wettbewerbsbasierte Audit-Plattformen lagern die Pr\u00fcfung per Crowdsourcing aus, was ein breites Spektrum an Problemen findet, aber eine weniger konsistente Abdeckung liefert.<\/p>\n<p>Jede Methode hat ihre Rolle. Entscheidend ist zu wissen, mit welcher man es zu tun hat, und der Methodikabschnitt sagt das. Ein Bericht, der seine Methode nicht beschreibt, verlangt, allein auf die Kraft des Logos hin akzeptiert zu werden.<\/p>\n<h2>Bug-Bounties sagen etwas, das ein Bericht nicht kann<\/h2>\n<p>Ein Audit ist eine Momentaufnahme; ein Bug-Bounty ist fortlaufend. Ein Projekt, das ein substanzielles, gut abgegrenztes Bounty mit \u00f6ffentlicher Auszahlungshistorie betreibt, ist einer laufenden Pr\u00fcfung ausgesetzt, wie sie eine einmalige Pr\u00fcfung nicht bietet.<\/p>\n<p>Die H\u00f6he z\u00e4hlt. Eine Maximalauszahlung weit unter dem, was ein Exploit einbringen w\u00fcrde, ist kein Anreiz, sondern eine Geste \u2014 ein Forscher, der einen kritischen Fehler in einem Contract mit hohem Bestand findet, steht vor einem offensichtlichen Rechenproblem, wenn das Bounty im Vergleich dazu geringf\u00fcgig ist. Bounties, die am gef\u00e4hrdeten Wert bemessen sind, sind ein echtes Signal daf\u00fcr, wie ernst ein Projekt die M\u00f6glichkeit nimmt, dass es sich irrt.<\/p>\n<h2>Auch die Zeit im Produktivbetrieb ist ein Beleg<\/h2>\n<p>Contracts, die \u00fcber einen langen Zeitraum erhebliche Werte ohne Zwischenfall gehalten haben, wurden der strengsten verf\u00fcgbaren Pr\u00fcfung unterzogen: anhaltender Aufmerksamkeit von Menschen mit einem finanziellen Anreiz, sie zu brechen.<\/p>\n<p>Das ist kein Beweis \u2014 schlummernde Fehler existieren, und mehrere langlebige Protokolle sind sp\u00e4t gescheitert. Aber ein k\u00fcrzlich bereitgestellter Contract mit einem Bericht und ohne Betriebshistorie wurde von einer Firma \u00fcber ein paar Wochen gepr\u00fcft. Ein \u00e4lterer mit demselben Bericht hat zus\u00e4tzlich Jahre feindseligen Interesses \u00fcberstanden, und das ist eine andere Qualit\u00e4t von Beleg.<\/p>\n<p>Beides zu kombinieren ist der praktische Ansatz: den Bericht daf\u00fcr lesen, was untersucht wurde, und die Deployment-Historie daf\u00fcr gewichten, was der Bericht nicht abdecken konnte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u201eAuditiert\u201c wird als Synonym f\u00fcr sicher verwendet. Ein Audit ist eine zeitlich begrenzte Pr\u00fcfung von bestimmtem Code gegen bestimmte Bedenken, und der Abschnitt zum Pr\u00fcfungsumfang ist der Teil, der sich zu lesen lohnt.<\/p>\n","protected":false},"author":3,"featured_media":697,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67],"tags":[],"class_list":["post-591","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-defi-web3"],"_links":{"self":[{"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/posts\/591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/comments?post=591"}],"version-history":[{"count":0,"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/posts\/591\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/media\/697"}],"wp:attachment":[{"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/media?parent=591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/categories?post=591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mycoinpartner.com\/de\/wp-json\/wp\/v2\/tags?post=591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}