Análise do EIP-7702: uma grande quebra no abstracção de contas do Ethereum e perspectivas futuras

Análise aprofundada do desenvolvimento da abstração de contas do Ethereum e perspectivas futuras

Este artigo é dividido em duas grandes partes:

A primeira parte começa com a primeira proposta de AA em 2015, sistematizando o conteúdo principal das propostas EIP até agora, explorando o processo de evolução das propostas históricas de AA e avaliando de forma abrangente as vantagens e desvantagens de cada proposta.

A parte inferior foca na comparação das críticas ao mercado fraco enfrentadas após a proposta do EIP4337, analisando profundamente o EIP7702 que será incorporado na próxima atualização do Ethereum. Uma vez que essa proposta seja mesclada, mudará completamente a forma das aplicações em cadeia.

EIP-7702 tem um significado revolucionário, abaixo está uma explicação detalhada.

1. Background da abstração de contas

1.1 a localização da abstração de contas

O fundador do Ethereum, Vitalik, ao atualizar o roteiro do ETH no final de 2023, não fez alterações na definição da abstração de contas. O modelo predominante atual está passando da EIP-4337 para a próxima fase "conversão voluntária de contas EOA".

Mais de um ano após o lançamento do EIP4337, em 1 de março de 2023, foi oficialmente apresentado o ( na WalletCon em Denver. Este ainda não obteve ampla adoção, embora os usuários reconheçam seu valor. Neste ambiente de mercado contraditório, o progresso do EIP-7702 avançou significativamente e está determinado a ser integrado na próxima atualização.

) 1.2 O estado atual do mercado de abstração de contas

Após um ano e meio de desenvolvimento, o EIP4337 possui apenas 12 milhões de endereços nas principais blockchains. No mainnet do Ethereum, há apenas 6.764 endereços ativos, muito abaixo do número de endereços EOA e CA. O número de endereços independentes na mainnet do Ethereum já alcançou 270 milhões, o que mostra que o EIP4337 praticamente não teve desenvolvimento substancial na mainnet.

No entanto, isso não afeta o valor essencial do AA. A intenção original do design do EIP4337 já é difícil de resolver o problema de compatibilidade com a rede principal. Com a incorporação nativa do AA em várias L2, o número de endereços EIP4337 está crescendo de forma explosiva nas L2, como a Base e a Polygon, que atingiram 1 milhão e 3 milhões de usuários ativos mensais em julho, respetivamente.

Portanto, o design do EIP4337 não está errado, tem muitas vantagens. A situação atual decorre das diferenças entre a mainnet e o L2, que precisam de soluções adequadas para cada um.

![Análise aprofundada do passado e futuro da abstração de contas Ethereum]###https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(

2. O que é a abstração de contas?

A abstração de contas resolve essencialmente o problema da separação de propriedade.

