Análise Profunda da Abstração de Contas Multi-Chain
De 8 a 11 de julho de 2024, o maior evento anual de Ethereum da Europa - a Conferência da Comunidade Ethereum (EthCC) - será realizada em Bruxelas, Bélgica, com foco no desenvolvimento tecnológico e comunitário. Este ano, mais de 350 líderes de opinião da indústria de blockchain farão palestras, incluindo uma apresentação com o tema "Revelando o Futuro: Análise da Abstração de Contas Multichain".
Visão Geral dos Pontos da Palestra
A abstração de contas (AA) tem dois conceitos centrais: a abstração de assinaturas e a abstração de pagamentos. A primeira permite que os usuários escolham qualquer mecanismo de validação, enquanto a segunda suporta várias opções de pagamento, melhorando assim a experiência do usuário e a segurança.
Há diferenças no design das funções de ponto de entrada na fase de verificação e execução entre o ERC-4337 e a AA nativa. As limitações de verificação de transações e os passos para a execução de transações têm características distintas em diferentes implementações.
Ao implementar o ERC-4337 em uma cadeia compatível com EVM, as diferenças de protocolo no design do Rollup e a forma como os endereços são calculados são duas distinções-chave, o que resulta na necessidade de atenção a alguns detalhes de desenvolvimento sutis ao realizar a implementação entre L1 e L2.
Abstração de contas técnica detalhada
a abstração de contas é o conceito central
A abstração de contas inclui principalmente dois pontos-chave:
Abstração de assinatura: permite que os usuários escolham qualquer mecanismo de validação que desejem, não se limitando a algoritmos de assinatura digital específicos.
Abstração de pagamento: suporta o uso de várias opções de pagamento de transações, como pagar com tokens ERC-20 ou ter as taxas de transação patrocinadas por terceiros.
Essa flexibilidade aumenta significativamente a experiência do usuário e a segurança, sendo o objetivo central da abstração de contas.
Análise do padrão ERC-4337
O ERC-4337 resolve algumas limitações inerentes às contas externas (EOA) do Ethereum, introduzindo métodos de gestão de contas e processamento de transações mais flexíveis. Os seus componentes principais incluem:
Estrutura userOp: O usuário envia esta estrutura para o Bundler, que coleta múltiplos userOp e chama a função handleOps do contrato EntryPoint.
Contrato EntryPoint: como o núcleo do processamento de transações, suas principais funções incluem verificar a autorização userOp, cobrar taxas e executar operações alvo.
abstração de contas
Na AA nativa, cada conta é um contrato, e o mecanismo de processamento de transações está diretamente embutido no protocolo da blockchain. Atualmente, as principais redes de blockchain têm diferentes maneiras de implementar a AA:
Seguir a abstração de contas ERC-4337: Ethereum, Arbitrum, Optimism, etc.
Seguir a abstração de contas nativa do ERC-4337: StarkNet e zkSync Era
Conta nativa com design de privacidade: Aztec
Análise comparativa entre ERC-4337 e AA nativo
papel do sistema operativo
O ERC-4337 realiza o processamento de transações através da colaboração entre o Bundler e o EntryPoint Contract, enquanto no AA nativo, os usuários enviam diretamente os userOps para o operador/ordenador do servidor oficial.
StarkNet: O Sequencer é responsável por todas as tarefas de processamento de transações
zkSync Era: O operador deve trabalhar em conjunto com o bootloader (contrato do sistema)
Design de Interface de Contrato
A interface de contrato de conta é semelhante em diferentes implementações, consistindo principalmente em duas fases: verificação e execução. Tanto o ERC-4337 quanto o AA nativo têm funções de ponto de entrada fixas na fase de verificação, mas na fase de execução, apenas o ponto de entrada do AA nativo é fixo.
Limitação dos passos de verificação
Para prevenir ataques DoS, cada implementação definiu diferentes limitações para a validação de transações:
O ERC-4337 define códigos de operação proibidos e restrições de acesso ao armazenamento
zkSync Era permite o acesso a slots de armazenamento específicos, mas proíbe o acesso a variáveis globais.
StarkNet não permite chamadas de contratos externos
Limite de etapas de execução
zkSync: é necessário confirmar que o sinalizador do sistema existe para poder executar a chamada do sistema
ERC-4337 e StarkNet: sem restrições especiais na fase de execução
gestão de números aleatórios
ERC-4337: distinguir entre valores de chave de 192 bits e valores aleatórios de 64 bits
zkSync: gerido pelo contrato do sistema NonceHolder, garantindo um aumento rigoroso
StarkNet: estritamente crescente, mas sem gestão de contratos dedicada
primeira implantação de negociação
ERC-4337: implantar contratos de conta através do campo initcode na estrutura userOp
StarkNet e zkSync: é necessário enviar a primeira transação para o operador/ordenador para implantar a abstração de contas
Diferenças na implementação do ERC-4337 entre L1 e L2
Ao implementar o ERC-4337 em cadeias compatíveis com EVM, existem duas diferenças chave principais:
Diferenças de protocolo: O L2 deve enviar dados para o L1 para garantir segurança e liquidação, e os custos associados (como a taxa de segurança do L1 e taxas de blob) devem ser incluídos no Gas de pré-validação, o que aumenta a complexidade da estimativa de custos.
Diferença de endereço: A forma como os endereços são calculados em diferentes cadeias pode variar, o que pode resultar em endereços de contratos de conta que não são consistentes entre o Ethereum e o L2. Especialmente quando um hard fork introduz novos códigos de operação, se o L2 não suportar esse hard fork, mesmo que o código Solidity seja o mesmo, o bytecode compilado também pode ser diferente.
A análise acima revela a complexidade e a diversidade da abstração de contas na tecnologia de ambientes multichain. À medida que a tecnologia continua a evoluir, essas diferenças podem se expandir ou convergir ainda mais, merecendo atenção e pesquisa contínuas.
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.
Análise Profunda: O Estado Atual e os Desafios da Abstração de Contas Multichain
Análise Profunda da Abstração de Contas Multi-Chain
De 8 a 11 de julho de 2024, o maior evento anual de Ethereum da Europa - a Conferência da Comunidade Ethereum (EthCC) - será realizada em Bruxelas, Bélgica, com foco no desenvolvimento tecnológico e comunitário. Este ano, mais de 350 líderes de opinião da indústria de blockchain farão palestras, incluindo uma apresentação com o tema "Revelando o Futuro: Análise da Abstração de Contas Multichain".
Visão Geral dos Pontos da Palestra
A abstração de contas (AA) tem dois conceitos centrais: a abstração de assinaturas e a abstração de pagamentos. A primeira permite que os usuários escolham qualquer mecanismo de validação, enquanto a segunda suporta várias opções de pagamento, melhorando assim a experiência do usuário e a segurança.
Há diferenças no design das funções de ponto de entrada na fase de verificação e execução entre o ERC-4337 e a AA nativa. As limitações de verificação de transações e os passos para a execução de transações têm características distintas em diferentes implementações.
Ao implementar o ERC-4337 em uma cadeia compatível com EVM, as diferenças de protocolo no design do Rollup e a forma como os endereços são calculados são duas distinções-chave, o que resulta na necessidade de atenção a alguns detalhes de desenvolvimento sutis ao realizar a implementação entre L1 e L2.
Abstração de contas técnica detalhada
a abstração de contas é o conceito central
A abstração de contas inclui principalmente dois pontos-chave:
Abstração de assinatura: permite que os usuários escolham qualquer mecanismo de validação que desejem, não se limitando a algoritmos de assinatura digital específicos.
Abstração de pagamento: suporta o uso de várias opções de pagamento de transações, como pagar com tokens ERC-20 ou ter as taxas de transação patrocinadas por terceiros.
Essa flexibilidade aumenta significativamente a experiência do usuário e a segurança, sendo o objetivo central da abstração de contas.
Análise do padrão ERC-4337
O ERC-4337 resolve algumas limitações inerentes às contas externas (EOA) do Ethereum, introduzindo métodos de gestão de contas e processamento de transações mais flexíveis. Os seus componentes principais incluem:
Estrutura userOp: O usuário envia esta estrutura para o Bundler, que coleta múltiplos userOp e chama a função handleOps do contrato EntryPoint.
Contrato EntryPoint: como o núcleo do processamento de transações, suas principais funções incluem verificar a autorização userOp, cobrar taxas e executar operações alvo.
abstração de contas
Na AA nativa, cada conta é um contrato, e o mecanismo de processamento de transações está diretamente embutido no protocolo da blockchain. Atualmente, as principais redes de blockchain têm diferentes maneiras de implementar a AA:
Análise comparativa entre ERC-4337 e AA nativo
papel do sistema operativo
O ERC-4337 realiza o processamento de transações através da colaboração entre o Bundler e o EntryPoint Contract, enquanto no AA nativo, os usuários enviam diretamente os userOps para o operador/ordenador do servidor oficial.
Design de Interface de Contrato
A interface de contrato de conta é semelhante em diferentes implementações, consistindo principalmente em duas fases: verificação e execução. Tanto o ERC-4337 quanto o AA nativo têm funções de ponto de entrada fixas na fase de verificação, mas na fase de execução, apenas o ponto de entrada do AA nativo é fixo.
Limitação dos passos de verificação
Para prevenir ataques DoS, cada implementação definiu diferentes limitações para a validação de transações:
Limite de etapas de execução
gestão de números aleatórios
primeira implantação de negociação
Diferenças na implementação do ERC-4337 entre L1 e L2
Ao implementar o ERC-4337 em cadeias compatíveis com EVM, existem duas diferenças chave principais:
Diferenças de protocolo: O L2 deve enviar dados para o L1 para garantir segurança e liquidação, e os custos associados (como a taxa de segurança do L1 e taxas de blob) devem ser incluídos no Gas de pré-validação, o que aumenta a complexidade da estimativa de custos.
Diferença de endereço: A forma como os endereços são calculados em diferentes cadeias pode variar, o que pode resultar em endereços de contratos de conta que não são consistentes entre o Ethereum e o L2. Especialmente quando um hard fork introduz novos códigos de operação, se o L2 não suportar esse hard fork, mesmo que o código Solidity seja o mesmo, o bytecode compilado também pode ser diferente.
A análise acima revela a complexidade e a diversidade da abstração de contas na tecnologia de ambientes multichain. À medida que a tecnologia continua a evoluir, essas diferenças podem se expandir ou convergir ainda mais, merecendo atenção e pesquisa contínuas.