Cripto

Permit2: nova ferramenta para gerenciar permissões

Definição

Permit2 é um contrato inteligente construído pela Uniswap que permite aos usuários conceder e usar aprovações de tokens ERC-20 por meio de assinaturas com expirações e de forma mais segura e flexível…

O que é permit2?

Permit2 é um sistema de contrato inteligente da Uniswap Labs que padroniza como carteiras e aplicativos lidam com a aprovação de tokens para ERC-20 tokens, incluindo aprovações criadas por transações onchain e aprovações criadas por assinaturas offchain.

Em vez de cada token implementar sua própria lógica de “permissão” (ou forçar os usuários a aprovar cada novo aplicativo), o Permit2 fornece uma camada de aprovação compartilhada com recursos como expirações, nonces e permissões em lote.

Como muitos incidentes de drenagem de carteira começam com usuários concedendo aprovações perigosas sem saber, o Permit2 é frequentemente discutido no contexto de fraudes em carteiras de criptomoedas e como evitá-las.

Em um nível alto, o Permit2 fica entre sua carteira e o aplicativo que deseja mover seus tokens. Você pode autorizar gastos de duas maneiras principais: (1) definir um limite onchain (semelhante a uma aprovação normal de ERC-20, mas registrada no Permit2), ou (2) assinar uma mensagem digitada que o Permit2 pode verificar onchain para criar ou atualizar um limite.

Ao contrário das aprovações ilimitadas tradicionais que podem durar anos, as permissões do Permit2 podem incluir um limite de valor e um tempo de expiração, e usam nonces para reduzir o risco de repetição. Ele também suporta agrupamento, então uma única assinatura pode cobrir múltiplos tokens ou múltiplas permissões.

Uniswap Permit2

No ecossistema Uniswap, o Permit2 é comumente usado para simplificar trocas e outras ações de múltiplos passos onde um aplicativo precisa de acesso temporário a tokens. O fluxo típico é: você assina uma mensagem Permit2 que autoriza um gastador específico (geralmente um contrato de roteador) a gastar até um valor definido de um token até um prazo, e então o roteador executa a troca e retira os tokens via Permit2.

Isso reduz aprovações repetidas entre diferentes roteadores Uniswap e pode tornar as aprovações mais consistentes entre tokens que não suportam permissões nativas. Importante, isso muda o que você deve procurar nos prompts da carteira: você pode estar assinando uma permissão que afeta as permissões do Permit2 em vez do mapeamento de permissões do próprio token.

EIP-2612 permit

EIP-2612 é o padrão de "permissão" amplamente utilizado que permite que um token ERC-20 aceite uma assinatura offchain para definir sua permissão (portanto, você não precisa de uma transação de aprovação separada). O detalhe é que o EIP-2612 deve ser implementado por cada contrato de token, e as implementações variam (ou não existem).

O Permit2 complementa isso oferecendo uma experiência de permissão universal e independente de token: a assinatura é verificada pelo contrato Permit2, não pelo próprio token. Conceitualmente, o EIP-2612 atualiza as permissões dentro do contrato do token, enquanto o Permit2 atualiza as permissões dentro do Permit2.

Para os usuários, ambos podem parecer semelhantes ("assinar para aprovar"), razão pela qual entender phishing de assinatura ephishing de aprovaçãoé crítico: uma assinatura ainda pode conceder poder de gasto significativo se você aprovar o gastador errado ou assinar uma mensagem que não entende.

Por que o permit2 é importante

O Permit2 é importante porque torna as aprovações mais controláveis e mais uniformes em todo o ecossistema ERC-20: os aplicativos podem solicitar permissões limitadas por tempo e valor, e os usuários podem evitar deixar aprovações amplas em aberto.

Também ajuda os desenvolvedores a reduzir a fricção agrupando permissões e suportando tokens que não possuem EIP-2612, o que pode melhorar a experiência do usuário sem forçar os usuários a várias transações. Dito isso, o Permit2 não elimina o risco—os atacantes ainda podem enganar os usuários para conceder permissões a gastadores maliciosos, e prompts de assinatura confusos podem permitir phishing de aprovação ou phishing de assinatura.

A lição prática para golpes de carteira de criptomoedas e como evitá-los é tratar qualquer solicitação de aprovação ou assinatura como uma decisão de segurança: verifique oendereço, limite os valores, prefira expirações e revogue permissões que você não precisa mais.

Perguntas frequentes

Para que é usado o Permit2?

O Permit2 é usado para gerenciar permissões de gasto ERC-20 de maneira consistente em muitos tokens e aplicativos. Ele permite aprovações via assinaturas, suporta agrupamento e permite permissões com limite de tempo e limite de valor.

O Permit2 é o mesmo que o permit do EIP-2612?

Não. O EIP-2612 é implementado dentro de contratos de tokens individuais para definir a autorização desse token via assinatura, enquanto o Permit2 é um contrato separado que registra autorizações em seu próprio sistema. Ambos podem reduzir a necessidade de transações de aprovação separadas, mas funcionam em camadas diferentes.

O Permit2 torna as aprovações mais seguras?

Pode sim, porque suporta expirações, nonces e permissões mais granulares do que o padrão comum de "aprovação infinita". No entanto, não previne fraudes se um usuário assina uma permissão para um gastador malicioso.

O Permit2 pode esvaziar minha carteira?

O Permit2 em si é um mecanismo de aprovação, não um ladrão, mas qualquer sistema de aprovação pode ser abusado se você conceder permissões ao gastador errado. Se você assinar ou definir uma autorização que autoriza um contrato malicioso, esse contrato pode ser capaz de transferir tokens até os limites aprovados.

Como posso me proteger ao assinar uma mensagem do Permit2?

Verifique o endereço do gastador, mantenha o valor o mais baixo possível e prefira expirações curtas. Tenha cuidado com solicitações de assinatura inesperadas e revogue permissões que você não precisa mais para reduzir a exposição.

Termos relacionados

Permit2: Definição, uso no Uniswap e segurança