💡 Blockchain Oracle: Das Wichtigste in Kürze
- Definition von Oracles: Blockchain Oracles sind dienen als Brücken, die Smart Contracts mit Echtweltinformationen versorgen.
- Rolle bei Smart Contracts: Oracles ermöglichen es Smart Contracts, über die Blockchain hinaus zu agieren, indem sie Daten aus der physischen Welt, wie Temperaturen oder andere relevante Informationen, bereitstellen.
- Anbindung an die Blockchain: Durch die Anbindung von Sensoren an die Blockchain können aktuelle Daten aus der realen Welt in die digitale Welt der Smart Contracts übertragen. Diese Quellen nennen wir Oracles.
- Bekannte Kryptowährungen: Chainlink ist das bekannteste Projekte zur Verwendung von Blockchain Oracles. In unserem Beitrag Chainlink kaufen findest Du eine Übersicht seriöser Handelsplattformen.
Was ist ein Oracle? - Definition und Erklärung
Oracles sind notwendige Verbindungen, um Smart Contracts mit Echtweltinformationen verbinden zu können.
Smart Contracts können von allen Nutzern einer Blockchain ausgeführt werden. Die Ergebnisse dieser Ausführungen werden wieder auf der Blockchain gespeichert und sind ebenfalls für alle Nutzer zugänglich.
Smart Contracts beziehen sich grundsätzlich nur auf manuell erzeugte Ereignisse in einer Blockchain. Will man sie mit Informationen aus der realen Welt, also mit Echtweltinformationen, verbinden, müssen Sensoren an die Blockchain angebunden werden. Bei diesen Sensoren handelt es sich um Quellen von Echtweltinformationen, die Oracles genannt werden.
Wie funktionieren Blockchain Oracles?
Als Pionier der Blockchain Oracles gilt das Astraea Protokoll. Dieses eignet sich gut, um die Funktion von Blockchain Oracles zu beschreiben.
Grundlegende Funktion von Blockchain Oracles
Die ursprüngliche Idee einer öffentlichen Blockchain war es, doppelte Transaktionskosten bei der Verarbeitung von Transaktionen in einem Peer-to-Peer-Netzwerk zu verhindern. Durch das Blockchain-System wurde ermöglicht, dass quasi-anonyme Parteien einer Transaktion einen Konsens über die Anordnung dieser Transaktion innerhalb des Netzwerks erzielen können. Hierbei entstehen dieselben Herausforderungen, die die IT-Branche bereits seit Jahrzehnten beschäftigen: Netzwerke können nicht miteinander kommunizieren. Dies führt zu schlechter Usability und zu Ineffizienzen.
Diese ursprüngliche Idee wurde seit ihrer Entwicklung kontinuierlich ausgeweitet und weiterentwickelt. Eine solche Weiterentwicklung sind Smart Contracts, die automatisierte Vertragshandlungen ausführen können, wenn bestimmte, vorab definierte bzw. programmierte Ereignisse eintreten.
Smart Contracts haben allerdings einen eingeschränkten Anwendungsbereich, weil sie nur mit Daten arbeiten können, die sich in der Blockchain befinden.
Das grundlegende Problem bleibt hier also bestehen: Die Blockchain samt ihren Anwendungen kann nicht bzw. nicht von alleine mit der realen Welt interagieren.
Dieses Anwendungsproblem kann im Wesentlichen mit einem Computer bezeichnet werden, der nicht an das Internet angeschlossen ist und somit keine Möglichkeit hat, mit der Außenwelt zu interagieren.
Oracle-Lösung durch Astraea
Um auch externe Daten in Blockchains nutzen zu können, wurden daher Oracles entwickelt. Sie bilden einen Anknüpfungspunkt für externe Daten, ohne diese jedoch prüfen zu können. Die externen Daten müssen daher kryptographisch oder rechnerisch überprüft bzw. nachgewiesen werden. Das führt zu einer grundlegenden Sicherheitsproblematik bei Oracles, denn Manipulationssicherheit kann von Oracles nicht von Natur aus gewährleistet werden. Dies liegt daran, dass es sich bei Oracles um einen Zugriff auf Daten externer Stellen handelt. Diese Daten sind nicht per se vertrauenswürdig, was wiederum dem Grundprinzip der Blockchain zuwiderläuft.
Hier setzt Astraea an. Dabei handelt es sich um ein dezentralisiertes Allzweck-Orakel, um die Wahrheit oder Falschheit einer "Boolean Proposition" ("Boolesche Aussage") zu bestimmen.
Eine Boolesche logische Aussage ist eine logische Struktur, die entweder wahr oder unwahr sein kann.
Das Astraea Oracle ist demnach eine Blockchain-Anwendung, die auf einem abstimmungsbasierten Spiel basiert. Blockchain-Nutzer können die Rolle des Wählers ("Voter") oder des Zertifizierers ("Verifier") einnehmen, um die Wahrheit oder Falschheit von den eingebrachten Informationen zu bestimmen. Das Ziel ist es daher, weiterhin die Fälschungssicherheit der Daten bzw. die Manipulationssicherheit der gesamten Blockchain zu sichern. Dafür sind in Oracle-Protokollen Rewards vorgesehen.
Eine grafische Darstellung des Mechanismus findet sich in den IEEE Blockchain Technical Briefs von März 2019.
Integration von Oracles in Smart Contracts
Oracles werden durch so genannte Multi-Sig-Contracts der Blockchain hinzugefügt. Dabei handelt es sich um Smart Contracts, die von mehreren Parteien unterzeichnet werden. Diese müssen entsprechend definiert werden, etwa indem programmiert wird, dass Person 1 mit Person 2 einen Austausch abwickeln will und dieser nur möglich sein soll, wenn bestimmte Bedingungen erfüllt sind.
Diese Bedingungen werden dann durch Daten des Oracles geliefert. Selbst wenn die beiden Vertragsparteien den Smart Contract ausführen wollen, könnte dieser nur ausgeführt werden, wenn auch die Bedingung erfüllt ist, die anhand der Oracle-Daten geprüft werden kann.
Die 5 Arten von Blockchain Oracles
Hierbei betrachten wir 5 Arten von Oracles für Blockchains:
- Software Oracles: Beziehen sich auf online verfügbare Daten wie Temperaturen oder Flugverspätungen.
- Hardware Oracles: Beziehen sich auf Daten aus der realen, physischen Welt, z.B. aus Lieferketten.
- Inbound Oracles: Stellen Smart Contracts Informationen aus der Außenwelt zur Verfügung, wie z.B. eine automatisierte Kauf-Order bei Erreichung eines bestimmten Euro-Kurses.
- Outbound Oracles: Ermöglichen es Smart Contracts, Daten nach außen zu senden, was z.B. für Zahlungen auf der Blockchain notwendig ist.
- Consensus Based Oracles: Kombinieren mehrere Oracles, um nicht von einer einzigen externen Quelle abhängig zu sein. Die Oracles bilden einen Konsens für Entscheidungen, wobei beispielsweise mindestens drei von fünf Oracles zustimmen müssen, um eine Operation auszuführen.
Blockchain Oracles: Die bekanntesten Projekte von Chainlink bis API3
Wie beschrieben, gilt das Astraea Oracle als Pionier der Anwendungen. Seitdem kam es zu verschiedenen Weiterentwicklungen. Die nächsten werden nachfolgend dargestellt.
Chainlink: Der bekannteste Oracle-Anbieter
Chainlink ist der bekannteste Oracle-Anbieter. Chainlink wurde 2017 entwickelt und zählt daher gemeinsam mit Astraea zu den Pionieren der Blockchain Oracles. Die Funktion von Chainlink ist das Abrufen aggregierter Informationen verschiedener Oracles über einen Marketplace.
Chainlink arbeitet hierbei mit folgenden Regeln:
- Registrierte Oracles: Nur registrierte Oracles können Daten anbieten, was Chainlink zu einem teilnehmerbeschränkten ("permissioned") Protokoll macht.
- Anfälligkeit für Denial of Service: Das Chainlink-System kann durch eine "Denial of Service"-Attacke beeinträchtigt werden, bei der ein Internetdienst unerreichbar wird, oft durch Überlastung des Datennetzes.
Chainlink ist in diesem Sinne ein Oracle-Netzwerk mit mehreren "Ketten", das manipulationssichere Ein- und Ausgänge für Smart Contracts bietet. Über diese Ein- und Ausgänge werden die Smart Contracts des Oracle-Netzwerks mit einer Vielzahl realer Daten verbunden, beispielsweise Asset-Preisen, Preis-Feeds, Wetterdaten, etc. Eine Auflistung aller verknüpfter Daten findet sich hier.
Band Protocol: Oracle mit eigener Blockchain
Band Protocol wird von der Kryptobörse Binance unterstützt. Das Protokoll ermöglicht es dezentralisierten Anwendungen, Preis- und Ereignis-Feeds zu integrieren. Das Ziel ist es, die dezentrale mit der realen Welt möglichst effektiv zu verbinden.
Die Daten sind "community-curated", gelten also als von Experten (Nutzern) geprüft und kuratiert. Dadurch gelten die mit den Smart Contracts verbundenen Daten als zuverlässig. In diesem Punkt unterscheidet sich Band Protocol von Chainlink, da dezentralisierte Anwendungen über Smart-Contract-Daten und nicht über externe Oracles auf Daten zugreifen.
Eine bedeutende Funktion von Band Protocol ist die Integration mit Google Cloud. Das Band Protocol wurde in die Google Cloud Public Data integriert, um eine Echtzeitanalyse von Finanzzeitreihendaten zu ermöglichen.
API3 für Blockchains
API3 ist ein DAO-gesteuertes Projekt. DAO ist kurz für dezentralisierte autonome Organisation, also eine Organisation, die durch ein transparentes Computerprogramm codiert wird. Aufzeichnungen und Programmregeln einer DAO beruhen auf der Distributed-Ledger-Technologie (DLT).
API3 erstellt Programmierschnittstellen ("APIs", kurz für Application Programming Interface) für dezentralisierte Anwendungen, die als "dAPI" bezeichnet werden. Die Anwendungen sind in großem Umfang verfügbar und können durch die Kombination mehrerer Betreiber und das Ausführen von Oracle-Nodes ohne Intermediär erstellt werden.
Witnet: Das Reputations-Oracle
Witnet ist ein auf Reputation basierendes dezentrales Oracle-Netzwerk.
Nodes, auf denen die Witnet-Software ausgeführt wird, können ihre Reputation erhöhen oder verlieren, wenn sie eine Datenanforderung richtig oder falsch erfüllen. Die Korrektheit der Datenanforderung wird durch einen Konsensalgorithmus definiert.
Die Oracles im Witnet-Netzwerk werden per Zufallsprinzip ausgewählt. Oracles mit einem hohen Reputationswert erhalten auch künftig eher neue Aufgaben als Oracles mit einem niedrigen Reputationswert. Als Rewards sind Token vorgesehen.
DIA: Die dezentrale Informationsplattform
DIA, kurz für Decentralized Information Asset, ist eine Open-Source-Oracle-Plattform, die es Teilnehmern ermöglicht, vertrauenswürdige Daten zu beschaffen, bereitzustellen und zu teilen.
Bei DIA handelt es sich um ein gemeinnütziges Projekt, dass einen Zugriff auf von Blockchain-Nutzern verifizierte Finanzdaten ermöglicht. Ziel des Projekts ist es, ein faires, symmetrisches Finanzökosystem zu erschaffen, indem transparente, sichere, verifizierte Marktdaten bereitgestellt werden.
Fazit zu Blockchain Oracles
Blockchain Oracles werden immer wichtiger und bekannter.
Immer mehr Kryptounternehmen investieren in diese Infrastruktur, um dezentrale Anwendungen für Smart Contracts mit verschiedenen realen Daten verbinden zu können. Dies ist notwendig, da Smart Contracts aufgrund von Blockchain-Beschränkungen nicht selbständig auf die Daten zugreifen können.
Das Ziel von Oracles ist es daher im Wesentlichen, die digitale, dezentralisierte Blockchain-Welt mit den Daten und Informationen der realen Welt zu verknüpfen.
Es ist anzunehmen, dass Blockchain Oracles weiter an Bedeutung gewinnen werden und der Markt für Oracle-basierte Token sich weiter vergrößern wird.