COVER · RISIKO

Smart-Contract-Risiko

Das Programm tut, was im Code steht - nicht, was gemeint war

Was kann passieren

Ein Smart Contract lässt sich nach der Veröffentlichung in aller Regel nicht mehr ändern. Was darin steht, gilt.

Ein Fehler darin ist deshalb etwas anderes als ein Fehler in einer gewöhnlichen Anwendung. Bei einer Banking-App fällt ein Fehler auf, jemand korrigiert ihn, fertig. Bei einem Smart Contract läuft der Fehler weiter - und jeder kann den Code lesen und ihn finden.

Typischerweise passiert eines von drei Dingen:

Der Ablauf lässt sich umkehrenDas Programm zahlt aus und schreibt danach den Kontostand fort. Wer zwischen beidem erneut anfragt, bekommt erneut ausgezahlt - der Stand ist ja noch nicht aktualisiert.
Eine Rechnung stimmt nichtEin Wert wird falsch gerundet, falsch skaliert oder in der falschen Einheit verglichen. Das Programm rechnet korrekt mit einer falschen Zahl.
Eine Prüfung fehltEine Funktion, die nur der Betreiber aufrufen sollte, prüft nicht, wer sie aufruft.

In keinem dieser Fälle wurde etwas „geknackt“. Es gibt kein Passwort, das erraten wurde, und keinen Server, in den jemand eingebrochen ist. Der Angreifer benutzt das Programm genau so, wie es geschrieben ist.

Wie daraus ein finanzieller Schaden entsteht

Nicht jeder Fehler kostet Geld. Entscheidend ist, ob der Vertrag Mittel hält und ob der Fehler erlaubt, sie zu bewegen.

Wer Geld in ein Protokoll legt, übergibt es dem Vertrag. Es liegt dann nicht mehr in der eigenen Wallet, sondern im Programm. Fließt es von dort ab, gibt es keine Stelle, die es zurückholt: keine Bank, keine Rückbuchung, keine Frist.

Der Schaden trifft dabei nicht nur den, der den Fehler ausgenutzt hat oder ausnutzen ließ. Er trifft alle, deren Mittel in demselben Vertrag lagen - oft anteilig, manchmal vollständig.

Ein dokumentierter Fall

DOKUMENTIERTER FALLThe DAO, Juni 2016
The DAO war ein Smart Contract auf Ethereum, in dem Anleger gemeinsam Kapital sammelten. Am 17. Juni 2016 wurde ein Fehler in der Auszahlungsfunktion ausgenutzt: Der Vertrag überwies zuerst und aktualisierte den Kontostand danach, sodass sich dieselbe Auszahlung innerhalb eines Vorgangs mehrfach auslösen ließ. Abgeflossen sind rund 3,6 Millionen Ether von insgesamt etwa 11,5 Millionen eingelegten - ungefähr ein Drittel, zum damaligen Kurs etwa 50 Millionen US-Dollar. Der Vorfall führte zu einer Abspaltung der Ethereum-Blockchain, mit der die Auszahlungen rückgängig gemacht wurden.

Der Fall ist bis heute das Lehrbuchbeispiel, weil er beide Eigenschaften zeigt: Der Vertrag tat genau, was programmiert war, und rückgängig machen ließ sich das nur, indem die gesamte Blockchain gespalten wurde. Das ist kein Verfahren, das für einen Einzelfall zur Verfügung steht.

Kann das Gegenstand eines Covers sein?

Grundsätzlich ja. Das Smart-Contract-Risiko ist das Risiko, für das es am längsten Cover-Produkte gibt.

Der Grund liegt darin, dass es sich gut beschreiben lässt: Ein bestimmter Vertrag, unter einer bestimmten Adresse, verliert in einem bestimmten Zeitraum Mittel. Das ist eine Bedingung, die sich nachprüfen lässt - auf der Blockchain ist jede Bewegung sichtbar.

DER NÜTZLICHSTE TEIL

Was das Wording beantworten muss

Sieben Fragen. Wer sie an einem konkreten Produkt durchgeht, weiß mehr als aus jeder Produktbeschreibung.

Welcher Vertrag genau?Eine Adresse, nicht ein Produktname. Protokolle bestehen aus mehreren Verträgen - gedeckt sind selten alle.
Was zählt als Ereignis?Reicht ein Mittelabfluss? Muss er dauerhaft sein? Muss er einen Mindestbetrag überschreiten?
Ab wann gilt es als eingetreten?Mit der Transaktion, mit der Feststellung, oder erst mit einer Bestätigung durch eine benannte Stelle?
Was ist ausgeschlossen?Häufig ausgenommen: Kursverluste, Fehler des Nutzers, Angriffe auf die Blockchain selbst, Vorgänge außerhalb des genannten Vertrags.
Was, wenn Mittel zurückkommen?Bei größeren Vorfällen wird ein Teil manchmal zurückgegeben. Mindert das die Leistung, und wie wird das gerechnet?
Wer stellt fest, dass etwas passiert ist?Der Anbieter, eine Abstimmung, ein Gutachter - und wie lange darf das dauern?
Worauf lautet die Leistung?Auf denselben Token, auf einen Stablecoin oder auf einen Betrag? Und zu welchem Kurs?
VORAUSGESETZT

Begriffe, die hier vorkommen

  • Smart Contract

    Was das ist, warum es sich nicht ändern lässt und wieso jeder den Code lesen kann.

  • Protokoll

    Mehrere Smart Contracts, die zusammen eine Anwendung ergeben.

  • Wallet

    Wo die eigenen Werte liegen, solange sie nicht in einem Vertrag liegen.