Smart Oracles Externe Daten in die Blockchain einbinden

Anbieter zum Thema

Blockchain-Lösungen bilden bestimmte Business Cases ab. Werden zur Abwicklung von Smart Contracts externe Daten benötigt, die außerhalb des definierten Blockchain-Netzwerks liegen, kann es zu Problemen kommen. Welche Lösungen stehen parat und wie sicher sind sie?

Blockchain-Anwendungen sollten es erlauben, per Schnittstellen mit externen Daten sicher zu arbeiten. Dies erweitert das Einsatzspektrum und die Funktionalität einer Blockchain.
Blockchain-Anwendungen sollten es erlauben, per Schnittstellen mit externen Daten sicher zu arbeiten. Dies erweitert das Einsatzspektrum und die Funktionalität einer Blockchain.
(Bild: gemeinfrei / Pixabay)

In einer digitalisierten Welt müssen viele verschiedene Organisationen aus den unterschiedlichsten Branchen in sinnvollen Prozessen zusammengeführt werden. Diese Abläufe lassen sich durch den Einsatz einer Blockchain nicht nur automatisieren, sondern auch durch die Eliminierung von Intermediären in der Wertschöpfungskette optimieren. Zu diesem Zweck werden Smart Contracts in der Blockchain verwendet. Das heißt, Vertragsbedingungen lassen sich digital durch Programmcodes abbilden.

Problem der externen Daten

Doch an dieser Stelle taucht ein nicht zu vernachlässigendes Problem auf: Die Möglichkeiten und Effizienz der Blockchain reduziert sich deutlich, wenn für die Smart Contracts Daten erforderlich sind, die außerhalb des definierten Blockchain-Netzwerks abgespeichert sind. Wobei eine Blockchain einen Business Case darstellt, Smart Contracts ausführt, Daten verarbeitet und die Ergebnisse im Netzwerk der Blockchain validiert und verifiziert.

Werden Daten von Fremdsystemen wie zum Beispiel Aktienkurse und Sensordaten benötigt, die sich in Sekundenschnelle verändern können, ist ein Zugriff der Smart Contracts auf Daten außerhalb des Netzwerks nicht so einfach möglich. Das hat zur Folge, dass der Betreiber der Blockchain klären muss, wie diese Daten bereitgestellt werden sollen und wie gewährleistet wird, dass sie nicht korrumpierbar sind. Somit würde die Schnittstelle zur Blockchain ein mögliches Ziel der Manipulation werden.

Public-Key-Infrastruktur (PKI)

Mithilfe einer PKI lassen sich per öffentlichen und privaten Schlüssel für jeden Teilnehmer, Daten oder Transaktionen verschlüsseln als auch entschlüsseln. Während der öffentliche Schlüssel eines Teilnehmers, der dem gesamten Netzwerk bekannt ist, von einem Sender zum Verschlüsseln von Daten genutzt wird, kann ein privater Schlüssel, den nur der Empfänger kennt, zum Entschlüsseln bzw. Lesen einer Information dienen. Auf diese Weise sind andere Teilnehmer mit ihrem öffentlichen Schlüssel in der Lage, die Zugehörigkeit zu diesem Teilnehmer zu verifizieren.

Smart Oracles als Wächter

Damit das System bei der Nutzung von externen Daten nicht korrumpierbar ist, stehen sogenannte Smart Oracles zur Verfügung. Dadurch wird die gefährliche Lücke zwischen den Daten in der Blockchain und den Daten außerhalb der Blockchain geschlossen. Denn Smart Oracles verifizieren außerhalb einer Blockchain Daten und Transaktionen und führe sie den Smart Contracts zu.

