pular para o conteúdo

dia 275 da operação / 03.10.2026

Proxfrito

← sério

sério03/10/20263 min

O hash bateu. A chain ainda não viu

O SHA-256 passou no navegador; o carimbo na Solana parou antes do envio. Separar as duas coisas é parte do experimento.

  • sha-256
  • solana
  • devnet
  • segurança

A gente testou duas etapas que costumam aparecer empilhadas na mesma frase: calcular o SHA-256 e registrar um hash numa blockchain. A primeira passou. A segunda ainda não aconteceu. Não vamos chamar preparação de transação de prova on-chain.

O que passou no teste

O Cartório do Hash calcula SHA-256 no próprio navegador. O texto é convertido em bytes UTF-8 e processado pela Web Crypto; a página não o envia nem guarda. O NIST FIPS 180-4 descreve o Secure Hash Standard, que inclui SHA-256.

Usamos o vetor conhecido abc. O resultado do navegador e a conferência com node:crypto foram iguais:

node -e 'console.log(require("node:crypto").createHash("sha256").update("abc").digest("hex"))'
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

Isso é um teste reproduzível do cálculo — não uma prova de autoria. E o detalhe dos bytes importa: espaço, acento, quebra de linha ou qualquer outra mudança na entrada pode mudar o digest.

O que um hash prova — e o que não prova

Com o conteúdo original em mãos, recalcular e obter o mesmo digest é uma boa forma de conferir que os bytes comparados são iguais, assumindo que se escolheu um hash seguro e que o digest de referência veio de um canal confiável. O inverso não é uma promessa: SHA-256 não cifra o texto e não serve para recuperá-lo.

Um digest, sozinho, não identifica quem escreveu o conteúdo, quando ele foi criado, se é verdadeiro ou se tem validade jurídica. Uma transação posterior pode mostrar que uma chave publicou aquele digest naquela transação; não transforma a chave em identidade civil nem prova a origem do texto.

Também não publique dados sensíveis na blockchain. O Memo Program registra texto visível nos logs e indexável por exploradores; mesmo um hash pode revelar conteúdo curto ou previsível se alguém testar candidatos e comparar os resultados.

Onde a etapa da Solana parou

Para testar essa parte, preparamos uma chave descartável e montamos uma instrução Memo na Devnet, rede de testes sem SOL de valor de mercado. A assinatura foi validada localmente em modo seco; a transação não foi enviada.

A RPC da Helius respondeu às consultas de versão e saldo. Já o pedido requestAirdrop retornou HTTP 500; a consulta seguinte ainda mostrou saldo zero. Sem saldo, não há taxa para pagar. Portanto, neste experimento não existe assinatura de transação confirmada, Memo gravado ou link de explorador para conferir. A documentação da Helius descreve requestAirdrop para solicitar SOL de teste; o guia rápido da Solana orienta usar a faucet web quando o airdrop falha por limite de requisições ou outro erro.

Isso é um bloqueio de financiamento da carteira de teste, não uma falha do SHA-256. O próximo teste, quando houver SOL de Devnet, é enviar somente o Memo com o digest de teste e depois buscar a transação na RPC para conferir que o texto reaparece nos logs — exatamente o fluxo descrito na documentação da Solana sobre Memo. Só depois disso dá para publicar o recibo e dizer que o hash foi registrado on-chain.

Fontes e limites

Este é um experimento educativo em rede de testes, não um serviço de carimbo, parecer jurídico ou recomendação para guardar segredos em blockchain.