Não peça ajuda quando se trata de segurança de rede! Tenha cuidado antes de assinar sua carteira MetaMask!

MetaMask é uma carteira digital criptografada EVM (Ethereum Virtual Machine) muito famosa e mais amplamente usada. Acredito que qualquer pessoa familiarizada com o campo digital criptográfico já usou uma carteira MetaMask uma vez ou outra. No entanto, à medida que mais e mais pessoas entram no campo digital criptografado, os casos de fraude digital aumentam gradualmente e os casos de roubo de ativos digitais devido à falta de familiaridade com o modo de operação do blockchain estão se tornando cada vez mais comuns.

Certa vez, um amigo passou por essa situação. Ele claramente não fez nenhuma transação, mas descobriu que os ativos digitais em sua carteira foram transferidos sem motivo. Ele tinha certeza de que a frase mnemônica não havia vazado para outras pessoas, mas ele havia usado a carteira fazer login muitas vezes em contas diferentes do site, participar de diferentes interações de dApp, etc. Portanto, é muito provável que o problema esteja na assinatura.

Desta vez tomaremos o MetaMask como exemplo para falar sobre três problemas de assinatura no blockchain.

A chamada assinatura é na verdade um processo de autenticação de identidade. Assim como quando você vai a um banco para sacar dinheiro, além de receber suas instruções de operação, o banco também deve realizar a autenticação de identidade para garantir que você é o verdadeiro dono da conta. A autenticação da identidade bancária pode ser realizada por senha, assinatura, selo, etc.

Assinatura Blockchain

O mesmo se aplica às transações no blockchain. Ao realizar uma transação, além de instruir o blockchain "o que fazer", você também precisa realizar a autenticação de identidade para garantir que é o verdadeiro proprietário da conta antes de poder realizar o correspondente. Operação. Essa autenticação de identidade é o que chamamos de “assinatura”.

O método específico de assinatura é usar sua chave privada (chave privada) salva em uma carteira blockchain (como MetaMask) para assinar digitalmente as instruções que você emitiu por meio de um algoritmo de criptografia. Esta assinatura pode ser feita com sua chave pública de endereço (chave pública). ) é comparado para verificar se é realmente a instrução correspondente emitida por você e o processo de autenticação é concluído. Além disso, a ação de “assinar” não requer enrolamento. Também pode ser feito sem conexão com a internet.

Portanto, desde que você tenha uma assinatura de transação válida e corresponda às instruções de transação correspondentes (como transferência), você poderá concluir uma transação normalmente.

Neste ponto, acredito que os leitores inteligentes podem ver o mistério. A assinatura da transação é a principal prioridade em todo o processo. Em outras palavras, um fraudador pode falsificar uma transação e fraudar a assinatura da transação. Em seguida, o fraudador pode usar essa assinatura para executar a transação forjada, fazendo com que você perca ativos em circunstâncias inexplicáveis. O vazamento de assinaturas de transações é um dos culpados pelo roubo de muitos ativos digitais.

Sinal Pessoal

Assinatura de login Web3 comum

O Personal Sign pode ser usado para assinar um trecho de texto codificado em UTF-8. Usando este método, o MetaMask exibirá claramente o conteúdo assinado.

O login do OpenSea mencionado acima usa o método Personal Sign.

Eth_Sign

Os usuários precisam estar mais alertas para assinar

ethsign é um método de assinatura fornecido muito cedo pelo MetaMask. Este método requer a passagem de um número hash de 32 bytes (Hash) para assinatura, e o número hash pode ser obtido de qualquer conteúdo. O autor não terá ideia de qual conteúdo está assinando. Esse conteúdo pode ser uma transação, uma autorização, uma solicitação de login no site ou qualquer outra coisa. Portanto, agora o MetaMask começou a assinar esse tipo de assinatura. . Solicite que um aviso vermelho apareça para alertar os usuários para evitar cair em um golpe.

Droga, toque a campainha. Ethsign é um método de assinatura muito perigoso e também é o método de assinatura usado por muitos golpes. O login do OpenSea mencionado acima usa o método Personal Sign.

Sinal EIP712

Um método mais avançado e seguro de assinatura de transações

EIP712 Sign é um padrão de assinatura mais seguro. Este padrão especifica a estrutura dos dados de assinatura e também adiciona restrições de escopo aos dados, como domínio, endereço do contrato de verificação, etc.

As assinaturas ERC712 são frequentemente usadas na execução de contratos, como metatransações. Por exemplo, solicitações de assinatura EIP712 aparecerão durante a listagem do OpenSea NFT, redução de preços e outros processos.

A vantagem deste padrão é que os signatários podem ver claramente o que estão assinando, o que reduz bastante o risco de serem vítimas de phishing. No entanto, isso não significa que este tipo de assinatura seja absolutamente seguro. Ao assinar, você deve ver claramente o que está assinando.

Conclusão

Resumindo, nunca se pode pensar que não há risco se a assinatura não estiver na cadeia. Pelo contrário, as assinaturas blockchain podem realmente ser consideradas onipotentes, especialmente as assinaturas que aparecem usando o ethsign. Tanto as equipes de desenvolvimento quanto os indivíduos devem ser extremamente cuidadosos.

Além da segurança da interação da metamask em si, outras recomendações de segurança incluem:

1. A chave privada e a frase mnemônica não podem ser divulgadas em nenhuma circunstância, e não use a área de transferência para copiar, nem pode tirar fotos, capturas de tela ou armazená-las em um disco de rede. Lembre-se de que a chave privada ou frase mnemônica é tudo que está na sua carteira

2. Separe carteiras quentes e frias. Todas as transações devem ser feitas em carteiras quentes, apenas realizando operações de transferência de entrada e saída. Se você quiser vender um NFT em uma carteira fria, você prefere gastar um pouco de gás para transferi-lo. para a carteira quente primeiro.

3. Ao cunhar ou experimentar alguns dApps, é melhor usar uma carteira pequena

4. É melhor armazenar grandes quantidades de ativos em bolsas ou carteiras de hardware. As frases mnemônicas para carteiras de hardware só podem ser escritas à mão e não podem ser armazenadas na Internet.

Espero que todos sejam felizes no mundo criptográfico e protejam suas carteiras. Se isso acontecer, remova a chave imediatamente. conteúdo da carteira, as carteiras estão obsoletas.