Was sind Oracles? Blockchain-Orakel einfach erklärt
Kurz erklärt
Ein Oracle ist ein Dienst, der Informationen von außerhalb auf die Blockchain bringt, zum Beispiel den aktuellen Preis von Ether in US-Dollar. Smart Contracts können solche Daten nicht selbst abrufen. Kreditplattformen, Stablecoins und viele andere DeFi-Anwendungen hängen deshalb davon ab, dass ihre Oracles korrekte Daten liefern.
Das Oracle-Problem
Ein Smart Contract läuft auf Tausenden Computern gleichzeitig, und alle müssen zum exakt selben Ergebnis kommen. Deshalb darf er nicht einfach eine Webseite abfragen: Jeder Computer könnte zu einem anderen Zeitpunkt eine andere Antwort bekommen.
Ein Smart Contract kennt also nur, was bereits auf der Blockchain steht. Er weiß nicht, wie viel ein Euro wert ist, wie ein Fußballspiel ausging oder wie das Wetter ist. Ein Oracle schließt diese Lücke, indem es solche Daten als Transaktion auf die Blockchain schreibt.
Wie Oracles funktionieren
Ein einzelner Datenlieferant wäre ein Schwachpunkt: Wer ihn kontrolliert, kontrolliert alle Anwendungen, die ihm vertrauen. Gute Oracles sind deshalb selbst dezentral aufgebaut:
- Viele unabhängige Betreiber, sogenannte Nodes, holen Preise von verschiedenen Börsen und Datenquellen.
- Ihre Angaben werden zusammengeführt, zum Beispiel über den Median. Ausreißer fallen dadurch heraus.
- Das Ergebnis wird auf die Blockchain geschrieben, entweder in festen Abständen oder sobald sich der Preis um einen bestimmten Prozentsatz ändert.
Die Betreiber werden für ihre Arbeit bezahlt und riskieren bei falschen Angaben, Einnahmen oder hinterlegte Sicherheiten zu verlieren.
Wofür DeFi Oracles braucht
- Lending: Plattformen müssen den Wert der Sicherheiten kennen, um zu entscheiden, wann eine Liquidation fällig ist. Siehe Krypto-Lending.
- Stablecoins: Durch Krypto gedeckte Stablecoins brauchen den Preis ihrer Sicherheiten. Siehe Was sind Stablecoins?
- Derivate: Wetten auf steigende oder fallende Kurse brauchen einen verlässlichen Referenzpreis.
- Versicherungen und Wetten: Die Auszahlung hängt von Ereignissen außerhalb der Blockchain ab.
- Zufallszahlen: für Spiele und Verlosungen, die nicht vorhersagbar sein dürfen
- Verbindungen zwischen Blockchains: Manche Oracles übertragen auch Nachrichten zwischen Netzwerken. Siehe Layer 2 und Bridges.
Bekannte Oracles
- Chainlink ist das am weitesten verbreitete Oracle-Netzwerk und liefert Preise für viele große DeFi-Plattformen.
- Pyth ist vor allem auf schnelle Preisdaten spezialisiert, die direkt von Handelsfirmen und Börsen stammen.
- Manche Anwendungen nutzen Preise von dezentralen Börsen als Oracle, oft als Durchschnitt über einen Zeitraum.
Die Gefahr: Oracle-Manipulation
Wenn ein Oracle einen falschen Preis meldet, handeln alle Smart Contracts, die ihm vertrauen, auf dieser falschen Grundlage. Besonders anfällig sind Oracles, die einfach den aktuellen Preis einer einzelnen dezentralen Börse übernehmen. Wer genug Kapital hat, kann diesen Preis für einen Moment verschieben.
Genau das passierte im Oktober 2022 bei der Plattform Mango Markets: Ein Händler trieb den Preis eines wenig gehandelten Tokens kurzfristig massiv nach oben, lieh sich gegen seine scheinbar wertvollen Bestände Geld und zog über 100 Millionen Dollar ab.
Das nötige Kapital für solche Angriffe beschaffen sich Angreifer oft über Flash Loans, Kredite ohne Sicherheit, die nur für einen Augenblick existieren.
Wie sich Anwendungen schützen
- Dezentrale Oracles mit vielen unabhängigen Quellen statt eines einzelnen Börsenpreises
- Durchschnittspreise über Zeit, die sich nicht in einem einzigen Block manipulieren lassen
- Notbremsen, die den Handel pausieren, wenn sich ein Preis unrealistisch schnell ändert
- Vorsicht bei kleinen Token: Wenig gehandelte Token als Sicherheit zuzulassen, ist besonders riskant
Häufige Fragen
Ist Chainlink eine Kryptowährung?
Chainlink ist ein Oracle-Netzwerk. Es hat einen eigenen Token namens LINK, mit dem die Betreiber der Nodes bezahlt werden.
Können Oracles falsche Daten liefern?
Ja. Fehler bei Datenquellen, technische Störungen oder gezielte Manipulation können zu falschen Preisen führen. Gute Oracles verringern das Risiko durch viele unabhängige Quellen, ausschließen können sie es nicht.
Warum ist der Preis einer einzelnen DEX ein schlechtes Oracle?
Weil er sich mit genug Kapital innerhalb einer einzigen Transaktion verschieben lässt. Ein Angreifer kann so einen künstlichen Preis erzeugen, ihn von einer anderen Anwendung auslesen lassen und den Preis direkt danach wieder zurückdrehen.
Muss ich mich als normaler Nutzer um Oracles kümmern?
Direkt nicht. Es lohnt sich aber zu wissen, welche Oracles eine Plattform nutzt, bevor du dort größere Beträge einsetzt. Viele Projekte nennen das in ihrer Dokumentation.