@Dusk_Foundation Ich wollte herausfinden, was tatsächlich passiert, wenn ein Phoenix-Zero-Knowledge-Beweis die Verifikation nicht besteht, denn die meisten Erklärungen enden bei „der Beweis wird geprüft“.
Dusk's Architektur bestätigt, dass der Beweis spezifische Eigenschaften zusammen nachweisen muss — der Besitz des ausgegebenen Belegs, die Integrität des Saldos über die Eingaben und Ausgaben hinweg sowie kein doppelter Aufwand — alles in demselben Beweis kodiert, nicht durch separate Seitendurchläufe verifiziert. $DUSK
Das ist der Punkt, der es wert ist, damit innezuhalten. Wenn eine dieser Eigenschaften nicht erfüllt ist, schlägt der gesamte Beweis als Einheit fehl. Es gibt keinen Pfad mit Teilpunkten, bei dem die Saldo-Checks bestehen, aber der Besitz stillschweigend scheitert.
Ich habe nachverfolgt, was das praktisch bedeutet: Ein abgelehnter Beweis heißt, dass die Transaktion überhaupt nicht aufgenommen wird. Die Laufzeit versucht nicht, etwas zu retten oder sie teilweise zu verarbeiten. Die Transaktion passiert einfach nicht, und nichts von dem fehlgeschlagenen Versuch wird als Zustandsänderung aufgezeichnet. #dusk
Was ich aus Dusk's eigenen Unterlagen noch nicht bestätigt habe, ist, ob ein fehlgeschlagener Beweis irgendeine Spur in Mempool-Logs hinterlässt, die ein Knotenbetreiber nachträglich einsehen könnte, oder ob er vollständig verworfen wird, ohne irgendein Diagnoseprotokoll.
Als Nächstes würde ich prüfen: ob Dusk's aktuelles Wallet-Tooling einen konkreten Grund für einen fehlgeschlagenen Beweis anzeigt oder nur eine generische Ablehnung, denn diese Unterscheidung ist für jeden, der tatsächlich eine Transaktion debuggt, die nicht durchging, sehr wichtig.
#dusk $DUSK @Dusk
Dusk's Architektur bestätigt, dass der Beweis spezifische Eigenschaften zusammen nachweisen muss — der Besitz des ausgegebenen Belegs, die Integrität des Saldos über die Eingaben und Ausgaben hinweg sowie kein doppelter Aufwand — alles in demselben Beweis kodiert, nicht durch separate Seitendurchläufe verifiziert. $DUSK
Das ist der Punkt, der es wert ist, damit innezuhalten. Wenn eine dieser Eigenschaften nicht erfüllt ist, schlägt der gesamte Beweis als Einheit fehl. Es gibt keinen Pfad mit Teilpunkten, bei dem die Saldo-Checks bestehen, aber der Besitz stillschweigend scheitert.
Ich habe nachverfolgt, was das praktisch bedeutet: Ein abgelehnter Beweis heißt, dass die Transaktion überhaupt nicht aufgenommen wird. Die Laufzeit versucht nicht, etwas zu retten oder sie teilweise zu verarbeiten. Die Transaktion passiert einfach nicht, und nichts von dem fehlgeschlagenen Versuch wird als Zustandsänderung aufgezeichnet. #dusk
Was ich aus Dusk's eigenen Unterlagen noch nicht bestätigt habe, ist, ob ein fehlgeschlagener Beweis irgendeine Spur in Mempool-Logs hinterlässt, die ein Knotenbetreiber nachträglich einsehen könnte, oder ob er vollständig verworfen wird, ohne irgendein Diagnoseprotokoll.
Als Nächstes würde ich prüfen: ob Dusk's aktuelles Wallet-Tooling einen konkreten Grund für einen fehlgeschlagenen Beweis anzeigt oder nur eine generische Ablehnung, denn diese Unterscheidung ist für jeden, der tatsächlich eine Transaktion debuggt, die nicht durchging, sehr wichtig.
#dusk $DUSK @Dusk