Skip to content
Blockchain

Warum kann ich Code anhand einer Spezifikation überprüfen, aber nicht die Spezifikation selbst?

84

Möglichkeit

Die formale Verifikation von Smart Contracts belegt, dass der Code einer schriftlichen Spezifikation entspricht, kann jedoch nicht feststellen, ob diese Spezifikation tatsächlich das beabsichtigte Verhalten des Vertrags widerspiegelt. Eine MDPI-Umfrage aus dem Jahr 2025 zu den modernsten automatisierten Audit-Tools ergab, dass diese nur 8 bis 20 Prozent der in der Produktion gefundenen ausnutzbaren Fehler erkennen, während sie eine Abdeckung von über 90 Prozent bei einfachen Syntaxmustern melden. Die Lücke liegt in der Spezifikation: Logische Fehler, Bedingungen zur Sperrung von Vermögenswerten und Annahmen bezüglich Orakeln tauchen in Spezifikationen fast nie auf, da Ingenieure nicht wissen, wie sie diese auflisten sollen, bevor ein Exploit die Notwendigkeit dafür aufzeigt. Das PropertyGPT-Papier der NDSS 2025 stellt direkt fest, dass es der Community nach wie vor an der automatisierten Generierung umfassender Eigenschaften für eine effektive formale Verifikation mangelt. Jedes Audit, das einen Vertrag anhand einer unvollständigen Spezifikation für konform erklärt, schafft eher eine falsche Vertrauensbasis als Sicherheit.

Warum es wichtig ist

Ein Tool, das anhand von Vertragscode, geschäftlichem Kontext und historischen Exploit-Datenbanken mögliche Invarianten generiert, würde die formale Verifikation von einer Korrektheitsprüfung zu einer tatsächlichen Sicherheitsgarantie machen.

Wie ich die Chance bewerte

Der Opportunity Score ist meine persönliche Einschätzung, keine Messung: wie stark es schmerzt, wie oft es auftritt und wie wenig heute existiert, um es zu lösen. Ein höherer Wert bedeutet, dass ich es für lohnender halte, es umzusetzen.

Schweregrad8/10

Wie viel Schmerz es verursacht, wenn es auftritt.

Häufigkeit7/10

Wie oft Menschen tatsächlich darauf stoßen.

Whitespace9/10

Wie wenig gute Werkzeuge dafür heute existieren.

Weitere lösungswürdige Probleme