EIP-7702

Intermediário

O que é EIP-7702?

EIP-7702 é uma proposta projetada para aprimorar os recursos de contas de propriedade externa (EOAs). EOAs são contas básicas na rede Ethereum, capazes de enviar transações e interagir com contratos inteligentes. No entanto, elas carecem de certas funcionalidades encontradas em algumas carteiras de criptomoedas, como agrupamento de transações e patrocínio de taxas de gas.
O objetivo da EIP-7702 é permitir que as EOAs se comportem temporariamente como contas de contratos inteligentes dentro de uma única transação, introduzindo recursos normalmente reservados para carteiras de contratos inteligentes. A EIP-7702 foi criada em resposta a algumas limitações e críticas à EIP-3074.

Embora a EIP-7702 não esteja disponível no momento, ela tem um grande apoio da comunidade e muitos acreditam que ela pode substituir a EIP-3074. Se isso acontecer, a EIP-7702 pode ser implementada na atualização Pectra da Ethereum, programada para o final de 2024.

Como funciona a EIP-7702?

A EIP-7702 apresenta um novo tipo de transação na rede Ethereum que inclui um campo especial chamado contract_code. Isso fornece à EOA certas propriedades de contrato inteligente durante a transação. Vamos ver como isso funciona.

Preparação da transação

O usuário começa preparando uma transação, incluindo os detalhes usuais como endereço de destino, limite de gas e quaisquer dados que precisem ser enviados. Além desses detalhes, ele inclui um código especial de contrato inteligente no campo contract_code. Esse código descreve as funcionalidades do contrato inteligente que serão temporariamente atribuídas à EOA.

Autorização 

O usuário então assina a transação. Essa assinatura é crucial, pois autentica a transação e inclui uma lista de autorização. A lista de autorização especifica os detalhes do contract_code e as condições nas quais ele deve ser executado. Essencialmente, ela verifica e autoriza a atribuição temporária do código do contrato inteligente à EOA.

Execução

Quando a transação é enviada à Ethereum, a rede a processa atribuindo temporariamente o contract_code especificado à EOA. Durante essa fase, a transação é processada como se a EOA fosse um contrato inteligente, utilizando as funcionalidades fornecidas pelo contract_code.

Reversão

Após a conclusão da transação, a rede Ethereum remove automaticamente o contract_code temporário da EOA. Dessa forma, a EOA volta ao seu estado original, perdendo os recursos temporários de contrato inteligente.

Analogia de entrega

Imagine que Bob é um entregador com um carro comum que só pode carregar pacotes pequenos. Um dia, Bob recebe uma solicitação de entrega para um pacote maior. Então, em vez de rejeitar a ordem, Bob decide alugar uma caixa de carga extra para anexar ao seu carro. Ele faz a entrega e então devolve a caixa de carga ao local de aluguel, voltando a usar seu carro para cargas pequenas, como de costume.

Nessa analogia:

  • O carro de Bob é a EOA.

  • A caixa de carga temporária é o contract_code que fornece recursos adicionais.
  • A viagem de entrega é a transação.

  • O aluguel e devolução da caixa de carga representa a natureza temporária do contract_code, que só está ativo durante a transação.

Benefícios da EIP-7702

Segurança

Ao remover automaticamente o código de contrato (contract_code) temporário após a transação, a EIP-7702 pode reduzir o risco de ações não autorizadas. Isso garante que as melhorias estejam ativas apenas durante a transação, limitando potenciais vulnerabilidades.

Flexibilidade

Se implementada, a EIP-7702 permitiria vários casos de uso, como o agrupamento de transações, em que várias ações podem ser combinadas em uma única transação. Ela também possibilitaria o patrocínio das taxas de gas, permitindo que uma conta pague as taxas de transação de outra conta.

Adoção de carteiras inteligentes

Ao permitir que as EOAs funcionem temporariamente como contratos inteligentes, a EIP-7702 pode incentivar o uso de recursos de carteira inteligente sem os riscos de segurança associados a alterações permanentes nas EOAs.

Conclusão

A EIP-7702 é uma proposta que aborda as limitações das EOAs, concedendo-lhes temporariamente funcionalidades de contratos inteligentes. Isso pode aumentar a segurança, limitando a duração dessas funcionalidades ao período de uma única transação. A proposta também pode oferecer mais flexibilidade através do agrupamento de transações em lotes, patrocínio de taxas de gas, entre outros recursos.

Embora seu futuro ainda seja incerto, o grande apoio à EIP-7702 indica uma forte possibilidade de sua inclusão na próxima atualização Pectra da Ethereum, programada para o final de 2024.