Für diejenigen, die sich für das Thema intelligente Verträge interessieren, liegt die Antwort auf die in der Überschrift gestellte Frage an der Oberfläche: Bisher verfügen Verträge nicht über eine zuverlässige und vollständige Informationsquelle über das, was in der realen Welt geschieht. Infolgedessen entsteht eine schlimme Situation: Wir können komplexe Logik in einem intelligenten Vertrag beschreiben, und die Blockchain wird uns die bedingungslose Ausführung ermöglichen. Und jetzt, so scheint es, sind wir einen Schritt davon entfernt, die Notwendigkeit eines Dritten beim Abschluss von Verträgen zu beseitigen - das war es, was im Titel mit den Worten „die Welt verändern“ gemeint war. Jede Logik, die die Prozesse der realen Welt beschreibt, muss jedoch wissen, was in dieser Welt geschieht. Das letzte Hindernis trennt uns somit von der „Vertrauensrevolution“ in Form des Fehlens von Informationsanbietern oder
Orakeln , wie sie in der Welt der intelligenten Verträge genannt werden. Eine Lösung dieses Problems würde der Verbreitung und Anwendbarkeit intelligenter Verträge enorme Impulse verleihen. Andernfalls besteht die Gefahr, dass diese Technologie für immer nur eine Plattform für die Implementierung von ICO bleibt.
Fähigkeiten, die keine Anwendung finden, werden zu nichts.Sten NadolnyOrakel
Oracle ist ein Informationsanbieter, der auf Anfrage eines Vertrags aus der
Offline-Kette der Welt zuverlässige Daten liefert, die für den ordnungsgemäßen Ablauf des Vertrags erforderlich sind. Die Hauptanforderungen an das Orakel sind die
Zuverlässigkeit und
Vollständigkeit der bereitgestellten Informationen. Zuverlässigkeit bedeutet hier die Fähigkeit, die Gültigkeit der Daten zu bestätigen / zu verifizieren, und Vollständigkeit bedeutet die Fähigkeit, Daten zu einer Vielzahl von Ereignissen aus der realen Welt bereitzustellen. Wir stellen separat fest, dass das Orakel keine Informationsquelle ist, sondern dessen Lieferant für die
Blockchain . Daher ist die Wahl der Informationsquelle einer der Schlüsselparameter des Orakels, denn damit das Orakel zuverlässig und vollständig ist, muss die Quelle auch zuverlässig und vollständig sein (wir werden im nächsten Abschnitt auf die Quellen eingehen).

Beginnen wir mit der Orakel-Vertrauenseigenschaft. Heute gibt es zwei Hauptansätze, um die Zuverlässigkeit von Orakeln zu erreichen. Der erste ist der
Konsens der Orakel . Wie der Name schon sagt, wird bei diesem Ansatz der Konsens mehrerer unabhängiger Validatoren verwendet. Das Hauptproblem dieses Ansatzes (in Bezug auf die Zuverlässigkeit) ist die Schaffung eines Netzwerks unabhängiger Validatoren. Wenn wir Konsensteilnehmer (Orakel) auswählen / ernennen, sind sie einerseits vom Auswahl- / Ernennungsmechanismus abhängig. Somit wird die Zentralisierung fortgesetzt, wenn auch natürlich in geringerem Maße und in einem anderen Gewand. Wenn andererseits jemand ein Konsens-Teilnehmer werden kann, wird das System anfällig für einen
Sybil-Angriff . Darüber hinaus gibt es die Meinung, dass das Kompromittieren (Hacken, Bestechen) mehrerer kleiner Konsensteilnehmer einfacher sein kann als das Kompromittieren eines großen Validators, da ein großer Spieler wesentlich ernstere Sicherheitsmaßnahmen hat und die Reputationskosten viel höher sind.
Oraclize bietet eine Alternative zur Oracle-Konsenslösung: Der Benutzer wählt die Informationsquelle im Internet. Und um den korrekten Betrieb des Orakels zu beweisen, werden
TLSNotary- Beweise verwendet. Dies ist ein kryptografischer Beweis dafür, dass die von der ausgewählten Quelle empfangenen Daten in unveränderter Form an den Smart Contract übertragen werden.

