Impacto do PEI-3074 nas Carteiras e DApps

intermediário5/27/2024, 9:17:11 AM
A EIP-3074 permite que contas de propriedade externa (EOAs) deleguem o controle para um contrato especificado, obtendo assim as extensas capacidades de execução semelhantes aos contratos. Isso melhora significativamente a experiência do usuário e pode redefinir os atuais métodos de autorização familiares, melhorando a segurança enquanto mantém a usabilidade. Nic, do imToken Labs, analisa o impacto do EIP-3074, incluindo melhorias nos métodos de autorização de ativos.

PEI-3074

Experiência do usuário melhor e mais segura

EIP-3074 permite que EOAs deleguem controle para contratos especificados, obtendo assim capacidades de execução avançadas semelhantes a contratos. Antes do EIP-3074, um EOA só podia realizar uma operação por transação, como aprovar um token ERC20 ou fazer uma troca na Uniswap. Após o EIP-3074, um EOA pode concluir várias operações em uma única transação, possibilitando casos de uso anteriormente inimagináveis. Em essência, o EIP-3074 melhora significativamente a experiência do usuário e reformula métodos de autorização familiares, ao mesmo tempo em que aprimora a segurança.

Além disso, com EIP-3074, as EOAs não precisam mais enviar transações na cadeia por si mesmas, eliminando assim a necessidade de adquirir primeiro ETH para pagar as taxas de transação.

Contratos Invoker

Contratos que podem obter controle de EOAs são chamados contratos Invoker. Não é qualquer contrato que pode obter controle; o EOA deve assinar com sua chave privada, especificando qual contrato Invoker e quais operações autoriza o Invoker a executar.

O processo geralmente envolve:

Alice assina com sua chave privada EOA, especificando o contrato Invoker e as operações autorizadas.

Alice envia o conteúdo assinado e a assinatura para um Relayer.

O Relayer envia a transação para a cadeia para o contrato Invoker.

O Invoker verifica a assinatura e, após validação, executa as operações como EOA de Alice, como aprovar USDC, trocar ativos na Uniswap e usar alguns USDC para pagar o Relayer como taxa.

Nota: O Relayer é opcional; Alice pode enviar o conteúdo assinado e a assinatura na cadeia por si mesma.

Evitando Ataques de Repetição

O Invoker executa operações como se tivesse controle limitado da EOA de Alice. No entanto, o nonce da EOA não aumenta após a execução, o que significa que a mesma assinatura poderia potencialmente ser reutilizada enquanto o nonce da EOA permanecer inalterado. Portanto, o Invoker deve implementar seu mecanismo de nonce para evitar ataques de repetição.

Saiba Mais

Para uma introdução detalhada ao funcionamento do PEI-3074, consulte:https://medium.com/taipei-ethereum-meetup/PEI3074-%E7%B0%A1%E4%BB%8B-2a880b918234

Aplicações do PEI-3074

Chamada em lote

Batchcall permite aos usuários combinar várias transações em uma, economizando o processo de várias assinaturas de autorização e alguns custos de gás. Observe que isso requer que os DApps suportem a funcionalidade Batchcall, como o atualmente promovido PEI-5792. Sem tal suporte, os DApps solicitarão uma transação separada para cada operação, tratando o usuário como um EOA regular.

Para obter mais informações sobre PEI-5792, consulte: PEI-5792.

Chave de Sessão

Os usuários podem delegar operações a um terceiro sob condições específicas usando uma chave de sessão. No exemplo abaixo, a chave de delegação representa o terceiro autorizado, enquanto a política de acesso define as restrições operacionais, como limitar as ações ao Uniswap, limitar as transferências a 1 ETH por dia ou definir uma data de expiração da autorização. Essas condições são projetadas e verificadas dentro do contrato Invoker. Uma vez que as verificações são aprovadas, o terceiro pode realizar operações como o EOA do usuário.

Por exemplo, um Bot do Telegram poderia receber permissões específicas para executar operações em nome da EOA do usuário.

Permissão ETH Nativa

Se as condições forem atendidas (ou seja, a assinatura do permit é válida), as operações podem ser executadas como o EOA autorizador, habilitando a funcionalidade de Permit nativo do ETH.

Ordem Limitada

Os usuários podem definir condições de ordem limite, que, uma vez atendidas, permitem que as operações sejam executadas como o EOA do usuário. Isso inclui aprovar ativos digitais relevantes para um DApp e trocar ativos no DApp. Comparado à funcionalidade de ordem limite fornecida pelos próprios DApps, os usuários não precisam aprovar previamente ativos para o DApp.

