EIP-712 padroniza a assinatura estruturada, sua especificação deixa explicitamente proteção de repetição para o aplicativo usando a assinatura.

O que a fonte estabelece

EIP-712 define hashing e assinatura para dados estruturados digitados, incluindo um separador de domínio, que afirma explicitamente que o padrão não inclui proteção de repetição, e que os aplicativos precisam definir o que uma mensagem assinada autoriza e quando pode ser aceita. Ethereum Propostas de Melhoria - EIP-712

O padrão descreve campos de domínio que podem identificar uma cadeia e verificar contrato, que ajudam a distinguir contextos de assinatura quando usados corretamente, mas a presença de dados legíveis por si só não estabelece uso único ou uma política de validade. Ethereum Propostas de Melhoria - EIP-712

O que a distinção muda?

A questão prática é o que o verificador faz depois de receber uma assinatura válida, uma mensagem pode ser compreensível para uma pessoa, mas permanece utilizável mais de uma vez se o pedido não consumir um nonce ou restringir a reutilização.

Para interfaces de carteira, uma exibição clara é uma prova valiosa da autorização proposta, não pode substituir a verificação das condições de contrato, domínio e aceitação, uma janela de assinatura polida não deve ser tratada como certificação do comportamento do aplicativo.

Perguntas para a próxima revisão.

Reveja a carga útil digitada, seu domínio, qualquer nonce, expiração e o tratamento do verificador de uso prévio.