Na arquitetura EVM, existem duas classes de contas: conta externa ) EOA ( e conta de contrato ) CA (. A propriedade e o direito de assinatura da EOA são detidos pela mesma entidade. O detentor da chave privada não só possui a "propriedade da conta", mas também pode "assinar a transferência de todos os ativos".

Isso é determinado pela estrutura de transação da conta Ethereum. Na estrutura de transação padrão, não há campo From; a transferência de fundos é realmente retrocedida através da assinatura do usuário VRS ) ( para deduzir o endereço From. Isso envolve conceitos como ECDSA e funções de limiar unidirecionais, garantidos pela criptografia para segurança, mas também resulta na atual dificuldade de fusão de propriedade de endereços EOA.

O núcleo do EIP4337 é a adição do Endereço do Remetente no campo da transação, permitindo a separação entre a chave privada e o endereço de operação.

A importância da separação de propriedade está em:

  1. Dificuldade em proteger a chave privada: perder a chave privada significa perder todos os ativos.

  2. Algoritmo de assinatura único: o protocolo nativo suporta apenas a verificação de assinatura ECDSA.

  3. Permissões de assinatura excessivas: sem funcionalidade nativa de múltiplas assinaturas, uma única assinatura pode executar qualquer operação.

  4. A taxa de transação pode ser paga apenas com Éter, não suporta transações em massa.

  5. Vazamento de privacidade de transações: transações um a um facilitam a análise das informações de privacidade do titular da conta.

Essas limitações dificultam o uso do Ethereum para usuários comuns:

Primeiro, os usuários devem possuir ETH) para assumir o risco de volatilidade de preços( antes de usar aplicações Ethereum.

Além disso, os usuários precisam lidar com lógicas de taxas complexas, como preço do Gas, limite do Gas e conceitos de bloqueio de transações que são excessivamente complicados.

Por fim, embora muitas carteiras ou aplicações tentem otimizar a experiência do utilizador, os resultados são limitados.

Assim, a solução reside na implementação da abstração de contas, desacoplando a propriedade )Owner( e o direito de assinatura )Signer(, resolvendo gradualmente os problemas acima.

Embora haja muitas propostas históricas, elas se concentram em duas rotas.

![Análise profunda da abstração de contas do Ethereum: passado e futuro])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(

3. Revisão do contexto histórico da proposta de AA

A solução para o problema parece ter várias propostas de EIP, mas, no fundo, são duas as ideias centrais. Cada EIP que não foi aprovado reúne questões que se tornam pontos de ruptura da solução atual.

) 3.1 Primeira rota: converter o endereço EOA em endereço CA

No dia 15 de novembro de 2015, Vitalik propôs uma nova estrutura de conta como contrato para o EIP-101. A mudança do endereço para apenas código e espaço de armazenamento, suportando taxas de transação ERC20, através de contratos pré-compilados que transformam tokens nativos em saldos semelhantes ao ERC20, simplificando os campos de transação.

Esta grande reforma de salto à frente irá alterar significativamente o design subjacente, permitindo que cada endereço de conta tenha sua própria lógica de "código". ### é exatamente o efeito que o EIP-7702 pretende alcançar. (.

As funcionalidades derivadas incluem:

  1. A negociação suporta mais algoritmos de criptografia, com o método de verificação de assinatura especificado pelo Code interno do endereço.

  2. Possui características de resistência a ataques quânticos, pois o código pode ser atualizado.

  3. Permitir que o Éter tenha funcionalidades compatíveis com os contratos ERC20, como autorização de dedução.

  4. Melhorar o espaço de personalização da conta, compatível com recuperação social, suporte a SBT, recuperação de chaves, etc.

A razão pela qual não foi possível continuar a avançar é que o passo foi demasiado grande, considerando de forma inadequada o atual problema de colisão de hash de transações e as questões de segurança, mas cada ideia positiva tornou-se uma das funções centrais dos subsequentes EIP4337 e EIP7702.

Uma série de EIPs subsequentes tentaram aperfeiçoar essa lógica:

EIP-859: abstração de contas da cadeia principal )2018-01-30(

Resolver problemas de implantação de código, se o contrato da parte contratante não estiver implantado, então use o parâmetro code anexado à transação para executar a implantação da carteira do contrato. Propor um novo opcode PAYGAS, além de pagar gas, como delimitador entre a parte de verificação e a parte de execução nos parâmetros da transação.

Embora não tenha sido aprovado na época, tornou-se uma das lógicas centrais do EIP7702. Cada transação do EIP7702, combinada com uma estrutura de transação especial, pode incluir um determinado código, permitindo que o endereço EOA tenha capacidade de contrato nesta transação.

EIP-7702: definir código da conta EOA )2024-05-07(

Vitalik propôs o EIP-7702 como uma alternativa ao EIP-3074. O EIP-3074 foi descontinuado, e o EIP-7702 será incluído no próximo hard fork ETH Prague/Electra)Pectra(.

) 3.2 Segunda rota: deixar o endereço EOA conduzir o endereço CA

