After a hard fork, historical transaction formats are dead.
Dusk doesn't let them disappear that easily.
Boreas activated at mainnet restart block 4,414,095, introducing version-aware transaction handling and separating canonical transaction data from the ledger envelope preserved in history.
Say a node is replaying a block recorded before the transition. That historical transaction still needs its original decoding path to reconstruct the ledger correctly. Send that same historical format through live mempool admission after the transition, and Dusk rejects it.
The strange part is that both outcomes are required.
Replay asks what the chain actually recorded. Live admission asks what format the chain accepts now. Dusk can't use one rule for both without breaking one of those jobs.
So a historical format can be necessary for reconstructing the past while being unacceptable for entering the network today. Its meaning didn't disappear. Its role changed at the boundary.
How much of transaction validity is really about what the network accepts at the current height, and how much is about preserving exactly what the chain already committed to?
@Dusk $DUSK #dusk
Dusk doesn't let them disappear that easily.
Boreas activated at mainnet restart block 4,414,095, introducing version-aware transaction handling and separating canonical transaction data from the ledger envelope preserved in history.
Say a node is replaying a block recorded before the transition. That historical transaction still needs its original decoding path to reconstruct the ledger correctly. Send that same historical format through live mempool admission after the transition, and Dusk rejects it.
The strange part is that both outcomes are required.
Replay asks what the chain actually recorded. Live admission asks what format the chain accepts now. Dusk can't use one rule for both without breaking one of those jobs.
So a historical format can be necessary for reconstructing the past while being unacceptable for entering the network today. Its meaning didn't disappear. Its role changed at the boundary.
How much of transaction validity is really about what the network accepts at the current height, and how much is about preserving exactly what the chain already committed to?
@Dusk $DUSK #dusk
