Was ist das Oracle-Problem?

Das Oracle-Problem beschreibt die Schwierigkeit, verlässliche Daten aus der realen Welt auf eine Blockchain zu bringen. Du musst darauf vertrauen, dass sie korrekt erfasst und weitergegeben werden. Ist Bitcoin davon betroffen?

Teilen
Was ist das Oracle-Problem?

Das Wichtigste in Kürze 💡


  • Ein Orakel bringt Daten aus der realen Welt auf eine Blockchain. Für die Richtigkeit der Daten musst du der Quelle und dem Orakel vertrauen.
  • Viele Krypto-Anwendungen hängen von solchen Meldungen ab. Eine falsch gemeldete Ankunftszeit kann zum Beispiel die Auszahlung einer Flugversicherung verhindern.
  • Orakel sind anfällig für Manipulation oder Fehler. Dadurch entsteht ein Sicherheitsrisiko, das dich viel Geld kosten kann.
  • Mehrere unabhängige Orakel können das Risiko verringern. Fragen sie alle dieselbe Quelle ab, kann sich ein Fehler aber in allen Meldungen wiederholen.
  • Bitcoin umgeht das Orakel-Problem bei Zahlungen. Full Nodes können die Transaktionen und den Arbeitsnachweis anhand der Daten im Netzwerk selbst prüfen.

Das Orakel-Problem einfach erklärt

Das Oracle-Problem (auf Deutsch: Orakel-Problem) entsteht, wenn eine Blockchain Daten aus der realen Welt braucht und deren Richtigkeit nicht selbst überprüfen kann.

Jemand muss diese Daten ausserhalb des Netzwerks erfassen. Ein Orakel übermittelt sie an die Blockchain.

Das Netzwerk kann prüfen, ob die Meldung vom vorgesehenen Orakel stammt. Damit du dich jedoch auf die Angaben verlassen kannst, musst du darauf vertrauen, dass die Quelle sie richtig erfasst und das Orakel sie unverfälscht weitergibt.

Das Oracle-Problem einfach dargestellt.

Ein einfaches Beispiel

Stell dir vor, du möchtest eine Kryptowährung erstellen, die den gesamten weltweiten Goldbestand abbildet. Nennen wir sie Krypto-Gold. Für jedes Gramm Gold, das bisher weltweit gefördert wurde, soll es einen Token geben. Der Preis eines Tokens soll dem Goldpreis pro Gramm folgen. Das nennt man Tokenisierung.

Bevor du die ersten Token ausgibst, musst du allerdings entscheiden, auf welche Angaben du dich stützt.

  • Wer liefert den aktuellen Goldpreis?
  • Wer ermittelt, wie viel Gold es auf der Welt gibt?
  • Wer aktualisiert die Zahl, wenn Minen neues Gold fördern?

Die Blockchain ist von sich aus ein isoliertes System. Sie weiss nicht, was in der realen Welt passiert. Deshalb benötigt es ein Bindeglied – ein sogenanntes Oracle.

Was ist ein Orakel?

Ein Orakel ist der Vermittler, der Daten von ausserhalb auf die Blockchain bringt.

Krypto-Gold könnte beispielsweise die Schätzung des Goldbestands vom World Gold Council übernehmen und eine neue Zahl melden, wenn die Quelle ihre Schätzung aktualisiert. Den Goldpreis könnte es von einem Handelsplatz abrufen.

Daraus ergibt sich aber ein Problem: Du musst darauf vertrauen, dass die Quelle alles richtig erfasst und dass das Orakel die Angaben unverfälscht weitergibt.

👉
Angenommen, die Quelle zählt dieselben Goldbarren zweimal. Das Orakel übermittelt die Zahl und Krypto-Gold gibt für jedes gemeldete Gramm einen Token aus. Du kannst auf der Blockchain nachzählen, ob die Anzahl Token zur Meldung passt. Ob die Barren doppelt gezählt wurden, kannst du daran nicht erkennen.

Das Oracle-Problem bei Kryptowährungen

Bei vielen Kryptowährungen entscheiden Daten von aussen darüber, was auf der Blockchain passiert. Das ist vor allem bei Smart Contracts der Fall. Sie führen eine vereinbarte Aktion automatisch aus, wenn eine bestimmte Bedingung erfüllt ist.

Stell dir vor, du buchst einen Flug nach Zürich und schliesst eine Versicherung gegen Verspätungen ab. Sie zahlt dir CHF 100, wenn dein Flug mindestens zwei Stunden zu spät am Gate ankommt.

Die Versicherung hinterlegt diese Regel in einem Smart Contract.