EIP-3074: adicionar os códigos de operação AUTH e AUTHCALL ###2020-10-15(

Adicionar duas novas instruções AUTH e AUTHCALL ao EVM, permitindo que EOA autorize contratos a chamar outros contratos em vez da identidade EOA através dessas duas instruções.

O EOA pode enviar a mensagem assinada ) transação ( para o contrato confiável ) Invoker (, este contrato Invoker pode usar os códigos de operação AUTH e AUTHCALL para substituir o EOA no envio de transações.

EIP-4337: implementar a abstração de contas na pool de memórias de transações )2021-09-29(

Inspirado pelo MEV, o valor central é evitar completamente alterações no protocolo da camada de consenso.

Propor um novo objeto de transação UserOperation, o usuário envia este objeto para o pool de memória, onde os bundlers agrupam e entregam transações de execução de contrato a partir da perspectiva dos mineradores, essencialmente elevando a operação de transações subjacentes e de contas para o nível de contrato.

EIP-5189: através de operadores de endosse, abstração de contas )2022-06-29(

Otimizar a lógica do EIP4337, estabelecendo um mecanismo de endosse de penalização de fundos para evitar ataques de bloqueio DoS maliciosos por parte de Bundlers.

) 3.3 Outras propostas que suportam a abstração de contas

EIP-2718: embalagem de novos tipos de transação ###2020-06-13(

Proposta concluída, definindo um novo tipo de transação como um envelope para futuros tipos de transação a serem adicionados.

Ao introduzir novos tipos de transação, deve-se diferenciá-los por meio de uma codificação específica, mantendo apenas a compatibilidade retroativa. Por exemplo, o EIP1559 distinguiu as taxas de transação, utilizando uma nova codificação de tipo de transação, sem afetar o tipo de transação legacy original.

EIP-3607: proíbe a implantação de contratos por endereços EOA )2021-06-10(

Solução complementar no caminho AA, para evitar conflitos entre endereços de contrato e endereços EOA. Controlar o método de geração de contratos, proibindo a implementação de código em endereços que já são EOA. O risco é pequeno, o endereço Ethereum tem 160 bits de comprimento, embora exista um método para colidir a chave privada para gerar a chave privada de um contrato específico, mas estimando a totalidade do poder de cálculo do Bitcoin, isso levaria cerca de um ano.

) 3.4 Como entender o desenvolvimento da abstração de contas?

Primeiro, é necessário entender o valor após a conversão para CA.

Basicamente, é o efeito prático do EIP-4337, que pode realizar:

  1. Recuperação social
  2. Carteira multi-assinatura
  3. Pagar tokens como taxa de gas
  4. Transações em lote
  5. Negociação programada
  6. Carteira modular
  7. Extensão de verificação de assinatura

Mas a principal desvantagem do EIP-4337 é que contraria o princípio da motivação humana.

Parece melhor, mas cai em um ciclo vicioso de desenvolvimento de mercado. Muitos Dapps ainda não são compatíveis, os usuários relutam em usar endereços CA, e usar CA tem até custos de transação mais altos em cenários de transferência comuns, com taxas de transação duplicadas, dependendo demais da compatibilidade dos Dapps.

Portanto, ainda não se popularizou na rede principal do Ethereum.

O custo é o critério de medição mais importante para os usuários, e deve-se reduzir os custos.

Mas para realmente reduzir o GAS, é necessário que o Ethereum em si faça uma atualização de soft fork, modificando o cálculo de GAS ou módulos de consumo de GAS de opcode. Já que é para fazer um soft fork, por que não considerar diretamente o EIP-7702?

![Análise profunda do passado e futuro da abstração de contas do Ethereum]###https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(

4. Análise Completa do EIP-7702

) 4.1 O que é EIP-7702

Através de um novo tipo de transação, permite que EOA possua temporariamente funcionalidades de contrato inteligente em uma única transação, suportando transações em lote, transações sem Gas e gestão de permissões personalizadas, sem a necessidade de introduzir um novo opCode EVM ( que afete a compatibilidade retroativa ).

