#dusk $DUSK @Dusk

Hey, weißt du … eine Frage zu @DuskFoundation beschäftigt mich schon länger: Wenn eine Börse für meine Auszahlung „202 Accepted“ erhält, warum ist der Vorgang dann noch nicht abgeschlossen?

Wir sind es gewohnt, eine Antwort als „erledigt“ zu verstehen. Auf einer Blockchain sind Übermittlung und Abwicklung jedoch zwei verschiedene Zeitpunkte.

Auf Dusk L1 bedeutet „202 Accepted“ lediglich, dass ein Node die Transaktion zur Weiterleitung angenommen hat. Es beweist nicht, dass die Transaktion in den Mempool aufgenommen wurde, Peers erreicht hat, erfolgreich ausgeführt wurde oder endgültig ist.

Dusk trennt diese Schritte. „transactions/included“ signalisiert die Aufnahme in den lokalen Mempool. „transactions/executed“ bedeutet, dass die Transaktion in einem akzeptierten Block ausgeführt wurde; dabei muss das Feld „err“ null sein. Die Finalität tritt ein, wenn ein „blocks/statechange“-Ereignis als „finalized“ gekennzeichnet ist. Bis dahin kann ein akzeptierter Block noch zurückgesetzt werden.

Nehmen wir hypothetisch an, ich hebe DUSK von einer Börse ab. Ihr System signiert die Moonlight-Transaktion, speichert ihre Bytes und ID und sendet sie anschließend ins Netzwerk. Die 202-Antwort bestätigt die Weiterleitung – nicht den Abschluss. Die Börse muss die Ausführung und den Finalisierungsstatus des Blocks überprüfen.

Aber hier habe ich kurz innegehalten.

Vielleicht ist Finalität nicht nur ein Konsensmerkmal. Sie ist auch eine betriebliche Verantwortung.

Wann ist eine Auszahlung also wirklich abgeschlossen: wenn die API antwortet oder erst, wenn eine Rückabwicklung nicht mehr möglich ist? Darüber denke ich noch nach. 🤔