Dein Flug soll um 14.00 Uhr am Gate sein, kommt aber erst um 16.20 Uhr an. Ein Orakel ruft die Ankunftszeit bei einem Flugdatendienst ab und meldet sie dem Smart Contract. Erhält das Programm die richtige Uhrzeit, berechnet es zwei Stunden und zwanzig Minuten Verspätung und zahlt dir CHF 100 aus.

Meldet das Orakel fälschlich 15.50 Uhr, rechnet der Smart Contract mit einer Stunde und fünfzig Minuten Verspätung. Du gehst leer aus, obwohl dein Flug tatsächlich mehr als zwei Stunden zu spät ankam.

Wie konnte das passieren?

  • Der Flugdatendienst hat die Ankunftszeit am Gate falsch erfasst.
  • Das Orakel hat die Landezeit anstatt die Ankunft am Gate genommen.
  • Das Orakel hat versehentlich die Daten des Flugs vom Vortag abgerufen.
  • Das Orakel hat eine veraltete Prognose als tatsächliche Ankunftszeit gemeldet.
  • Jemand hat den Orakelbetreiber bestochen, damit er eine zu frühe Ankunftszeit meldet.

Der Smart Contract führt seine Regel wie vorgesehen aus, rechnet aber grundlegend mit falschen Daten.

Diese Abhängigkeit betrifft viele Krypto-Projekte, die mit Preisen, Beständen oder anderen Daten aus der realen Welt arbeiten. Wenn ohnehin eine zentrale Stelle festlegt, welche Zahl gilt, ändert die Blockchain nichts daran, wem du glauben musst.

Für die reine Buchführung wäre in solchen Fällen eine normale Datenbank effizienter.

❗
Bevor du in Altcoins investierst:
Prüfe, wie das Projekt mit dem Oracle-Problem umgeht und stell dir folgende Fragen: Braucht es Daten von aussen? Wer liefert die Daten? Sind die Quellen wirklich unabhängig? Und was passiert, wenn ein Orakel falsche Daten meldet oder ausfällt?

Kann das Orakel-Problem gelöst werden?

Nein, vollständig lösen lässt es sich nicht.

Mehrere voneinander unabhängige Orakel können das Vertrauen zwar auf verschiedene Datenquellen verteilen, es aber nicht komplett eliminieren.

Bei einer Ja-Nein-Frage wie «War der Flug mindestens zwei Stunden verspätet?» kann der Smart Contract beispielsweise die Mehrheit der Meldungen verwenden. Bei Kursen kann er zum Beispiel den Durchschnitt berechnen.

Ein Beispiel: Drei Orakel beziehen ihre Ankunftszeiten aus unabhängigen Quellen. Zwei melden 16.20 Uhr, eines meldet fälschlich 15.50 Uhr. Zwei von drei Meldungen ergeben damit eine Verspätung von mindestens zwei Stunden. Der Smart Contract könnte sich auf den Median stützen und dir CHF 100 auszahlen.

Doch aufgepasst! Stammen alle drei Ankunftszeiten am Ende aus demselben System der Fluggesellschaft, kann sich ein Fehler in allen Meldungen wiederholen. Dann hilft es wenig, drei Orakel zu haben.

Entscheidend ist also auch, ob ihre Datenquellen unabhängig sind.

Warum ist ein Orakel problematisch?

Ein Orakel ist problematisch, weil du seinen Angaben vertrauen musst.

Der grosse Vorteil einer Blockchain liegt gerade in ihrer Dezentralität und Vertrauenslosigkeit. Ob eine Transaktion den Regeln entspricht, kannst du anhand der Daten im Netzwerk selbst prüfen.

Braucht ein Smart Contract Daten aus der realen Welt, hängt seine Entscheidung davon ab, was das Orakel meldet. Bestimmt eine einzige Stelle, welche Angaben das Programm erhält, gehen diese beiden Vorteile verloren. Die zentrale Stelle wird damit zum Single Point of Failure.

Je nach Aufbau des Orakels lässt sich die Abhängigkeit zwar von einzelnen Stellen verringern, aber das Vertrauen komplett zu eliminieren, ist nicht möglich.

Meldet das Orakel wegen eines technischen Fehlers oder einer Manipulation falsche Daten, kann dich das viel Geld kosten:

  • Bei der Flugversicherung entgehen dir CHF 100, wenn das Orakel eine zu frühe Ankunft meldet und die Verspätung dadurch zu kurz erscheint.
  • Bei einem Kredit kann ein zu tief gemeldeter Kurs den Verkauf deiner Sicherheit auslösen, obwohl ihr tatsächlicher Wert über der vereinbarten Grenze liegt.
  • Bei einer Sportwette kannst du deinen Einsatz verlieren, wenn das Orakel den falschen Sieger meldet und der Smart Contract die Wette entsprechend abrechnet.
  • Bei einem Onlinekauf kann dein Geld an den Verkäufer fliessen, wenn das Orakel fälschlich meldet, dass du die Ware erhalten hast.