Obwohl der Name es andeutet, kann mit Smart Oracles nicht die Zukunft vorausgesagt werden, jedoch Informationen zu bereits geschehenen Ereignissen liefern. Das heißt, mit Smart Oracles kann ein verifizierter Daten-Feed direkt mit einem Smart Contract verbunden werden und verifizierte Echtzeit-Aktien- oder Warenbörsenkurse etc. integrieren. Dies hat zur Folge, dass die Smart Contracts auf den beispielsweise aktuellen verifizierten Kurswert reagieren und den Wert mit anderen Assets auf der Blockchain präzise genau abbilden.

So kann zum Beispiel auch bei Auswertungen von Sensordaten einer Maschine für Blockchain-Anwendungen anhand der verifizierten Daten festgestellt werden, ob eine Wartung erforderlich ist. Das System setzt sich dann direkt mit Wartungsfirmen auf der Blockchain in Verbindung. So scheint es auf Grund des steigenden Wettbewerbsdrucks durch ausländische Konkurrenz mit Billigangeboten angezeigt zu sein, dass deutsche Hersteller mit IoT-Funktionen mit neuen Verkaufsargumenten überzeugen müssen.

Unterscheidung von Smart-Oracle-Typen

Smart Oracles existieren in den verschiedensten Varianten und Typen. Ein Unterscheidungskriterium ist zum Beispiel die Quelle der Daten. So versorgen sogenannte „Software Oracles“ einen Smart Contract mit digital zugänglichen Daten, die aus dem Online-Bereich stammen. Das können zum Beispiel Wetterdatenbanken, Flugverspätungen, Datenfeeds aus den Finanzmärkten sowie Sport-Informationsdienste sein.

„Hardware Oracles“ beziehen ihre Informationen dagegen aus der realen Welt. Das heißt, sie lesen die Daten aus einem Sensor aus, verifizieren sie und schreiben sie direkt in die Blockchain. Solche Messwerte sind beispielsweise Umweltdaten, geographische Positionen oder RFID-Chip-Informationen.

Ein weiteres differenzierendes Merkmal ist die Richtung des jeweiligen Datenflusses. „Inbound Oracles“ teilen den Smart Contracts Daten aus der Außenwelt zu. So könnte beispielsweise an der Börse eine Kauf-Order ausgeführt werden, sobald der Kurs eines Investments unter eine definierte Marke rutscht. Auf der anderen Seite sendet ein „Outbound Oracle“ Daten aus einem Smart Contract des Netzwerks nach außen. Andererseits kann auch der Zugang zu einem bestimmten Bereich gewährt werden, sobald eine Zahlung auf der Blockchain getätigt wurde oder die Information „öffne Türschloss eines Mietwagens“ erfolgen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Eine andere Variante sind die Consensus Based Oracles“. Dabei geht es nicht nur um die Daten eines einzigen Oracles, sondern es werden dazu gleich mehrere Oracles verbunden. Auf diese Weise entsteht eine konsensbasierte Lösung, weil sich das System nicht mehr nur auf eine einzige externe Quelle verlassen muss. Das bedeutet, wurden die Daten eines Oracles tatsächlich korrumpiert und dieser übermittelt dann falsche Daten, so werden diese Daten dann mit denen der anderen Oracles verglichen und ein Konsens ermittelt.

Damit es für „Consensus Based Oracles“ zur Ausführung einer Operation kommt, müssen beispielsweise drei von fünf Oracles zustimmen. Gleichsam ist es auch möglich, spezifische Oracles mit Scores zu bewerten, um bestimmte Quellen zu bevorzugen, wenn sie als zuverlässiger gelten.

Im Falle von besonders erfolgskritischen Prozessen hat sich der sogenannte dezentralisierte Ansatz der „Distributed Smart Oracles“ durchgesetzt. In diesem Falle steht eine Zweidrittelmehrheit von Oracles dafür, dass die Daten nicht manipuliert wurden. Hier stellen mehrere Oracles durch den Zugriff auf verschiedene Datenquellen einen Konsens her. Dieses Procedere ist dem Konsensverfahren der Blockchain bei der Bildung neuer Blöcke ähnlich.

(ID:46667165)