Ciência & tecnologia
Hash-chain de pesagem — rastreabilidade estilo blockchain (sem o hype)
A palavra blockchain virou meme. Aplicada a "rastrear ovo de galinha" ou "votação online", virou marketing oco. Mas a ideia técnica subjacente — uma corrente de assinaturas matemáticas onde cada elo depende do anterior — é antiga, sólida e útil em contextos onde falsificação histórica precisa ser impossível.
Pesagem em farmácia magistral é exatamente um desses contextos.
O problema sem hash-chain
Tradicionalmente, pesagens são registradas em planilha. O técnico pesa, anota o valor. No fim do dia, o sistema consolida.
O problema é que planilha aceita edição. Se 2 meses depois alguém precisar mudar um valor para "ajustar" um lote, nada impede tecnicamente. Trilha de papel pode ser substituída. Versão de planilha pode ser sobrescrita.
Em medicamento manipulado, isso é particularmente sério porque:
- Erro de pesagem é causa direta de eventos adversos.
- Fiscalização Anvisa quer ver registros confiáveis em auditoria.
- Paciente que sofreu evento adverso quer auditar o lote retroativamente.
A solução é gravar de forma que alteração posterior se torne detectável.
A ideia do hash
Um hash criptográfico (como SHA-256) é uma função matemática que transforma qualquer entrada num número de tamanho fixo (256 bits). Propriedades:
- Determinístico: a mesma entrada sempre produz o mesmo hash.
- Resistente a colisão: virtualmente impossível encontrar duas entradas que produzam o mesmo hash.
- Avalanche: alterar 1 bit da entrada muda completamente o hash de saída.
- Irreversível: a partir do hash, não dá para reconstruir a entrada.
Se você grava (peso, lote, timestamp, operador) → hash A. Mais tarde, se alguém alterar o peso, o hash recalculado será diferente. A alteração fica matematicamente visível.
A corrente
Hashear cada pesagem isoladamente já ajuda — mas não é suficiente. Alguém poderia trocar um registro inteiro (entrada + hash) por outro. A corrente resolve.
Cada registro inclui: peso + lote + timestamp + operador + hash da pesagem anterior.
Registro 1: { peso: 0.108, lote: A23, ts: ..., op: J, prevHash: 0 } → hash H1
Registro 2: { peso: 0.412, lote: B45, ts: ..., op: J, prevHash: H1 } → hash H2
Registro 3: { peso: 0.072, lote: A23, ts: ..., op: K, prevHash: H2 } → hash H3
...
Se alguém quiser alterar o registro 1, o prevHash do registro 2 não baterá mais. Precisa alterar o registro 2 também — mas aí o prevHash do registro 3 não bate. E assim em cadeia até o último registro.
Para falsificar 1 pesagem retroativamente, é preciso reconstruir toda a cadeia desde aquele ponto. Em laboratório com 10.000 pesagens/ano, isso é matematicamente proibitivo.
Onde o "blockchain" tradicional não se aplica
Crypto-blockchains (Bitcoin, Ethereum) adicionam:
- Distribuição (cadeia replicada em milhares de nós).
- Consenso descentralizado (proof-of-work, proof-of-stake).
- Imutabilidade pública.
Em farmácia magistral, isso é overkill. O modelo correto é mais próximo de certificação por hash em servidor único auditável + publicação periódica do hash final em local imutável (ex.: tweet semanal do hash do último registro, timestamp em serviço notarial).
A Farmanipulação implementa o modelo simples: hash-chain XState v5 audit log gravado em PostgreSQL com replicação. Hash final do dia publicado periodicamente. Auditoria via download de log + recomputação independente.
Como o paciente verifica
Pós-AFE, cada produto dispensado terá QR-code apontando para /selo/lote/[id]. A página mostra:
Lote A2026-04-30-14:32
Manipulado em: 2026-04-30 14:32:15 BRT
Responsável: Dr(a). [Nome RT] · CRF [...]
IFA: Minoxidil 5% · Lote IFA: M-2026-Q1-457
Hash do lote: 7a8f9b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a
Hash anterior na cadeia: 6b9d8a7c5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f
[Baixar audit log JSON]
Você baixa o JSON, roda SHA-256 nas entradas, confere se o hash bate. Se bater, ninguém alterou nada depois.
É a única redundância?
Não. Hash-chain é uma camada entre várias:
- Interlock balança: software bloqueia avanço sem confirmação física da pesagem.
- NIR + NFC dual: identificação cruzada da matéria-prima antes da pesagem.
- Sensores ambientais 24/7: temperatura, umidade, pressão diferencial.
- Validação 4 camadas: RDC 67 + interações + dose máx + estabilidade.
- Hash-chain: auditoria immutable do que foi pesado.
Cada uma sozinha não basta. Juntas, formam um modelo onde erro humano único não causa erro de saída. É o que se espera de infraestrutura crítica — e é o que estamos construindo na Farmanipulação antes de abrir as portas.
Fontes