9th November, 2020 —

Evaluating_Smart_Contract_Security_Article_Image

”Code ist Gesetz”. Dieses (kontroverse) Mantra weist auf ein spezifisches Merkmal eines nicht vertrauensbasierten und rein auf Codes beruhenden Systems hin: Gegen die Ausnutzung (Exploits) von Fehlern in Smart Contracts können keine direkten Regressansprüche gestellt werden. Daher ist das Risiko von Smart Contracts ein wichtiger Faktor, der bei der Nutzung von Blockchains mit solchen Verträgen zu berücksichtigen ist.

Während des jüngsten Hypes um Decentralized Finance (DeFi) – im Deutschen dezentralisierte Finanzen – flossen Millionen von Dollar in Smart Contracts; häufig ohne Prüfung durch anerkannte Unternehmen. Ein Teil der DeFi-Renditen wird wohl dadurch generiert, dass das Risiko von Smart Contracts stets bestehen bleibt – jeder Code kann schliesslich Fehler enthalten. Somit stellt sich die Frage: Wie kann beurteilt werden, wie riskant ein bestimmter Smart Contract ist?

 

Smart Contract Audits
Traditionell ist der erste Faktor, auf den es zu achten gilt, ein eingehendes, qualitativ hochwertiges Audit (oder mehrere Audits), anhand derer mögliche Exploits aufgedeckt werden können. Technisch gesehen kann es sich dabei um einfache Fehler im Code handeln, durch die Vertragsguthaben gesperrt oder entwendet werden könnten. Allerdings ist auch die finanzielle Dimension zu berücksichtigen: Gibt es in der Gestaltung bestimmte Eigenschaften, die es einem böswilligen Akteur ermöglichen, das System zu Profitzwecken auszunutzen?

Auch der Grad der Dezentralisierung (existieren sogenannte Admin-Schlüssel, die uneingeschränkte Befugnisse gewähren?) und die möglichen Auswirkungen von Governance-Entscheidungen sind einzukalkulieren. Die Governance von Protokollen liegt häufig in den Händen von Token-Inhabern (z. B. einer dezentralisierten autonomen Organisation, einer DAO). In diesem Fall können Sicherheitsmassnahmen wie eine zeitlich verzögerte Umsetzung der Governance-Entscheidung den Protokollbenutzern genügend Zeit lassen, darauf zu reagieren.

Die Beurteilung des Smart Contract Risikos bleibt jedoch insgesamt eine hochkomplexe Angelegenheit, und nur eine kleine Minderheit von Krypto-Nutzern wird dieses Risiko selbst richtig beurteilen können. Daher könnte eine einfachere Möglichkeit, die Sicherheit eines Smart Contracts zu beurteilen, eine Ergänzung der grundlegenden Untersuchung durch Audits sein.

 

Der spieltheoretische Ansatz
Aus Sicht der Spieltheorie ist die Sicherheit eines Smart Contract eine Funktion seiner Laufzeit sowie des durch den Vertrag gesperrten/abgesicherten Gesamtwerts. Dies lässt sich anhand eines intuitiven Beispiels veranschaulichen: Stellen Sie sich einen Akteur vor, der 10 Mio. USD in einen von zwei Smart Contracts platzieren muss. Jeder der beiden Smart Contracts umfasst bereits USD 100 Millionen, aber der erste Smart Contract bereits seit einem Jahr, während der zweite Vertrag lediglich eine Woche alt ist. Sofern keine weiteren Informationen vorliegen, müsste die Wahl in diesem Beispiel logischerweise auf den ersten Smart Contract fallen. Im umgekehrten Fall kann auch der gesperrte Wert berücksichtigt werden, wenn beide Verträge seit einem Jahr bestehen, einer jedoch 100 Mio. USD und der andere lediglich 10 Mio. USD gesperrt hat. Mathematisch gesehen ist die Sicherheit von Smart Contracts das Integral über die Zeit der gesamten (zeitabhängigen) Funktion des gesperrten Werts.

Abbildung 1: Die Sicherheit von Smart Contracts steigt sowohl im Zeitverlauf als auch mit einem höheren, durch den Smart Contract gesicherten Geldbetrag.
Evaluating_Smart_Contract_Security_illustration_01
Quelle: Bitcoin Suisse Research

Bei Smart Contracts, die hohe Geldbeträge absichern, handelt es sich im Wesentlichen um ein unbefristetes Bug-Bounty-Programm (Kopfgeld-Programm für Programmfehler), bei dem die maximale Belohnung der Wert ist, der im Smart Contract gesperrt ist. Flash-Darlehen – die es jedermann ermöglichen, unbegrenzte Beträge zu leihen, allerdings nur, wenn das Darlehen innerhalb desselben Blocks bzw. derselben Transaktion zurückgezahlt wird – haben die Ausnutzung von Fehlern kapitaleffizienter gemacht. Das Bug-Bounty-Programm steht daher jedem Akteur weltweit offen, und zwar unabhängig von seinem verfügbaren Kapital.