Permitir que os usuários obtenham a maior parte das capacidades de AA sem precisar implantar contratos inteligentes, podendo até fornecer a capacidade para terceiros iniciarem transações em nome dos usuários, sem que os usuários precisem fornecer chaves privadas, apenas com a assinatura de informações de autorização.

4.2 estrutura de dados

Definir um novo tipo de transação 0x04, TransactionPayload é o resultado da serialização RLP do seguinte conteúdo:

rlp([ chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destino, valor, dados, lista_de_acesso, lista_de_autorização, signature_y_parity, assinatura_r, signature_s ])

Adicionado o objeto authorization_list, que armazena o código que o signatário deseja executar na EOA. O usuário assina a transação enquanto assina o código do contrato a ser executado, que existe como uma lista bidimensional, permitindo armazenar várias informações de operação em massa e executar operações em massa.

authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]

4.3 ciclo de vida da transação

(# 4.3.1 fase de verificação

Quando a execução da transação começa, para cada tupla [chain_id, address, nonce, y_parity, r, s] da authorization_list:

  1. Recuperar o endereço do signatário a partir da assinatura r, s usando ecrecover.
  2. Verificar a ID da cadeia ) para evitar a reprodução da cadeia de bifurcação ###.
  3. Verifique se o código do signatário authority está vazio ou já foi delegado.
  4. Verificar o nonce do signatário authority ### para evitar a reprodução da assinatura authority (.
  5. Defina o código do signatário authority como 0xef0100 || address.
  6. Aumentar o nonce do signatário authority ) para evitar a reprodução de assinaturas locais (.
  7. Adicionar a conta do signatário da authority à lista de endereços acessados.

)# 4.3.2 Fase de execução da operação

A nova versão apenas altera o comportamento de implantação de código.

Não definir mais o código da conta como contract_code, mas recuperar o código address da authorization_list e definir como código da conta.

Ao executar o código autorizado, carregue o código do campo address da authorization_list, executando-o no contexto da conta do signatário.

O código do contrato do usuário é armazenado em um endereço específico na cadeia, não está diretamente incluído na transação.

Os comandos de operação e os parâmetros relacionados são armazenados no campo data da carga da transação.

( 4.4 O valor do EIP-7702

Houve mudanças na cadeia completa da carteira Web3, com uma grande alteração na experiência do usuário. Transações normais iniciadas por EOA podem executar várias lógicas semelhantes à execução de contratos, como transferências em massa. Isso afeta a identificação de transações em cenários CeFi e impacta as taxas de coleta de depósitos e retiradas.

Quebrar múltiplos padrões:

  1. O saldo da conta pode ser reduzido devido a transações que não se originam dessa conta.
  2. Após o início da execução da transação, o nonce EOA pode aumentar várias vezes.
  3. proteção da comparação entre tx.origin e msg.sender
ETH-5.26%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 7
  • Partilhar
Comentar
0/400
FrogInTheWellvip
· 07-31 03:59
De repente, sinto que o anterior 4337 parece um irmão mais novo.
Ver originalResponder0
DeFiChefvip
· 07-30 12:32
Chegou uma nova proposta que não consigo entender.
Ver originalResponder0
CrossChainBreathervip
· 07-30 12:30
4337 é só isso? 7702 é que é o verdadeiro deus
Ver originalResponder0
ContractExplorervip
· 07-30 12:30
AA afinal é bom ou não, estou cansado de olhar.
Ver originalResponder0
OldLeekMastervip
· 07-30 12:25
AA é realmente muito difícil de usar. Quando vai ficar melhor?
Ver originalResponder0
GasGrillMastervip
· 07-30 12:18
Este gás realmente queima muito.
Ver originalResponder0
BlockchainWorkervip
· 07-30 12:14
Especulação, ainda especulação, não é apenas uma troca de Carteira
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)