No cenário em constante evolução do blockchain e das aplicações descentralizadas, cada vez mais atenção está sendo atraída para o conceito de intenção definida pelo usuário, em vez de transações puras. Isso libera os usuários de se preocuparem em navegar no processo cada vez mais complexo do DeFi e desbloqueia uma série de casos de uso adicionais que só agora estão sendo concebidos.
Com aplicativos individuais já usando suas próprias estruturas de intenção diferentes e incompatíveis, faz sentido criar um padrão de intenção comum que possa ser compartilhado e compreendido por todos os usuários, aplicativos, software de carteira, solucionadores, pesquisadores, etc.
Para ajudar na composição e reduzir a barreira de entrada, propomos o ERC-7521, um padrão que apoia a intenção comum das carteiras de contratos inteligentes.
Qual é a intenção do usuário?
Como este campo é tão novo, a definição de intenção é atualmente um pouco confusa. De um conceito geral, o termo é geralmente usado para se referir à expressão de um usuário sobre um resultado ou estado final desejado na cadeia. Para os fins desta especificação, uma intenção é definida como um conjunto de ações e expectativas definidas por um usuário. Estas operações e expectativas podem ser combinadas com outras intenções, num esforço para satisfazer os melhores e comuns interesses de todas as partes envolvidas.
Uma série de operações em cadeia que satisfazem todas as partes envolvidas é chamada de solução. Resolvedores especializados (semelhantes aos empacotadores no ERC-4337) competirão para encontrar a solução que proporcione a maior satisfação aos usuários. Isto pode ser conseguido, por exemplo, encontrando o melhor/mais eficiente caminho on-chain, aproveitando fontes de liquidez fora da cadeia, combinando as intenções de diferentes utilizadores para explorar necessidades comuns, etc., incluindo mesmo as suas próprias intenções.
Adicione a intenção do usuário à abstração da conta
A chave para permitir a intenção universal é usar contas abstratas baseadas em contratos inteligentes. Semelhante ao ERC-4337, as intenções são assinadas como mensagens e depois verificadas na cadeia por meio de transações separadas. Essas mensagens assinadas são então propagadas em seu próprio conjunto de memória.
O objetivo desta especificação não é criar uma estrutura para que carteiras de contratos inteligentes integrem e suportem automaticamente a ampla gama de possibilidades definidas pela própria intenção assinada. Portanto, a estrutura também precisa permitir um processo de atualização e extensão de código contínuo e sem permissão, à medida que surgem novos casos de uso pretendidos.
Entrada única e padrões de intenção ilimitados
Para ajudar a facilitar esse processo contínuo e permitido de atualização e expansão, o contrato EntryPoint no ERC-4337 foi modelado, mas também dividido em duas partes distintas. A primeira parte, chamada de ponto de entrada, é o principal ponto de entrada para o envio de soluções de intenções e é responsável por validar assinaturas de intenções e executar lógica de processamento de intenções de alto nível.
O conteúdo específico da lógica de processamento de intenções é definido em um contrato separado, denominado padrão de intenções, que é especificado pela própria intenção assinada. Os pontos de entrada chamam esses contratos para lidar com uma intenção. É o padrão de intenção que define como os dados de intenção anexados e a execução são tratados, bem como regras básicas fora da cadeia relacionadas aos vetores de ataque de negação de serviço inerentes à intenção, como a forma como as mensagens são entregues aos resolvedores e mecanismos de proteção contra ataques DoS. vetores inerentes à intenção.
Esses padrões de intenção devem ser estabelecidos de forma independente, independente desta norma. Esperamos que, à medida que o cenário de intenções se torne mais maduro, surjam nichos otimizados e casos de uso emergentes, surjam novos padrões de intenções com recursos adicionais. A adoção e o suporte desses padrões serão impulsionados pelo consenso social entre os desenvolvedores de carteiras e solucionadores de intenções, bem como pela demanda do usuário final.
Para garantir que nosso ERC proposto tenha funcionalidades significativas em seus estágios iniciais, desenvolvemos um padrão de intenção baseado em ativos para oferecer suporte à maioria dos casos de uso atuais de blockchain. Iremos aperfeiçoar esta norma (e este ERC) num ambiente público para nos adaptarmos às necessidades do ecossistema.
Estrutura de intenção vaga, mas poderosa
A intenção do usuário contém dados primários que podem ser divididos em duas partes:
Dados de verificação necessários usados pelo contrato Entry Point para verificar mensagens com o remetente antes de executá-las.
Dados adicionais específicos do padrão de intenção especificados pela intenção.
Os dados padrão de intenção podem ser qualquer coisa, mas são sempre divididos em partes separadas chamadas segmentos de intenção.
O contrato Entry Point não entende explicitamente o que são os dados, mas reconhece a divisão em segmentos. O contrato Entry Point chama o contrato Intent Standard para processar um segmento por vez e impõe que os segmentos da intenção sejam sempre processados na ordem especificada. No entanto, os Pontos de Entrada permitem que outras intenções sejam processadas entre segmentos de execução.
Esses segmentos de intenção geralmente consistem em ações que o usuário deseja realizar ou para verificar se determinadas condições foram atendidas. Além disso, um segmento pode passar dados para o próximo segmento durante o processamento. Esses dados são chamados de dados de contexto de intenção e são úteis para validar alterações que ocorreram entre segmentos e evitar a necessidade de recalcular dados úteis. Novamente, o uso total desses dados é determinado pela especificação Intent Standard.
Combine intenções para máxima satisfação
Durante o processamento da intenção, a intenção é capaz de aumentar a insatisfação com qualquer tipo de condição, seja um saldo baixo inesperado ou qualquer condição que os critérios da intenção possam estar procurando para avaliar como falsa. Quando isso acontece, toda a transação é revertida, incluindo o processamento de intenções não relacionadas que possam ter ocorrido anteriormente.
Somente quando um conjunto de intenções é submetido e processado em uma ordem que satisfaça todas as partes é que elas são consideradas gastas e o estado resultante pode persistir na cadeia. São essas combinações de intenções que formam a solução e são passadas para o contrato do Entry Point para processamento.
No entanto, simplesmente enviar uma lista de intenções não é suficiente porque os segmentos para diferentes intenções podem ser organizados em ordens diferentes. Portanto, uma solução também especifica como os diferentes fragmentos de intenção devem ser ordenados durante o processamento (como os diferentes fragmentos de intenção devem ser intercalados).
Parte do processo de resolução normalmente envolve a formulação de uma intenção pelo solucionador para ajudar a satisfazer um conjunto de outras intenções, permitindo-lhes maximizar a satisfação do usuário e, ao mesmo tempo, gerar algum lucro.
Conclusão: Aprimorando as interações Blockchain orientadas pela intenção
O foco da especificação é definir uma estrutura básica para carteiras de contratos inteligentes, para que possam conectar e desbloquear expressões poderosas de intenção para os usuários, mesmo que o cenário continue a evoluir. Definir intenções como uma coleção de segmentos de intenções menores proporciona uma ótima experiência para o usuário e reduz o número de vezes que ele precisa assinar. A segmentação de intenções e os dados de segundo plano compartilhados também ajudam a desbloquear recursos poderosos sem usar grandes quantidades de gás. As intenções podem confiar que todos os seus segmentos serão processados sequencialmente, sem inspeção manual.
A intenção universal do usuário abre um mundo totalmente novo que só agora está começando a ser explorado. Desde simples trocas de tokens sem gás até intenções condicionais mais complexas que automatizam processos como transferência de fundos de carteiras frias para carteiras quentes ou fazer compras diárias de moedas por meio de uma única mensagem assinada, as possibilidades de intenções são vastas! Nossa especificação do padrão de intenção baseada em ativos é a primeira de muitas iterações que permitirão à comunidade aproveitar as vantagens desta nova estrutura.
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.
Explicação detalhada do rascunho do ERC-7521: adição da intenção do usuário à carteira abstrata da conta
Autor original: Stephen Monn
Compilação original: Deep Chao TechFlow
No cenário em constante evolução do blockchain e das aplicações descentralizadas, cada vez mais atenção está sendo atraída para o conceito de intenção definida pelo usuário, em vez de transações puras. Isso libera os usuários de se preocuparem em navegar no processo cada vez mais complexo do DeFi e desbloqueia uma série de casos de uso adicionais que só agora estão sendo concebidos.
Com aplicativos individuais já usando suas próprias estruturas de intenção diferentes e incompatíveis, faz sentido criar um padrão de intenção comum que possa ser compartilhado e compreendido por todos os usuários, aplicativos, software de carteira, solucionadores, pesquisadores, etc.
Para ajudar na composição e reduzir a barreira de entrada, propomos o ERC-7521, um padrão que apoia a intenção comum das carteiras de contratos inteligentes.
Qual é a intenção do usuário?
Como este campo é tão novo, a definição de intenção é atualmente um pouco confusa. De um conceito geral, o termo é geralmente usado para se referir à expressão de um usuário sobre um resultado ou estado final desejado na cadeia. Para os fins desta especificação, uma intenção é definida como um conjunto de ações e expectativas definidas por um usuário. Estas operações e expectativas podem ser combinadas com outras intenções, num esforço para satisfazer os melhores e comuns interesses de todas as partes envolvidas.
Uma série de operações em cadeia que satisfazem todas as partes envolvidas é chamada de solução. Resolvedores especializados (semelhantes aos empacotadores no ERC-4337) competirão para encontrar a solução que proporcione a maior satisfação aos usuários. Isto pode ser conseguido, por exemplo, encontrando o melhor/mais eficiente caminho on-chain, aproveitando fontes de liquidez fora da cadeia, combinando as intenções de diferentes utilizadores para explorar necessidades comuns, etc., incluindo mesmo as suas próprias intenções.
Adicione a intenção do usuário à abstração da conta
A chave para permitir a intenção universal é usar contas abstratas baseadas em contratos inteligentes. Semelhante ao ERC-4337, as intenções são assinadas como mensagens e depois verificadas na cadeia por meio de transações separadas. Essas mensagens assinadas são então propagadas em seu próprio conjunto de memória.
O objetivo desta especificação não é criar uma estrutura para que carteiras de contratos inteligentes integrem e suportem automaticamente a ampla gama de possibilidades definidas pela própria intenção assinada. Portanto, a estrutura também precisa permitir um processo de atualização e extensão de código contínuo e sem permissão, à medida que surgem novos casos de uso pretendidos.
Entrada única e padrões de intenção ilimitados
Para ajudar a facilitar esse processo contínuo e permitido de atualização e expansão, o contrato EntryPoint no ERC-4337 foi modelado, mas também dividido em duas partes distintas. A primeira parte, chamada de ponto de entrada, é o principal ponto de entrada para o envio de soluções de intenções e é responsável por validar assinaturas de intenções e executar lógica de processamento de intenções de alto nível.
O conteúdo específico da lógica de processamento de intenções é definido em um contrato separado, denominado padrão de intenções, que é especificado pela própria intenção assinada. Os pontos de entrada chamam esses contratos para lidar com uma intenção. É o padrão de intenção que define como os dados de intenção anexados e a execução são tratados, bem como regras básicas fora da cadeia relacionadas aos vetores de ataque de negação de serviço inerentes à intenção, como a forma como as mensagens são entregues aos resolvedores e mecanismos de proteção contra ataques DoS. vetores inerentes à intenção.
Esses padrões de intenção devem ser estabelecidos de forma independente, independente desta norma. Esperamos que, à medida que o cenário de intenções se torne mais maduro, surjam nichos otimizados e casos de uso emergentes, surjam novos padrões de intenções com recursos adicionais. A adoção e o suporte desses padrões serão impulsionados pelo consenso social entre os desenvolvedores de carteiras e solucionadores de intenções, bem como pela demanda do usuário final.
Para garantir que nosso ERC proposto tenha funcionalidades significativas em seus estágios iniciais, desenvolvemos um padrão de intenção baseado em ativos para oferecer suporte à maioria dos casos de uso atuais de blockchain. Iremos aperfeiçoar esta norma (e este ERC) num ambiente público para nos adaptarmos às necessidades do ecossistema.
Estrutura de intenção vaga, mas poderosa
A intenção do usuário contém dados primários que podem ser divididos em duas partes:
Os dados padrão de intenção podem ser qualquer coisa, mas são sempre divididos em partes separadas chamadas segmentos de intenção.
O contrato Entry Point não entende explicitamente o que são os dados, mas reconhece a divisão em segmentos. O contrato Entry Point chama o contrato Intent Standard para processar um segmento por vez e impõe que os segmentos da intenção sejam sempre processados na ordem especificada. No entanto, os Pontos de Entrada permitem que outras intenções sejam processadas entre segmentos de execução.
Esses segmentos de intenção geralmente consistem em ações que o usuário deseja realizar ou para verificar se determinadas condições foram atendidas. Além disso, um segmento pode passar dados para o próximo segmento durante o processamento. Esses dados são chamados de dados de contexto de intenção e são úteis para validar alterações que ocorreram entre segmentos e evitar a necessidade de recalcular dados úteis. Novamente, o uso total desses dados é determinado pela especificação Intent Standard.
Combine intenções para máxima satisfação
Durante o processamento da intenção, a intenção é capaz de aumentar a insatisfação com qualquer tipo de condição, seja um saldo baixo inesperado ou qualquer condição que os critérios da intenção possam estar procurando para avaliar como falsa. Quando isso acontece, toda a transação é revertida, incluindo o processamento de intenções não relacionadas que possam ter ocorrido anteriormente.
Somente quando um conjunto de intenções é submetido e processado em uma ordem que satisfaça todas as partes é que elas são consideradas gastas e o estado resultante pode persistir na cadeia. São essas combinações de intenções que formam a solução e são passadas para o contrato do Entry Point para processamento.
No entanto, simplesmente enviar uma lista de intenções não é suficiente porque os segmentos para diferentes intenções podem ser organizados em ordens diferentes. Portanto, uma solução também especifica como os diferentes fragmentos de intenção devem ser ordenados durante o processamento (como os diferentes fragmentos de intenção devem ser intercalados).
Parte do processo de resolução normalmente envolve a formulação de uma intenção pelo solucionador para ajudar a satisfazer um conjunto de outras intenções, permitindo-lhes maximizar a satisfação do usuário e, ao mesmo tempo, gerar algum lucro.
Conclusão: Aprimorando as interações Blockchain orientadas pela intenção
O foco da especificação é definir uma estrutura básica para carteiras de contratos inteligentes, para que possam conectar e desbloquear expressões poderosas de intenção para os usuários, mesmo que o cenário continue a evoluir. Definir intenções como uma coleção de segmentos de intenções menores proporciona uma ótima experiência para o usuário e reduz o número de vezes que ele precisa assinar. A segmentação de intenções e os dados de segundo plano compartilhados também ajudam a desbloquear recursos poderosos sem usar grandes quantidades de gás. As intenções podem confiar que todos os seus segmentos serão processados sequencialmente, sem inspeção manual.
A intenção universal do usuário abre um mundo totalmente novo que só agora está começando a ser explorado. Desde simples trocas de tokens sem gás até intenções condicionais mais complexas que automatizam processos como transferência de fundos de carteiras frias para carteiras quentes ou fazer compras diárias de moedas por meio de uma única mensagem assinada, as possibilidades de intenções são vastas! Nossa especificação do padrão de intenção baseada em ativos é a primeira de muitas iterações que permitirão à comunidade aproveitar as vantagens desta nova estrutura.