Derzeit können Sie diese Beweise im Internet mithilfe eines
Netzwerkmonitors für Ethereum überprüfen (er ist zum Zeitpunkt des Schreibens instabil). In Zukunft ist geplant, die Möglichkeit zu realisieren, TLSNotary-Beweise direkt durch den Vertrag im Ethereum-Netzwerk zu überprüfen.
Es ist wichtig anzumerken, dass beide Ansätze das Problem haben, der Informationsquelle / -kam zu vertrauen: Beide garantieren uns in gewissem Maße die Ehrlichkeit der Datenübertragung von der Quelle zum Vertrag, aber sie garantieren nicht die Ehrlichkeit der Quelle (selbst wenn wir sie selbst ausgewählt haben).
Informationsquellen
Zu Beginn dieses Abschnitts gehen wir auf die Vollständigkeit der vom Orakel bereitgestellten Daten ein. Um Vollständigkeit zu erreichen, muss der Kreis der Informationsquellen erweitert werden, was die Zuverlässigkeit dieser Daten noch stärker in Frage stellt. Betrachten wir zwei einfache Beispiele: Wenn Ihr Vertrag Informationen über den aktuellen ETH / USD-Kurs benötigt, können Sie große Kryptowährungsbörsen als Quellen betrachten, deren Konsens ziemlich zuverlässig ist. Und wenn der Vertrag wissen muss, ob in Ihrem Schlafzimmer Licht ist, ist es äußerst schwierig, unabhängige Augenzeugen zu finden. Sie können eine physische Quelle verwenden, z. B. eine Kamera im Schlafzimmer. Wenn Sie dies wünschen, können Sie leicht täuschen: Legen Sie eine Tasche auf die Kamera, und in Ihrem Schlafzimmer ist es immer dunkel. Mit zunehmender Vollständigkeit der vom Orakel bereitgestellten Informationen ist das Problem, verlässliche Quellen zu finden, noch größer.
Die natürlichste Informationsquelle ist
zentralisiert . Wir sind an diesen Ansatz im Alltag gewöhnt: Wir erfahren die Nachrichten auf unserer Lieblingswebsite, den Dollarkurs auf der Website der Zentralbank. Die meisten von uns glauben blind diesen zentralisierten Quellen, und diese Überzeugung ist meistens gerechtfertigt, weil die Reputationskosten für solch große Unternehmen die potenziellen Vorteile übersteigen, die durch die Bereitstellung falscher Informationen erzielt werden können. Es gibt zwei Aber. Erstens Zuverlässigkeit: Selbst wenn es sich um eine zuverlässige zentralisierte Quelle handelt, arbeiten wir immer noch mit Glauben und nicht mit Wissen. Zweitens und vor allem die Vollständigkeit: Die Verwendung einer zentralisierten Quelle kann nur für einen engen Kreis von Resonanzereignissen als zuverlässiger Ansatz angesehen werden.
Der erste Weg, um die Nachteile einer zentralisierten Quelle zu
umgehen, ist die Verwendung von
Konsensquellen . Wir haben oben bereits einen ähnlichen Ansatz erörtert, als wir über den Konsens der Orakel sprachen. Wie im Fall von Orakeln verbessert dieser Ansatz sowohl die Zuverlässigkeit als auch die Vollständigkeit der bereitgestellten Informationen, jedoch ist seine positive Wirkung begrenzt und hat seine Nachteile (siehe vorherigen Abschnitt).
Ein anderer Ansatz zur Lösung des Problems der Informationsquellen ist eine
indirekte Methode . Die Idee ist, Informationen über das für uns interessante Ereignis aus indirekten Quellen zu extrahieren.

