#dusk $DUSK @Dusk
Эй, ты знаешь… один вопрос про @DuskFoundation не отпускает меня: если биржа получает «202 Accepted» по моему выводу, почему работа не завершена?
Мы привыкли воспринимать ответ как «готово». Но в блокчейне отправка и расчёт — это разные моменты.
В Dusk L1 «202 Accepted» означает лишь, что узел принял транзакцию для маршрутизации. Это не доказывает, что транзакция попала в mempool, дошла до пиров, успешно выполнилась или стала финальной.
Dusk разделяет эти шаги. «transactions/included» сигнализирует о локальном поступлении в mempool. «transactions/executed» означает, что транзакция исполнилась внутри принятого блока, и поле «err» должно быть равно null. Финальность наступает, когда событие «blocks/statechange» отмечено как «finalized». До этого даже принятый блок может быть отменён.
Гипотетически, допустим, я вывожу DUSK с биржи. Её система подписывает транзакцию Moonlight, сохраняет её байты и ID, затем отправляет в сеть. Ответ 202 подтверждает маршрутизацию — но не завершение. Биржа должна проверить исполнение и статус финализированного блока.
Но я остановился на этом на минуту.
Возможно, финальность — это не только функция консенсуса. Это ещё и операционная ответственность.
Так когда вывод считается действительно завершённым: когда API отвечает, или когда откат уже невозможен? Я всё ещё думаю об этом. 🤔
Эй, ты знаешь… один вопрос про @DuskFoundation не отпускает меня: если биржа получает «202 Accepted» по моему выводу, почему работа не завершена?
Мы привыкли воспринимать ответ как «готово». Но в блокчейне отправка и расчёт — это разные моменты.
В Dusk L1 «202 Accepted» означает лишь, что узел принял транзакцию для маршрутизации. Это не доказывает, что транзакция попала в mempool, дошла до пиров, успешно выполнилась или стала финальной.
Dusk разделяет эти шаги. «transactions/included» сигнализирует о локальном поступлении в mempool. «transactions/executed» означает, что транзакция исполнилась внутри принятого блока, и поле «err» должно быть равно null. Финальность наступает, когда событие «blocks/statechange» отмечено как «finalized». До этого даже принятый блок может быть отменён.
Гипотетически, допустим, я вывожу DUSK с биржи. Её система подписывает транзакцию Moonlight, сохраняет её байты и ID, затем отправляет в сеть. Ответ 202 подтверждает маршрутизацию — но не завершение. Биржа должна проверить исполнение и статус финализированного блока.
Но я остановился на этом на минуту.
Возможно, финальность — это не только функция консенсуса. Это ещё и операционная ответственность.
Так когда вывод считается действительно завершённым: когда API отвечает, или когда откат уже невозможен? Я всё ещё думаю об этом. 🤔