Was ist das Oracle-Problem?

David Eggert
24/02/24
Oracles (oder Orakel auf Deutsch) spielen eine wichtige Rolle in der Welt der Blockchain und Kryptowährungen. Hier erfährst du, was Oracles überhaupt sind, welche Probleme es dabei zu lösen gibt und wie Bitcoin das Oracle-Problem löst.
Das Wichtigste zusammengefasst:
Was sind überhaupt Oracles?
Zunächst einmal: Eine Blockchain ist eine Art Datenbank, die sich ständig selbst aktualisiert. Sie ist dezentralisiert, d.h. sie wird nicht von einer einzelnen Stelle kontrolliert, sondern von einem Netzwerk von Computern. Das macht sie besonders sicher und transparent.
Aber was passiert, wenn die Blockchain Informationen benötigt, die nicht in der Blockchain selbst gespeichert sind? Etwa den aktuellen Kurs einer bestimmten Kryptowährung oder die Wetterdaten in einer bestimmten Stadt?
Dafür gibt es sogenannte Oracles, die diese Daten abrufen und der Blockchain zur Verfügung stellt. Die Blockchain selbst kann jedoch nur einfache Transaktionen bearbeiten. [1] Daher werden externe Daten meist von einem Smart Contract abgefragt, der auf einer Blockchain läuft.
Oracles sind also Schnittstellen, die einem Smart Contract auf einer Blockchain externe Informationen zur Verfügung stellen. Sie fungieren als Mittler zwischen der Blockchain und der realen Welt.

Abbildung 1: Ein Oracle ist die Schnittstelle zwischen externen Daten (z.B. Kurse, Wetter und vieles mehr) und der Blockchain.
Der Name „Oracle“ (auf Deutsch: Orakel) kommt aus dem Lateinischen und bedeutet „Götterspruch“. In der Antike wurden Orakel befragt, um Ratschläge zu erhalten oder um die Zukunft vorherzusagen. In der Blockchain-Welt haben Oracles eine ähnliche Aufgabe: Sie liefern der Blockchain die Informationen, die sie benötigt, um Entscheidungen zu treffen.
Es gibt verschiedene Arten von Oracles. Einige Oracle liefern statische Daten, die sich nicht ändern, z.B. die Adresse eines Smart Contracts. Andere Oracle liefern dynamische Daten, die sich ständig ändern, z.B. den aktuellen Kurs einer Kryptowährung.
Wie entsteht das Oracle-Problem?
Die Blockchain ist ein geschlossenes System. Betrügerische Datenmanipulation ist nahezu unmöglich, da Änderungen nur unter strengen Regeln stattfinden und sofort auffallen. Doch sobald diese sichere Umgebung verlassen wird und externe Daten, sogenannte „Offchain-Daten“, ins Spiel kommen, ändert sich das.
Wie stellt man sicher, dass diese externen Daten vertrauenswürdig sind? Die Blockchain selbst kann die Quelle nicht validieren – sie ist perfekt darin, die eigenen Daten zu prüfen, aber blind für die Echtheit externer Daten.[2]
Daher ist sie auf Oracles angewiesen, Datenanbieter, die zur Schnittstelle zwischen Blockchain und externer Welt werden.
Das Problem liegt auf der Hand: In einem System, das auf Dezentralität und Sicherheit ausgelegt ist, wird plötzlich eine Instanz eingeführt, die zur Schwachstelle werden kann.
Ein Oracle, das manipuliert wird oder falsche Daten liefert, kann fatale Folgen haben:
Nehmen wir dezentrale Börsen auf Basis der Ethereum Blockchain. Smart Contracts automatisieren dort den Handel, aber wenn Kursdaten vom Oracle gefälscht werden, könnten sich Betrüger Vorteile verschaffen. Der ganze Aufwand der dezentralen Datenspeicherung wäre am Ende einfach nur komplett überflüssig.
Wie wird das Oracle-Problem gelöst?
Es sind einige Schritte notwendig, um sicherzustellen, dass die Oracle-Daten vertrauenswürdig sind. Fangen wir direkt mit dem ersten Schritt an:

