Abstração de contas multichain: explorando o futuro da encriptação de infraestruturas
De 8 a 11 de julho de 2024, a Conferência Comunidade Ethereum (EthCC) será realizada em Bruxelas, Bélgica, sendo 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 ativos na linha de frente da indústria de blockchain fizeram palestras, incluindo um desenvolvedor de blockchain convidado a participar, que apresentou uma palestra com o tema "Revelando o Futuro: Análise da Abstração de Contas Multichain".
Visão Geral da Palestra:
abstração de contas(AA) inclui principalmente 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 verificação que preferirem, enquanto a abstração de pagamento permite o uso de várias opções de pagamento de transações. Essa flexibilidade proporciona uma experiência de usuário mais segura e superior.
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. As limitações na verificação de transações e os passos na execução de 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 possui duas diferenças-chave: as diferenças de protocolo no design do Rollup e a diferença 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.
Abaixo está o texto completo do discurso:
Olá a todos, hoje vou apresentar a vocês os conceitos de ERC-4337 e Native AA, discutir as diferenças entre eles e analisar em detalhe as principais diferenças do padrão 4337 entre L1 e L2.
abstração de contas introdução
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 validação que desejem, e não estão limitados a certos algoritmos de assinatura digital como ECDSA(.
Abstração de pagamentos: 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 proporciona uma experiência de utilizador mais segura e superior. O objetivo da abstração de contas é alcançar estes dois pontos-chave através de várias formas.
2. O que é ERC-4337
Atualmente, existem algumas limitações na conta externa )EOA( no protocolo Ethereum, como um método de assinatura fixo e um 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 operativo, e as suas principais funções incluem:
Chame a função validate no contrato de conta, garantindo que userOp receba a autorização do proprietário da conta.
Cobrança de taxas.
Chamar a função execute no contrato da conta, para executar a operação alvo do userOp.
3. O que é AA nativo
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 embutido no protocolo da 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 nos concentrar na AA nativa após o ERC-4337.
![Futuro da infraestrutura de encriptação? Análise da abstração de contas multichain])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) A diferença entre ERC-4337 e AA nativo
1. Papel do sistema operacional
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 de ponto de entrada?
O que determina o processo de tratamento das transações?
No ERC-4337, esses papéis são realizados em conjunto pelo Bundler e pelo EntryPoint Contract.
Na AA nativa, os usuários enviam seus userOps para o operador/classificador do servidor oficial, em vez do Bundler e do EntryPoint Contract.
No StarkNet, o Sequencer é responsável por lidar com todas essas tarefas.
Em zkSync, a principal diferença entre Era e 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.
2. Interface de contrato
Devido à existência de três etapas, 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: validação de 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 de 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, ( essencialmente, validar transações é chamar funções de visualização ), atacantes podem realizar ataques DoS no pool de memória, resultando na destruição do agrupador ( EIP-4337) ou operador/classificador ( AA nativo ).
EIP-4337 define quais códigos de operação são proibidos e como limitar o acesso ao armazenamento. zkSync Era aliviou o uso de alguns OpCode:
A lógica do contrato só pode acessar seu próprio slot de armazenamento. Se o endereço do contrato da conta for o endereço A, ele pode acessar:
Slots de armazenamento pertencentes ao endereço A
Slot de armazenamento pertencente a qualquer outro endereço A
Armazenamento de slot keccak256(A || X) pertencente a qualquer outro endereço: isso significa usar diretamente o endereço como a chave em um mapeamento (, por exemplo, mapeamento )address => value((, equivalente a acessar o slot keccak256)A || X). Por exemplo, 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 bandeiras do sistema. Por exemplo, a única maneira de aumentar o nonce é interagir com o NonceHolder, enquanto a implantação de contratos requer interagir com o ContractDeployer. As bandeiras 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 do sistema NonceHolder gere o nonce, garantindo um aumento estrito, ou seja, aumentando o número aleatório em 1.
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 fazer a implementação
O ERC-4337 inclui o campo initcode na estrutura userOp, para implantar o contrato da conta do remetente ( na sua primeira userOp ).
No StarkNet e zkSync, os usuários devem enviar a primeira transação para o operador/ordenador para implantar o contrato de conta.
7. Design especial no zkSync
Se você transferir ETH diretamente de um EOA Ethereum para 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 Ethereum e também é controlada pela chave privada correspondente do EOA Ethereum.
Este tipo de conta é da versão None em vez de version1. Você não pode chamar a função DefaultAccount porque ela não tem nenhum código implantado no espaço do núcleo.
( A diferença entre L1 4337 e L2 4337
Na implementação do ERC-4337 em cadeias compatíveis com EVM, existem duas diferenças-chave: 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, os custos associados a este processo de upload, como as taxas de segurança do L1 e as taxas de blob, devem ser incluídos no Gas de pré-validação. Determinar as taxas de upload apropriadas no Gas de pré-validação é um grande desafio.
2. Diferenças de endereço
A forma de codificação de endereços na função create do zkSync ERA é diferente da do Ethereum e da agregação OP. 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 diferentes cadeias. No entanto, há um detalhe que pode ser difícil de notar e que pode levar a diferenças nos endereços de contratos de contas entre as implementações do ERC-4337 no Ethereum e no L2.
A questão chave é adicionar 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 durante a compilação, a introdução do push0 resultará em alterações no bytecode, mesmo que o código Solidity seja o mesmo.
) conclusão
Acima estão algumas informações sobre a abstração de contas. Se você tiver alguma dúvida, pode me encontrar no Twitter.
![encriptação infraestrutura do futuro? Análise da abstração de contas multichain]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp###
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
12 Curtidas
Recompensa
12
7
Compartilhar
Comentário
0/400
BearMarketBard
· 07-10 04:37
Sinto que a abstração de contas ainda não está clara para mim.
Ver originalResponder0
GateUser-a606bf0c
· 07-10 04:30
Continue a fazer AA
Ver originalResponder0
MetaReckt
· 07-07 05:09
Desenvolvimento tão rápido que até o AA nativo já chegou.
Ver originalResponder0
GateUser-0717ab66
· 07-07 05:07
Esta parte abstracta já deveria ter sido feita.
Ver originalResponder0
LiquidatedNotStirred
· 07-07 05:04
AA está cada vez mais popular, estou ansioso pela mudança.
Ver originalResponder0
AirdropLicker
· 07-07 05:00
Quando é que a AA emite moeda que está em alta?
Ver originalResponder0
HallucinationGrower
· 07-07 04:41
Especialista em assinatura abstrata per capita Não se envolva mais
Comparação da abstração de contas multi-chain: diferenças entre ERC-4337 e AA nativo, e diferenças de implementação L1/L2
Abstração de contas multichain: explorando o futuro da encriptação de infraestruturas
De 8 a 11 de julho de 2024, a Conferência Comunidade Ethereum (EthCC) será realizada em Bruxelas, Bélgica, sendo 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 ativos na linha de frente da indústria de blockchain fizeram palestras, incluindo um desenvolvedor de blockchain convidado a participar, que apresentou uma palestra com o tema "Revelando o Futuro: Análise da Abstração de Contas Multichain".
Visão Geral da Palestra:
Abaixo está o texto completo do discurso:
Olá a todos, hoje vou apresentar a vocês os conceitos de ERC-4337 e Native AA, discutir as diferenças entre eles e analisar em detalhe as principais diferenças do padrão 4337 entre L1 e L2.
abstração de contas introdução
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 proporciona uma experiência de utilizador mais segura e superior. O objetivo da abstração de contas é alcançar estes dois pontos-chave através de várias formas.
2. O que é ERC-4337
Atualmente, existem algumas limitações na conta externa )EOA( no protocolo Ethereum, como um método de assinatura fixo e um 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 nativo
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 embutido no protocolo da blockchain.
Design de AA em várias redes de blockchain:
Se você está interessado em Aztec Native AA ou EIP-3074, EIP-7702, hoje vamos nos concentrar na AA nativa após o ERC-4337.
![Futuro da infraestrutura de encriptação? Análise da abstração de contas multichain])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) A diferença entre ERC-4337 e AA nativo
1. Papel do sistema operacional
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 usuários enviam seus userOps para o operador/classificador do servidor oficial, em vez do Bundler e do EntryPoint Contract.
No StarkNet, o Sequencer é responsável por lidar com todas essas tarefas.
Em zkSync, a principal diferença entre Era e 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.
2. Interface de contrato
Devido à existência de três etapas, 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 de 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, ( essencialmente, validar transações é chamar funções de visualização ), atacantes podem realizar ataques DoS no pool de memória, resultando na destruição do agrupador ( EIP-4337) ou operador/classificador ( AA nativo ).
EIP-4337 define quais códigos de operação são proibidos e como limitar o acesso ao armazenamento. zkSync Era aliviou o uso de alguns OpCode:
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 bandeiras do sistema. Por exemplo, a única maneira de aumentar o nonce é interagir com o NonceHolder, enquanto a implantação de contratos requer interagir com o ContractDeployer. As bandeiras 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 fazer a implementação
7. Design especial no zkSync
Se você transferir ETH diretamente de um EOA Ethereum para 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 Ethereum e também é controlada pela chave privada correspondente do EOA Ethereum.
Este tipo de conta é da versão None em vez de version1. Você não pode chamar a função DefaultAccount porque ela não tem nenhum código implantado no espaço do núcleo.
( A diferença entre L1 4337 e L2 4337
Na implementação do ERC-4337 em cadeias compatíveis com EVM, existem duas diferenças-chave: 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, os custos associados a este processo de upload, como as taxas de segurança do L1 e as taxas de blob, devem ser incluídos no Gas de pré-validação. Determinar as taxas de upload apropriadas no Gas de pré-validação é um grande desafio.
2. Diferenças de endereço
A forma de codificação de endereços na função create do zkSync ERA é diferente da do Ethereum e da agregação OP. 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 diferentes cadeias. No entanto, há um detalhe que pode ser difícil de notar e que pode levar a diferenças nos endereços de contratos de contas entre as implementações do ERC-4337 no Ethereum e no L2.
A questão chave é adicionar 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 durante a compilação, a introdução do push0 resultará em alterações no bytecode, mesmo que o código Solidity seja o mesmo.
) conclusão
Acima estão algumas informações sobre a abstração de contas. Se você tiver alguma dúvida, pode me encontrar no Twitter.
![encriptação infraestrutura do futuro? Análise da abstração de contas multichain]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp###