
Blockchain-Orakel lösen das Problem der Bereitstellung von Informationen aus der AuĂenwelt in die Blockchain. Aber es ist wichtig zu wissen, welchen wir vertrauen können.
Im ĂŒber den Start des Katalogs wir haben ĂŒber die Bedeutung von Orakeln fĂŒr die Blockchain geschrieben.
Dezentralisierte Anwendungen haben keinen Zugang zu Daten auĂerhalb der Blockchain. Daher werden kleine Programme â Orakel â erstellt, die Zugang zu den erforderlichen Daten aus der AuĂenwelt erhalten und diese in die Blockchain schreiben.
Je nach Art der Datenquelle können Orakel in drei Kategorien unterteilt werden: Software-, Hardware- und Menschenorakel.
Software-Orakel erhalten und verarbeiten Daten aus dem Internet â wie Temperatur, Preise von Waren, VerspĂ€tungen von ZĂŒgen und Flugzeugen. Die Informationen stammen aus Online-Quellen, wie APIs, und das Orakel extrahiert sie und platziert sie in der Blockchain. Lesen Sie, wie man ein einfaches Software-Orakel erstellt .
Hardware-Orakel ĂŒberwachen Objekte der realen Welt mithilfe von GerĂ€ten und Sensoren. Beispielsweise nimmt eine Kamera, die auf das Ăberqueren einer Linie kalibriert ist, Autos auf, die in einen bestimmten Bereich fahren. Das Orakel dokumentiert das Ăberqueren der Linie in der Blockchain, und basierend auf diesen Daten kann das Skript der dezentralisierten Anwendung beispielsweise ein BuĂgeld verhĂ€ngen und Token vom Konto des Fahrzeughalters abbuchen.
Menschenorakel verwenden von Menschen eingegebene Daten. Sie gelten als die fortschrittlichsten aufgrund der unabhÀngigen Sichtweise auf das Ergebnis eines Ereignisses.
KĂŒrzlich haben wir ein Tool bereitgestellt, das es ermöglicht, Daten von Orakeln gemÀà einer vorgegebenen Spezifikation in die Blockchain zu schreiben. Es funktioniert extrem einfach: Man muss lediglich eine , indem man die Spezifikation ausfĂŒllt. Danach können Datentransaktionen gemÀà dieser Spezifikation ĂŒber die Schnittstelle Waves Oracles 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 Benutzer von Blockchain-Diensten. Unser Tool ist besonders nĂŒtzlich fĂŒr Menschenorakel und kann beispielsweise zur Aufzeichnung von Zertifikaten oder Urheberrechten an bestimmten Objekten verwendet werden.
Doch bei der Verwendung von Oracle stellt sich die Frage des Vertrauens in die von ihnen bereitgestellten Informationen. Ist die Quelle zuverlĂ€ssig? Werden die Daten rechtzeitig erhalten? DarĂŒber hinaus besteht das Risiko, dass das Oracle die Benutzer tĂ€uscht, um seinen eigenen Vorteil zu erlangen, indem es absichtlich falsche Informationen bereitstellt.
Nehmen wir als Beispiel ein Oracle, 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. Nach SchĂ€tzung der Buchmacher ist Nurmagomedov der klare Favorit des Kampfes. Man konnte auf seinen Sieg mit einer Quote von 1,24 setzen, was einer Wahrscheinlichkeit von 76% entspricht. Die Quote fĂŒr einen Sieg von Poirier betrug 4,26 (22%), wĂ€hrend die Buchmacher die Wahrscheinlichkeit eines Unentschiedens mit einer Quote von 51,0 (2%) bewerteten.