Diese Quellen sind für jede Art von Veranstaltung unterschiedlich: für die Temperatur in Moskau - ein Instagram-Foto mit dem entsprechenden geografischen Standort und Datum, für das Spielergebnis - Beiträge in sozialen Netzwerken mit den entsprechenden Tags und dem entsprechenden Datum usw. Die Erfolge der letzten Jahre auf dem Gebiet des maschinellen Lernens dürften es uns ermöglichen, das Ergebnis vergangener Ereignisse mit angemessener Genauigkeit aus indirekten Quellen zu bestimmen. Welche Modelle des maschinellen Lernens sind dafür anwendbar, welche Genauigkeit wird es geben, ob indirekte Quellen unabhängig sind - all diese Probleme sollten für jedes spezifische Ereignis separat betrachtet werden, und die Tatsache ihrer Lösbarkeit wird das Kriterium für die Anwendbarkeit der indirekten Methode für dieses Ereignis sein.
Bei relativ einfachen Aufgaben, wie der Ermittlung des Ergebnisses eines Spiels durch eine ausreichende Auswahl von Beiträgen von Sportfans, scheinen diese Probleme gelöst zu sein. Es wird davon ausgegangen, dass sich der Vertrag auf den Knoten bezieht, auf dem die Berechnungen durchgeführt werden (Extrahieren der Prognose aus indirekten Quellen). Es wird vorgeschlagen, die Zuverlässigkeit der Berechnungen kryptografisch zu bestätigen, wie dies beispielsweise im
Golem- Projekt implementiert ist.

Dieser Ansatz ist der zweite Schritt zur Vollständigkeit der Orakel. Hier geht es nicht um das Licht im Schlafzimmer, sondern um das Wetter, um die Wahlergebnisse, um den erfolgreichen Start des
Falcon Heavy .
Der Vollständigkeit halber werden wir auf das Thema
Prognosemärkte wie
Augur eingehen . Der Markt nutzt die „Weisheit der Masse“, um zukünftige Ereignisse vorherzusagen. Benutzer sagen das mögliche Ergebnis dieser Ereignisse voraus, indem sie Vergütungsanteile für ein korrekt erratenes Ergebnis kaufen (Gewinner teilen sich den Preispool proportional zur Größe ihrer Wetten). Dieser Ansatz impliziert somit eine wirtschaftliche Motivation für die Teilnehmer an der Vorhersage: Für die richtige Vorhersage erhält der Benutzer eine Belohnung und verliert im Falle einer falschen Vorhersage das investierte Geld. Die Prognose in diesem Fall ist die gewichtete durchschnittliche Erwartung aller Benutzer. Die Verwendung von Prognosemärkten erhöht die Vollständigkeit der bereitgestellten Informationen erheblich, da Sie alles vorhersagen können (wenn genügend Bereitschaft besteht), und die Zuverlässigkeit die wirtschaftliche Motivation der Prognoseteilnehmer liefert.
Allerdings ist nicht alles so rosig, wie es auf den ersten Blick erscheinen mag. Erstens ist die Vorhersage nur die Erwartung der Marktteilnehmer (viele Beispiele für Ereignisse können angeführt werden, die niemand erwartet hat). Zweitens ist in einem solchen Modell eine Manipulation der Vorhersage möglich, wenn die Kosten für die Änderung der Vorhersage durch falsch geringer sind als der Gewinn aus der fehlerhaften Ausführung des Vertrags. Wenn der Vertrag beispielsweise im Fall von Ereignis A eine hohe Auszahlung annimmt und die Tatsache des Eintretens dieses Ereignisses den prädiktiven Markt mit einem geringen Geldumschlag bestimmt, kann der Angreifer Ereignis A fälschen und nur einen Teil des erzielten Vorteils für die Manipulation der Vorhersage ausgeben.
Fazit
Die Bedeutung von Orakeln für die intelligente Vertragstechnologie ist schwer zu überschätzen. Das Oracle dient als Anbieter von Informationen von der Quelle bis zum Vertrag. Und wenn die heute vorhandenen Lösungen eine ziemlich zuverlässige Übertragung dieser Informationen ermöglichen, ist das Problem mit der ursprünglichen Zuverlässigkeit immer noch ungelöst. Das Erstellen / Auswählen zuverlässiger und vollständiger Informationsquellen ist die letzte Grenze, die intelligente Verträge von der allgegenwärtigen Verteilung trennt. Angesichts der aktiven Entwicklung von Blockchain-Technologien können wir darauf zählen, diesen Meilenstein in den kommenden Jahren zumindest teilweise zu überwinden.