Während sich viele Technologien bereits über Jahre etabliert haben und immer wieder Verwendung finden, werden auch ständig neue entwickelt, um bestehende Probleme zu lösen oder elegantere Lösungen zu finden. Eine dieser Lösungen, die in den letzten Jahren enorm an Bedeutung und vor allem an Bekanntheit gewonnen hat, ist die Blockchain. Grundliegend ist die Blockchain als eine Art verteilte Datenbank zu beschreiben, die allerdings nicht zentral auf einem Server verwaltet wird, sondern dezentral über ein sogenanntes Peer-to-Peer Protokoll gleichzeitig auf dem Computer jedes Teilnehmers des Netzwerks existiert. Das Protokoll stellt ebenso sicher, dass zwar jeder Teilnehmer Datensätze hinzufügen darf, jedoch niemand diese entfernen kann, was als “Immutability” beschrieben wird (also der Unveränderlichkeit). Da mittlerweile selbst Programmcodes (sogenannte Smart Contracts) in der Blockchain abgelegt und betrieben werden können, sind auch diese Programme dort nicht mehr veränderbar. Dies hat in der Vergangenheit schon mehrfach dazu geführt, dass Dritte Fehler in Smart Contracts aufgedeckt haben, diese für ihre Zwecke missbraucht haben und somit mehrere Millionen Euro finanzieller Assets stehlen konnten. Prominente Beispiele hierfür waren der
“The DAO” Hack von 2016 oder
Parity’s Multi-Sig Hack von 2017.
Was ist ein Smart Contract Audit?
Da die Blockchain als technologisches Mittel jedoch eine einzigartige und wichtige Lösungen ist, auf der in der Zukunft viele Betriebe und Start-Ups aufbauen, ist es von höchster Priorität und in unser aller Interesse, dass gerade der Programmcode dieser Smart Contracts höchsten Standards entspricht und auf Herz und Nieren getestet wird, bevor er Verwendung findet.
Ein sogenannter Smart Contract Audit ist ein verbreitetes Mittel, um den oben genannten Gefahren entgegenzuwirken. Hierbei wird der Programmcode des Smart Contracts durch ein Team an Experten auf eventuelle Fehler und Schwachstellen geprüft und analysiert. In vielen Fällen wird zudem das Protokoll, das dieser Smart Contract implementiert, in Hinblick auf spieltheoretische Modelle und weitere Mechanismen untersucht.
Die Vorteile eines Audits
Diese Vorgehensweise erfüllt gleich mehrere Zwecke. Neben dem weiteren Augenpaar welches sich den Programmcode anschaut und externes Feedback liefert, werden oft auch Bereiche und Aspekte der Smart Contracts beleuchtet, die bei der Entwicklung selbst oftmals nicht ausreichend bedacht werden. Dies ist vollkommen normal: ein professioneller Auditor hat immer einen etwas anderen und geschärften Blick auf Dinge wie zum Beispiel Bugs oder bekannte Schwachstellen, die für einen Entwickler oftmals bei der Entwicklung nicht von Vorrang sind.
Ein weiterer großer Vorteil eines Audits ist das Vertrauen der Nutzer. Erfahrene Nutzer erwarten von einem Blockchain Projekt meist, dass sie einen professionellen Audit ihrer Smart Contracts vorweisen können, bevor diese eine Nutzung in Betracht ziehen. Gerade neue und unbekannte Projekte können so durch einen professionellen Audit oftmals die Einstiegshürde für potentielle Nutzer in Hinblick auf Vertrauen deutlich verringern.
Manuell oder Automatisiert?
Während heutzutage ein großer Trend in Richtung Automatisierung besteht, gibt es immer noch Prozesse, bei denen ein manuelles Vorgehen von Vorteil ist. Zwar gibt es auch heute schon Tools, die eine automatisierte Überprüfung von Smart Contracts versprechen und sowohl Fehler als auch Schwachstellen erkennen, jedoch sind diese noch weit davon entfernt, einen professionellen Audit durch einen Experten ersetzen zu können. In der Praxis hat es sich jedoch als sinnvoll erwiesen, beide Methoden parallel anzuwenden, um die Vorteile der beiden Methoden bestmöglich auszunutzen. Während das automatisierte Tool programmatische Fehler oftmals aufdecken kann, findet der Mensch hingegen einfacher Logik- und Protokoll-Fehler.
Warum ditCraft?
Als führender Software Testing as a Service Provider bieten wir mit ditCraft auch Smart Contract Audits für Blockchain Projekte an. Unsere Experten mit langjähriger Erfahrung in den Bereichen der Smart Contract Programmierung, der Protokoll-Entwicklung und des Designs spieltheoretischer Inzentivierungsmodelle helfen Ihnen gern dabei, Ihre Smart Contracts auf den neuesten Stand der Technik zu bringen und Sicherheitslücken zu verhindern. Zusammen legen wir den Umfang des Audits fest und beraten Sie umfänglich über die verwendeten Methoden und Tools. Da kein Blockchain-Projekt wie das andere ist, werden wir hier auch gern Ihren besonderen Wünschen gerecht und entwickeln mit Ihnen zusammen die perfekte Audit-Strategie. Abschließend erhalten Sie einen umfassenden Bericht über die Ergebnisse ihres Audits, den Sie gerne öffentlich teilen können, falls dies gewünscht ist.
Sollten Sie Interesse an Blockchain Tests oder einem Smart Contract Audit haben, möchten Sie sich einen Überblick über die Möglichkeiten für Ihr IT-Unternehmen verschaffen, so kontaktieren Sie uns doch über unser
Kontaktformular oder vereinbaren Sie
ein Beratungsgespräch über unseren Kalender.
x
Einschätzungsumfrage
In Zeiten der Digitalisierung und einer rapiden Nachfrage nach immer mehr Software-Produkten ist der Druck auf vielen Firmen groß. Ein oft unterschätztes, jedoch nicht zu vernachlässigendes Thema ist hierbei das Software Testing. Sie wollten schon immer wissen, wie Sie in diesem Bereich aufgestellt sind? Die Umfrage dauert nur eine Minute!