EIP-7702: Grande mudança nas contas externas do Ethereum
Ethereum está prestes a receber a atualização Pectra, na qual o EIP-7702 trouxe uma transformação revolucionária para a conta externa Ethereum (EOA). Esta proposta obscureceu a linha entre EOA e conta de contrato CA, sendo um passo crucial em direção à abstração de contas nativa, trazendo um novo modo de interação para o ecossistema Ethereum.
Pectra já completou a implementação na rede de testes e espera-se que seja lançada na mainnet em breve. Este artigo irá analisar em profundidade o mecanismo de implementação do EIP-7702, discutir as oportunidades e desafios que pode trazer, e fornecer orientações práticas para diferentes participantes.
Análise do protocolo
Resumo
O EIP-7702 introduz um novo tipo de transação, permitindo que EOA especifique um endereço de contrato inteligente e defina o código para ele. Isso permite que EOA execute código como um contrato inteligente, mantendo a capacidade de iniciar transações. Este recurso confere à EOA programabilidade e combinabilidade, permitindo que os usuários implementem funcionalidades como recuperação social, controle de permissões, gestão de múltiplas assinaturas, verificação zk, pagamentos por subscrição, patrocínio de transações e processamento em lote de transações. O EIP-7702 é perfeitamente compatível com as carteiras de contrato inteligente implementadas pelo EIP-4337, simplificando o desenvolvimento e a aplicação de novas funcionalidades.
O EIP-7702 introduziu um tipo de transação SET_CODE_TX_TYPE (0x04), cuja estrutura de dados contém o campo authorization_list, que pode incluir várias entradas de autorização. Cada entrada de autorização contém chain_id, address, nonce e dados de assinatura.
implementação
Quando o autorizador assina os dados de autorização, deve codificar o chain_id, address e nonce em RLP, e realizar a operação de hash keccak256 junto com o número MAGIC, que é (0x05), como delimitador de domínio, para garantir que os resultados de diferentes tipos de assinatura não entrem em conflito.
Quando o chain_id for 0, isso significa que a autorização pode ser reproduzida em todas as cadeias compatíveis com EVM que suportam EIP-7702. Antes da execução da transação, o Proposer realizará uma verificação prévia para garantir que a transação não seja uma transação de criação de contrato. O campo authorization_list na transação deve conter pelo menos uma entrada de autorização.
Quando um nó executa uma transação, primeiro aumenta o nonce do iniciador, depois aplica a operação applyAuthorization para cada entrada de autorização. Se ocorrer um erro, essa entrada de autorização será ignorada e as outras entradas continuarão a ser aplicadas. Após a autorização ser concluída, o campo code do endereço do autorizador será definido como 0xef0100||address. O autorizador pode definir o endereço de destino da delegação como o endereço 0 para remover a autorização.
Melhores Práticas
Embora o EIP-7702 traga nova vitalidade ao ecossistema Ethereum, também acarreta novos riscos. A seguir estão os aspectos que os participantes do ecossistema precisam estar cientes:
armazenamento de chave privada
Mesmo que, após a delegação de EOA, seja possível resolver problemas de perda de fundos através de métodos como recuperação social, o risco de exposição da chave privada ainda não pode ser evitado. Os usuários devem colocar a proteção da chave privada em primeiro lugar.
múltiplo de cadeia
Os usuários podem escolher o chainId 0 para delegar, tornando-o eficaz em múltiplas cadeias. No entanto, o mesmo endereço de contrato pode ter implementações diferentes em cadeias distintas. Os provedores de serviços de carteira devem verificar se a cadeia de delegação corresponde à rede atual e alertar os usuários sobre os riscos associados.
não é possível inicializar
O EIP-7702 não pode chamar a função de inicialização no momento da implantação, como o contrato proxy ERC-1967. Os desenvolvedores devem realizar a verificação de permissões durante a operação de inicialização da conta, evitando o risco de ser ultrapassado.
gestão de armazenamento
Reatribuir para um endereço de contrato diferente pode causar diferenças na estrutura de armazenamento, resultando em bloqueio da conta ou perda de fundos. Os desenvolvedores devem seguir a Fórmula de Namespace ERC-7201, alocando variáveis em localizações de armazenamento independentes.
recarga falsa
As bolsas de criptomoedas centralizadas podem enfrentar a generalização do carregamento de contratos inteligentes, devendo verificar o estado das transações de recarga através do trace para prevenir o risco de recargas falsas.
conta conversão
As contas podem ser convertidas livremente entre EOA e SC, quebrando algumas suposições de segurança que limitam a participação de projetos apenas a EOA. Os desenvolvedores devem assumir que os futuros participantes podem ser todos contratos inteligentes.
compatibilidade de contrato
Os desenvolvedores devem garantir que o contrato alvo delegado pelo usuário implemente as funções de callback correspondentes, para ser compatível com os tokens mais populares.
verificação de phishing
Os provedores de serviços de carteira devem apoiar rapidamente o tipo de transação EIP-7702, destacando o contrato de destino quando o usuário autoriza a assinatura, e realizando uma análise automática aprofundada para mitigar o risco de ataques de phishing.
Resumo
O EIP-7702, através de um novo tipo de transação, confere programabilidade e combinabilidade às EOAs, borrando a linha entre EOAs e contas de contrato. Diferentes participantes do ecossistema enfrentam muitos desafios e oportunidades, e as melhores práticas fornecidas neste artigo merecem ser aplicadas na operação prática.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
8 Curtidas
Recompensa
8
4
Compartilhar
Comentário
0/400
liquidation_surfer
· 07-14 22:20
Blockchain搬砖哥,风控强迫症患者~
Por favor, gere um comentário em chinês:
As oportunidades de ganhar dinheiro estão chegando!
Ver originalResponder0
Blockblind
· 07-14 03:24
Puxar o tapete mais fácil agora.
Ver originalResponder0
consensus_failure
· 07-14 03:22
Se não consegues jogar bem com a blockchain, que combinação é que estás a tentar fazer?
EIP-7702: Mudanças significativas nas contas externas do Ethereum trazem novas oportunidades e desafios para o ecossistema
EIP-7702: Grande mudança nas contas externas do Ethereum
Ethereum está prestes a receber a atualização Pectra, na qual o EIP-7702 trouxe uma transformação revolucionária para a conta externa Ethereum (EOA). Esta proposta obscureceu a linha entre EOA e conta de contrato CA, sendo um passo crucial em direção à abstração de contas nativa, trazendo um novo modo de interação para o ecossistema Ethereum.
Pectra já completou a implementação na rede de testes e espera-se que seja lançada na mainnet em breve. Este artigo irá analisar em profundidade o mecanismo de implementação do EIP-7702, discutir as oportunidades e desafios que pode trazer, e fornecer orientações práticas para diferentes participantes.
Análise do protocolo
Resumo
O EIP-7702 introduz um novo tipo de transação, permitindo que EOA especifique um endereço de contrato inteligente e defina o código para ele. Isso permite que EOA execute código como um contrato inteligente, mantendo a capacidade de iniciar transações. Este recurso confere à EOA programabilidade e combinabilidade, permitindo que os usuários implementem funcionalidades como recuperação social, controle de permissões, gestão de múltiplas assinaturas, verificação zk, pagamentos por subscrição, patrocínio de transações e processamento em lote de transações. O EIP-7702 é perfeitamente compatível com as carteiras de contrato inteligente implementadas pelo EIP-4337, simplificando o desenvolvimento e a aplicação de novas funcionalidades.
O EIP-7702 introduziu um tipo de transação SET_CODE_TX_TYPE (0x04), cuja estrutura de dados contém o campo authorization_list, que pode incluir várias entradas de autorização. Cada entrada de autorização contém chain_id, address, nonce e dados de assinatura.
implementação
Quando o autorizador assina os dados de autorização, deve codificar o chain_id, address e nonce em RLP, e realizar a operação de hash keccak256 junto com o número MAGIC, que é (0x05), como delimitador de domínio, para garantir que os resultados de diferentes tipos de assinatura não entrem em conflito.
Quando o chain_id for 0, isso significa que a autorização pode ser reproduzida em todas as cadeias compatíveis com EVM que suportam EIP-7702. Antes da execução da transação, o Proposer realizará uma verificação prévia para garantir que a transação não seja uma transação de criação de contrato. O campo authorization_list na transação deve conter pelo menos uma entrada de autorização.
Quando um nó executa uma transação, primeiro aumenta o nonce do iniciador, depois aplica a operação applyAuthorization para cada entrada de autorização. Se ocorrer um erro, essa entrada de autorização será ignorada e as outras entradas continuarão a ser aplicadas. Após a autorização ser concluída, o campo code do endereço do autorizador será definido como 0xef0100||address. O autorizador pode definir o endereço de destino da delegação como o endereço 0 para remover a autorização.
Melhores Práticas
Embora o EIP-7702 traga nova vitalidade ao ecossistema Ethereum, também acarreta novos riscos. A seguir estão os aspectos que os participantes do ecossistema precisam estar cientes:
armazenamento de chave privada
Mesmo que, após a delegação de EOA, seja possível resolver problemas de perda de fundos através de métodos como recuperação social, o risco de exposição da chave privada ainda não pode ser evitado. Os usuários devem colocar a proteção da chave privada em primeiro lugar.
múltiplo de cadeia
Os usuários podem escolher o chainId 0 para delegar, tornando-o eficaz em múltiplas cadeias. No entanto, o mesmo endereço de contrato pode ter implementações diferentes em cadeias distintas. Os provedores de serviços de carteira devem verificar se a cadeia de delegação corresponde à rede atual e alertar os usuários sobre os riscos associados.
não é possível inicializar
O EIP-7702 não pode chamar a função de inicialização no momento da implantação, como o contrato proxy ERC-1967. Os desenvolvedores devem realizar a verificação de permissões durante a operação de inicialização da conta, evitando o risco de ser ultrapassado.
gestão de armazenamento
Reatribuir para um endereço de contrato diferente pode causar diferenças na estrutura de armazenamento, resultando em bloqueio da conta ou perda de fundos. Os desenvolvedores devem seguir a Fórmula de Namespace ERC-7201, alocando variáveis em localizações de armazenamento independentes.
recarga falsa
As bolsas de criptomoedas centralizadas podem enfrentar a generalização do carregamento de contratos inteligentes, devendo verificar o estado das transações de recarga através do trace para prevenir o risco de recargas falsas.
conta conversão
As contas podem ser convertidas livremente entre EOA e SC, quebrando algumas suposições de segurança que limitam a participação de projetos apenas a EOA. Os desenvolvedores devem assumir que os futuros participantes podem ser todos contratos inteligentes.
compatibilidade de contrato
Os desenvolvedores devem garantir que o contrato alvo delegado pelo usuário implemente as funções de callback correspondentes, para ser compatível com os tokens mais populares.
verificação de phishing
Os provedores de serviços de carteira devem apoiar rapidamente o tipo de transação EIP-7702, destacando o contrato de destino quando o usuário autoriza a assinatura, e realizando uma análise automática aprofundada para mitigar o risco de ataques de phishing.
Resumo
O EIP-7702, através de um novo tipo de transação, confere programabilidade e combinabilidade às EOAs, borrando a linha entre EOAs e contas de contrato. Diferentes participantes do ecossistema enfrentam muitos desafios e oportunidades, e as melhores práticas fornecidas neste artigo merecem ser aplicadas na operação prática.
Por favor, gere um comentário em chinês:
As oportunidades de ganhar dinheiro estão chegando!