
Blockchain-Orakel lösen das Problem der Datenlieferung aus der realen Welt in die Blockchain. Es ist jedoch wichtig zu wissen, welchen wir vertrauen können.
In über den Start des Verzeichnisses wir haben über die Bedeutung von Orakeln für die Blockchain geschrieben.
Dezentrale Anwendungen haben keinen Zugriff auf Daten außerhalb der Blockchain. Daher werden kleine Programme – Orakel – entwickelt, die Zugriff auf die benötigten Daten aus der realen Welt erhalten und diese in die Blockchain eintragen.
Orakel können nach dem Typ der Datenquelle in drei Kategorien unterteilt werden: softwarebasiert, hardwarebasiert und menschlich.
Software-Orakel erhalten und verarbeiten Daten aus dem Internet – wie z. B. Lufttemperatur, Preise von Waren, Verspätungen von Zügen und Flügen. Die Informationen stammen aus Online-Quellen wie APIs, und das Orakel extrahiert sie und fügt sie in die Blockchain ein. Wie Sie ein einfaches Software-Orakel erstellen können, lesen Sie .
Hardware-Orakel Verfolgen Objekte aus der realen Welt mit Hilfe von Geräten und Sensoren. Beispielsweise nimmt eine kalibrierte Kamera Autos auf, die eine bestimmte Zone betreten. Der Oracle zeichnet die Tatsache des Überquerens der Linie in der Blockchain auf, und basierend auf diesen Daten kann ein Skript einer dezentralen Anwendung zum Beispiel die Ausstellung eines Bußgeldes und den Abzug von Token vom Konto des Fahrzeughalters initiieren.
Menschliche Orakel verwenden Daten, die von Menschen eingegeben werden. Sie gelten als die fortschrittlichsten aufgrund ihrer unabhängigen Sichtweise auf das Ergebnis eines Ereignisses.
Vor kurzem haben wir ein Tool bereitgestellt, das es ermöglicht, die Daten des Orakels gemäß einer bestimmten Spezifikation in die Blockchain zu speichern. Es funktioniert äußerst einfach: Man muss lediglich , ausfüllen. Danach können Daten-Transaktionen gemäß dieser Spezifikation über die Waves Oracles-Schnittstelle veröffentlicht werden. Lesen Sie mehr über das Tool in .

Solche standardisierten Werkzeuge und Schnittstellen erleichtern das Leben sowohl für Entwickler als auch für Nutzer von Blockchain-Diensten. Unser Tool ist besonders nützlich für menschliche Orakel und kann beispielsweise zur Dokumentation von Zertifikaten oder Urheberrechten für verschiedene Objekte eingesetzt werden.
Bei der Nutzung von Orakeln stellt sich jedoch die Frage des Vertrauens in die Informationen, die sie bereitstellen. Ist die Quelle zuverlässig? Werden die Daten rechtzeitig geliefert? Zudem besteht das Risiko, dass das Orakel die Nutzer täuschen könnte, indem es absichtlich falsche Informationen zur eigenen Vorteilnahme bereitstellt.
Ein Beispiel ist ein Orakel, das Informationen über Sportereignisse für eine dezentrale Wettbörse bereitstellt.
Das Ereignis ist der Hauptkampf des UFC 242-Turniers: Khabib Nurmagomedov gegen Dustin Poirier. Laut Einschätzung der Buchmacher ist Nurmagomedov der klare Favorit in diesem Duell. Auf seinen Sieg konnte man mit einer Quote von 1,24 setzen, was einer Wahrscheinlichkeit von 76 % entspricht. Die Quote für einen Sieg von Poirier lag bei 4,26 (22%), während die Wahrscheinlichkeit eines Unentschiedens von den Buchmachern mit 51,0 (2%) bewertet wurde.