Por exemplo, quando Alice completa uma ordem limitada, a aprovação é executada simultaneamente, eliminando a necessidade de aprovação prévia.

Ao projetar as condições de forma mais geral, um contrato de intenção pode ser criado: desde que as condições especificadas sejam atendidas, qualquer pessoa pode executar a intenção em nome do EOA do usuário.

Recuperação Social

Se um usuário perder sua chave privada do EOA, ele pode usar a autorização previamente assinada PEI-3074, juntamente com assinaturas de partes autorizadas (por exemplo, Marido e Agente de Confiança), para transferir todos os ativos do EOA. Isso recupera os ativos (transferíveis), não o controle da conta. Uma vez que a chave privada do EOA é perdida, o EOA não pode ser usado novamente.

Melhorando Métodos de Autorização de Ativos

O EIP-3074 tem o potencial de melhorar ou mesmo substituir os métodos atuais de aprovação/permissão. Atualmente, os DApps operam sob a suposição de que os usuários são EOAs: os usuários devem pré-aprovar uma quantidade suficientemente grande de ativos para o contrato DApp para evitar permanecer on-line constantemente e repetidamente aprovando transações. Isso melhora significativamente a experiência do usuário.

Por exemplo, aplicações condicionais como ordens limitadas ou DCA exigem que os usuários pré-aprovem uma grande quantidade de ativos para que o DApp possa executar operações quando as condições forem atendidas, potencialmente várias vezes.

No entanto, isso requer que os usuários confiem no DApp ou evitem aprovar DApps falsos e que eles sejam capazes de remover aprovações em tempo real.

Modelos de permissão recentes como EIP-2612 ou o Permit2 não nativo visam melhorar a experiência do usuário do modelo de aprovação e segurança. Os usuários não precisam aprovar grandes quantidades de ativos para cada contrato DApp; em vez disso, eles podem autorizar os DApps a retirar uma quantidade especificada de ativos dentro de um tempo especificado, assinando uma vez. Isso reduz significativamente a superfície de ataque e melhora a experiência do usuário.

△ Os usuários só precisam assinar off-chain e podem especificar a quantidade de ativos e o período de validade, proporcionando uma experiência e segurança melhores do que aprovar.

No entanto, na realidade, não apenas aprovar, o modo de permissão ainda é frequentemente explorado como um método de golpe. As vítimas assinam erroneamente permissões que acreditam ser para uso de DApp, mas na verdade estão dando autorização aos atacantes.

△ Quando os usuários assinam uma permissão, eles só podem ver quem estão autorizando, mas não sabem quais operações serão realizadas em conjunto com ela.

Nota:O design atual do permit é incompatível com DApps que exigem operações repetitivas, como DCA ou outras aplicações de pagamento periódico. Isso ocorre porque o permit tem um mecanismo anti-replay, então, uma vez que uma transação é concluída, o mesmo permit não pode ser usado novamente. Basicamente, os usuários precisam pré-assinar permits para cada operação repetitiva futura.

Saiba Mais:

Para entender mais sobre incidentes em que o modo de permissão foi explorado como um método de golpe, por favor copie os seguintes links para o seu navegador para mais informações:

No entanto, o EIP-3074 traz uma chance de mudança: quando os desenvolvedores de DApp percebem que EOA pode realizar várias operações complexas por meio do Invoker, o design das interações do DApp não precisará mais sacrificar a segurança por uma melhor experiência do usuário, como "usuários aprovando uma grande quantidade de ativos antecipadamente" ou "usuários assinando uma mensagem de permissão para autorizar saques".

Em vez disso, os usuários vincularão a operação DApp com a ação de aprovação, executando-as atomicamente através do Invoker: ou ambas a aprovação e a operação DApp têm sucesso juntas ou falham juntas. Não há possibilidade de a ação de aprovação ter sucesso sozinha, para que os usuários possam ter certeza de que essa ação de aprovação é especificamente para a operação atual.

Além disso, os usuários autorizam usando assinaturas off-chain, então a experiência do usuário é a mesma que com permitir! Isso significa que os DApps não precisarão mais do modo de permissão! No futuro, as carteiras podem bloquear diretamente ou escrutinar mais rigorosamente as solicitações de assinaturas de permissão sem se preocupar em impedir que os usuários acessem determinados DApps (mas sim em serem explorados por golpes).

