Ein Orakel verbindet eine Blockchain-Anwendung mit Informationen oder Aktionen außerhalb ihrer eigenen Ausführungsumgebung. Preisberichte sind ein Beispiel; auch Ereignisergebnisse, Wetterbeobachtungen und Reservedaten können Vertragsentscheidungen beeinflussen. Orakel können zudem Blockchain-Ausgaben an externe Systeme weiterleiten.
Warum ein Vertrag eine Verbindung benötigt
Netzwerkknoten müssen eine Transaktion übereinstimmend ausführen. Würde jeder Knoten unabhängig eine sich verändernde Website abfragen, wäre dieselbe Antwort nicht zuverlässig gewährleistet. Ein Orakel übermittelt Informationen deshalb nach einem vereinbarten Verfahren, sodass Verträge sie deterministisch lesen und verwenden können.
Die Modelle unterscheiden sich. Ein Anbieter kann einen Bericht signieren, mehrere Melder können Beobachtungen zusammenführen, oder ein optimistisches System akzeptiert eine vorgeschlagene Antwort, sofern innerhalb einer bestimmten Frist kein Widerspruch erfolgt. Daten können regelmäßig veröffentlicht oder für ein bestimmtes Ereignis angefragt werden.
Vertrauen reicht über die Blockchain hinaus
Eine Antwort auf der Blockchain beweist weder die Richtigkeit der ursprünglichen Beobachtung noch ihre Aktualität. Verlässlichkeit hängt von Quellen, Anreizen der Melder, Prüfregeln, Aktualisierungszeitpunkten und Streitverfahren ab.
Anwendungen benötigen deshalb geeignete Aktualitätsprüfungen und Reaktionen auf fehlende oder unplausible Daten. Ein dezentrales Orakel kann die Abhängigkeit von einem Melder verringern; gemeinsame Datenquellen, zusammenhängende Ausfälle und Integrationsfehler können Vertragsergebnisse dennoch beeinflussen.