Abbildung 2: Die notwendigen Schritte, um die von der Blockchain benötigten externen Daten vom Oracle zu bekommen. Dabei ruft das Oracle die Daten ab, die dann zu einem Notary gesendet werden, um die Echtheit digital zu beweisen. Dieser stellt die Daten selbst und den Beweis dem Oracle zur Verfügung.
Das Oracle-Problem bei Bitcoin
Bitcoin ist so designt, dass es keine Daten von außen braucht, um einfache Transaktionen zu erledigen und die Blockchain am Laufen zu halten. Anders als Ethereum und andere Blockchains, die mit Smart Contracts komplexe Anwendungen ermöglichen, ist Bitcoin bewusst einfach gehalten.
Somit gibt es auf den ersten Blick gar kein Oracle-Problem bei Bitcoin. Möchte man aber komplexere Programme wie z.B. eine dezentrale Kryptobörse auf Bitcoin aufbauen, ist man jedoch wieder auf Oracles angewiesen.
Bitcoin erfüllt sein ursprüngliches Versprechen, dass man Werte versenden und speichern kann, ohne Mittelsmann, dem man vertrauen müsste. Dafür benötigt man kein Oracle. Der Wert wird von der benötigten Energie für das Bitcoin-Mining erbracht und auch hier wird kein Oracle benötigt.
Allerdings wird bei dieser Sichtweise eine Sache außer Acht gelassen:
Würden sich andere Blockchains wie Ethereum, Solana oder Polkadot auch auf die einfache Funktionsweise beschränken (also ohne Smart Contracts), dann hätten sie ja ebenso wie Bitcoin überhaupt erst kein Oracle-Problem zu lösen. Die anderen Blockchains sind ja erst aus der Notwendigkeit entstanden, komplexere Programme auf der Blockchain ausführen zu können.
Vitalik Buterin, einer der Gründer von Ethereum, war lange Zeit selbst sehr aktiv in der Bitcoin-Szene und hatte vorgeschlagen, dass Bitcoin erweitert werden sollte, um Anwendungen darauf entwickeln zu können. Als er keine Mehrheit für seine Idee gewinnen konnte, startete er Ethereum.[4]
Was auch häufig bei der Bitcoin Oracle Diskussion vergessen wird:
Es gab durchaus einige Versuche, komplexere Anwendungen auf Bitcoin einzuführen. Diese kamen bereits vom Bitcoin-Gründer Satoshi Nakamto selbst. Es war sogar die Rede von „Contracts“ und dem Aufbau eines Marktplatzes wie eBay auf Bitcoin.[5]
In dieser Zeit wurde intensiv an Oracles auf Bitcoin gearbeitet. Vieles wurde allerdings nur theoretisch entwickelt und nie praktisch implementiert wie z.B. die „Nakamoto Contracts“. Es gab jedoch einige Projekte wie z.B. Realtiy Keys oder Oraclize, die umgesetzt worden sind.[6]
Als jedoch ab 2015 Ethereum als Smart Contract Plattform immer mehr Aufmerksamkeit erlangte, ebbten die Bemühungen an Bitcoin Oracles immer mehr ab. Einige wechselten sogar komplett zu Ethereum.
Quellen
1. Szabo, N. (1997). Formalizing and Securing Relationships on Public Networks. First Monday, 2(9).
5. S. Nakamoto, “Re: 2 Open sourced my Java SPV impl | Satoshi’s Archive,” Bitcoin.com, Mar. 09, 2011.

Über den Autor
Hi, ich bin David und schreibe hier über meine eigenen Erfahrungen zum Thema Krypto, Blockchain und Bitcoin. Mehr erfährst du auf der „Über uns“-Seite.