△ Os usuários não autorizarão mais apenas um determinado endereço, mas também especificarão quais ações podem ser tomadas e até mesmo verão os resultados da execução simulada.

Nota:Isso não significa que os golpes possam ser completamente evitados! Os usuários ainda podem ser enganados por sites fraudulentos, e os sites fraudulentos ainda podem criar operações de aprovação ou transferência para que os usuários assinem. No entanto, neste ponto, os usuários pelo menos podem ver quais operações a assinatura está autorizando. As carteiras até podem simular e exibir os resultados da execução, mostrando claramente aos usuários quem perderá dinheiro e quem ganhará dinheiro. Comparado às permissões em que os usuários não podem saber as operações ou resultados da execução, os usuários agora têm mais informações para decidir se autorizam ou não. Embora não seja uma solução perfeita, ainda representa uma melhoria significativa em relação à situação atual.

Como as Carteiras Lidam com o Nonce EOA

Atualmente, o design do PEI-3074 inclui o valor de nonce do EOA no conteúdo da assinatura. Portanto, assim que o EOA envia uma transação on-chain que altera o valor de nonce, todas as autorizações existentes do PEI-3074 se tornam inválidas.

Se um usuário autoriza outros a operar sua EOA em seu nome, como através da Chave de Sessão ou dos métodos de Recuperação Social mencionados acima, o nonce da EOA deve permanecer inalterado. Caso contrário, todas as autorizações devem ser reassinadas e entregues ao trustee, o que afeta significativamente tanto a experiência do usuário quanto a robustez do mecanismo.

Se o usuário está se autorizando a operar, então não há necessidade de evitar alterar o nonce do EOA. Assinaturas EIP-3074, como transações, devem ser executadas dentro de um determinado período. No entanto, as carteiras devem gerenciar transações EIP-3074 para o EOA: se houver uma assinatura EIP-3074 aguardando para ser registrada na cadeia, quaisquer transações EOA devem aguardar.

Nota:O contrato Invoker em si deve manter um mecanismo de nonce separado, para que cada assinatura precise ser renovada independentemente de alterações no PEI nonce.

A Chave de Sessão e a Recuperação Social provavelmente serão amplamente adotadas somente após a modificação das regras pelo PEI-3074 para remover o nonce do EOA do conteúdo da assinatura. Portanto, as carteiras devem se concentrar no cenário em que os usuários se autorizam a operar e tratar as assinaturas do PEI-3074 como fariam com transações, evitando preocupações com transações EOA alterando o nonce.

No entanto, se os usuários desejarem enviar sua assinatura EIP-3074 na cadeia por conta própria, existem duas desvantagens:

  1. Os usuários precisam assinar duas vezes: uma vez para a assinatura PEI-3074 e uma vez para a assinatura da transação na cadeia.

  2. Uma vez que a transação on-chain incrementará o nonce EOA antes da execução, o nonce EOA da assinatura EIP-3074 deve ser pré-incrementado para coincidir com a mudança de nonce causada pela transação on-chain.

△ Porque a transação on-chain incrementa o nonce do EOA, a verificação de assinatura EIP-3074 falhará se os nonces não coincidirem.

△ Os usuários precisam pré-incrementar o nonce EOA na assinatura EIP-3074 para passar na verificação com sucesso.

Ao compreender essas nuances, os provedores de carteira podem gerenciar melhor o tratamento de número de série EOA, garantindo uma experiência do usuário mais suave e segura com autorizações PEI-3074.

