Hash-chain é uma estrutura de dados onde cada registro contém um hash que depende do registro anterior. Alterar um registro retroativamente requer reconstruir todos os hashes subsequentes — proibitivo em escala.
Exemplo:
Registro 1: {dado: "peso=0.108g", ts: ..., op: J, prevHash: 0} → hash H1
Registro 2: {dado: "peso=0.412g", ts: ..., op: J, prevHash: H1} → hash H2
Registro 3: {dado: "peso=0.072g", ts: ..., op: K, prevHash: H2} → hash H3
Se alguém alterar o registro 1, H1 recalculado muda; o prevHash do registro 2 não bate; H2 muda; e assim em cadeia até o último registro.
Aplicação em farmácia magistral:
- Pesagem — cada gramatura registrada com hash dependente da anterior
- Audit log — toda transição de estado (XState v5) gravada na cadeia
- Aprovação RT — assinatura do RT como evento na cadeia
- CQ pós-manipulação — laudo gravado com referência ao hash do lote
Função hash usada:
- SHA-256 (NIST FIPS 180-4) — padrão da indústria
- Output 256 bits, resistente a colisão computacionalmente
Ressalvas:
- Hash-chain em servidor único é confiável internamente, mas auditor externo precisa replicação ou âncora pública.
- Solução prática: publicar hash do último registro periodicamente (ex.: tweet semanal, notarial).
- Diferente de blockchain — não há consenso descentralizado nem proof-of-work.
A Farmanipulação implementa hash-chain via XState v5 audit log no ERP Magistral 4.0. Pós-AFE, paciente pode escanear QR-code do lote e baixar audit log JSON para verificação independente.