Was sind Oracles? – Informationen von außen integrieren
Blockchains sind durch ihre Definition in sich geschlossen. In der Blockchain können nur die Daten verifiziert werden, die auch in der Blockchain selbst zur Verfügung stehen.
Diese Daten reichen aber nicht immer aus, zum Beispiel beim Einsatz von komplexen Smart Contracts.
In diesem Fall benötigen Blockchains Informationen und Daten von außerhalb der Blockchain, zum Beispiel für die Verwendung und Steuerung von Smart Contracts.
Einstieg in Oracles: On-Chain und Off-Chain
Um Blockchains mit externen Daten zu verbinden, die nicht in der Blockchain zur Verfügung stehen, also Off-Chain gespeichert sind oder entstehen, können Oracles verwendet werden.
Oracles werden häufig auch als Blockchain-Middleware bezeichnet, da sie die Brücke zwischen der Blockchain und dem Rest der Welt darstellen.
Oracles, die Daten aus dem Internet oder von Sensoren einer Blockchain zur Verfügung stellen, werden häufig auch als Off-Chain-Oracles bezeichnet.
Es gibt aber auch Einsatzgebiete, in denen Daten aus verschiedenen Blockchains zusammengeführt werden müssen.
Auch hier kommen Oracles zum Einsatz, die es ermöglichen, in Smart Contracts aus beiden Blockchains Daten zu verwenden. Diese Oracles tragen auch die Bezeichnung On-Chain-Oracles.
Einfach ausgedrückt handelt es sich bei Oracles um Erweiterungen einer Blockchain, die externe Daten und Informationen in die Blockchain integrieren, entweder aus dem Internet, von Geräten im Internet-of-Things-Bereich, oder aus anderen Blockchains.
Oracles bieten eine Schnittstelle von Blockchains zu externen Daten, die in der Blockchain genutzt werden sollen.
Dadurch werden diese Daten aber kein Bestandteil der Blockchain, die Daten stehen für dApps und Smart Contracts nur zur Verfügung. Die Daten werden nicht in der Blockchain gespeichert.
Ein Oracle stellt lediglich sicher, dass Apps in einer Blockchain, zum Beispiel Smart Contracts, auf bestimmte, externe Daten zugreifen können, die für die Ausführung des Smart Contracts eine Rolle spielen, und die auch ständig aktuell gehalten werden müssen. Beispiele dafür sind Messdaten, Wertpapierkurse.
Mit Blockchain Oracles werden Ereignisse verifiziert und diese Informationen an eine Blockchain übermittelt.
Damit können intelligente Verträge (Smart Contracts) gestaltet werden, die nur dann eine Transaktion ausführen, wenn bestimmte Bedingungen erfüllt sind.
Ein Beispiel für externe Daten sind Sensor-Messungen, deren Informationen für die Abwicklung eines Smart Contracts eine Rolle spielen.
Ein externes Oracle ruft die Daten eines Sensors ab und stellt diese Daten der Blockchain zur Verfügung.
In der Blockchain erkennt ein Smart Contract die Daten und führt Aktionen in den Smart Contracts aus, wenn die Sensor-Daten das erfordern.
Informationen außerhalb der Blockchains nutzen
Orakel sollen die Zukunft vorhersagen, zumindest in der griechischen Mythologie. Sie sollen das voraussagen, das eventuell passieren wird, ausgehend vom aktuellen Wissen. Wo Informationen fehlen, werden diese durch Orakel ergänzt.
Fast identisch funktionieren Blockchain Oracles, wenn auch weniger mystisch. Auch bei Blockchains können Informationen fehlen, etwa Daten, die für die Smart Contracts gebraucht werden.
Das Fehlen von Daten in der Blockchain ist auch nicht unbedingt ein Problem, denn dadurch wird die Blockchain möglichst klein gehalten. Oracles lesen externe Daten aus und informieren die Blockchain.
Blockchains selbst haben keinen direkten Zugriff auf Daten, die außerhalb der Blockkette gespeichert sind. Ob also Bedingungen, die intelligente Verträge definieren, auch erfüllt sind, kann nicht direkt validiert (geprüft) werden. Blockchain Oracles agieren hier als Übersetzer oder Informant.
Oracles stellen Agenten für die Blockchain dar, um die Blockchain mit notwendigen Daten für den Betrieb zu versorgen.
Sie machen die Informationen außerhalb der Blockkette für die Blockchain nutzbar.
Das können ganz verschiedene Informationen sein, etwa Zahlungsabschlüsse oder Veränderungen von Preisen, aber auch Sensordaten oder andere Informationen, zum Beispiel von Internet-of-Things-Geräten.
Wird ein bestimmter Wert erreicht, ändert der Smart Contract seinen Zustand und führt die vordefinierten Algorithmen aus.
Das wiederum löst automatisch ein Ereignis auf der Blockkette aus. Die Hauptaufgabe von Oracles ist es daher, diese Werte dem intelligenten Vertrag auf sichere und vertrauenswürdige Weise zur Verfügung zu stellen.
Oracles werden von Drittanbietern zur Verfügung gestellt. Sie sind auch Teil von Multi-Signatur-Verträgen, bei denen der Treuhänder nur unter bestimmten Bedingungen einen Vertrag über die zukünftige Freigabe von Geldern unterzeichnet.
Bevor Gelder freigegeben werden, muss auch ein Orakel den smarten Vertrag bestätigen.
Welche Unternehmen entwickeln Oracles?
Immer mehr Unternehmen und Start-ups widmen sich dem Oracle-Thema. Folgende Unternehmen sind in diesem Bereich zurzeit führend:
- Chainlink (LINK) – ist die führende dezentrale Oracle-Lösung. Vor allem Blockchains im Finanzbereich, Dezentrale Finanzwirtschaft (DeFi) kommt Chainlink häufig zum Einsatz. Bei Chainlink handelt es sich um ein Off-Chain-Oracle.
- Band Protocol (BAND) – Das Oracle-Protokoll BAND kommt ebenfalls häufig im DeFi-Sektor zum Einsatz. Auch bei BAND handelt es sich um ein Off-Chain-Oracle. Es gibt aber auch Möglichkeiten, BAND im On-Chain-Bereich einzusetzen.
- Provable (ehemals Oraclize) – Spezialisiert auf DApps (dezentrale Apps)
- The Graph (GRT) – Bei The Graph handelt es sich um ein Outbound-Oracle. Das Oracle indiziert die Daten einer Blockchain und kann diese anderen Blockchains oder auch außerhalb von Blockchains zur Verfügung stellen. Dazu stellt The Graph APIs zur Verfügung, über die berechtigte Anwendungen von außerhalb auf Daten einer Blockchain zugreifen können. The Graph ist eine Suchmaschine für Blockchains auf Basis von Open Source.
Oracles können in verschiedenen Blockchains genutzt werden, zum Beispiel auch in Ethereum oder in privaten Blockchains, die mit Hyperledger aufgebaut werden.
Welche Oracles-Typen gibt es?
Abhängig von ihrem Zweck und ihrer Verwendung können die Orakel in folgende Arten eingeordnet werden. Einfach ausgedrückt, können Oracles Informationen auf Software-Basis übertragen, oder durch Hardware.
Beim Einsatz von Hardware kommen häufig IoT-Geräte wie Sensoren zum Einsatz. Grundsätzlich lassen sich Blockchain-Oracles in zwei verschiedene Arten untergliedern:
On-Chain-Oracles – Brücken zwischen Blockchains
Smart Contracts benötigen nicht nur Daten aus der eigenen Blockchain, sondern unter Umständen auch Daten aus dem Internet und von Sensoren. Dieses Thema haben wir in diesem Beitrag bereits durchleuchtet.
Es gibt aber ein weiteres Einsatzgebiet, nämlich die Möglichkeit, die Daten von einer anderen Blockchain zu integrieren.
In einer Lieferkette kann es durchaus passieren, dass mehrere Blockchains zum Einsatz kommen.
In diesem Fall ist es oft notwendig, dass die Daten zwischen diesen Blockchains für verschiedene Smart Contracts ausgetauscht werden sollen.
Dazu kommen On-Chain-Oracles zum Einsatz. Diese Oracles stellen eine Brücke zwischen verschiedenen Blockchains dar und ermöglichen den Austausch von Daten zwischen den Blockchains.
Häufig handelt es sich bei On-Chain-Oracles um dApps, die in einer Blockchain Daten für eine andere Blockchain abrufen und diese zur Verfügung stellen.
In Lieferketten können dadurch mehrere Blockchains vertrauenswürdig über Oracles zusammenarbeiten und Daten austauschen.
Off-Chain-Oracles – Blockchain mit dem Internet verbinden
Off-Chain-Oracles verbinden Blockchains mit dem Internet und ermöglichen das Integrieren von externen Daten in einer Blockchain.
Die in diesem Beitrag behandelten Oracles sind im großen Ganzen solche Off-Chain-Oracles.
Es handelt sich um „Middleware“, die eine Verbindung von Blockchains zu Daten außerhalb einer Blockchain herstellen.
Hier kommen vielfach Sensoren oder NFC-Tags zum Einsatz. Aber auch verschiedene Quellen aus dem Internet, wie Wertpapierkurse oder Daten von Lieferungen kommen hier zum Einsatz.
Unterarten von Oracles
Neben diesen beiden Hauptunterscheidungen von Oracles, gibt es für On-Chain- und für Off-Chain-Oracles noch Unterarten, welche die Art des Betriebs unterscheiden.
Die Unterarten von Oracles kommen grundsätzlich im On-Chain- und im Off-Chain-Bereich zum Einsatz:
- Oracle-as-Software – Arbeitet mit vorhandenen Onlineinformationen. Dabei kann es sich um APIs handeln, Datenbanken oder andere Software, die Informationen für eine Blockchain bereitstellen.
- Hardware Oracle – Als Beispiel ist die Verwendung von RFID-Tags zu nennen, Sensoren oder andere IoT-Geräte, die Daten an eine Blockchain senden können.
- Incoming/Inbound Oracle – Arbeitet direkt im Smart Contract und erhält die Informationen aus der Außenwelt. Dabei kann es sich um Hardware oder Software handeln.
- Outgoing/Outbound Oracle – Sendet Informationen aus der Blockchain an die Außenwelt oder an eine andere Blockchain.
- Consensus of Oracles – Unternehmen benötigen Oracles oft für eine zuverlässige Vorhersage von Ereignissen und Ergebnissen. Beim Einsatz dieser Oracles werden die Daten mehrerer Oracles miteinander kombiniert.
Gefahr beim Einsatz von Blockchain-Oracles – Das Oracle-Problem
Blockchain-Oracles gehören nicht zur eigentlichen Blockchain und sind daher nicht durch die Sicherheitsmechanismen der Blockchain geschützt.
Deswegen muss sichergestellt sein, dass die Quellen, die das Blockchain-Oracle nutzt, auch vertrauenswürdig sind.
Da die Daten von Blockchain-Oracles Aktionen in Smart Contracts auslösen, spielen diese Daten natürlich eine wesentliche Rolle.
Es besteht durchaus die Gefahr, dass Oracles und deren Daten durch „Man-in-the-Middle-Angriffe“ negativ auf Smart Contracts wirken können.
Da Oracles außerhalb der Blockchain positioniert sind, laufen sie gegen das dezentrale Prinzip von Distributed Ledgers.
Wenn ein Oracle bestimmte Daten nutzt, etwa Werte eines Sensors oder andere Informationen, dann sind diese Daten nicht dezentral.
Stehen die Daten nicht nur Verfügung oder sind sogar falsch, verliert ein Smart Contract seine Vorteile, die durch seine dezentrale Struktur erhält.
Dadurch verlieren auch Smart Contracts ihren Vorteil, auch wenn sie in einer Blockchain abgesichert sind.
Sobald eine Abhängigkeit von einem Oracle integriert wird, sollte darauf geachtet werden, dass die Daten auch möglichst sicher und die Oracle-Knoten zuverlässig sind.
Ein weiteres Problem beim Verwenden von Oracles besteht darin, dass alle Teilnehmer in einer Blockchain, etwa Unternehmen in einer Lieferkette, den Daten des Oracles vertrauen müssen.
Es muss daher Einigkeit darüber herrschen, welche Oracles in ein System eingebunden werden sollen, und ob die Daten auch vertrauenswürdig genug sind, um Smart Contracts zu beeinflussen. Solche Abläufe sollten idealerweise auch in den Geschäftsbedingungen klar definiert werden.
Worauf gilt es zu achten?
Unter Umständen kann es also passieren, dass ein Smart Contract gar nicht oder falsch ausgelöst wird, da das externe Oracle schlicht und ergreifend falsche oder keine Daten liefert.
Dabei spielt es keinerlei Rolle, dass alle anderen Komponenten des Smart Contracts in der Blockchain (On-Chain) positioniert sind.
Das Oracle liefert seine Daten von extern, also Off-Chain. Ein Oracle muss auch nicht kompromittiert sein, damit ein Geschäftspartner dessen Daten anzweifelt. Die pure Wahrscheinlichkeit, dass das passieren kann, ist schon ein Problem.
Aus diesem Grund sollte beim Einsatz von Oracles stark darauf geachtet werden, dass auch hier die Sicherheit und Transparenz maximal gesichert sind.
Daher sollten Oracles auch möglichst dezentral konfiguriert sein und aus mehreren Knoten Daten liefern. In diesem Fall kommen keine einzelnen Oracle zum Einsatz, sondern ein Oracle-Netzwerk.
Dabei handelt es sich um unabhängige Knoten, die Daten von der Off-Chain-Quelle abrufen und an die Blockchain übermitteln. Ein bekanntes Framework für dezentrale Oracles ist zum Beispiel Chainlink.
Zwar sind in diesem Fall die Oracles immer noch kein Bestandteil der Blockchain, werden dafür aber durch ähnliche Mechanismen geschützt wie eine Blockchain.
Die Zukunft von Blockchain-Oracles
Blockchains wie Ethereum oder Hyperledger Fabric für intelligente Verträge zu verwenden und dabei auch Informationen von außerhalb zu integrieren, bietet viele Anwendungsmöglichkeiten.
Wenn sich die Blockchain weiter ausbreitet, wovon stark auszugehen ist, wird es in Zukunft immer häufiger notwendig, dass Daten von extern in die Blockchain integriert werden müssen.
Oracles und deren Technologie werden sicherlich immer weiterverbreitet und erhalten mehr Funktionen. Die Sicherheit wird deutlich verbessert.
Es ist zu erwarten, dass mehr Open-Source-Projekte in diesem Bereich entstehen und Unternehmen wie Microsoft, Amazon und Google die Technologie auch in ihren Cloud-Plattformen integrieren werden.
Es gibt beim Einsatz bereits verschiedene Technologien, die das Verwenden von Off-Chain-Daten ermöglicht.
In vielen Fällen ist es nicht sinnvoll, in einem Blockchain-Projekt alle Daten einer dApp und eines Smart Contracts in der Blockchain selbst zu speichern.
Das ist auch aus Gründen des Datenschutzes und der Sicherheit nicht immer ideal.
Off-Chain-Technologien ermöglichen es, dass Daten außerhalb der Blockchain gespeichert werden, aber in der Blockchain und durch die Blockchain-Apps nutzbar sind.
Darauf müssen sich Entwickler rechtzeitig einstellen und bereits frühzeitig einplanen. Das gilt auch für Oracles, aber auch für andere Daten, die Off-Chain gespeichert werden sollen.
Mit Off-Chaining können auch Skalierungsprobleme von Blockchains behoben werden. Da sich bestimmte Daten nicht in der Blockchain befinden, reduziert sich dadurch auch die Größe der Blockchain-Datenbank.
Gleichzeitig können die Daten auf sehr schnellen Systemen gespeichert werden, die für den Off-Chain-Einsatz optimiert sind.
Fazit
Oracles spielen in Blockchains eine wesentliche Rolle. Steigt die Verbreitung der Blockchain an, ist es auf Dauer unumgänglich, dass eine Blockchain auch Informationen von außerhalb benötigt, um Smart Contracts effektiv zur Verfügung stellen zu können.
Oracles sind vom Einsatz in vielen Blockchains kaum mehr wegzudenken. Aus diesem Grund sollte sich Betreiber eine Blockchain frühzeitig damit auseinandersetzen, welche Möglichkeiten es gibt, Oracles in die eigene Blockchain integrieren zu können.
Stehen entsprechende Schnittstellen bereits zur Verfügung, kann die Integration wesentlich schneller erfolgen als durch das komplette Umstrukturieren von Smart Contracts, wenn die Einbindung nicht zuvor bei der Erstellung eingeplant worden ist.
Bitcoin Tokenomics
- Name
- Bitcoin
- Ticker
- BTC
- Aktueller Kurs
- Marktkapitalisierung
- Handelsvolumen
- Anteil am Krypto-Markt
- Allzeithoch
- Allzeittief
- Coins im Umlauf
- Gesamtanzahl an Coins
- Bereits im Umlauf