Blockchain-Oracles: Die alles sehenden Augen, die Krypto-Netzwerke leiten. Für was dienen Blockchain-Oracles und weshalb ist jede Smart Contract Blockchain auf Oracles angewiesen?
Oracle ist im Grunde nur ein schicker Name für externe Dienste, die Informationen in einen Smart Contract einspeisen. Eine Blockchain ist wie ein Computer ohne Internet. Sie kennt nur die Informationen, welche auf ihr abgespeichert sind.
Die Hauptaufgabe eines Oracles ist es, Daten aus verschiedenen Quellen zu nehmen, diese zu einer endgültigen Entscheidung zusammenzufassen und diese Informationen an den Smart Contract weiterzugeben, damit dieser sie ausführen kann.
Man kann sich diese Blockchain-Oracles oder diese Technologie als Torwächter für Smart Contracts vorstellen. Sie sind dazu da, eine vertrauenswürdige Datenquelle für einen Smart Contract zu liefern und zu verhindern, dass schlechte Daten eingespeist werden. Eine Middleware als Brücke zwischen der Blockchain-Welt und der realen Welt.
Nehmen wir die Lieferkette als Beispiel. Im Logistiksektor dient eine Blockchain zur transparenten und dauerhaften Aufzeichnung des Transports von Waren zwischen mehreren Transporteuren. Mit Smart Contracts im Spiel können Zahlungen automatisch bei Erhalt der Lieferung ausgeführt und Lagerbestände automatisch in Echtzeit aktualisiert werden.
Nun, wie erfährt der Smart Contract, dass die Ware am Zielort unversehrt angekommen ist? An dieser Stelle kommt das Oracle ins Spiel, indem es Daten vom Lager abgreift oder übermittelt bekommt, diese Daten überprüft und das Ergebnis dem Smart Contract übermittelt.
Wir müssen uns daran erinnern, warum wir überhaupt auf einer Blockchain bauen. Ein wichtiger Grund für Smart Contracts ist die Dezentralität. Allerdings müssen die Daten, welche ein Smart Contract nutzt, um Entscheidungen zu treffen, irgendwoher kommen. Wenn wir Daten über eine zentralisierte oder einzelne API, einen einzelnen Node oder eine Quelle in eine dezentralisierte Blockchain importieren, entfernen wir einen der Hauptvorteile, welche die Blockchain von vornherein hat.
Ein zentralisiertes Oracle oder eine Datenquelle bedeutet, dass dieses einzelne Oracle oder diese Datenquelle nun die Kontrolle über die gesamte Ausführung des Smart Contracts hat und der Smart Contract ist nun nicht besser als ein regulärer Vertrag. Selbst wenn das zentralisierte Oracle die besten Absichten hat, haben wir Fälle gesehen, in denen Oracle gehackt wurden und es zu einer Katastrophe kam. Das Oracle-Problem fassen wir folgendermassen zusammen:
Die Blockchain selbst kann nicht auf Daten ausserhalb der eigenen Datenbank (Chain) zugreifen, und zweitens hebt die Verwendung zentraler Oracle die Dezentralität des Smart Contracts im Grunde auf.
Die Lösung sind dezentrale Oracle Netzwerke. Chainlink ist ein dezentrales Oracle-Node Netzwerk, welches externe Daten und Informationen (aus off-chain Quellen), an on-chain Smart Contracts liefern. Dieser Prozess eliminiert die Zuverlässigkeitsprobleme, die bei der Verwendung einer einzigen zentralen Quelle auftreten könnten. Abgesehen von der Datenquelle hat Chainlink einen Weg geschaffen, um Smart Contracts zuverlässig und effizient mit genauen Daten zu versorgen.
Im folgenden Beispiel liefern fünf Nodes Antwort A und zwei andere Nodes Antwort B. Der Chainlink Aggregationsvertrag weiss, dass Antwort B fehlerhaft ist und verwirft ihre Antworten. Auf diese Weise können Chainlink-Nodes, Daten aus einer einzigen Quelle validieren.
Oracles ermöglichen es Entwicklern, leistungsfähige Smart Contracts zu erstellen, die das Blockchain-Ökosystem für die zentralisierte Welt öffnen. Wenn ein Smart Contract wissen muss, ob es am Dienstag geregnet hat, wie hoch der Preis für ein Barrel Öl ist, wer die US-Präsidentschaftswahlen gewonnen hat oder welcher Song gerade die Charts anführt, füttert ihn ein Oracle mit diesen Daten.
Der eindeutige Leader der Oracle-Blockchains ist Chainlink, mit über 600 Partnerschaften. Gefolgt von Band Protocol, welches 65 Partnerschaften im Kryptospace hat.