Ein Smart Contract Audit ist eine umfassende methodische Untersuchung und Analyse des Codes eines Smart Contracts, der für die Interaktion mit einer Kryptowährung oder Blockchain verwendet wird. Dabei werden Fehler, Probleme und Sicherheitslücken im Code aufgedeckt, um Verbesserungsvorschläge und Möglichkeiten zu ihrer Behebung zu erarbeiten. In der Regel sind Smart Contract-Prüfungen notwendig, weil die meisten Verträge mit finanziellen Vermögenswerten und/oder wertvollen Gegenständen zu tun haben. Solche Prüfungen sind komplex, da Smart Contracts oft miteinander interagieren und auch die Integration von Systemen Dritter das System angreifbar machen kann. Aus diesem Grund werden die Prüfungen oft auf andere Smart Contracts ausgeweitet, die an den Interaktionen beteiligt sind, und sogar auf diejenigen, mit denen die Smart Contracts interagieren, mit denen sie interagieren. Smart Contracts verwalten oft riesige Geldmengen, und ein einziger Fehler oder eine Schwachstelle kann zu großen Verlusten führen. Die Empfehlungen der Prüfer werden dem Projektteam im Voraus mitgeteilt und die entsprechenden Maßnahmen im Abschlussbericht festgehalten. Er gilt als Zeichen der Authentizität und Integrität für das Projekt. Aus diesem Grund sind die Teams sehr daran interessiert, ein Audit zu erhalten, um das Vertrauen der Nutzer/innen zu gewinnen und die Glaubwürdigkeit des Projekts zu erhöhen. Diese Audits werden in der Regel in mehreren Schritten durchgeführt. Der erste Schritt besteht darin, dass sich das Team und die Auditgruppe auf den Umfang und die Spezifikationen des Audits einigen. Das bedeutet, dass das Design, der Zweck, die Architektur und andere Details des Smart Contracts an die Prüfer/innen weitergegeben werden. Als Nächstes folgt die Testphase, in der die Prüfer die einzelnen Funktionen (Unit-Tests) und dann größere Teile (Integrationstests) testen. Automatisierte Fehlererkennungs- und Analysetools werden auch eingesetzt, um nach allgemein bekannten Schwachstellen in den Verträgen zu suchen. Schließlich untersuchen die Prüfer den Code manuell, um die Absichten der Entwickler zu verstehen und die Ergebnisse in diesem Kontext zu interpretieren. Schließlich wird der Bericht mit den Ergebnissen und den vom Team vorgenommenen Korrekturen erstellt. Wie wichtig Smart Code Audits sind, zeigt die Tatsache, dass die Ethereum-Kette im Jahr 2016 aufgrund einer von einem Angreifer ausgenutzten Schwachstelle gespalten wurde, wodurch Millionen von Dollar in Gefahr gerieten. Ein "rekursiver Aufruffehler" ermöglichte es dem Angreifer, den demokratischen Hedge Fund "DAO" um Millionen von Dollar an ETH zu bringen. Die darauffolgenden Aktionen der Gemeinschaft, ob die Gelder zwangsweise zurückgegeben werden sollten, führten zu Unstimmigkeiten und einer Hard Fork.Smart Code Audits werden in der aufkeimenden DeFi-Branche immer wichtiger, da fehlerhafte Smart Contracts oft in aller Eile veröffentlicht werden, um die Nachfrage der Investoren zu befriedigen. Dies hat im Jahr 2020 zu einer Reihe kostspieliger Hacks in Millionenhöhe geführt, vor allem bei Harvest, Yam Finance, bZx, Balancer und Eminence.