Das Skript nimmt Wetten der Benutzer auf alle drei möglichen Ergebnisse an, 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.
Jetzt ist bekannt, dass Nurmagomedov gewonnen hat. Stellen wir uns jedoch vor, dass der unehrliche EigentĂŒmer des Orakels, der einen Betrug im Voraus plant, auf das Ergebnis mit der gĂŒnstigsten Quote â Unentschieden â wettet. Als der Wettpool ein groĂes Volumen erreicht, initiiert der EigentĂŒmer des Orakels die Aufzeichnung falscher Informationen in der Blockchain ĂŒber angeblich unentschieden ausgegangenen Kampf. Das Skript der dezentralen Börse hat keine Möglichkeit, die ZuverlĂ€ssigkeit der erhaltenen Daten zu ĂŒberprĂŒfen und verteilt die Gewinne nur gemÀà diesen Daten.
Wenn der potenzielle Gewinn aus einem solchen Betrug höher ist als die prognostizierten Einnahmen eines ehrlichen Orakels und das Risiko von Klagen gering, steigt die Wahrscheinlichkeit unehrlicher Handlungen des EigentĂŒmers des Orakels erheblich.
Eine mögliche Lösung des Problems besteht darin, Daten von mehreren Orakeln anzufordern und die erhaltenen Werte zu einem Konsens zu bringen. Man kann mehrere Konsensarten unterscheiden:
- alle Orakel haben dieselbe Information bereitgestellt
- die Mehrheit der Orakel hat dieselbe Information bereitgestellt (2 von 3, 3 von 4 usw.)
- Anpassung der Daten der Orakel auf den Durchschnittswert (es sind Varianten möglich, bei denen vorher der höchste und der niedrigste Wert ausgeschlossen werden)
- Alle Orakel haben eine einheitliche Information mit einem vorher vereinbarten zulĂ€ssigen Abweichungsbereich bereitgestellt (zum Beispiel können die Finanzkurse aus verschiedenen Quellen um 0,00001 abweichen, und es ist unmöglich, eine exakte Ăbereinstimmung zu erhalten)
- WĂ€hlen Sie nur die einzigartigen Werte aus den erhaltenen Daten aus
Kehren wir zu unserer dezentralisierten Wettbörse zurĂŒck. Bei Verwendung des Konsenses "3 von 4" könnte ein Orakel, das ein Unentschieden im Kampf meldet, die AusfĂŒhrung des Skripts nicht beeintrĂ€chtigen, vorausgesetzt, die anderen drei Orakel geben zuverlĂ€ssige Informationen an.
Aber ein unehrlicher Nutzer könnte drei der vier Orakel besitzen und dann die erforderliche Mehrheit sicherstellen.
Um die IntegritĂ€t der Orakel zu gewĂ€hrleisten, könnte ein Ranking oder ein Strafen-System fĂŒr unzuverlĂ€ssige Daten eingefĂŒhrt werden. Man könnte auch den Weg des 'Zuckers' gehen und eine Belohnung fĂŒr ZuverlĂ€ssigkeit anbieten. Aber keine MaĂnahmen können vollstĂ€ndig verhindern, dass beispielsweise das Ranking manipuliert wird oder eine unehrliche Mehrheit entsteht.
Should man also komplexe Dienstleistungen erfinden, oder reicht es, ein Konsens-Tool zu haben, das es ermöglicht, wie im Supermarkt beispielsweise 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 Orakel-Katalog finden wir vier Orakel, die solche Daten bereitstellen, legen den Konsens-Typ "Durchschnittswert" fest und stellen die Anfrage.
Angenommen, die Orakel haben Werte von 18, 17, 19 und 21 Grad ausgegeben. Eine Abweichung von drei Grad kann fĂŒr die AusfĂŒhrung des Skripts entscheidend sein. Der Dienst verarbeitet das Ergebnis und erhĂ€lt den Durchschnittswert der Temperatur â 18,75 Grad. Diese Zahl erhĂ€lt das Skript der dezentralisierten Anwendung und wird damit arbeiten.

Letztendlich liegt die Entscheidung beim Verbraucher: Vertrauen sie einem Orakel und verwenden seine Daten oder bauen sie den Konsens mehrerer Orakel, die nach eigenem Ermessen ausgewÀhlt wurden.
In jedem Fall ist die Datenoracle ein ziemlich neues Feld. Es befindet sich in einem Stadium, in dem die Nutzer selbst bestimmen können, in welche Richtung es sich entwickeln sollte. Daher möchten wir Ihre Meinung hören. Benötigt man das oben beschriebene Werkzeug fĂŒr Orakel? Wie sehen Sie die Zukunft der Datenorakel im Allgemeinen? Teilen Sie Ihre Meinung in den Kommentaren und in unserer offiziellen Gruppe in .
Quelle: habr.com
