A exportação de reconciliação já havia sido enviada.
Foi quando a prova chegou.
Alguns minutos atrasados para as pessoas que olhavam os números. Ainda válido para a rede.
Você podia sentir a sala se separando bem ali.
As finanças estavam analisando o arquivo de corte e dizendo que o estado já havia mudado. A engenharia estava olhando para o resultado de aceitação e dizendo que a prova referenciava uma raiz que ainda estava dentro da janela permitida, então a transação estava boa. O suporte ficou preso no meio com a pior versão da pergunta:
Por que isso passou depois que o sistema já havia avançado?
A Midnight tem uma resposta muito desconfortável para isso.
Porque na Midnight, o estado mais novo não é o único estado que ainda pode importar. As árvores de compromisso continuam avançando. Os anulações continuam marcando o que já foi consumido. Mas as raízes Merkle mais antigas não morrem no segundo em que uma nova aparece. Por um tempo, elas permanecem utilizáveis para verificação de provas. É assim que o sistema evita transformar a geração de provas em uma corrida que ninguém pode ganhar de forma confiável.
Um usuário começa de um estado.
A rede continua avançando.
A prova termina mais tarde.
Se aquela raiz antiga ainda estiver dentro da janela de validade, a Midnight pode aceitá-la.
Isso é exatamente o que aconteceu aqui.
O problema não era que a prova estava errada. O problema era que ela foi construída contra uma versão da realidade que a equipe de operações já havia parado de tratar como atual. O livro-razão aceitou de qualquer maneira porque a Midnight ainda estava tratando aquela raiz anterior como operacionalmente válida.
Então agora todos ficam presos na mesma feia discussão.
O usuário agiu com estado obsoleto?
Ou o usuário agiu com um estado válido que aconteceu de ser mais antigo do que a versão que todo mundo já havia adotado em suas mentes?
Essas não são a mesma acusação. Na Midnight, também não é fácil separá-las.
É aí que o design se torna estranho de uma maneira que a linguagem comum de blockchain não prepara as pessoas. A maioria dos sistemas treina todos para pensar que o estado tem uma borda dura. O mais recente está ativo. O mais antigo é história. Feito. A Midnight mantém uma borda mais suave porque os fluxos de prova privados precisam de tempo. A execução local leva tempo. A construção de provas leva tempo. Se cada prova tivesse que visar a raiz mais nova absoluta no exato momento da submissão, metade do sistema se tornaria tentativas falhadas e atrito sem sentido.

Então a Midnight mantém uma fatia do passado viva de propósito.
Útil, sim.
Também é um pouco perigoso falar sobre isso casualmente.
Porque uma vez que uma raiz histórica ainda pode produzir uma prova aceita, 'passado' deixa de significar inativo. Torna-se outro tipo de superfície ativa. Na Midnight, o livro-razão baseado em compromisso continua avançando. Os anulações protegem contra reutilização inválida. A prova ainda confere. No entanto, as pessoas ao redor do fluxo de trabalho começam a discutir sobre qual estado era real quando a decisão ocorreu.
O protocolo tem uma resposta.
O processo de negócios tem outro.
Essa foi a contusão na chamada de reconciliação. Ninguém estava debatendo criptografia. A prova passou. Ninguém estava debatendo se a Midnight se comportou de acordo com suas próprias regras. Fez. A briga era sobre a linguagem de tempo. Atual para quem. Resolvido de acordo com o quê. Antigo comparado a qual corte. Seguro para aceitar versus seguro para explicar.
E essa é a parte em que continuo me prendendo.
A Midnight torna a geração de provas prática ao recusar matar raízes mais antigas imediatamente. Essa flexibilidade não é uma característica secundária. Está embutida na forma como o rastreamento de raízes históricas, árvores de compromisso e anulações trabalham juntos. Mas a mesma flexibilidade significa que mais de uma versão do estado pode permanecer operacionalmente viva ao mesmo tempo.
Isso parece gerenciável até que alguém já tenha exportado o arquivo, fechado o período, respondido ao usuário ou prometido a um parceiro que os números eram finais.
Então a raiz antiga não é apenas antiga.
É inconveniente.
E uma vez que uma prova construída sobre uma verdade inconveniente ainda é válida o suficiente para resolver, a verdadeira questão deixa de ser se a Midnight aceitou a coisa certa.
Transforma-se em algo mais irritante.
Por quanto tempo um estado passado permanece confiável antes que todos ao redor do sistema comecem a chamá-lo de obsoleto só porque apareceu no pior momento possível?
