Privater Ethereum Smart Contract API-Aufruf zum Benachrichtigen (ohne die externe API-Antwort zum Aktualisieren des Status zu benötigen), ohne Oraclize zu verwenden

Können wir in einem privaten Ethereum Smart Contract einen externen API-Aufruf durchführen, nur um zu benachrichtigen (ohne die externe API-Antwort zu benötigen, um den Status zu aktualisieren), ohne Oraclize zu verwenden?

Verstehen Sie, dass Oraclize für externe API-Aufrufe wie jene aus dem Internet erforderlich ist. Wenn man nur einen API-Aufruf benötigt, um ein externes System zu benachrichtigen, dass dieser Schritt abgeschlossen ist, wie würde man dies ohne die Notwendigkeit von Oraclize erreichen?

Danke schön.

Nathan Ah

Antworten (1)

Sehen Sie sich hier um, um eine tiefere Erklärung zu erhalten, wie Orakeldienste unter der Haube funktionieren?

Wenn ich die Frage richtig verstehe, können Sie ein spezifischeres Oracle entwerfen, das für Ihren eigenen Zweck geeignet ist. Da Sie nicht an einen Allzweck-Utility-Service denken, kann es weniger abstrakt sein. Bei einer privaten Kette ist das Bezahlen von Benzin möglicherweise nicht einmal ein Problem und ist es wahrscheinlich auch nicht.

Selbst in einer privaten Kette, in der sich alle Teilnehmer kennen und vertrauen, besteht das Problem immer noch darin, dass Ethereum-Knoten in der Lage sein müssen, den Status jetzt und in Zukunft unabhängig voneinander zu berechnen. Aus diesem Grund ist es unmöglich und wird wahrscheinlich unmöglich bleiben, eine API in einem Smart Contract zu beschreiben.

Eine Lösung für dieses Problem besteht darin, eine vertrauenswürdige externe Entität, das Oracle, zu erstellen, die die API überprüft und dann die Ergebnisse in Form einer signierten Transaktion getreu dem Vertrag meldet. Auf diese Weise liefert der Vertrag eine unveränderliche Geschichte der Dinge, die das Orakel gesagt hat, und im weiteren Sinne, was der Vertrag getan hat.

Das Orakel muss natürlich etwas sein, das von anderen Teilnehmern als vertrauenswürdig akzeptiert wird. Da Sie von privaten Ketten sprechen, folgt daraus, dass das Vertrauensmodell keine Gruppe von Knoten ist, die einander weder kennen noch unbedingt vertrauen. Es ist etwas anderes, was die Teilnehmer für den Zweck geeignet finden sollen.

In ähnlicher Weise kann das Oracle potenziell alles oder jeder Prozess sein, der in der Lage ist, die externe Datenquelle zu beobachten und Transaktionen zu signieren, um aufzuzeichnen, was es bezeugt. Vertrauen in das Gesamtsystem wird in den meisten Fällen dem Vertrauen in das Orakel selbst entsprechen. Bei den Details der Umsetzung besteht ein großer Spielraum.

Sie können sich einen hochverfügbaren Dienst mit einem Signing-Konto und Privilegien innerhalb von Verträgen vorstellen. Jede solche Software reicht aus, aber sie sollte wahrscheinlich ziemlich transparent und für die Inspektion durch die Teilnehmer offen sein, um beim Aufbau von Vertrauen zu helfen, insbesondere wenn die Beobachtungen des Orakels nicht triviale materielle Konsequenzen haben werden.

Ich hoffe es hilft.