TL;DR (ZUSAMMENFASSUNG)

Ein Sicherheitsaudit für intelligente Verträge bietet eine detaillierte Analyse der intelligenten Verträge eines Projekts. Diese Verträge sind wichtig, um die durch sie investierten Mittel zu schützen. Da alle Transaktionen auf der Blockchain endgültig sind, können Gelder im Falle eines Diebstahls nicht wiederhergestellt werden. In der Regel prüfen Prüfer den Smart-Contract-Code, schreiben einen Bericht und stellen ihn dem Projekt zur Verfügung, damit er damit arbeiten kann. Anschließend wird ein Abschlussbericht veröffentlicht, in dem alle ausstehenden Fehler und bereits durchgeführten Arbeiten zur Behebung von Leistungs- oder Sicherheitsproblemen aufgeführt sind.


Einführung

Sicherheitsüberprüfungen intelligenter Verträge sind im Decentralized Finance (DeFi)-Ökosystem weit verbreitet. Wenn Sie in ein Blockchain-Projekt investiert haben, basiert Ihre Entscheidung möglicherweise teilweise auf den Ergebnissen einer Überprüfung des Smart-Contract-Codes.

Während die meisten Menschen die Bedeutung von Audits für die Cybersicherheit verstehen, überprüfen nicht viele Codezeilen. Werfen wir einen Blick auf die Methoden, Tools und Ergebnisse, die typischerweise bei Smart-Contract-Sicherheitsaudits auftreten, damit Sie fundiertere Entscheidungen treffen können.


Was ist ein Smart-Contract-Audit?

Bei einem Smart-Contract-Sicherheitsaudit wird der Smart-Contract-Code eines Projekts untersucht und kommentiert. Diese Verträge werden normalerweise in der Programmiersprache Solidity geschrieben und über GitHub bereitgestellt. Sicherheitsüberprüfungen sind besonders wertvoll für DeFi-Projekte, die Blockchain-Transaktionen im Wert von mehreren Millionen Dollar oder einer großen Anzahl von Teilnehmern abwickeln möchten. Audits folgen in der Regel einem vierstufigen Prozess:

1. Smart Contracts werden dem Prüfteam zur ersten Analyse zur Verfügung gestellt.

2. Das Auditteam präsentiert seine Erkenntnisse dem Projekt, damit es entsprechend handeln kann.

3. Das Projektteam nimmt basierend auf den gefundenen Problemen Änderungen vor.

4. Das Auditteam erstellt seinen Abschlussbericht unter Berücksichtigung neuer Änderungen oder offener Fehler.

Für viele Benutzer von Kryptowährungen sind intelligente Vertragsprüfungen unerlässlich, wenn sie in neue DeFi-Projekte investieren. Es ist zum Standard für Projekte geworden, die ernst genommen werden wollen. Bestimmte Prüfungsdienstleister gelten auch als Branchenführer, was ihre Prüfungen in den Augen der Anleger wertvoller macht.


Warum brauchen wir intelligente Vertragsprüfungen?

Da große Wertbeträge gehandelt oder in Smart Contracts gebunden werden, werden sie zu attraktiven Zielen für böswillige Hackerangriffe. Kleinere Programmierfehler können zum Diebstahl großer Geldsummen führen. Beispielsweise verursachte der DAO-Hack der Ethereum-Blockchain einen Verlust von etwa 60 Millionen US-Dollar an der ETH und führte sogar zu einem Hard Fork des Ethereum-Netzwerks.

Da Blockchain-Transaktionen irreversibel sind, ist es wichtig sicherzustellen, dass der Code eines Projekts sicher ist. Die hohe Sicherheit der Blockchain-Technologie macht es schwierig, Gelder zurückzugewinnen und Probleme im Nachhinein zu lösen. Daher ist es am besten, Schwachstellen um jeden Preis zu verhindern.


Wie funktionieren intelligente Vertragsprüfungen?

Der Prozess einer intelligenten Vertragsprüfung ist bei Prüfungsanbietern ziemlich Standard. Auch wenn der Ansatz jedes Prüfers leicht unterschiedlich sein kann, ist der typische Prozess wie folgt:

1. Bestimmen Sie den Umfang des Audits. Die Smart Contract- und Projektspezifikationen werden durch das Projekt (seinen beabsichtigten Zweck) und die Gesamtarchitektur definiert. Eine Spezifikation hilft dem Prüfteam, die Projektziele beim Schreiben und Verwenden des Codes zu verstehen.

2. Erstellen Sie ein erstes Angebot basierend auf dem erforderlichen Arbeitsaufwand.

3. Führen Sie Tests durch. Die genaue Art der Prüfung hängt vom Prüfteam, seinen Analysetools und seinen Methoden ab. Typischerweise werden sowohl manuelle als auch automatisierte Tests durchgeführt.

4. Erstellen Sie einen ersten Entwurf des Berichts mit den gefundenen Fehlern und übergeben Sie ihn dem Projektteam für Feedback und Folgekorrekturen.

5. Veröffentlichen Sie den Abschlussbericht und berücksichtigen Sie dabei alle Maßnahmen, die das Team zur Lösung der aufgeworfenen Probleme ergriffen hat.


Intelligente Vertragsprüfungsmethoden

Gaseffizienz

Intelligente Vertragsprüfungen konzentrieren sich nicht nur auf die Blockchain-Sicherheit. Sie bewerten auch Effizienz und Optimierung. Einige Verträge führen eine komplizierte Reihe von Transaktionen durch, um ihre beabsichtigte Funktion zu erfüllen. Da die Gasgebühren in Netzwerken wie Ethereum relativ teuer sind, können effiziente Verträge viel bei den Transaktionskosten einsparen.

Die Optimierung seiner Leistung ist auch ein Indikator für die Fähigkeiten des Entwicklers. Ineffiziente Schritte bieten mehr Raum für Fehler, die vermieden werden sollten. Wenn die Gaskosten hoch sind, werden intelligente Verträge möglicherweise nicht ausgeführt, insbesondere dann, wenn ein niedriges Gaslimit verwendet wird.

Vertragsschwachstellen

Der Großteil der Arbeit bei Audits besteht darin, Verträge auf Sicherheitslücken zu prüfen. Während einige Probleme leicht zu erkennen sind, erfordern viele Exploits fortschrittliche Techniken und Strategien, um Geld abzuschöpfen. Beispielsweise kann Marktmanipulation mit schwachen Smart Contracts genutzt werden, um Flash-Loan-Angriffe durchzuführen. Um diese Probleme zu finden, initiieren Prüfer den Verstoßtestprozess und simulieren böswillige Angriffe auf den Smart Contract. Zu den häufigsten Schwachstellen gehören:

1. Wiedereintrittsprobleme: Wenn ein Smart Contract einen externen Aufruf an einen anderen externen Vertrag durchführt, bevor die Auswirkungen gelöst werden. Der externe Vertrag ruft möglicherweise rekursiv den ursprünglichen Smart-Vertrag auf und interagiert mit ihm auf eine Art und Weise, wie dies nicht der Fall sein sollte, da der Saldo des ursprünglichen Vertrags noch nicht aktualisiert wurde.

2. Ganzzahlüberläufe und -unterläufe: Wenn ein Smart Contract eine arithmetische Operation ausführt, das Ergebnis jedoch die Speicherkapazität überschreitet (normalerweise 18 Dezimalstellen). Dies kann dazu führen, dass falsche Beträge berechnet werden.

3. Möglichkeiten im Vorfeld: Schlecht strukturierter Code kann frühzeitige Warnungen vor Marktkäufen oder -verkäufen liefern. Dies wiederum kann es anderen ermöglichen, die Informationen zu ihrem eigenen Vorteil zu nutzen und zu handeln.

Sicherheitslücken der Plattform

Die meisten Audits umfassen die Betrachtung des Netzwerks, das die Verträge hostet, und sogar der API, die für die Interaktion mit der DApp verwendet wird. Ein Projekt ist möglicherweise anfällig für einen DDoS-Angriff oder die Benutzeroberfläche seiner Website ist kompromittiert, was bedeutet, dass Benutzer ihre Wallets mit bösartigen Blockchain-Anwendungen verbinden.