Resumo e destaques

  • PEI-3074 concede aos EOAs (Contas de Propriedade Externa) as mesmas capacidades de execução avançadas que os contratos, desbloqueando inúmeros novos cenários de aplicação.
  • Isso não apenas melhora significativamente a experiência do usuário, mas também transforma os métodos de autorização atuais, tornando-os mais seguros sem comprometer a usabilidade.
  • Além disso, o EIP-3074 envolve assinaturas simples, então os usuários não precisam necessariamente executar essas assinaturas na cadeia por si mesmos, eliminando a necessidade de reunir ETH para pagar as taxas de transação.
  • Os usos do PEI-3074 incluem Chamada em Lote, Chave de Sessão, Permissão ETH Nativa, Ordem Limitada e Recuperação Social. Muitos destes são originalmente impossíveis de alcançar com EOA e alguns, como Ordem Limitada, exigem pré-autorização e outros métodos menos seguros para serem usados.
  • Isso era anteriormente impossível para EOAs. Por exemplo, usar Ordem Limitada exigia métodos menos seguros como pré-autorização.
  • O EIP-3074 também irá alterar os métodos de autorização atuais. O método de aprovação autoriza diretamente um endereço especificado a retirar ativos digitais ilimitados indefinidamente, exigindo que o EOA do usuário envie uma transação para executar a aprovação, resultando em uma experiência do usuário e segurança ruins. O método de permissão requer apenas a assinatura do usuário, e cada assinatura especifica o valor do ativo e o período de validade, melhorando significativamente a experiência do usuário e a segurança em comparação com aprovar.
  • No entanto, o método de permissão ainda é frequentemente explorado em golpes. Ao assinar, os usuários só podem ver o endereço, o montante do ativo e o período de validade que estão autorizando, mas não o objetivo da autorização. O objetivo seria definido em outra assinatura (ou transação). Um DApp legítimo exigiria que o usuário assinasse tanto a permissão quanto o objetivo, mas essas são duas assinaturas separadas. Portanto, ao ser solicitado a assinar uma permissão, os usuários e carteiras não podem determinar o uso pretendido da permissão.
  • Com a PEI-3074, os usuários (1) não precisam aprovar antecipadamente uma grande quantidade de ativos para a DApp, mas apenas aprovam quando houver uma operação, e o efeito é o mesmo que permitir; (2) apenas assinam e não precisam se preocupar em coletar ETH para pagar a taxa do procedimento O efeito é o mesmo que permitir; (3) Cada aprovação está vinculada à operação especificada e assinada juntas. O usuário pode saber claramente para o que a aprovação está sendo usada desta vez. Isso será mais seguro do que permitir!
  • Espera-se que o PEI-3074 substitua com sucesso os métodos atuais de aprovação e permissão, fornecendo aos usuários um método de autorização mais seguro.

Aviso legal:

  1. Este artigo é reproduzido a partir de [Laboratórios imToken]. Todos os direitos autorais pertencem ao autor original [Nic]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe e eles cuidarão disso prontamente.
  2. Isenção de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Impacto do PEI-3074 nas Carteiras e DApps

intermediário5/27/2024, 9:17:11 AM
A EIP-3074 permite que contas de propriedade externa (EOAs) deleguem o controle para um contrato especificado, obtendo assim as extensas capacidades de execução semelhantes aos contratos. Isso melhora significativamente a experiência do usuário e pode redefinir os atuais métodos de autorização familiares, melhorando a segurança enquanto mantém a usabilidade. Nic, do imToken Labs, analisa o impacto do EIP-3074, incluindo melhorias nos métodos de autorização de ativos.

PEI-3074

Experiência do usuário melhor e mais segura

EIP-3074 permite que EOAs deleguem controle para contratos especificados, obtendo assim capacidades de execução avançadas semelhantes a contratos. Antes do EIP-3074, um EOA só podia realizar uma operação por transação, como aprovar um token ERC20 ou fazer uma troca na Uniswap. Após o EIP-3074, um EOA pode concluir várias operações em uma única transação, possibilitando casos de uso anteriormente inimagináveis. Em essência, o EIP-3074 melhora significativamente a experiência do usuário e reformula métodos de autorização familiares, ao mesmo tempo em que aprimora a segurança.

Além disso, com EIP-3074, as EOAs não precisam mais enviar transações na cadeia por si mesmas, eliminando assim a necessidade de adquirir primeiro ETH para pagar as taxas de transação.

Contratos Invoker

Contratos que podem obter controle de EOAs são chamados contratos Invoker. Não é qualquer contrato que pode obter controle; o EOA deve assinar com sua chave privada, especificando qual contrato Invoker e quais operações autoriza o Invoker a executar.

O processo geralmente envolve:

Alice assina com sua chave privada EOA, especificando o contrato Invoker e as operações autorizadas.

Alice envia o conteúdo assinado e a assinatura para um Relayer.

O Relayer envia a transação para a cadeia para o contrato Invoker.

O Invoker verifica a assinatura e, após validação, executa as operações como EOA de Alice, como aprovar USDC, trocar ativos na Uniswap e usar alguns USDC para pagar o Relayer como taxa.

Nota: O Relayer é opcional; Alice pode enviar o conteúdo assinado e a assinatura na cadeia por si mesma.

