Análise da abstração de contas multichain: a direção futura da infraestrutura de encriptação
De 8 a 11 de julho de 2024, a Conferência da Comunidade Ethereum (EthCC) será realizada em Bruxelas, na Bélgica. Este é o maior evento anual de Ethereum na Europa, com foco em tecnologia e comunidade.
Nesta edição da Conferência da Comunidade Ethereum (EthCC 7), mais de 350 líderes de opinião da linha de frente da indústria de blockchain fizeram apresentações, dentre os quais um desenvolvedor foi convidado a participar e apresentou uma palestra com o tema "Revelando o Futuro: Análise da Abstração de Contas Multichain".
Resumo da palestra:
Abstração de contas (AA) envolve dois pontos-chave: abstração de assinatura e abstração de pagamento. A abstração de assinatura permite que os usuários escolham qualquer mecanismo de validação que preferirem, enquanto a abstração de pagamento permite o uso de várias opções de pagamento de transações. Essa flexibilidade oferece uma experiência de usuário mais segura e otimizada.
No ERC-4337 e na AA nativa, a função de ponto de entrada da fase de "verificação" é fixa, enquanto na fase de "execução", apenas o ponto de entrada na AA nativa é fixo. As restrições para validar transações e os passos para executar transações têm suas próprias características e limitações em diferentes implementações.
A implementação do ERC-4337 em cadeias compatíveis com EVM apresenta duas diferenças chave: as diferenças de protocolo no design do Rollup e as diferenças na forma de cálculo de endereços, que resultam em detalhes de desenvolvimento difíceis de notar ao implementar o ERC-4337 entre L1 e L2.
Segue o texto completo da palestra:
Olá a todos, hoje vou apresentar a vocês os conceitos de ERC-4337 e AA Nativo, discutir as diferenças entre eles e analisar em destaque as principais distinções entre o padrão 4337 de L1 e L2.
Abstração de contas
1. O que é abstração de contas
abstração de contas(AA) inclui principalmente dois pontos-chave: abstração de assinatura e abstração de pagamento.
Abstração de assinatura: os usuários podem escolher qualquer mecanismo de verificação de sua preferência, e não se limitando a certos algoritmos de assinatura digital (, como ECDSA ).
Abstração de pagamento: Os usuários podem usar várias opções de pagamento para transações, como usar ativos ERC-20 em vez de ativos nativos para pagamento, ou permitir que terceiros patrocinem a transação.
Esta flexibilidade oferece uma experiência de utilizador mais segura e melhor. O objetivo da abstração de contas é alcançar estes dois pontos-chave de várias maneiras.
2. O que é ERC-4337
Atualmente, existem algumas limitações nas contas externas do protocolo Ethereum (EOA), como métodos de assinatura fixos e design de pagamento. O ERC-4337 resolve esses problemas ao introduzir métodos de gestão de contas e processamento de transações mais flexíveis.
Estrutura userOp: no ERC-4337, o usuário envia a estrutura userOp para o Bundler. O Bundler coleta várias userOp e as envia para o contrato EntryPoint chamando a função handleOps.
Contrato EntryPoint: Este contrato processa transações como um sistema operacional, e suas principais funções incluem:
Chamar a função validate no contrato de conta, garantindo que userOp obtenha a autorização do proprietário da conta.
Cobrar taxas.
Chamar a função execute no contrato de conta, para executar a operação alvo do userOp.
3. O que é AA nativa
No Ethereum, as contas são divididas em EOA e contas de contrato. No entanto, na AA nativa, cada conta é um contrato, e o mecanismo de processamento de transações está diretamente incorporado ao protocolo blockchain.
A abstração de contas nativa segue o ERC-4337: Era StarkNet e zkSync
Abstração de contas nativa com design de privacidade: Aztec
Se você está interessado em Aztec Native AA ou EIP-3074, EIP-7702, hoje vamos focar na AA nativa após o ERC-4337.
Diferenças entre ERC-4337 e AA nativo
1. Papel do sistema operativo
AA OS precisa responder às seguintes perguntas:
Quem decide o preço do Gas?
Quem decide a ordem das transações? Onde está o pool de memória?
Quem aciona a função do ponto de entrada?
O que decide o processo de processamento de transações?
No ERC-4337, esses papéis são realizados em conjunto pelo Bundler e pelo EntryPoint Contract.
Na AA nativa, os utilizadores enviam os seus userOps para o operador/classificador do servidor oficial, em vez de para o Bundler e o EntryPoint Contract.
No StarkNet, o Sequencer é responsável por lidar com todas essas tarefas.
No zkSync, a principal diferença da Era em relação a outras implementações de AA é que o Operator precisa trabalhar em conjunto com o contrato do sistema bootloader(. O bootloader abre um novo bloco, define seus parâmetros), incluindo parâmetros de bloco e outros parâmetros de Gas(, e recebe transações do Operator para validação.
![Futuro da infraestrutura de encriptação? Análise da abstração de contas multi-chain])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) 2. Interface de contrato
Devido à existência de três passos, a interface do contrato de conta é semelhante em diferentes implementações, e essas funções de ponto de entrada só podem ser chamadas pelo AA OS:
ERC-4337: validar operações do usuário
zkSync: validar transações, pagamento de transações, executar transações
No ERC-4337 e na AA nativa, a função do ponto de entrada na fase de "verificação" é fixa, enquanto na fase de "execução", apenas o ponto de entrada na AA nativa é fixo.
3. Limitações dos passos de verificação
Devido à ausência de limites de custo para a validação de transações###, a validação de transações é essencialmente uma chamada à função de visualização(, os atacantes podem realizar ataques DoS no pool de memória, comprometendo assim o agrupador)EIP-4337( ou o operador/classificador)AA nativo(.
O EIP-4337 define quais códigos de operação são proibidos e como limitar o acesso à armazenagem. O zkSync Era relaxou o uso de alguns códigos de operação:
A lógica do contrato só pode acessar seu próprio slot de armazenamento. Se o endereço do contrato da conta é o endereço A, ele pode acessar:
slot de armazenamento pertencente ao endereço A
Slot de armazenamento pertencente a qualquer outro endereço A
O slot de armazenamento keccak256 de qualquer outro endereço )A || X(: isso significa usar diretamente o endereço como chave em um mapeamento ), por exemplo, o mapeamento (address => value( ), equivalente a acessar o slot keccak256 )A || X(. Por exemplo, o saldo de ativos em um contrato ERC-20.
A lógica do contrato não pode acessar variáveis globais, como o número do bloco. StarkNet também não permite chamadas de contratos externos.
) 4. Limitações dos passos de execução
No zkSync, a execução de chamadas de sistema requer a confirmação da existência de sinais do sistema. Por exemplo, a única maneira de aumentar o nonce é interagindo com o NonceHolder, enquanto a implementação de contratos exige interação com o ContractDeployer. Os sinais do sistema garantem que os desenvolvedores de contas interajam conscientemente com os contratos do sistema.
Na ERC-4337 e StarkNet, não há restrições especiais na fase de execução.
5. Número aleatório
No ERC-4337, o design do número aleatório do ponto de entrada distingue entre um valor de chave de 192 bits e um valor aleatório de 64 bits.
No zkSync, o contrato inteligente NonceHolder gerencia o nonce, garantindo um aumento estrito, ou seja, adicionando 1 ao número aleatório.
No StarkNet, o nonce também é estritamente crescente, mas não há nonce abstrato gerido por contratos específicos.
6. Usar a primeira transação para implantação
O ERC-4337 contém o campo initcode na estrutura userOp para implantar o contrato de conta do remetente ### na sua primeira userOp (.
No StarkNet e zkSync, os usuários devem enviar a primeira transação para um operador/classificador para implantar o contrato de conta.
) 7. design especial no zkSync
Se você transferir ETH diretamente de um EOA do Ethereum para o zkSync, sem precisar implantar um contrato de conta personalizado, você receberá uma conta padrão com o mesmo endereço. Essa conta pode funcionar como um EOA do Ethereum e também é controlada pela chave privada correspondente do EOA do Ethereum.
Este tipo de conta é da versão None e não da versão 1. Você não pode chamar as funções da DefaultAccount, pois ela não implementou nenhum código no espaço do kernel.
Diferença entre L1 4337 e L2 4337
Na implementação do ERC-4337 em cadeias compatíveis com EVM, há duas diferenças fundamentais: diferenças de protocolo e diferenças de endereço.
1. Diferenças de protocolo
No design de Rollup, o L2 precisa enviar dados para o L1 para segurança e liquidação. No contexto do ERC-4337, as taxas associadas a esse processo de upload, como a taxa de segurança do L1 e a taxa de blob, devem ser incluídas no Gas de pré-validação. Determinar as taxas de upload apropriadas no Gas de pré-validação é um grande desafio.
2. Diferença de Endereço
O método de codificação de endereços na função create do zkSync ERA é diferente do Ethereum e do OP Rollup. Além disso, o StarkNet utiliza uma função de hash única para o cálculo de endereços. No contexto do ERC-4337 em cadeias compatíveis com EVM, geralmente assumimos que o cálculo de endereços é consistente entre as várias cadeias. No entanto, há um detalhe que pode passar despercebido e que pode levar a diferenças nos endereços de contratos de conta entre as implementações do ERC-4337 no Ethereum e no L2.
A questão chave é a adição de novos códigos de operação em um hard fork. Por exemplo, se a cadeia L2 não suportar o hard fork de Xangai e a versão do EVM não for especificada na compilação, a introdução do push0 resultará em uma alteração do bytecode, mesmo que o código Solidity seja o mesmo.
![Futuro da infraestrutura de encriptação? Análise da abstração de contas multi-chain]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(
Conclusão
Acima estão alguns conceitos centrais e diferenças de implementação sobre a abstração de contas. Podemos ver que, embora as implementações de abstração de contas em diferentes blockchains tenham objetivos comuns, existem muitas diferenças em detalhes específicos. Essas diferenças refletem as considerações únicas de design e otimização de cada blockchain, além de proporcionar mais espaço de escolha para desenvolvedores e usuários. No futuro, com o contínuo desenvolvimento da tecnologia, aguardamos ver mais implementações inovadoras de abstração de contas, trazendo uma melhor experiência do usuário e funcionalidades mais robustas para o ecossistema blockchain.
![encriptação básica infraestrutura do futuro? Análise da abstração de contas multichain])https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp(
Ver original
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
6
Compartilhar
Comentário
0/400
HashBandit
· 07-25 01:52
meh... mais um trem de hype AA chegando. na minha época de mineração, não precisávamos dessas coisas sofisticadas, para ser sincero, apenas pura hashpower e lucro
Ver originalResponder0
MaticHoleFiller
· 07-22 02:32
A pata ainda não se juntou à blockchain.
Ver originalResponder0
TokenUnlocker
· 07-22 02:32
AA nativo é invencível
Ver originalResponder0
Anon4461
· 07-22 02:29
aa infraestrutura é a verdadeira grande tendência
Ver originalResponder0
RooftopReserver
· 07-22 02:25
AA技术新idiotas fazer as pessoas de parvas工具?
Ver originalResponder0
WagmiWarrior
· 07-22 02:13
Não inventes coisas complicadas, basta ter uma boa infraestrutura.
Comparação da abstração de contas multi-chain: principais diferenças entre ERC-4337 e AA nativo
Análise da abstração de contas multichain: a direção futura da infraestrutura de encriptação
De 8 a 11 de julho de 2024, a Conferência da Comunidade Ethereum (EthCC) será realizada em Bruxelas, na Bélgica. Este é o maior evento anual de Ethereum na Europa, com foco em tecnologia e comunidade.
Nesta edição da Conferência da Comunidade Ethereum (EthCC 7), mais de 350 líderes de opinião da linha de frente da indústria de blockchain fizeram apresentações, dentre os quais um desenvolvedor foi convidado a participar e apresentou uma palestra com o tema "Revelando o Futuro: Análise da Abstração de Contas Multichain".
Resumo da palestra:
Abstração de contas (AA) envolve dois pontos-chave: abstração de assinatura e abstração de pagamento. A abstração de assinatura permite que os usuários escolham qualquer mecanismo de validação que preferirem, enquanto a abstração de pagamento permite o uso de várias opções de pagamento de transações. Essa flexibilidade oferece uma experiência de usuário mais segura e otimizada.
No ERC-4337 e na AA nativa, a função de ponto de entrada da fase de "verificação" é fixa, enquanto na fase de "execução", apenas o ponto de entrada na AA nativa é fixo. As restrições para validar transações e os passos para executar transações têm suas próprias características e limitações em diferentes implementações.
A implementação do ERC-4337 em cadeias compatíveis com EVM apresenta duas diferenças chave: as diferenças de protocolo no design do Rollup e as diferenças na forma de cálculo de endereços, que resultam em detalhes de desenvolvimento difíceis de notar ao implementar o ERC-4337 entre L1 e L2.
Segue o texto completo da palestra:
Olá a todos, hoje vou apresentar a vocês os conceitos de ERC-4337 e AA Nativo, discutir as diferenças entre eles e analisar em destaque as principais distinções entre o padrão 4337 de L1 e L2.
Abstração de contas
1. O que é abstração de contas
abstração de contas(AA) inclui principalmente dois pontos-chave: abstração de assinatura e abstração de pagamento.
Esta flexibilidade oferece uma experiência de utilizador mais segura e melhor. O objetivo da abstração de contas é alcançar estes dois pontos-chave de várias maneiras.
2. O que é ERC-4337
Atualmente, existem algumas limitações nas contas externas do protocolo Ethereum (EOA), como métodos de assinatura fixos e design de pagamento. O ERC-4337 resolve esses problemas ao introduzir métodos de gestão de contas e processamento de transações mais flexíveis.
3. O que é AA nativa
No Ethereum, as contas são divididas em EOA e contas de contrato. No entanto, na AA nativa, cada conta é um contrato, e o mecanismo de processamento de transações está diretamente incorporado ao protocolo blockchain.
Design de AA nas várias redes de blockchain:
Se você está interessado em Aztec Native AA ou EIP-3074, EIP-7702, hoje vamos focar na AA nativa após o ERC-4337.
Diferenças entre ERC-4337 e AA nativo
1. Papel do sistema operativo
AA OS precisa responder às seguintes perguntas:
No ERC-4337, esses papéis são realizados em conjunto pelo Bundler e pelo EntryPoint Contract.
Na AA nativa, os utilizadores enviam os seus userOps para o operador/classificador do servidor oficial, em vez de para o Bundler e o EntryPoint Contract.
No StarkNet, o Sequencer é responsável por lidar com todas essas tarefas.
No zkSync, a principal diferença da Era em relação a outras implementações de AA é que o Operator precisa trabalhar em conjunto com o contrato do sistema bootloader(. O bootloader abre um novo bloco, define seus parâmetros), incluindo parâmetros de bloco e outros parâmetros de Gas(, e recebe transações do Operator para validação.
![Futuro da infraestrutura de encriptação? Análise da abstração de contas multi-chain])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) 2. Interface de contrato
Devido à existência de três passos, a interface do contrato de conta é semelhante em diferentes implementações, e essas funções de ponto de entrada só podem ser chamadas pelo AA OS:
No ERC-4337 e na AA nativa, a função do ponto de entrada na fase de "verificação" é fixa, enquanto na fase de "execução", apenas o ponto de entrada na AA nativa é fixo.
3. Limitações dos passos de verificação
Devido à ausência de limites de custo para a validação de transações###, a validação de transações é essencialmente uma chamada à função de visualização(, os atacantes podem realizar ataques DoS no pool de memória, comprometendo assim o agrupador)EIP-4337( ou o operador/classificador)AA nativo(.
O EIP-4337 define quais códigos de operação são proibidos e como limitar o acesso à armazenagem. O zkSync Era relaxou o uso de alguns códigos de operação:
) 4. Limitações dos passos de execução
No zkSync, a execução de chamadas de sistema requer a confirmação da existência de sinais do sistema. Por exemplo, a única maneira de aumentar o nonce é interagindo com o NonceHolder, enquanto a implementação de contratos exige interação com o ContractDeployer. Os sinais do sistema garantem que os desenvolvedores de contas interajam conscientemente com os contratos do sistema.
Na ERC-4337 e StarkNet, não há restrições especiais na fase de execução.
5. Número aleatório
6. Usar a primeira transação para implantação
) 7. design especial no zkSync
Se você transferir ETH diretamente de um EOA do Ethereum para o zkSync, sem precisar implantar um contrato de conta personalizado, você receberá uma conta padrão com o mesmo endereço. Essa conta pode funcionar como um EOA do Ethereum e também é controlada pela chave privada correspondente do EOA do Ethereum.
Este tipo de conta é da versão None e não da versão 1. Você não pode chamar as funções da DefaultAccount, pois ela não implementou nenhum código no espaço do kernel.
Diferença entre L1 4337 e L2 4337
Na implementação do ERC-4337 em cadeias compatíveis com EVM, há duas diferenças fundamentais: diferenças de protocolo e diferenças de endereço.
1. Diferenças de protocolo
No design de Rollup, o L2 precisa enviar dados para o L1 para segurança e liquidação. No contexto do ERC-4337, as taxas associadas a esse processo de upload, como a taxa de segurança do L1 e a taxa de blob, devem ser incluídas no Gas de pré-validação. Determinar as taxas de upload apropriadas no Gas de pré-validação é um grande desafio.
2. Diferença de Endereço
O método de codificação de endereços na função create do zkSync ERA é diferente do Ethereum e do OP Rollup. Além disso, o StarkNet utiliza uma função de hash única para o cálculo de endereços. No contexto do ERC-4337 em cadeias compatíveis com EVM, geralmente assumimos que o cálculo de endereços é consistente entre as várias cadeias. No entanto, há um detalhe que pode passar despercebido e que pode levar a diferenças nos endereços de contratos de conta entre as implementações do ERC-4337 no Ethereum e no L2.
A questão chave é a adição de novos códigos de operação em um hard fork. Por exemplo, se a cadeia L2 não suportar o hard fork de Xangai e a versão do EVM não for especificada na compilação, a introdução do push0 resultará em uma alteração do bytecode, mesmo que o código Solidity seja o mesmo.
![Futuro da infraestrutura de encriptação? Análise da abstração de contas multi-chain]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(
Conclusão
Acima estão alguns conceitos centrais e diferenças de implementação sobre a abstração de contas. Podemos ver que, embora as implementações de abstração de contas em diferentes blockchains tenham objetivos comuns, existem muitas diferenças em detalhes específicos. Essas diferenças refletem as considerações únicas de design e otimização de cada blockchain, além de proporcionar mais espaço de escolha para desenvolvedores e usuários. No futuro, com o contínuo desenvolvimento da tecnologia, aguardamos ver mais implementações inovadoras de abstração de contas, trazendo uma melhor experiência do usuário e funcionalidades mais robustas para o ecossistema blockchain.
![encriptação básica infraestrutura do futuro? Análise da abstração de contas multichain])https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp(