Транзакция, которую Dusk может повторно выполнить, должна быть допустима и в режиме реального времени.
Эта граница строже.
Я предположил, что формат транзакции — это одно правило: успешно его декодировать, и сеть будет довольна.
Dusk пошёл по другому пути.
Текущая реализация Rusk разделяет вход транзакций в реальном времени и канонические данные в реестре. Обёртки Aegis и Boreas могут поступать через реальный приём и нормализоваться в формат активного входа, затем пройти через `CanonicalTransaction` и `LedgerTransaction`, прежде чем локально запечатанная транзакция будет канонизирована для фиксации в блоке. На этапе консенсуса по-прежнему проверяется, что кодировка реестра соответствует каноническому формату, требуемому на этой высоте блока.
И странная часть — что происходит со старыми форматами.
Дефолтная активация Aegis в мейннете Dusk — блок **3,590,904**. Исторические форматы транзакций остаются доступными для декодирования при повторе реестра, но те же исторические форматы отклоняются при приёме в live mempool, как только формат больше не разрешён там.
Так что представьте старую транзакцию из периода до этой границы, которая лежит в истории цепочки.
Dusk всё ещё может понимать её при повторном воспроизведении реестра.
Но попробуйте протолкнуть этот исторический формат через live admission после того, как протокол уже перешёл вперёд — и он будет отклонён.
Узел может сохранить прошлое, не позволяя прошлому определять то, что станет новыми данными реестра.
Сколько совместимости транзакций Dusk обусловлено сохранением старых форматов для истории цепочки, а сколько её согласованность получает за счёт отказа возвращать эти форматы в путь реального времени?
@Dusk $DUSK #dusk
Эта граница строже.
Я предположил, что формат транзакции — это одно правило: успешно его декодировать, и сеть будет довольна.
Dusk пошёл по другому пути.
Текущая реализация Rusk разделяет вход транзакций в реальном времени и канонические данные в реестре. Обёртки Aegis и Boreas могут поступать через реальный приём и нормализоваться в формат активного входа, затем пройти через `CanonicalTransaction` и `LedgerTransaction`, прежде чем локально запечатанная транзакция будет канонизирована для фиксации в блоке. На этапе консенсуса по-прежнему проверяется, что кодировка реестра соответствует каноническому формату, требуемому на этой высоте блока.
И странная часть — что происходит со старыми форматами.
Дефолтная активация Aegis в мейннете Dusk — блок **3,590,904**. Исторические форматы транзакций остаются доступными для декодирования при повторе реестра, но те же исторические форматы отклоняются при приёме в live mempool, как только формат больше не разрешён там.
Так что представьте старую транзакцию из периода до этой границы, которая лежит в истории цепочки.
Dusk всё ещё может понимать её при повторном воспроизведении реестра.
Но попробуйте протолкнуть этот исторический формат через live admission после того, как протокол уже перешёл вперёд — и он будет отклонён.
Узел может сохранить прошлое, не позволяя прошлому определять то, что станет новыми данными реестра.
Сколько совместимости транзакций Dusk обусловлено сохранением старых форматов для истории цепочки, а сколько её согласованность получает за счёт отказа возвращать эти форматы в путь реального времени?
@Dusk $DUSK #dusk
