Kryptorecht/Niveau V · Entwickler und Emittenten/5.3 Werbung und Haftung/Lektion 5
Smart-Contract-Audits und ihre Versprechen
Was ein Code-Audit tatsächlich abdeckt, warum „geprüft“ keine Garantie ist, wer sich auf den Bericht verlassen kann und wie Aussagen zu Audits Haftungsrisiken für Projekte begründen.
Bildung statt Rechts-, Steuer- oder Anlageberatung. Das Kryptorecht unterscheidet sich von Land zu Land und von Bundesstaat zu Bundesstaat und ändert sich häufig. Prüfen Sie die an Ihrem Wohnort geltenden Regeln mit einem qualifizierten Anwalt oder Steuerberater, bevor Sie handeln.
Der schlanke Weg
Der günstigste, steuerärmste, einfachste und diskreteste Weg, den das Recht erlaubt – das Beste zuerst. Jeder Schritt nennt die Regel, auf der er beruht, und die Bedingung, unter der er rechtmäßig bleibt.
- Veröffentlichen Sie den verifizierten Quellcode in einem Block-Explorer und den geprüften Commit-Hash. Das ist kostenlos und macht jede Audit-Aussage überprüfbar – aber die Aussage muss zum deployten, nicht aktualisierten Code passen.
- Wenn Sie das Wort „geprüft“ verwenden, verlinken Sie den vollständigen Bericht und listen Sie die Befunde auf, die offen bleiben. Das Auslassen schwerwiegender, ungelöster Befunde kann irreführend sein nach FTC Act §5, Rule 10b-5 oder MiCA Artikel 7.
- Ein kleineres Projekt kann eine Prüfung eng auf die deployten Verträge beschränken und einen öffentlichen Bug-Bounty hinzufügen. Die Disclaimers des Berichts begrenzen, was er belegt – behaupten Sie also nur das, was er abdeckt.
- Eine Audit-Firma schuldet nach Bily (Cal. 1992) einfache-Fahrlässigkeit-Pflichten nur ihrem Kunden; Käufer erhalten daher selten Ersatz von Prüfern – Projekte bleiben für ihre eigenen Aussagen haftbar.
- Eine Utah-DAO benötigt eine Sicherheitsprüfung ihres öffentlichen Codes für die rechtliche Anerkennung. Veranschlagen Sie die Prüfung nur, wenn Sie diese Rechtsform wählen.
MaterialienEine veröffentlichte Smart-Contract-Sicherheitsprüfung mit ihrem Disclaimer-Abschnitt, z. B. der FraxGov-Bericht von Trail of Bits aus Mai 2023Der verifizierte Quellcode und die Adresse des deployten Vertrags in einem Block-ExplorerBily v. Arthur Young & Co., 3 Cal. 4th 370 (1992), zur Haftung von Wirtschaftsprüfern gegenüber Dritten
Neugier
- Wenn ein geprüfter Vertrag gehackt wird, können Käufer den Prüfer verklagen?
- Deckt ein Audit den Code ab, der tatsächlich in der Chain läuft?
- Kann ein Projekt allein dadurch rechtliche Probleme bekommen, dass es behauptet, geprüft zu sein?
Erkunden
- Ein Smart-Contract-Audit ist eine Sicherheitsprüfung einer bestimmten Version des Codes eines Projekts durch eine externe Firma, bezahlt vom Projekt. Es erzeugt einen Bericht mit Befunden nach Schweregrad und oft auch den Korrekturen des Projekts. Der Begriff stammt aus der Wirtschaftsprüfung, aber das Produkt ist anders: Sein Umfang, seine Dauer und ihre Methode werden von einem privaten Vertrag zwischen Prüfer und Projekt festgelegt. Käufer sehen in der Regel nur den öffentlichen Bericht. Proof-of-Reserves-Berichte, die manche Kryptobörsen ebenfalls als Audits bezeichnen, sind etwas anderes (Lektion 4.1.6).
- Der Bericht selbst benennt seine Grenzen. Die Prüfung von FraxGov durch Trail of Bits im Mai 2023 besagt beispielsweise, dass die Arbeit einem Statement of Work folgte, dass Bewertungen „zeitlich begrenzt“ sind und sich auf Informationen des Kunden stützen, und dass die Befunde „nicht als umfassende Liste von Sicherheitsproblemen betrachtet werden sollten“. Es wird auch darauf hingewiesen, dass automatisierte Werkzeuge Grenzen haben. Korrekturen werden per Commit nachverfolgt – der Bezeichner einer bestimmten Codeversion –, z. B. „Resolved in commit ed4e708“ (aufgelöst im Commit ed4e708). Ein Audit beschreibt also einen bestimmten Code zu einem bestimmten Zeitpunkt, nicht etwas, das später deployt oder aktualisiert wird.
- Geprüfter Code kann trotzdem fehlschlagen. Am 13. März 2023 verlor das Euler-Finance-Kreditprotokoll etwa 197 Millionen US-Dollar. Die Ursache war eine fehlende Health-Check-Funktion in einer Funktion namens donateToReserves, die als Teil einer Korrektur eines früheren Problems hinzugefügt und selbst geprüft worden war. Euler erklärte, es sei deutlich häufiger geprüft worden als üblich und habe einen Bug-Bounty von 1 Million US-Dollar gehabt. Bis zum 3. April 2023 hatte der Angreifer nach wochenlangen Verhandlungen Mittel im Wert von etwa 240 Millionen US-Dollar zurückgegeben. Audits reduzieren das Risiko; sie beseitigen es nicht.
- Für einen Käufer, der einen Code-Prüfer verklagen möchte, zeigt das Recht zu Wirtschaftsprüfern die wahrscheinlichen Hürden. In Bily v. Arthur Young & Co. (1992) entschied der Oberste Gerichtshof Kaliforniens, dass die Haftung eines Prüfers für einfache Fahrlässigkeit nur gegenüber seinem Kunden besteht. Andere können wegen fahrlässiger Falschdarstellung nur klagen, wenn sie spezifisch beabsichtigte Begünstigte des Berichts waren, dem der Prüfer bekannt war, und wegen vorsätzlicher Täuschung, wenn sie vorhersehbar waren. Ein Token-Käufer, der einen öffentlichen Bericht liest, müsste in der Regel mehr nachweisen als bloße Nachlässigkeit des Prüfers.
- Die eigenen Worte eines Projekts über ein Audit bergen ein größeres Risiko. „Geprüft“ oder „sicher“ zu behaupten, während schwerwiegende, ungelöste Befunde verschwiegen werden oder ein anderer Code läuft, kann eine irreführende Aussage sein. Wenn der Token ein Wertpapier ist, kann das Ansprüche nach SEC Rule 10b-5 oder section 12(a)(2) stützen (Lektion 5.3.2). Andernfalls verbietet der FTC Act „unfaire oder täuschende Handlungen oder Praktiken“ (Lektion 5.1.7), und in der EU verlangt MiCA Artikel 7, dass Werbung „fair, klar und nicht irreführend“ ist. Das Utah DAO Act, in Kraft seit dem 1. Januar 2024, verlangt sogar eine Sicherheitsprüfung des Codes einer DAO für deren rechtliche Anerkennung.
- Lesen Sie ein Audit wie einen Vertrag, nicht wie ein Abzeichen. Prüfen Sie, wer bezahlt hat, was im Umfang lag, welche Befunden korrigiert wurden, welche „anerkannt“ und offen gelassen wurden und ob die Verträge durch einen Admin-Schlüssel aktualisiert oder pausiert werden können (Lektion 5.1.5). Ein praktischer Check: Nehmen Sie den Commit-Bezeichner aus dem Bericht, öffnen Sie den deployten Vertrag in einem Block-Explorer und bestätigen Sie, dass der verifizierte Quellcode mit der geprüften Version übereinstimmt und keine spätere Aktualisierung ihn ersetzt hat. Wenn sie nicht übereinstimmen, sagt der Bericht wenig über den verwendeten Code.
Kernfakten
- Ein Smart-Contract-Audit prüft eine bestimmte Codeversion gemäß einem privaten Vertrag zwischen Prüfer und Projekt.
- Der FraxGov-Bericht von Trail of Bits aus Mai 2023 besagt, dass seine Befunde nicht als umfassende Liste von Sicherheitsproblemen betrachtet werden sollten.
- Euler Finance verlor am 13. März 2023 etwa 197 Millionen US-Dollar durch einen Fehler in einer geprüften Funktion; die Mittel wurden bis zum 3. April 2023 zurückgegeben.
- In Bily v. Arthur Young & Co. (1992) beschränkte der Oberste Gerichtshof Kaliforniens die Haftung von Wirtschaftsprüfern für einfache Fahrlässigkeit auf deren Kunden.
- Nach Bily können Dritte einen Prüfer wegen fahrlässiger Falschdarstellung nur als spezifisch beabsichtigte, dem Prüfer bekannte Begünstigte verklagen – oder wegen vorsätzlicher Täuschung.
- Das Utah Decentralized Autonomous Organizations Act, in Kraft seit dem 1. Januar 2024, verlangt, dass der öffentlich zugängliche Code einer DAO einer Sicherheitsprüfung unterzogen wurde.
Übung neun, sechs, drei, eins
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.
- Trail of Bits: FraxGov Security Assessment (May 2023)
- Euler Finance: War & Peace, behind the scenes of Euler's $240M exploit recovery
- Bily v. Arthur Young & Co., 3 Cal. 4th 370 (1992), CourtListener
- 15 U.S.C. 45 (FTC Act s.5), Cornell LII
- Utah H.B. 357 (2023), Decentralized Autonomous Organizations Amendments
- Regulation (EU) 2023/1114 (MiCA), EUR-Lex