Evitando Ataques de Repetição

O Invoker executa operações como se tivesse controle limitado da EOA de Alice. No entanto, o nonce da EOA não aumenta após a execução, o que significa que a mesma assinatura poderia potencialmente ser reutilizada enquanto o nonce da EOA permanecer inalterado. Portanto, o Invoker deve implementar seu mecanismo de nonce para evitar ataques de repetição.

Saiba Mais

Para uma introdução detalhada ao funcionamento do PEI-3074, consulte:https://medium.com/taipei-ethereum-meetup/PEI3074-%E7%B0%A1%E4%BB%8B-2a880b918234

Aplicações do PEI-3074

Chamada em lote

Batchcall permite aos usuários combinar várias transações em uma, economizando o processo de várias assinaturas de autorização e alguns custos de gás. Observe que isso requer que os DApps suportem a funcionalidade Batchcall, como o atualmente promovido PEI-5792. Sem tal suporte, os DApps solicitarão uma transação separada para cada operação, tratando o usuário como um EOA regular.

Para obter mais informações sobre PEI-5792, consulte: PEI-5792.

Chave de Sessão

Os usuários podem delegar operações a um terceiro sob condições específicas usando uma chave de sessão. No exemplo abaixo, a chave de delegação representa o terceiro autorizado, enquanto a política de acesso define as restrições operacionais, como limitar as ações ao Uniswap, limitar as transferências a 1 ETH por dia ou definir uma data de expiração da autorização. Essas condições são projetadas e verificadas dentro do contrato Invoker. Uma vez que as verificações são aprovadas, o terceiro pode realizar operações como o EOA do usuário.

Por exemplo, um Bot do Telegram poderia receber permissões específicas para executar operações em nome da EOA do usuário.

Permissão ETH Nativa

Se as condições forem atendidas (ou seja, a assinatura do permit é válida), as operações podem ser executadas como o EOA autorizador, habilitando a funcionalidade de Permit nativo do ETH.

Ordem Limitada

Os usuários podem definir condições de ordem limite, que, uma vez atendidas, permitem que as operações sejam executadas como o EOA do usuário. Isso inclui aprovar ativos digitais relevantes para um DApp e trocar ativos no DApp. Comparado à funcionalidade de ordem limite fornecida pelos próprios DApps, os usuários não precisam aprovar previamente ativos para o DApp.

Por exemplo, quando Alice completa uma ordem limitada, a aprovação é executada simultaneamente, eliminando a necessidade de aprovação prévia.

Ao projetar as condições de forma mais geral, um contrato de intenção pode ser criado: desde que as condições especificadas sejam atendidas, qualquer pessoa pode executar a intenção em nome do EOA do usuário.

Recuperação Social

Se um usuário perder sua chave privada do EOA, ele pode usar a autorização previamente assinada PEI-3074, juntamente com assinaturas de partes autorizadas (por exemplo, Marido e Agente de Confiança), para transferir todos os ativos do EOA. Isso recupera os ativos (transferíveis), não o controle da conta. Uma vez que a chave privada do EOA é perdida, o EOA não pode ser usado novamente.

Melhorando Métodos de Autorização de Ativos

O EIP-3074 tem o potencial de melhorar ou mesmo substituir os métodos atuais de aprovação/permissão. Atualmente, os DApps operam sob a suposição de que os usuários são EOAs: os usuários devem pré-aprovar uma quantidade suficientemente grande de ativos para o contrato DApp para evitar permanecer on-line constantemente e repetidamente aprovando transações. Isso melhora significativamente a experiência do usuário.

Por exemplo, aplicações condicionais como ordens limitadas ou DCA exigem que os usuários pré-aprovem uma grande quantidade de ativos para que o DApp possa executar operações quando as condições forem atendidas, potencialmente várias vezes.

No entanto, isso requer que os usuários confiem no DApp ou evitem aprovar DApps falsos e que eles sejam capazes de remover aprovações em tempo real.

Modelos de permissão recentes como EIP-2612 ou o Permit2 não nativo visam melhorar a experiência do usuário do modelo de aprovação e segurança. Os usuários não precisam aprovar grandes quantidades de ativos para cada contrato DApp; em vez disso, eles podem autorizar os DApps a retirar uma quantidade especificada de ativos dentro de um tempo especificado, assinando uma vez. Isso reduz significativamente a superfície de ataque e melhora a experiência do usuário.

