#dusk $DUSK

Hoje continuo acompanhando a atualização Boreas do @Dusk , e o que mais me preocupa não é a aposentadoria do Phoenix, nem o fato de agora haver mais algumas fork rules.

É uma questão mais profunda:

Depois da atualização do protocolo, por que uma transação antiga ainda consegue manter o mesmo significado o tempo todo?

Isso soa como algo óbvio.

Mas, depois de um hard fork, os nós já estão rodando as novas regras, enquanto nos blocos históricos ainda ficam a transaction da versão antiga, o verifier antigo e as execution semantics antigas.

Se hoje os nós usarem este conjunto atual de regras para reinterpretar bytes antigos, o replay histórico pode dar problema.

Por isso, desta vez a Boreas deixou os limites de versão do transaction handling muito mais claros.

O live ingress segue as regras do protocolo atual.

Os envelopes antigos podem ser identificados e normalizados na entrada.

Antes de entrar no ledger, eles ainda se transformam em canonical transaction.

E os blocos históricos continuam a ser decodificados e reproduzidos de acordo com as regras da época em que foram criados.

Acho que o que realmente importa aqui não é a “padronização de formato”.

É que:

Além do conteúdo, uma transação também pertence a uma era específica do protocolo.

Aegis segue as regras do Aegis.

Boreas segue as regras do Boreas.

Um hard fork pode mudar o futuro, mas não pode simplesmente reinterpretar o passado.

É por isso que, quando olho para upgrades de blockchain agora, não me prendo tanto apenas ao que foi “adicionado”.

O que mais me interessa é:

Depois que a nova versão entra em produção, os nós de hoje ainda conseguem entender com precisão o que realmente aconteceu naquela cadeia há alguns anos.

Para uma rede que quer construir uma infra de mercado regulado, esse tipo de continuidade histórica é algo bem fundamental.

A conta pode ser atualizada.

O passado dentro da conta não pode acompanhar a atualização.