Es gibt eine interessante Seite über Verträge im Ripple-Wiki.
Mein begrenztes Verständnis von Verträgen ist, dass es wie bei anderen Transaktionen in Ripple der Konsens über viele Server ist, der die Gültigkeit sicherstellt. Habe ich Recht, dass, wenn ein Vertrag in Ripple läuft, der Code auf mehreren Servern läuft und der Konsens sicherstellt, dass die Anweisungen des Vertrags korrekt ausgeführt werden?
Wenn ja, bin ich besonders gespannt auf das „ Lotto “-Beispiel auf der Wiki-Seite. Es wählt nach dem Zufallsprinzip ein Konto aus, an das ein bestimmter Betrag in einer bestimmten Währung gezahlt werden soll.
Wenn dieser Code gleichzeitig auf vielen Ripple-Servern liefe, würde jeder zufällig einen anderen Gewinner auswählen. Wie würden sie jemals einen Konsens erreichen?
Diese Kontakt-Wiki-Seite ist möglicherweise veraltet. Das Lotto-Beispiel verwendet jedoch, rand float
was im Datenzugriffsabschnitt der Wiki-Seite wie folgt beschrieben wird:
- Diese Nummer wird deterministisch basierend auf dem Hash der Transaktionssammlung oder so erstellt
Das impliziert für mich, dass es nur in dem Sinne zufällig ist, dass der Vertrag selbst oder jeder Ripple-Benutzer nicht erraten kann, wie der Wert zur Laufzeit sein wird, aber sobald alle Validatoren ausgeführt werden, verwenden sie denselben Wert.
Dies ähnelt der Funktionsweise einiger Bitcoin-Glücksspielseiten, die Zahlen verwenden, die auf dem Bitcoin-Blockchain-Hash basieren.
David Schwarz
dchapes