Autor original: lightclients
Fonte original: Twitter
Compilado por: MetaCat
Após o EIP-3074, uma assinatura incorreta pode esgotar o saldo da sua conta Ethereum.
Sim, é verdade.
Os coautores do EIP-3074 estão aqui! Antes que as coisas fiquem ainda mais fora de controle, deixe-me deixar essa preocupação de lado por um momento.
Em primeiro lugar: atualmente não ouvi falar de nenhuma carteira que suporte a assinatura de dados não prefixados. Isto significa que nenhuma carteira suporta atualmente EIP-3074. Não importa quantos painéis de controle você navegue ou quantos recursos avançados você ative. A mensagem para EIP-3074 não pode ser assinada neste momento.
A mensagem que você assina para “fazer login” no dapp usa um padrão completamente diferente do EIP-3074, baseado no EIP-191. Isso adicionará os seguintes dados à sua mensagem assinada:
0x19 <0x45 (E)> <thereum Mensagem assinada:\n" + len(mensagem)> <data para assinar
É por isso que é impossível enganar alguém logado em um dapp para realmente assinar uma transação Ethereum válida.
As transações são prefixadas com um valor de byte único:
0x01 - 2930 tx0x02 - 1559 tx0x03 - 4844 tx
Para obter mais informações, consulte: https://github.com/ethereum/execution-specs/tree/master/lists/signature-types
EIP-3074 planeja usar o prefixo 0x04. Isso irá desambiguá-lo de todos os outros tipos de dados assináveis no Ethereum. As carteiras devem optar ativamente por permitir que os usuários assinem essas mensagens.
Com base na forma específica como a carteira integra o EIP-3074, isso pode fazer com que os usuários sejam explorados mais facilmente. Para entender isso, precisamos ter certeza de que entendemos como funcionam as assinaturas EIP-3074.
A mensagem de autenticação que cria a assinatura possui os seguintes campos. É importante ressaltar que inclui um endereço de chamada. Este é o único endereço cuja assinatura AUTH considera válida.

Para que o saldo de uma conta esgote, ambas as afirmações a seguir devem ser verdadeiras:
1) A carteira precisa permitir que os usuários assinem qualquer endereço de invocador,
2) O usuário não deve verificar se o chamador (invocador) é confiável.
Isso significa que não haverá problema se o usuário executar algum deles.
Queremos que o software de carteira entenda: Os invocadores EIP-3074 são mais semelhantes a extensões de código de software de carteira do que a contratos. As carteiras não permitem que os usuários executem livremente códigos arbitrários e acessem suas PKs (chaves privadas). Da mesma forma, elas não devem permitir que os usuários deleguem arbitrariamente suas contas Ethereum;
Portanto, se o software da carteira integrar o EIP-3074 de forma insegura e os usuários não verificarem o chamador com quem estão interagindo, ele poderá delegar para um chamador mal-intencionado. No entanto, ainda pode ser desfeito enviando um único tx da EOA. Isso revogará todas as assinaturas AUTH "em andamento".
No mínimo, o software de carteira deve tornar a assinatura de mensagens EIP-3074 um grande negócio, assim como exportar sua chave privada é um grande negócio.
Supondo que a carteira integre 3074 de forma segura, ainda é possível que uma conta seja comprometida. Esta é a propriedade básica das transações em massa. Ele permite que você envie várias ações facilmente, assim como permite que um invasor o engane para que envie um lote de ativos para um endereço que ele controla.
O software de carteira deve mostrar claramente cada ação que você está assinando. Dessa forma, é fácil perceber “Eu pretendia fazer apenas uma transação, mas essa solicitação de assinatura me fez fazer mais uma dezena de transações”. Isso não pode ser detectado se o processamento em lote for feito por meio de assinatura cega.
Sim, o EIP-3074 confia muito na carteira. No entanto, já confiamos neles com segurança nossa chave privada! Não existe um nível mais elevado de confiança.
O EIP-3074 pode ser integrado e usado com segurança. Se alguma carteira tiver dúvidas sobre como fazer isso, não hesite em contactar-nos. Como autores do EIP-3074, estamos atualmente considerando a melhor forma de ajudar na próxima fase da evolução do padrão.
Passamos muito tempo nos últimos anos desenvolvendo cenários hipotéticos sobre como isso poderia ser usado e abusado. Estamos entusiasmados porque essas ideias estão começando a entrar em produção. Mas também reconhecemos que esta é a parte mais difícil.
Para resumir a preocupação após o EIP-3074 de que uma única assinatura incorreta poderia esgotar o saldo da sua conta Ethereum:
- Atualmente a carteira não suporta assinaturas do tipo EIP-3074, que seguem o novo formato.
- EIP-3074 O campo chamador na assinatura é muito importante. Um chamador ruim pode roubar seus fundos.
- A carteira precisa garantir que o endereço do chamador seja confiável. Isso é semelhante a como as carteiras atualmente impedem a execução arbitrária de códigos.
- As transações em massa no EIP-3074 ainda abrem um mundo onde atores mal-intencionados podem induzi-lo a assinar transações que transferem ativos. As carteiras precisam mostrar claramente o que acontece quando uma mensagem EIP-3074 é assinada.
- Sim, temos um alto nível de confiança nas carteiras, mas os usuários confiaram a elas suas chaves privadas, que é o mais alto nível de confiança.

EIP-3074 e EIP-4337
EIP-3074 é muito bom para provedores de abstração de contas porque é muito benéfico para nossos clientes.
- ERC-4337 é a melhor maneira de apresentar novos usuários ao espaço criptográfico.
- EIP-3074 é a melhor maneira de integrar usuários existentes a contas inteligentes.
