Was ist ein Orakel?
Was mit diesem etwas „offensichtlichen“ Namen nicht ganz übereinstimmt, ist, dass es sich bei einem Blockchain-Orakel um eine Informationsquelle Dritter handelt, deren einzige Funktion darin besteht, Daten für die Blockchain bereitzustellen und so die Erstellung intelligenter Verträge zu ermöglichen.
Im Grunde ist ein Smart Contract nur ein selbstausführender Code. Der Smart Contract wertet die vom Orakel eingehenden Daten aus und leitet auf Basis der erhaltenen Informationen die Ausführung ein.
Nehmen wir ein Beispiel. Nehmen wir an, John und John platzieren an diesem Samstag eine Wette auf den Preis von Bitcoin. Zhang San glaubt, dass der Preis für Bitcoin bei 8.500 US-Dollar oder mehr liegen wird. Im Gegenteil, Xiao Hei geht davon aus, dass der Preis für Bitcoin bei 8.000 US-Dollar oder weniger liegen wird. Also entwarfen sie einen intelligenten Vertrag (an den beide Parteien Geld senden würden), und wer den Preis vorhersagte, der näher am tatsächlichen Preis lag, gewann die Gelder.
Damit der Smart Contract den Preis von Bitcoin ermitteln und damit den Gewinner auszahlen kann, muss er an diesem Samstag den Preis von Bitcoin durch ein Orakel abfragen. Wenn beispielsweise die Bitcoin-Preisdaten abgefragt werden, lautet der zurückgegebene Wert, dass der Bitcoin-Preis am Samstag 8.600 US-Dollar beträgt. Dann wird der Smart Contract gemäß seinen Bedingungen ausgeführt und alle Gelder an Zhang San gesendet.
02 Arten von Orakeln
Oracles bieten zusätzliche Funktionalität für Smart Contracts, indem sie ihnen die Möglichkeit bieten, außerhalb eines dezentralen Blockchain-Netzwerks zu kommunizieren.
Blockchain-Orakel können viele Formen annehmen, unter anderem:
1. Software-Orakel
Diese Form des Orakels umfasst typischerweise leicht zugängliche Online-Informationsquellen wie Websites und öffentliche Datenbanken. Sie liefern in der Regel Informationen wie Temperaturwerte, Informationen zu öffentlichen Verkehrsmitteln und aktuelle Preise für verschiedene Finanzanlagen.
Software-Orakel sind aufgrund ihrer inhärenten Interkonnektivität mit dem Internet wahrscheinlich die leistungsfähigste verfügbare Art von Orakeln. Diese Verbindung ermöglicht es Software-Orakeln, aktuelle Informationen für Smart Contracts bereitzustellen.
2. Hardware-Oracle
Diese Art von Orakel ist typischerweise für Ereignisse in der physischen Welt verantwortlich und sendet Daten an Smart Contracts. Wenn beispielsweise im Supply Chain Management ein Objekt mit einem RFID-Tag in einem bestimmten Lager ankommt, können diese Daten an einen Smart Contract gesendet werden und ein Hardware-Oracle-System kann Waren entlang der gesamten Lieferkette verfolgen.
3. Orakel eingeben
Diese Form des Prädiktors verfügt über die Funktionalität, einem Smart Contract einfach Daten bereitzustellen. Die bereitgestellten Daten sind außerhalb des Smart Contracts und die Ausführung beginnt nach Erhalt der Informationen. Die Nachrichten-Website, die im obigen Beispiel Bitcoin-Preise bereitstellt, kann als Eingabeorakel klassifiziert werden.
4. Orakel ausgeben
Diese Orakel liefern intelligente Vertragsdaten an externe Quellen. Im Fall des obigen Beispiels kann der Smart-Vertrag, sobald John als Gewinner ermittelt wird, diese Informationen an den Wallet-Anbieter übermitteln, sodass sein Kontostand automatisch aktualisiert wird, um die Erhöhung der Mittel widerzuspiegeln.
In diesem Fall kann der Smart Contract selbst als Ausgabeorakel fungieren.
5. Konsensbasiertes Orakel
Die Funktion eines solchen Orakels besteht darin, mehrere Informationsquellen abzufragen und auf der Grundlage ihres Konsenses Ergebnisse abzuleiten. Im obigen Beispiel könnten beispielsweise auch 4 Websites verwendet werden, um den Preis von Bitcoin abzufragen. Wenn alle Oracle-Quellen (Websites) denselben Wert zurückgeben, kann der Smart Contract erfolgreich ausgeführt werden.
03 Oracle erfordert Vertrauen
Obwohl die Vorteile von Orakeln auf der Hand liegen, gibt es einen Nachteil: Orakel erfordern Vertrauen.
Die Datenquelle, die das Orakel verwendet, um Informationen zu erhalten und an den Smart Contract zu übermitteln, muss als vertrauenswürdig angesehen werden. Um mit dem obigen Beispiel fortzufahren: Wenn Zhang San diese Bitcoin-Preis-Website irgendwie kontrollieren könnte, könnte er den zurückgegebenen Bitcoin-Preis leicht auf 8.600 $ belaufen und damit das Spiel gewinnen.
Wenn sich also herausstellt, dass die vom Orakel an den Smart Contract übermittelten Daten falsch sind, liegt ein Sicherheitsproblem vor. Eine mögliche Lösung für dieses Problem besteht darin, Daten von mehreren Oracle-Datenbanken anstelle einer einzelnen Oracle-Datenbank anzufordern.
Wenn beispielsweise ein Orakel einen Bitcoin-Preis von 8.600 US-Dollar zurückgibt und vier andere Orakel einen Preis von 8.000 US-Dollar zurückgeben, können zusätzliche Bedingungen in den Smart Contract programmiert werden, um den Konflikt zu lösen. Der Smart-Vertrag kann sich dafür entscheiden, nur einen Mehrheitswert zu akzeptieren. In diesem Fall wird John Doe der Gewinner.