Das Oracle-Problem bei Bitcoin

Bei seiner Kernfunktion umgeht Bitcoin das Orakel-Problem.

So benötigt Bitcoin für die Aufbewahrung und das Versenden gar keine externen Daten.

Wenn du beispielsweise eine Zahlung tätigst, kann jede Full Node anhand deiner digitalen Signatur und der bisherigen Transaktionen prüfen, ob du diese Bitcoin ausgeben darfst.

Einen Berührungspunkt mit der echten Welt hat Bitcoin beim Mining. Miner setzen Strom und Rechenleistung ein, um einen neuen gültigen Block zu finden. Wenn dieser gefunden wird, kontrollieren tausende unabhängige Full Nodes, ob er den Netzwerkregeln entspricht.

Doch der Proof of Work Algorithmus muss keinen Zustand der realen Welt abfragen. Er dient lediglich dazu, einen internen Nachweis dafür zu erzeugen, dass tatsächlich Rechenarbeit geleistet wurde.

ℹ️
Wie dieses Zusammenspiel genau funktioniert, erfährst du in meinem Beitrag zur Funktionsweise von Bitcoin.

Bei Zusatzfunktionen gibt es aber auch bei Bitcoin ein Orakel-Problem. Gewisse Sidechains müssen reale Ereignisse oder Wechselkurse abbilden. Sobald eine Anwendung jedoch mit dem Bitcoin-Preis in Franken rechnet, taucht das Orakel-Problem wieder auf. Dieser Kurs entsteht beim Handel auf einer Börse. Damit die Anwendung ihn verwenden kann, muss ihr ein Orakel den Kurs melden.


FAQ zum Oracle-Problem

Was passiert, wenn ein Orakel ausfällt?

Über dieses Orakel kommen keine neuen Daten mehr an. Fehlt der Flugversicherung beispielsweise die Ankunftszeit, kann der Smart Contract die Verspätung noch nicht berechnen. Je nach Programm wartet er auf eine Meldung, verwendet eine Ersatzquelle oder wertet die Meldungen der übrigen Orakel aus, sofern genügend vorliegen.

Gibt es bei Bitcoin das Orakel-Problem?

Ja, das Oracle-Problem betrifft grundsätzlich auch Bitcoin. Allerdings muss man hier unterscheiden: Für Zahlungen innerhalb des Bitcoin-Netzwerks braucht es kein Orakel. Bitcoin existiert rein digital und das Netzwerk führt Buch über seine eigenen Einheiten. Nutzt du hingegen zusätzliche Anwendungen, bei denen die Blockchain Daten aus der realen Welt abbildet (Wechselkurse, Ereignisse etc.), musst du einem Orakel vertrauen. Das Problem besteht dann weiterhin.

Gibt es bei Ethereum das Orakel-Problem?

Ja, bei Ethereum gibt es das Oracle-Problem. Das liegt an seiner Funktionsweise: Smart Contracts laufen in einer geschlossenen, deterministischen Umgebung und können von sich aus nicht auf externe Daten aus der echten Welt (Wechselkurse, Wetterdaten, Ankunftszeiten etc.) zugreifen.

Warum stellt ein Orakel ein Sicherheitsrisiko dar?

Weil ein Smart Contract seine Entscheidung anhand der Meldung trifft. Wer das Orakel oder seine Datenquelle manipuliert, kann etwa eine Verspätung vortäuschen und so eine Auszahlung auslösen, obwohl der Flug pünktlich ankam. Nutzer könnten dadurch erhebliche finanzielle Verluste erleiden.


Mehr Bitcoin-Wissen

CTA Image

Du möchtest Bitcoin besser verstehen?
Hier findest du einfache Erklärungen, fundiertes Wissen und praktische Ratgeber rund um Bitcoin. Entdecke meine Beiträge und baue dein Verständnis Schritt für Schritt aus!

Zur Übersicht →

Hinweis: Die Inhalte dieser Website dienen ausschliesslich Informations- und Bildungszwecken. Sie stellen keine Anlage-, Rechts- oder Steuerberatung dar. Investitionen in Bitcoin bergen Risiken, für die du selbst die Verantwortung trägst. Die Artikel und Seiten auf bitcoinreise.com können Affiliate-Links enthalten, deren Provision zur Finanzierung dieser Website beiträgt.