Orakel: Wie Blockchains Preise erfahren – und warum das zählt
Blockchains sehen die Außenwelt nicht. Wie Preisorakel wie Chainlink Marktpreise auf die Chain bringen, wie sie versagen können und wie Sie sie selbst prüfen.

Auf dieser Seite
Ein Smart Contract kann Millionen verwalten und seine Regeln perfekt befolgen – und weiß trotzdem nicht, was ein Bitcoin wert ist. Eine Blockchain sieht nur Daten, die bereits auf ihr liegen. Ein Orakel schlägt die Brücke: Es ist ein Dienst, der Informationen von außen, meist Preise, auf die Chain bringt.
Dieser Beitrag erklärt, warum diese Brücke nötig ist, wie dezentrale Preisfeeds wie die von Chainlink funktionieren, was schiefgeht, wenn eine App einem einzigen Markt vertraut, und wie Sie On-Chain-Preise selbst überprüfen können.
Das Wichtigste in Kürze
- Blockchains können keine Daten von außen abrufen. Orakel schreiben sie als gewöhnliche Transaktionen auf die Chain.
- Die Preisfeeds von Chainlink bündeln viele unabhängige Knotenbetreiber, die jeweils mehrere Datenquellen nutzen, und veröffentlichen einen Median, der sich nach einer bestimmten Kursbewegung oder nach einer bestimmten Zeit aktualisiert.
- Sich auf den Spotpreis einer einzigen Börse oder eines einzigen Pools zu verlassen, ist gefährlich: Ein Flash-Loan-Angriff auf die Kreditplattform bZx brachte 2020 in einer einzigen Transaktion rund 635.000 US-Dollar ein.
- Kredit- und Handelsplattformen bewerten mit Orakelpreisen Sicherheiten und lösen Liquidationen aus; sorgfältige Anbieter bauen eigene Schutzmechanismen ein.
- Preise auf öffentlichen Chains sind transparent: Jeder kann den aktuellen Wert, seinen Zeitpunkt und seine Historie abrufen.
Das Orakel-Problem
Jeder Knoten eines Blockchain-Netzwerks führt jede Transaktion erneut aus und muss exakt zum selben Ergebnis kommen. Nur so können sich Tausende Unbekannte auf Kontostände einigen, ohne einander vertrauen zu müssen. Könnte ein Vertrag eine Website abfragen, bekämen zwei Knoten womöglich unterschiedliche Antworten, oder derselbe Knoten eine Minute später eine andere – und die Einigung bräche zusammen.
Blockchains erzielen Konsens deshalb nur mit Daten, die auf der Chain selbst gespeichert sind. Daten von außen muss jemand als Transaktion dorthin schreiben, und dieser Jemand ist ein Orakel. Darin steckt das Orakel-Problem: Ein Vertrag ist nur so vertrauenswürdig wie die Daten, auf die er reagiert, und wer sich auf einen einzigen Datenlieferanten verlässt, holt genau das Vertrauen zurück, das Blockchains überflüssig machen sollten.
Wie ein dezentraler Preisfeed funktioniert
Chainlink Data Feeds sind so gebaut, dass keine einzelne Partei den Preis bestimmt. Chainlink beschreibt drei Ebenen der Aggregation. Zuerst fassen Datenaggregatoren die Rohpreise vieler Börsen zusammen, gewichten sie nach Handelsvolumen und filtern Ausreißer heraus. Dann ruft jeder Knotenbetreiber mehrere dieser Aggregatoren ab und bildet den Median. Schließlich kombiniert das Netzwerk die Antworten vieler unabhängiger Knotenbetreiber und bildet erneut den Median.