Das Skript akzeptiert Wetten von Nutzern auf alle drei möglichen Ergebnisse, bis es vom Oracle Informationen über das tatsächliche Ergebnis des Kampfes erhält. Dies ist das einzige Kriterium für die Verteilung der Gewinne.
Es ist jetzt bekannt, dass Nurmagomedov gewonnen hat. Stellen wir uns jedoch vor, ein unehrlicher Oracle-Besitzer plant absichtlich einen Betrug und setzt auf das Ergebnis mit den vorteilhaftesten Quoten – Unentschieden. Sobald der Wettpool ein großes Volumen erreicht hat, initiiert der Oracle-Besitzer die Aufzeichnung falscher Informationen über ein angebliches Unentschieden im Blockchain. Das Skript der dezentralen Börse hat keine Möglichkeit, die Richtigkeit der erhaltenen Daten zu überprüfen, und verteilt lediglich die Gewinne entsprechend diesen Daten.
Wenn der potenzielle Gewinn von solch einem Betrug höher ist als die prognostizierten Einnahmen eines ehrlichen Orakels und das Risiko, vor Gericht zu gehen, gering ist, steigt die Wahrscheinlichkeit unehrlicher Handlungen des Oracle-Besitzers erheblich.
Eine mögliche Lösung für das Problem besteht darin, Daten von mehreren Orakeln anzufordern und die erhaltenen Werte auf einen Konsens zu bringen. Es lassen sich mehrere Arten von Konsens herausarbeiten:
- Alle Orakel haben einheitliche Informationen bereitgestellt.
- Die meisten Orakel haben einheitliche Informationen geliefert (2 von 3, 3 von 4 usw.).
- Die Daten der Orakel werden auf einen Mittelwert gebracht (es sind Varianten möglich, bei denen der maximale und minimale Wert vorab ausgeschlossen werden).
- Alle Orakel haben einheitliche Informationen mit einer vorher festgelegten akzeptablen Abweichung bereitgestellt (zum Beispiel können die finanziellen Kurse aus verschiedenen Quellen um 0,00001 abweichen, und das Erhalten einer genauen Übereinstimmung ist eine unmögliche Aufgabe).
- Nur einzigartige Werte aus den erhaltenen Daten auswählen.
Lassen Sie uns zu unserer dezentralen Wettbörse zurückkehren. Bei der Verwendung des Konsenses "3 aus 4" könnte ein Orakel, das einen Unentschieden im Kampf meldet, die Ausführung des Skripts nicht beeinflussen, vorausgesetzt, die drei anderen Orakel liefern verlässliche Informationen.
Doch ein unehrlicher Benutzer könnte auch drei von vier Orakeln besitzen und damit die entscheidende Mehrheit sichern.
Um die Integrität der Orakel zu wahren, könnte ein Bewertungs- oder Mahnsystem für falsche Daten eingeführt werden. Man könnte auch den Ansatz des „Zuckerbrot“ wählen und Belohnungen für Genauigkeit anbieten. Doch keine Maßnahmen können beispielsweise vollständige Manipulationen von Bewertungen oder unlauteren Mehrheiten verhindern.
So ist es sinnvoll, komplizierte Dienste zu entwickeln, oder genügt es, ein Konsens-Tool zu haben, das es ermöglicht, wie im Supermarkt fünf Orakel auszuwählen, die die benötigten Daten bereitstellen, den Konsens-Typ festzulegen und das Ergebnis zu erhalten?
Zum Beispiel benötigt eine dezentrale Anwendung Temperaturdaten in Grad Celsius. Im Orakelverzeichnis finden wir vier Orakel, die solche Daten bereitstellen, wir setzen den Konsens-Typ „Durchschnitt“ und stellen die Anfrage.
Angenommen, die Orakel geben die Werte 18, 17, 19 und 21 Grad aus. Eine Differenz von drei Grad kann für die Ausführung des Skripts durchaus kritisch werden. Der Dienst verarbeitet das Ergebnis und ermittelt den Durchschnitt von 18,75 Grad. Diese Zahl erhält das Skript der dezentralen Anwendung und arbeitet damit.

Letztlich liegt die Entscheidung beim Verbraucher: Soll man einem einzigen Orakel vertrauen und dessen Daten nutzen, oder einen Konsens aus mehreren, nach eigenem Ermessen gewählten Orakeln schaffen?
Auf jeden Fall ist die Welt der Datenorakel relativ neu. Sie befindet sich in einer Phase, in der die Nutzer selbst bestimmen können, in welche Richtung sie sich entwickeln soll. Daher möchten wir Ihre Meinung hören. Benötigen Sie das oben beschriebene Werkzeug für Orakel? Wie sehen Sie die Zukunft der Datenorakel insgesamt? Teilen Sie Ihre Gedanken in den Kommentaren und in unserer offiziellen Gruppe in .
Quelle: habr.com