Was ist ein Auditbericht?

Der Auditbericht wird am Ende des Auditprozesses bereitgestellt. Für mehr Transparenz wird von den Projekten erwartet, dass sie ihre Ergebnisse mit der Community teilen. Die meisten Berichte klassifizieren Probleme nach Schweregrad, z. B. kritisch, schwerwiegend, geringfügig usw. Im Bericht wird auch der Status des Problems aufgeführt, da die Projekte Zeit haben, das Problem zu lösen, bevor der Abschlussbericht veröffentlicht wird.

Neben einer Zusammenfassung enthält ein Standardbericht Empfehlungen, Beispiele für redundanten Code und eine vollständige Aufschlüsselung der Programmierfehler. Dem Projekt wird Zeit gegeben, die Ergebnisse des Berichts umzusetzen, bevor die endgültige Version veröffentlicht wird.


Wo kann ich ein Smart Contract Audit durchführen lassen?

Mehrere intelligente Vertragsprüfungsdienste sind für ihren Service bekannt. Zwei von ihnen erfreuen sich besonders großer Beliebtheit, und um eine Prüfung zu erhalten, sind ein erstes Angebot und die Bereitstellung vorheriger Informationen erforderlich.

CertiK

CertiK ist ein Branchenführer, wenn es um intelligente Vertragsprüfungen geht. Hunderte von Projekten haben ihre Smart Contracts mit CertiK geprüft. Ein Beispiel ist PancakeSwap, der größte Automated Market Maker (AMM) von BSC. Nachfolgend finden Sie einen Abschnitt des Certik-Audits zu PancakeSwap.


Darüber hinaus wurden die Verträge der überwiegenden Mehrheit der von Binance Labs unterstützten Projekte mit CertiK geprüft. CertiK veröffentlicht eine Rangliste der geprüften Projekte, die Ihnen einen Vergleich der einzelnen Projekte sowie eine Sicherheitsbewertung ermöglicht. Beachten Sie, dass CertiK neben Ethereum auch BSC- und Polygon-Projekte abdeckt.


ConsenSys Sorgfalt

Unter der Leitung von Joseph Lubin, Mitbegründer von Ethereum, ist ConsenSys einer der größten Namen der Kryptowährungsbranche in der Blockchain-Entwicklung. Im Rahmen von ConsenSys Diligence bietet das Unternehmen Prüfungen von Ethereum-Smart-Verträgen an. Sie bieten außerdem einen automatisierten Dienst an, der die Verträge der Ethereum Virtual Machine (EVM) auf häufige Fehler überprüft.


Wie viel kostet ein Smart-Contract-Audit?

Die genauen Kosten eines Audits hängen von der Anzahl der zu bewertenden Smart Contracts ab. Normalerweise kostet eine Prüfung Tausende von Dollar. Ein besonders großes Projekt kann leicht mehr als 10.000 US-Dollar kosten. Auch das Unternehmen, das Ihre Prüfung durchführt, und sein Ruf wirken sich auf den Betrag aus, den Sie zahlen müssen.


Schlussfolgerungen

Zum Glück für Investoren und Nutzer sind intelligente Vertragsprüfungen zum Goldstandard geworden. Wenn jedoch für jedes Projekt ein Audit durchgeführt wird, ist dies kein einfacher Indikator mehr für den Wert. Daher ist es äußerst wichtig, dass Sie den Auditbericht lesen. Auch wenn Sie nicht über die technischen Kenntnisse verfügen, ist es hilfreich, einen Blick auf das Feedback und die Schwere potenzieller Probleme zu werfen.

Jedes Mal, wenn Sie jetzt auf einen Prüfbericht stoßen, können Sie dessen Inhalt zumindest ein wenig besser verstehen. Bevor Sie eine Investitionsentscheidung treffen, achten Sie wie immer darauf, das Gesamtbild zu betrachten und alle verfügbaren Informationen zu berücksichtigen.