Mit dem DeFi-Boom in den letzten Monaten sind die Prämien auf ein Vielfaches ihres bisherigen Niveaus gestiegen. Zwar lautete der Grossteil des gesperrten Werts 2018/2019 auf Maker. Seit Beginn des Liquidity Mining bei Compound haben aber alle Hauptprotokolle ihren gesperrten Gesamtwert (TVL) auf über 500 Mio. USD erhöht.

Abbildung 2: Der gesperrte Gesamtwert (Total Value Locked, TVL) – und damit die Prämie für das Auffinden katastrophaler Exploits – ist in den letzten Monaten gestiegen. Am TVL gemessen führte Maker in den Jahren 2018 und 2019 das DeFi-Ranking an.
Evaluating_Smart_Contract_Security_illustration_02
Quelle: defipulse.com, Bitcoin Suisse Research

Basierend auf diesen Daten und den vorangehenden Überlegungen kann durch Summierung des im Zeitverlauf gesperrten Werts ein “Ranking” für die Sicherheit von Smart Contracts in DeFi-Protokollen erstellt werden. In diesem Artikel wurden die 15 wichtigsten Protokolle nach TVL berücksichtigt, aber die Methodik ist leicht auf Hunderte von Verträgen anwendbar.

Abbildung 3: Im Ranking der Smart Contract Sicherheiten nach der oben beschriebenen Methode stehen Maker, Compound und Synthetix an den ersten Stellen. Der Wert von Maker wurde auf 100 normiert.
Evaluating_Smart_Contract_Security_illustration_04
Quellen: defipulse.com, Bitcoin Suisse Research. Die Formel zur Berechnung des Sicherheitswerts lautet: 100*Summe der täglichen TVL(Projekt)/Summe der täglichen TVL(Maker).

In diesem Sicherheitsmodell belegen die DeFi-Schwergewichte Maker, Compound, Synthetix, Aave und Uniswap die ersten fünf Plätze.

 

Schwachstellen des Modells

Das Modell ist aufgrund seiner Einfachheit sowohl für die Design- als auch die Sicherheitsbewertung von Vorteil. Die Vereinfachung beruht jedoch auf mehreren Kompromissen, weshalb das Modellergebnis nur als grobe Schätzung für die Sicherheit eines Smart Contract angesehen werden sollte.

Dies sind einige der vom Modell gemachten Kompromisse und Annäherungen:

  • Upgrades und die Erweiterungsfähigkeit von Smart Contracts werden nicht berücksichtigt (wie z. B. der Wechsel bei Maker von einer reinen Absicherung durch ETH zu Multi-Collateral DAI).
  • Das Modell berücksichtigt keine früheren Exploits und deren Fehlerbehebungen, die den Wert eigentlich auf null zurücksetzen sollten.
  • Die Kombinierbarkeit von DeFi wird ausser Acht gelassen – Yearn (#7) beispielsweise verwendet im Hintergrund eine Vielzahl von anderen Protokollen auf der Liste und sollte daher niemals höher bewertet werden als ein von ihm verwendetes Protokoll.

Weitere Verfeinerungen sind jedoch möglich. Beispielsweise könnte untersucht werden, ob die Laufzeit stärker gewichtet werden sollte (“Haben 100 Mio. USD, die eine Woche lang gesperrt werden, den gleichen Wert wie über zehn Wochen gesperrte 10 Mio. USD?“). Ein weiterer Faktor könnte sein, ob die marginalen Vorteile für TVL abnehmen, sobald eine kritische Schwelle überschritten wird, denn eine 100 Mio. USD schwere “Bug Bounty” zieht ebenso viele kompetente Player an wie Prämien in Höhe von einer Milliarde USD.

Darüber hinaus könnte das Modell auch auf Smart Contract Wallets angewendet werden, sowie auf Smart Contracts, die den Wert nicht direkt ”sperren”, sondern bedeutende Transfervolumen abwickeln (z. B. sogenannte Relayer Smart Contracts).

Fazit

Das Modell, gemäss dem die Sicherheit von Smart Contracts unter spieltheoretischen Gesichtspunkten beurteilt und versucht wird, die Sicherheit anhand einer Kombination aus Laufzeit und gesperrtem Wert zu messen, ist vom Design her unkompliziert und hochgradig skalierbar, da alle notwendigen Daten ohne weiteres auf der Blockchain verfügbar sind. Das Modell kann somit dazu dienen, eine erste rasche Abschätzung der Sicherheit eines Smart Contract vorzunehmen. Eine ausführliche Bewertung des Risikos von Smart Contracts ist jedoch nach wie vor eine komplexe Angelegenheit und sollte stets durch eine fundamentale Risikoanalyse ergänzt werden.

  1. Homepage
  2. Research
  3. Wie sicher sind Smart Con...