△ Os usuários só precisam assinar off-chain e podem especificar a quantidade de ativos e o período de validade, proporcionando uma experiência e segurança melhores do que aprovar.

No entanto, na realidade, não apenas aprovar, o modo de permissão ainda é frequentemente explorado como um método de golpe. As vítimas assinam erroneamente permissões que acreditam ser para uso de DApp, mas na verdade estão dando autorização aos atacantes.

△ Quando os usuários assinam uma permissão, eles só podem ver quem estão autorizando, mas não sabem quais operações serão realizadas em conjunto com ela.

Nota:O design atual do permit é incompatível com DApps que exigem operações repetitivas, como DCA ou outras aplicações de pagamento periódico. Isso ocorre porque o permit tem um mecanismo anti-replay, então, uma vez que uma transação é concluída, o mesmo permit não pode ser usado novamente. Basicamente, os usuários precisam pré-assinar permits para cada operação repetitiva futura.

Saiba Mais:

Para entender mais sobre incidentes em que o modo de permissão foi explorado como um método de golpe, por favor copie os seguintes links para o seu navegador para mais informações:

No entanto, o EIP-3074 traz uma chance de mudança: quando os desenvolvedores de DApp percebem que EOA pode realizar várias operações complexas por meio do Invoker, o design das interações do DApp não precisará mais sacrificar a segurança por uma melhor experiência do usuário, como "usuários aprovando uma grande quantidade de ativos antecipadamente" ou "usuários assinando uma mensagem de permissão para autorizar saques".

Em vez disso, os usuários vincularão a operação DApp com a ação de aprovação, executando-as atomicamente através do Invoker: ou ambas a aprovação e a operação DApp têm sucesso juntas ou falham juntas. Não há possibilidade de a ação de aprovação ter sucesso sozinha, para que os usuários possam ter certeza de que essa ação de aprovação é especificamente para a operação atual.

Além disso, os usuários autorizam usando assinaturas off-chain, então a experiência do usuário é a mesma que com permitir! Isso significa que os DApps não precisarão mais do modo de permissão! No futuro, as carteiras podem bloquear diretamente ou escrutinar mais rigorosamente as solicitações de assinaturas de permissão sem se preocupar em impedir que os usuários acessem determinados DApps (mas sim em serem explorados por golpes).

△ Os usuários não autorizarão mais apenas um determinado endereço, mas também especificarão quais ações podem ser tomadas e até mesmo verão os resultados da execução simulada.

Nota:Isso não significa que os golpes possam ser completamente evitados! Os usuários ainda podem ser enganados por sites fraudulentos, e os sites fraudulentos ainda podem criar operações de aprovação ou transferência para que os usuários assinem. No entanto, neste ponto, os usuários pelo menos podem ver quais operações a assinatura está autorizando. As carteiras até podem simular e exibir os resultados da execução, mostrando claramente aos usuários quem perderá dinheiro e quem ganhará dinheiro. Comparado às permissões em que os usuários não podem saber as operações ou resultados da execução, os usuários agora têm mais informações para decidir se autorizam ou não. Embora não seja uma solução perfeita, ainda representa uma melhoria significativa em relação à situação atual.

Como as Carteiras Lidam com o Nonce EOA

Atualmente, o design do PEI-3074 inclui o valor de nonce do EOA no conteúdo da assinatura. Portanto, assim que o EOA envia uma transação on-chain que altera o valor de nonce, todas as autorizações existentes do PEI-3074 se tornam inválidas.

Se um usuário autoriza outros a operar sua EOA em seu nome, como através da Chave de Sessão ou dos métodos de Recuperação Social mencionados acima, o nonce da EOA deve permanecer inalterado. Caso contrário, todas as autorizações devem ser reassinadas e entregues ao trustee, o que afeta significativamente tanto a experiência do usuário quanto a robustez do mecanismo.

Se o usuário está se autorizando a operar, então não há necessidade de evitar alterar o nonce do EOA. Assinaturas EIP-3074, como transações, devem ser executadas dentro de um determinado período. No entanto, as carteiras devem gerenciar transações EIP-3074 para o EOA: se houver uma assinatura EIP-3074 aguardando para ser registrada na cadeia, quaisquer transações EOA devem aguardar.

Nota:O contrato Invoker em si deve manter um mecanismo de nonce separado, para que cada assinatura precise ser renovada independentemente de alterações no PEI nonce.

