Orakel
Ein Orakel ist ein Dienst, der Blockchains mit Informationen aus der Außenwelt versorgt – Preisen, Wetter, Sportergebnissen oder Daten anderer Blockchains –, die Smart Contracts nicht selbst abrufen können. Blockchains sind bewusst abgeschottete Systeme: Jeder Node muss identische Ergebnisse berechnen, daher können Contracts keine Webanfragen stellen oder etwas Off-Chain beobachten. Orakel schließen diese Lücke, indem sie externe Daten in einer für Contracts lesbaren Form in die Blockchain schreiben.
Der Einsatz ist hoch, denn ein Contract ist nur so vertrauenswürdig wie seine Eingaben – das „Orakelproblem“. Eine einzelne Datenquelle ist ein einzelner Ausfallpunkt, daher dezentralisieren ernsthafte Designs: Chainlink, das am weitesten verbreitete Orakel-Netzwerk, aggregiert Preise vieler unabhängiger Node-Betreiber und Datenanbieter zu On-Chain-Feeds, und Pyth leitet Preise weiter, die von Handelshäusern und Börsen beigesteuert werden. Ein DeFi-Kreditmarkt wie Aave verlässt sich zum Beispiel auf Orakel-Preis-Feeds, um zu entscheiden, wann die Sicherheiten eines Kreditnehmers so weit gefallen sind, dass eine Liquidation ausgelöst wird; würde der Feed den Preis falsch melden, könnten Positionen zu Unrecht liquidiert oder das Protokoll leergeräumt werden.
Orakel-Manipulation ist eine reale Angriffsklasse – mehrere DeFi-Exploits funktionierten, indem sie einen dünn gehandelten Preis verzerrten, den ein Protokoll naiv als Orakel verwendete, und dann gegen den falschen Wert Kredite aufnahmen. Ein verbreiteter Irrtum ist, dass Orakel die Wahrheit überprüfen; sie geben lediglich weiter und aggregieren, was Quellen melden, ihre Sicherheit beruht also auf der Unabhängigkeit und Ehrlichkeit dieser Quellen. Über Preise hinaus liefern Orakel auch überprüfbare Zufallszahlen für Gaming und NFTs und lösen Contracts bei realen Ereignissen wie Flugverspätungen für parametrische Versicherungen aus.