Die eigentliche Arbeit erledigen die Knoten off-chain, mit einem Protokoll namens Offchain Reporting (OCR). Sie tauschen signierte Beobachtungen über ein Peer-to-Peer-Netz aus, und ein Leitknoten fasst sie zu einem Bericht zusammen. Sobald ein Quorum der Knoten den Bericht signiert hat, bringt eine einzige Transaktion ihn auf die Chain. Dort prüft der Aggregator-Vertrag die Signaturen und speichert den Median mit Zeitstempel und Rundennummer.
- Knoten sammeln Preise (von mehreren Datenaggregatoren)
- Sie tauschen Beobachtungen aus (off-chain, Peer-to-Peer)
- Ein Quorum signiert einen Bericht (mit dem Median)
- Ein Knoten reicht ihn ein (in einer einzigen Transaktion)
- Der Vertrag speichert den Wert (mit Zeitstempel und Runden-ID)
- Apps lesen den aktuellen Wert (über einen Proxy-Vertrag)
Jede winzige Kursbewegung auf die Chain zu schreiben, würde Gebühren verschwenden. Ein Feed aktualisiert sich daher, sobald einer von zwei Auslösern greift. Die Abweichungsschwelle (deviation threshold) startet eine neue Runde, wenn sich der Preis außerhalb der Chain um mehr als einen festgelegten Prozentsatz vom Wert auf der Chain entfernt. Der Heartbeat startet eine, wenn seit dem letzten Update eine festgelegte Zeit vergangen ist, selbst wenn sich der Preis kaum bewegt hat.
- 31: Orakel-Knoten hinter ETH/USD auf Ethereum
- 0,5 %: Kursbewegung, die ein Update auslöst
- 1 Stunde: längster Abstand zwischen zwei Updates
| Feed auf Ethereum | Abweichungsschwelle | Heartbeat |
|---|---|---|
| ETH/USD | 0,5 % | 1 Stunde |
| BTC/USD | 0,5 % | 1 Stunde |
| USDC/USD | 0,25 % | 23 Stunden |
| USDT/USD | 0,25 % | 24 Stunden |
| TAO/USD | 2 % | 24 Stunden |
So listet Chainlink die Einstellungen am 29. September 2026. Ein ruhiger Stablecoin-Feed aktualisiert sich womöglich nur einmal am Tag, ETH/USD dagegen bei starken Marktbewegungen viele Male pro Stunde.
Warum der Preis eines einzelnen Marktes gefährlich ist
Am einfachsten gelangt ein Preis auf die Chain, wenn man ihn an einer Stelle abliest: bei einer Börse oder einem Pool auf einer dezentralen Börse (DEX). Doch wie robust ein Preis ist, hängt davon ab, wie viel Geld nötig ist, um ihn zu bewegen – und auf einem dünnen Markt ist das oft erstaunlich wenig.
Flash Loans verschärfen das Problem. Ein Flash Loan muss innerhalb derselben Transaktion aufgenommen und zurückgezahlt werden; geschieht das nicht, wird die ganze Transaktion rückgängig gemacht. So kann jeder für einen Augenblick über Millionen verfügen, ohne Sicherheiten, solange sich der Angriff in einem Zug selbst finanziert.
Der Angriff auf bZx im Februar 2020
Am 18. Februar 2020 nutzte ein Angreifer genau das gegen bZx, eine Kredit- und Margin-Trading-Plattform auf Ethereum. bZx bezog den Preis des Stablecoins sUSD aus zwei kleinen On-Chain-Märkten, einem Uniswap-Pool und einer Kyber-Reserve. Forscher des Imperial College London haben die Schritte später rekonstruiert:
- 7.500 ETH leihen (Flash Loan, eine Transaktion)
- sUSD in zwei kleinen Pools kaufen (dort springt der Preis)
- Mehr sUSD zum Marktpreis kaufen (rund 944.000 bei Synthetix)
- 1,1 Mio. sUSD bei bZx hinterlegen (bewertet zum überhöhten Preis)
- 6.799 ETH leihen, Kredit tilgen (rund 2.381 ETH bleiben übrig)
In den beiden Pools kostete sUSD kurzzeitig etwa das 2,5-Fache des übrigen Marktes, also lieh bZx weit mehr ETH aus, als die Sicherheiten wert waren. Der Angreifer behielt 2.381,41 ETH, damals rund 634.900 US-Dollar, bei einer Transaktionsgebühr von 118,79 US-Dollar. Den Schaden trugen die Kreditgeber von bZx.
Mitteln ist kein Allheilmittel
Mehrere Quellen zu kombinieren hilft nicht, wenn alle denselben dünnen Markt beobachten. Laut einer Klage der US-Aufsicht für Terminmärkte, der CFTC, kaufte ein Händler auf Mango Markets, einer Handels- und Kreditplattform für Kryptowerte, im Oktober 2022 große Mengen des Tokens MNGO an den drei Börsen, aus denen sich das Orakel der Plattform speiste. Der MNGO-Preis des Orakels stieg binnen 30 Minuten auf mehr als das 13-Fache, und der Händler nutzte seine aufgeblähten Positionen als Sicherheit, um über 110 Millionen US-Dollar abzuziehen.
Chainlink warnt in seiner eigenen Dokumentation, dass wenig gehandelte Assets durch Flash-Loan-finanzierte Angriffe oder kapitalstarke Akteure manipuliert werden können.
Ein Preis ist nur so robust wie das Geld, das nötig ist, um ihn zu bewegen. Bewertet eine App Sicherheiten anhand einer einzigen Börse, eines einzigen Pools oder eines wenig gehandelten Tokens, kann ein ausreichend großer Trade – oder ein Flash Loan – diesen Preis für einen Moment nahezu beliebig verschieben.
Wie Kredit- und Handelsplattformen Preisfeeds nutzen
Auf einer Kreditplattform hinterlegen Sie Sicherheiten und leihen sich dagegen Geld. Die Plattform braucht für jeden Vermögenswert einen Preis, um zu wissen, ob Ihr Kredit noch gedeckt ist. Aave drückt das als Health Factor aus: der Wert Ihrer Sicherheiten, multipliziert mit einem Sicherheitsfaktor namens Liquidationsschwelle, geteilt durch Ihre Schulden. Fällt er unter 1, dürfen andere einen Teil Ihrer Schulden begleichen und dafür einen Teil Ihrer Sicherheiten samt Bonus übernehmen – eine Liquidation. Das Preisorakel von Aave V3 bezieht seine Preise von Chainlink-Aggregatoren und greift auf ein Ersatzorakel zurück, wenn ein Feed null oder weniger meldet.
Ein falscher Preis ist in beide Richtungen teuer. Ist er zu niedrig, werden gesunde Kredite liquidiert. Ist er zu hoch, können Kreditnehmer mit mehr davonziehen, als ihre Sicherheiten wert sind – wie die Kreditgeber von bZx erfahren mussten.
Handelsplattformen mit Hebel brauchen Preise schneller als im Heartbeat-Takt. Viele nutzen deshalb Pull-Feeds wie Chainlink Data Streams, die Preise im Sub-Sekunden-Bereich als signierte Berichte liefern; diese werden in derselben Transaktion auf der Chain geprüft, die sie verwendet.
Sorgfältige Anbieter ergänzen eigene Kontrollen. Chainlink empfiehlt Preisgrenzen, Notbremsen (Circuit Breaker) und Aktualitätsprüfungen. Das Sky-Protokoll, früher MakerDAO, leitet Preise durch ein Oracle Security Module, das jeden neuen Wert zurückhält, standardmäßig eine Stunde lang, damit Zeit bleibt, auf einen Angriff auf das Orakel zu reagieren.
On-Chain-Preise kann jeder prüfen
Weil Feeds auf öffentlichen Blockchains liegen, ist jedes Update eine Transaktion, die jeder einsehen kann. Sie können den letzten Wert eines Feeds, den Zeitpunkt der Aktualisierung und die Rundennummer abrufen, frühere Runden durchsehen und nachsehen, welche Knoten den Feed bedienen. Liquidiert eine Kreditplattform jemanden, ist der verwendete Preis dokumentiert.
Der ETH/USD-Feed auf Ethereum etwa ist über die Proxy-Adresse 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419 erreichbar. Rufen Sie in einem Block-Explorer die Funktion latestRoundData auf, erhalten Sie den Preis mit acht Nachkommastellen und den Zeitpunkt des letzten Updates. Auf dieselbe Weise liest nowcoin die angezeigten Preise direkt aus Chainlink-Feeds auf der Chain.
Diese Offenheit hat Grenzen. Sie sehen, was das Netzwerk wann gemeldet hat, aber nicht jede Rohangabe der Datenanbieter dahinter.
Andere Ansätze: Pyth und der Uniswap-TWAP
Die Push-Feeds von Chainlink sind nur ein Ansatz unter mehreren:
Mindmap: Preisorakel
- Push-Feeds
- Chainlink Data Feeds
- Update bei Abweichung/Heartbeat
- Pull-Feeds
- Pyth
- Chainlink Data Streams
- On-Chain-Durchschnitte
- Uniswap-v2-TWAP
- Uniswap-v3-Beobachtungen
- Einzelner Spotpreis
- Eine Börse oder ein Pool
- Leicht zu manipulieren
Pyth setzt auf das Pull-Prinzip. Die Preise stammen von mehr als 120 Erstanbietern, darunter Börsen, Banken, Handelshäuser und Market Maker, und aktualisieren sich alle 400 Millisekunden. Zu jedem Preis gehört ein Konfidenzintervall, eine Spanne, die breiter wird, wenn die Anbieter uneins sind. Im üblichen Pull-Modell gelangt ein Preis erst dann auf eine Blockchain, wenn ihn jemand braucht: Jeder kann ein signiertes Update beim Pyth-Vertrag einreichen, der es prüft – meist in derselben Transaktion, die den Preis verwendet.
Uniswap bietet ein anderes Werkzeug, den zeitgewichteten Durchschnittspreis, kurz TWAP. Ein Uniswap-v2-Pool führt eine laufende Summe seines Preises, jeweils zu Beginn eines Blocks gemessen und danach gewichtet, wie lange der Preis galt; vergleicht man diese Summe zu zwei Zeitpunkten, erhält man den Durchschnitt dazwischen. Um einen Einstunden-TWAP um 5 % zu verschieben, müsste ein Angreifer den Pool etwa eine Stunde lang 5 % neben dem Markt halten und dabei ständig an Arbitrageure zahlen. Uniswap-v3-Pools können bis zu 65.535 Beobachtungen speichern, während v4 kein eingebautes Orakel mehr hat.
| Ansatz | Funktionsweise | Hauptnachteil |
|---|---|---|
| Push-Feed | Knoten melden einen Median bei Abweichung oder Heartbeat | Bewegungen unter der Schwelle erscheinen nicht |
| Pull-Feed | Signierte Preise werden bei der Nutzung geprüft | Die App muss Updates holen und ihr Alter prüfen |
| TWAP | Eigene Preise eines Pools, über die Zeit gemittelt | Hinkt schnellen Märkten hinterher; so sicher wie der Pool tief ist |
| Einzelner Spotpreis | Eine Börse oder ein Pool, direkt ausgelesen | Billig zu manipulieren |
Häufige Fragen
Warum kann ein Smart Contract nicht einfach die Website einer Börse abfragen?
Weil jeder Knoten den Vertrag erneut ausführen und zum selben Ergebnis kommen muss. Webdaten ändern sich im Sekundentakt und können je nach Standort abweichen, also wären sich die Knoten uneinig. Ein Orakel verwandelt Daten von außen in eine Transaktion, die jeder Knoten gleich sieht.
Wie oft aktualisiert sich ein Chainlink-Preis?
Sobald der Preis die Abweichungsschwelle des Feeds überschreitet oder der Heartbeat abläuft, je nachdem, was zuerst eintritt. Für ETH/USD auf Ethereum heißt das: eine Bewegung von 0,5 % oder eine Stunde.
Kann ein Orakel falschliegen?
Ja. Die zugrunde liegenden Märkte lassen sich manipulieren, Knoten können ausfallen, und Feeds können eingestellt werden: Laut Chainlink liefert ein abgeschalteter Feed null oder gar keine Daten. Deshalb bauen Apps Aktualitätsprüfungen, Preisgrenzen und Ausweichlösungen ein.
Was unterscheidet Push- und Pull-Orakel?
Ein Push-Orakel schreibt Preise nach eigenem Zeitplan auf die Chain, sodass der letzte Wert immer abrufbar ist. Ein Pull-Orakel hält signierte Preise off-chain bereit, bis eine App oder ein Nutzer einen davon einreicht, meist in derselben Transaktion, die ihn benötigt.
Quellen
- Ethereum.org: Orakel
- Chainlink: Decentralized Data Model
- Chainlink: Offchain Reporting
- Chainlink: Price Feed Contract Addresses
- Chainlink: Selecting Quality Data Feeds
- Chainlink: The 3 Levels of Data Aggregation in Chainlink Price Feeds
- Chainlink: Data Streams
- arXiv: Attacking the DeFi Ecosystem with Flash Loans for Fun and Profit
- CFTC: CFTC Charges Avraham Eisenberg with Manipulative and Deceptive Scheme to Misappropriate Over $110 Million from Mango Markets
- Aave: Health Factor & Liquidations
- Aave: AaveOracle contract, Aave V3 core
- Sky: OSM (Oracle Security Module)
- Pyth Network: Price Feeds
- Pyth Network: Pull Updates
- Uniswap: Uniswap v2 Oracles
- Uniswap: Price Oracles