A Chave de Sessão e a Recuperação Social provavelmente serão amplamente adotadas somente após a modificação das regras pelo PEI-3074 para remover o nonce do EOA do conteúdo da assinatura. Portanto, as carteiras devem se concentrar no cenário em que os usuários se autorizam a operar e tratar as assinaturas do PEI-3074 como fariam com transações, evitando preocupações com transações EOA alterando o nonce.

No entanto, se os usuários desejarem enviar sua assinatura EIP-3074 na cadeia por conta própria, existem duas desvantagens:

  1. Os usuários precisam assinar duas vezes: uma vez para a assinatura PEI-3074 e uma vez para a assinatura da transação na cadeia.

  2. Uma vez que a transação on-chain incrementará o nonce EOA antes da execução, o nonce EOA da assinatura EIP-3074 deve ser pré-incrementado para coincidir com a mudança de nonce causada pela transação on-chain.

△ Porque a transação on-chain incrementa o nonce do EOA, a verificação de assinatura EIP-3074 falhará se os nonces não coincidirem.

△ Os usuários precisam pré-incrementar o nonce EOA na assinatura EIP-3074 para passar na verificação com sucesso.

Ao compreender essas nuances, os provedores de carteira podem gerenciar melhor o tratamento de número de série EOA, garantindo uma experiência do usuário mais suave e segura com autorizações PEI-3074.

Resumo e destaques

  • PEI-3074 concede aos EOAs (Contas de Propriedade Externa) as mesmas capacidades de execução avançadas que os contratos, desbloqueando inúmeros novos cenários de aplicação.
  • Isso não apenas melhora significativamente a experiência do usuário, mas também transforma os métodos de autorização atuais, tornando-os mais seguros sem comprometer a usabilidade.
  • Além disso, o EIP-3074 envolve assinaturas simples, então os usuários não precisam necessariamente executar essas assinaturas na cadeia por si mesmos, eliminando a necessidade de reunir ETH para pagar as taxas de transação.
  • Os usos do PEI-3074 incluem Chamada em Lote, Chave de Sessão, Permissão ETH Nativa, Ordem Limitada e Recuperação Social. Muitos destes são originalmente impossíveis de alcançar com EOA e alguns, como Ordem Limitada, exigem pré-autorização e outros métodos menos seguros para serem usados.
  • Isso era anteriormente impossível para EOAs. Por exemplo, usar Ordem Limitada exigia métodos menos seguros como pré-autorização.
  • O EIP-3074 também irá alterar os métodos de autorização atuais. O método de aprovação autoriza diretamente um endereço especificado a retirar ativos digitais ilimitados indefinidamente, exigindo que o EOA do usuário envie uma transação para executar a aprovação, resultando em uma experiência do usuário e segurança ruins. O método de permissão requer apenas a assinatura do usuário, e cada assinatura especifica o valor do ativo e o período de validade, melhorando significativamente a experiência do usuário e a segurança em comparação com aprovar.
  • No entanto, o método de permissão ainda é frequentemente explorado em golpes. Ao assinar, os usuários só podem ver o endereço, o montante do ativo e o período de validade que estão autorizando, mas não o objetivo da autorização. O objetivo seria definido em outra assinatura (ou transação). Um DApp legítimo exigiria que o usuário assinasse tanto a permissão quanto o objetivo, mas essas são duas assinaturas separadas. Portanto, ao ser solicitado a assinar uma permissão, os usuários e carteiras não podem determinar o uso pretendido da permissão.
  • Com a PEI-3074, os usuários (1) não precisam aprovar antecipadamente uma grande quantidade de ativos para a DApp, mas apenas aprovam quando houver uma operação, e o efeito é o mesmo que permitir; (2) apenas assinam e não precisam se preocupar em coletar ETH para pagar a taxa do procedimento O efeito é o mesmo que permitir; (3) Cada aprovação está vinculada à operação especificada e assinada juntas. O usuário pode saber claramente para o que a aprovação está sendo usada desta vez. Isso será mais seguro do que permitir!
  • Espera-se que o PEI-3074 substitua com sucesso os métodos atuais de aprovação e permissão, fornecendo aos usuários um método de autorização mais seguro.

Aviso legal:

  1. Este artigo é reproduzido a partir de [Laboratórios imToken]. Todos os direitos autorais pertencem ao autor original [Nic]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe e eles cuidarão disso prontamente.
  2. Isenção de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!