Vários sistemas que a gente usa ainda hoje têm um sistema de contagem interno que funciona com 32 bits. Esses sistemas foram iniciados a partir de 1º de janeiro de 1970 e não guardam as horas: o que eles fazem é uma contagem de segundos. Contando todos os segundos, eles vão acabar o espaço de 32 bits em 19 de janeiro de 2038, às 3 da manhã, 14 minutos e 7 segundos. Depois disso, a gente não sabe o que vai acontecer: não se sabe se esses sistemas vão ser resetados para 1º de janeiro de 1970 ou se eles vão voltar para 1900.
Helton Simões Gomes
O bug do milênio original nasceu de uma economia de memória: para poupar espaço, sistemas gravavam o ano com dois dígitos -em vez de 1999, era apenas 99. Quando o "99" estava para virar "00", máquinas poderiam interpretar como uma data anterior e bagunçar cadastros e validações.
Foi a virada do ano de 99 para 2000 e tinha uma expectativa de que os sistemas iriam parar de funcionar por um motivo da data. Os engenheiros falaram: vamos colocar só dois dígitos para o ano. O sistema durou e virou central para bancos, telecomunicações e saúde. De repente aparece 00. O sistema não entenderia que é o ano 2000, entenderia que é um ano 00. Ninguém sabia exatamente a consequência: algum sistema poderia identificar novas transações como fraude.
Diogo Cortiz
Se, na virada para 2000, a correção veio com dinheiro para reescrever sistemas para fazer a máquina entender que "00" era 2000, agora, o desafio é mapear onde ainda há chips e softwares presos ao limite de 32 bits.
Esse tipo de contagem aparece em equipamentos industriais, sistemas embarcados, terminais de pagamento, roteadores, veículos conectados, dispositivos de internet das coisas e equipamentos médicos. A preocupação é a escala: hoje há "bilhões de equipamentos" conectados.
Ao mesmo tempo, há um alívio: muitos sistemas atuais já usam contagem de tempo em 64 bits, o que empurra o problema por "bilhões de anos". O risco maior, porém, está em máquinas antigas e ambientes legados, que demoram para receber atualização ou nem são atualizados.