Smart Oracles

Wie externe Daten sicher in die Blockchain wandern

04.09.2019
Von  und Florian Keibel
Mustafa Cavus ist IT-Architekt bei Sopra Steria Consulting. Der studierte Informatiker hat sich auf die Themen Big Data und Blockchain spezialisiert.
Die externe Dateneinbindung wird für Blockchain-Anwendungen immer wichtiger. Smart Oracles bieten dafür einen guten Ansatz, der dennoch Schwächen aufweist.
Digitale Verträge erfordern häufig externe Daten.
Digitale Verträge erfordern häufig externe Daten.
Foto: metamorworks - shutterstock.com

Prozesse in der globalisierten, digitalen Wirtschaft erfordern die Zusammenarbeit vieler verschiedener Institutionen aus verschiedenen Branchen. Mithilfe der Blockchain-Technologie lassen sich Prozesse automatisieren und Abläufe durch Disintermediation, also das Wegfallen von Zwischeninstanzen in der Wertschöpfungskette, kosteneffizienter gestalten. Um diesen Effekt herbeizuführen werden Smart Contracts in der Blockchain genutzt. Smart Contracts sind ein Konzept, durch das Vertragsbedingungen digital durch Programmcode abgebildet werden können.

Die Krux mit den externen Daten

Der Ansatz hat allerdings auch einen Haken: Trotz der hergestellten Transparenz durch Blockchain und Smart Contracts sind die Möglichkeiten begrenzt, sobald zur Abwicklung von Smart Contracts externe Daten benötigt werden, die außerhalb des definierten Blockchain-Netzwerks liegen. Im einfachen Fall bildet eine Blockchain-Lösung einen bestimmten Business Case ab. Smart Contracts implementieren die Business-Logik, werden explizit ausgeführt und verarbeiten die Business-Daten. Das Ergebnis wird im Netzwerk validiert und verifiziert.

Dieses Vorgehen wird problematisch, sobald die Daten, die für die Business-Logik notwendig sind, nicht vorliegen und von Fremdsystemen bezogen werden müssen. Das gilt beispielsweise für Wertpapierkurse und Sensordaten, die sich im Sekundentakt verändern. Smart Contracts können nicht auf die Daten außerhalb ihres Netzwerks zugreifen. Die Herausforderung: Unternehmen müssen klären, wie die benötigten Daten zum Ausführen des Smart Contracts angeliefert werden und wie garantiert werden kann, dass diese nicht manipuliert worden sind. Die Datenschnittstelle der Blockchain wäre in diesem Fall ein potentielles Manipulationsziel.

Smart Oracles als Gatekeeper

Für das Problem des Manipulationsrisikos, das bei der Nutzung von Daten außerhalb der Blockchain entsteht, gibt es eine Lösung. Die Lücken zwischen den Daten in der Blockchain und Daten außerhalb der Blockchain schließen sogenannte Smart Oracles. Diese spezielle technische Komponente besitzt die Fähigkeit, Ereignisse außerhalb einer Blockchain zu verifizieren und entsprechende Informationen den Smart Contracts in einer Blockchain bereitzustellen. Vereinfacht dargestellt: Mittels Smart Oracles lässt sich der Ausgang von Ereignissen herausfinden. Sie machen somit keine Vorhersagen über die Zukunft, wie es typischerweise die Rolle von Orakeln in der Mythologie ist. Vielmehr liefern Smart Oracles Informationen zu bereits geschehenen Ereignissen.

Durch die Verwendung von Smart Oracles lässt sich ein verifizierter Daten-Feed direkt an einem Smart Contract anbinden. Das eröffnet neue Möglichkeiten: In eine Blockchain-Lösung können nun beispielsweise verifizierte Echtzeit-Wertpapier- oder Rohstoffkurse integriert werden. Smart Contracts können damit auf den angelieferten verifizierten Kurswert reagieren und den Wert beim Handel mit anderen Assets auf der Blockchain punktgenau berücksichtigen.

Ein weiterer denkbarer Verwendungszweck ist die Auswertung von Sensordaten für Blockchain-Anwendungen im Internet of Things (IoT). In der Luftfahrt könnte ein Smart Contract anhand der angelieferten verifizierten Informationen feststellen, dass eine Wartung notwendig ist, und direkt mit Wartungsfirmen auf der Blockchain interagieren.

