Heute hat mich mein Onkel etwas gefragt, das auf den ersten Blick einfach klang: „Wenn ein Finanzsystem sagt, dass eine Transaktion erfolgreich war, warum würde dann jemand das hinterfragen?“
Ehrlich gesagt, diese Frage ist mir geblieben, während ich mir angesehen habe, wie Dusk Transaktionen behandelt.
Früher dachte ich, Erfolg sei einfach Erfolg. Aber Dusk trennt den Prozess in verschiedene Phasen. Eine Transaktion kann zum Routing angenommen werden, in den lokalen Mempool gelangen, in einem Block ausgeführt werden und erst später zur endgültigen Bestätigung (Finalität) kommen.
Das hat mich kurz innehalten lassen.
Das eigentliche Problem ist nicht, dass das System mehrere Zustände hat. Sondern was passiert, wenn eine Anwendung diese Zustände so behandelt, als bedeuteten sie alle dasselbe.
Ich war überrascht, wie praktisch dieses Risiko ist. Wenn eine Anwendung „Erfolg“ sieht und das Asset sofort freigibt, Sicherheiten aktualisiert oder eine Verpflichtung schließt, könnte sie handeln, bevor das Protokoll tatsächlich den Zustand erreicht hat, der für diese Aktion erforderlich ist.
Die Austausch-Anleitung von Dusk macht diese Unterscheidung ebenfalls deutlich. Eine Transaktion, die zum Routing angenommen wurde, bedeutet nicht, dass eine Auszahlung abgeschlossen ist. Ausführung und Finalität spielen weiterhin eine Rolle.
Meine Sorge ist nicht die Komplexität. Finanzsysteme sind ohnehin komplex.
Der eigentliche Trade-off besteht darin, eine API einfach zu bedienen und Entwicklern gleichzeitig genug Informationen zu geben, um die richtige wirtschaftliche Entscheidung zu treffen.
Mein Wunsch ist einfach. Eine API sollte den
en Entwicklern nicht nur mitteilen, was passiert ist, sondern
was sie als Nächstes tatsächlich sicher tun können.
Ich bin ehrlich: Ich würde lieber ein paar klare Zustände sehen als nur eine einfache Erfolgsmeldung, die zu unterschiedlichen Zeitpunkten Unterschiedliches bedeuten kann.
Also: Sollten Finanz-APIs die Protokollkomplexität verbergen oder Entwicklern den Zustand zeigen, den sie wirklich brauchen, bevor sie die nächste finanzielle Aktion ausführen? 🤔
#dusk $DUSK $BTC $ETH @Dusk
#Blockchain #DeFi #Web3
Ehrlich gesagt, diese Frage ist mir geblieben, während ich mir angesehen habe, wie Dusk Transaktionen behandelt.
Früher dachte ich, Erfolg sei einfach Erfolg. Aber Dusk trennt den Prozess in verschiedene Phasen. Eine Transaktion kann zum Routing angenommen werden, in den lokalen Mempool gelangen, in einem Block ausgeführt werden und erst später zur endgültigen Bestätigung (Finalität) kommen.
Das hat mich kurz innehalten lassen.
Das eigentliche Problem ist nicht, dass das System mehrere Zustände hat. Sondern was passiert, wenn eine Anwendung diese Zustände so behandelt, als bedeuteten sie alle dasselbe.
Ich war überrascht, wie praktisch dieses Risiko ist. Wenn eine Anwendung „Erfolg“ sieht und das Asset sofort freigibt, Sicherheiten aktualisiert oder eine Verpflichtung schließt, könnte sie handeln, bevor das Protokoll tatsächlich den Zustand erreicht hat, der für diese Aktion erforderlich ist.
Die Austausch-Anleitung von Dusk macht diese Unterscheidung ebenfalls deutlich. Eine Transaktion, die zum Routing angenommen wurde, bedeutet nicht, dass eine Auszahlung abgeschlossen ist. Ausführung und Finalität spielen weiterhin eine Rolle.
Meine Sorge ist nicht die Komplexität. Finanzsysteme sind ohnehin komplex.
Der eigentliche Trade-off besteht darin, eine API einfach zu bedienen und Entwicklern gleichzeitig genug Informationen zu geben, um die richtige wirtschaftliche Entscheidung zu treffen.
Mein Wunsch ist einfach. Eine API sollte den
en Entwicklern nicht nur mitteilen, was passiert ist, sondern
was sie als Nächstes tatsächlich sicher tun können.
Ich bin ehrlich: Ich würde lieber ein paar klare Zustände sehen als nur eine einfache Erfolgsmeldung, die zu unterschiedlichen Zeitpunkten Unterschiedliches bedeuten kann.
Also: Sollten Finanz-APIs die Protokollkomplexität verbergen oder Entwicklern den Zustand zeigen, den sie wirklich brauchen, bevor sie die nächste finanzielle Aktion ausführen? 🤔
#dusk $DUSK $BTC $ETH @Dusk
#Blockchain #DeFi #Web3