Die verschiedenen Smart-Oracle-Typen

Smart Oracles gibt es in unterschiedlichen Varianten und Typen. Ein Unterscheidungsmerkmal ist die Richtung des Datenflusses. Ein sogenanntes Inbound Oracle versorgt einen Smart Contract mit externen Daten, während ein Outbound Oracle Informationen aus einem Smart Contract nach außen sendet, beispielsweise die Information „Öffne" zu dem Schloss eines Mietautos.

Ein weiteres Unterscheidungskriterium ist die Herkunft der Daten: Software Oracles versorgen einen Smart Contract mit digital zugänglichen Daten, die aus verschiedenen Online-Datenquellen bezogen werden können, beispielsweise Wetterdatenbanken, den Datenfeed von Finanzmarktplätzen und Informationsdienste, die Sportergebnisse anbieten. Hardware Oracles können wiederum Informationen aus einem Sensor auslesen, verifizieren und direkt aus der realen Welt in die Blockchain-Lösung schreiben. Mögliche erfassbare Messwerte sind unter anderem Umweltzustände, geographische Positionen und RFID-Chip-Informationen.

Das Oracle-Problem und die Lösung

Darüber hinaus gibt es Consensus Based Oracles. Sie stützen sich nicht lediglich auf die Daten eines Oracles, sondern kombinieren die Aussagen mehrerer Oracles, um ein konsensbasiertes Ergebnis zu generieren. Die Consensus Based Oracles versuchen ein grundlegendes Problem von Oracles, das „Oracle-Problem", zu lösen. Wird die Datenlieferung eines Oracles manipuliert und liefert dadurch inkorrekte Informationen, wird der dazugehörige Smart Contract mit falschem Input ausgeführt. Durch die Konsensfindung verschiedener Oracles wird versucht, die Abhängigkeit von der Datenlieferung eines einzelnen Oracles zu eliminieren. Andernfalls würde eine Zentralisierung stattfinden. Die Vorteile der dezentralen, nicht kompromittierbaren Blockchain und der autonomen Smart Contracts würden durch einen Single Point of Failure in der Datenanlieferung untergraben.

Zur Lösung des Oracle-Problems existieren noch weitere Ansätze. Für anspruchsvolle Vorgänge, in denen eine sichere Anlieferung externer Daten absolut erfolgskritisch ist, hat sich der dezentralisierte Ansatz von Distributed Smart Oracles als der am besten geeignete herauskristallisiert. Bei diesem Ansatz gewährleistet eine Zweidrittelmehrheit von Oracles, dass die Daten echt und korrekt sind. Mehrere Oracles erzeugen hier durch den Zugriff auf unterschiedliche Datenquellen gemeinsam einen Konsens. Dieser Vorgang ähnelt den Konsensverfahren der Blockchain bei der Bildung neuer Blöcke.

Fehlerhafte Oracles lassen sich so durch den dezentralisierten Ansatz ausschließen. Externe Störfaktoren wie Manipulationen oder Ausfälle einzelner Oracles wirken sich somit nicht auf das Ergebnis aus – es sei denn, es findet, wie bei einer Blockchain, eine koordinierte Attacke auf die Mehrheit der Oracles statt.

Smart Oracles erweitern somit die Funktionalität von Blockchains, besitzen jedoch ähnliche Stärken und Schwächen. Die Lösungen bei der Implementierung ähneln den Weiterentwicklungen der letzten Jahre im Blockchain-Bereich.

Fazit: Stärken und Schwächen kennen und berücksichtigen

Künftige Blockchain-Anwendungen werden verstärkt in der Lage sein müssen, per Schnittstelle mit Daten von außerhalb arbeiten zu können. Smart Oracles eröffnen Wege zur sicheren Einbindung dieser externen Informationen. Das erweitert das Einsatzspektrum und die Funktionalität von Blockchains. Dennoch sind die smarten Orakel, wie jede neue Technologie, alles andere als perfekt. Unternehmen sollten bei der Implementation von Smart Oracles deshalb mit besonderer Sorgfalt vorgehen, die Schwächen kennen und sie auch berücksichtigen.