Título original: "Uma cartilha incompleta sobre intenções"

Escrito por: 0xemperor.eth

Compilado por: Qianwen, ChainCatcher

Em recentes discussões de pesquisa no campo da criptografia, a intenção tornou-se popular e vários protocolos estão fazendo uso desse conceito. Por exemplo, protocolos como Anoma e Essential estão se baseando nesse conceito.

Este artigo tem como objetivo fornecer uma introdução preliminar às diversas perspectivas e, finalmente, apresentar a forma de apresentação da arquitetura de resolução de intenção ao expressar a intenção em linguagem natural. Se o conceito de intenção for bem-sucedido, ele terá o potencial de revolucionar a arquitetura de aplicativos em todos os níveis.

Qual é a intenção?

As intenções permitem que os usuários especifiquem certas condições ou preferências de negociação sem a necessidade de fornecer chamadas de mensagens precisas, aumentando assim a flexibilidade e reduzindo a complexidade na cadeia.

No artigo "Arquitetura Baseada em Intenção e Seus Riscos", a definição de intenção é: Uma intenção é um conjunto de restrições declarativas que permite aos usuários terceirizar a criação de transações para terceiros sem abrir mão do controle total da parte da transação.

Em um podcast, Chris Goes, da Anoma, definiu-o de duas maneiras: Intenção refere-se a “um compromisso confiável com alguma preferência de estado do sistema” e “um compromisso confiável com restrições ao fluxo de informações”.

Uma maneira intuitiva de pensar sobre as intenções é que elas representam basicamente um resultado desejado. Quando você expressa uma intenção, você define apenas o resultado que deseja, não o processo para chegar lá.

Por exemplo, se você deseja trocar Tether (USDT) por ETH, então você não precisa gerenciar todo o processo sozinho - escolher uma troca, configurar uma conta/assinar transações, lidar com a transferência (ou limpar a poeira da criptomoeda de sua carteira), etc., basta enviar uma carta de intenções informando que desejo trocar 1 ETH por 2.000 USDT. Outra entidade (chamada Solver) pega sua intenção e descobre uma maneira de implementá-la. O Solver cuida dos detalhes confusos e trabalha duro para otimizar os melhores resultados para você.

A chave é que a intenção se concentra no resultado e não no processo. Os usuários definem os resultados desejados e outros os alcançam ao longo do processo. As intenções permitem que você especifique resultados sem se preocupar com as etapas, simplificando bastante o processo de transação usado pela maioria dos usuários em criptomoedas.

A ideia de dimensão superior é que os usuários possam definir o que desejam sem ter que especificar de quais contratos desejam começar a negociar (podemos chamá-lo de caminho calculado ou simplesmente caminho de negociação). Os usuários também podem restringir isso indicando que preferem determinados caminhos ou contratos.

Exemplo

Troca de vacas

Cowswap usa leilões em lote como seu principal mecanismo de descoberta de preços. O Cowswap não executa transações imediatamente como o AMM, mas agrega pedidos fora da cadeia e os liquida em lotes. Isso permite que um preço de liquidação unificado seja determinado para todas as negociações em um lote, eliminando problemas como o front-running, comum em modelos de execução instantânea. Os leilões em lote também podem liquidar muitas transações simultaneamente, otimizando as taxas do gás. Os solucionadores envolvem-se em competição aberta entre si para apresentar soluções de liquidação de ordens para garantir que os interesses das partes envolvidas em cada lote de transações possam ser maximizados. A melhor solução determinará o preço final uniforme. No geral, os leilões em lote alcançam justiça, eficiência e proteção MEV que não podem ser alcançadas com um modelo de execução imediata.

Uma inovação importante do modelo de leilão em lote do Cowswap é a capacidade de encontrar coincidências de desejos (CoW) entre pedidos. CoW é a liquidação direta peer-to-peer entre transações com demanda recíproca. Esta partilha de liquidez significa que não são necessários fornecedores de liquidez externos para facilitar estas negociações. CoW também pode conter vários ativos em uma transação em anel ao mesmo tempo. Ao maximizar o uso do CoW, os leilões em lote podem capturar mais liquidez do que os pools isolados. Quando permitido, a liquidação utilizará CoW, sendo o restante realizado por meio de liquidez na rede. A combinação de leilões em lote com compartilhamento de liquidez CoW proporciona aos traders melhores preços e execução.

O modelo CoWswap é semelhante ao modelo de intenção. Os usuários expressam intenções de negociação na forma de ordens limitadas. As intenções de negociação são inseridas no livro de pedidos. através do AMM (ou seja, o usuário menciona apenas o preço, não o caminho calculado ou o local específico que deseja executar).

UniswapX

O artigo Uniswap X propõe um protocolo de troca descentralizado que usa pedidos assinados fora da rede com liquidação na rede por meio de um leilão holandês. O usuário assina o pedido, especificando parâmetros como tokens de entrada/saída, quantidade e limites de preço. Estas ordens são distribuídas aos “Fillers” que competem pelo melhor preço de execução.

Uniswap X recomenda definir o preço inicial do leilão holandês por meio de um sistema de consulta fora da rede. Os utilizadores podem solicitar preços à rede de enchimento, com um curto período de exclusividade previsto para a melhor oferta, a fim de incentivar preços honestos, após o qual a encomenda entra num leilão público holandês.

Semelhanças entre Uniswap X e Cowswap

  • Ambos usam pedidos assinados fora da rede e agregados e liquidados em lotes na rede. Isso economiza taxas de gás em comparação com pedidos na rede

  • Ambos visam promover a concorrência entre os fornecedores de liquidez para encontrar o melhor preço de execução (os fornecedores de liquidez são chamados Solver em cowswap e Filler em uniswapX).

  • Cowswap enfatiza o uso de CoW para conduzir transações diretas peer-to-peer, enquanto Uniswap X se concentra mais na integração de fontes de liquidez fora e dentro da rede.

  • O sistema RFQ (Solicitação de Cotação) e o modelo de assinatura (onde um usuário expressa sua intenção e depois permite que outros usuários atendam o pedido) no Uniswap X são semelhantes à arquitetura de intenção.

definição formal de intenção

Os usuários simplesmente expressam sua intenção, como “Quero trocar o ativo X pelo ativo Y”, e o Solver descobrirá a melhor forma de implementar essa intenção e lidar com todos os detalhes relacionados ao blockchain nos bastidores. O Solver dá prova de que a intenção foi concretizada, podendo participar de leilões e outros mecanismos para concretizar a intenção de forma descentralizada.

Este blog explora algumas definições:

Primeiro modelo: a intenção i é definida como uma tupla (B,E,T):

  • B representa o conjunto de estados "iniciais" suportados.

  • E representa o conjunto de estados "finais" suportados.

  • T é um conjunto preferido de sequências de transação.

  • Função de transição de estado s: Q×T → T move-se do estado inicial para o estado final através de uma série de transações t.

Uma intenção é considerada cumprida se começa no estado q0∈B e termina no estado qn∈E através da sequência de transação t∈T.

Limpeza de intenção: Se o conjunto B, E, T tiver interseções não vazias, um conjunto de intenções to,...,tm pode ser limpo, permitindo que a meta-intenção t’ seja criada usando essas interseções.

Como mencionamos anteriormente, as intenções são emitidas pelo usuário e depois resolvidas pelo Solver, independentemente do formato em que são expressas, a intenção é um problema de otimização para o Solver; Em termos leigos, um usuário pode colocar uma intenção como “Quero comprar 4 ETH em BTC”, e o solucionador geralmente encontrará um local para atender ou trocar o pedido. Mas as intenções não param por aí; elas também permitem a adição de restrições como “menor derrapagem possível” e “não negociar em DEXs que proíbem os usuários dos EUA de negociar”, que por sua vez se tornam restrições adicionais que o solucionador deve manter. mente.

Os desafios incluem:

  • A expressão de intenção precisa ser simplificada.

  • Intenções específicas podem ter impacto no bem-estar do usuário, como zero deslizamento em uma DEX.

  • O rastreamento da execução pode exigir atenção devido a riscos ou motivos legais.

O objetivo é equilibrar a captura clara das preferências de intenção do usuário com considerações práticas de eficiência computacional e experiência do usuário.

Uma interpretação Lagrangiana da busca intencional também é mencionada aqui.

Para mim, a declaração de intenções parece um processo de decisão de Markov. No entanto, as transições de estado de um processo de decisão de Markov são estocásticas, enquanto este seria um MDP determinístico com valores absolutos de transição de estado, que pode ser resolvido usando iteração de valor, iteração de política ou MCTS (Monte Carlo Tree Search) (última parte também usada para resolver a parte Go do Alphago).

A intenção pode impulsionar a experiência do usuário

A intenção pode ser o próximo estágio na evolução da experiência do usuário na rede. O método atual de experiência do usuário na cadeia concentra-se principalmente no nível de transação. Os usuários assinam cada transação, que também faz parte da operação. Portanto, cada etapa da cadeia é expressa através de transações. Em termos muito simples, as intenções são metatransações, onde as atividades são expressas em um nível muito abstrato e cabe ao Solver tentar satisfazer as necessidades de intenção do usuário. Isso pode incluir a compra de alguns ETH por centavos de preço e, em seguida, comprar ETH (as taxas também precisam ser calculadas).

Uma simples transação de swap de USDC para ETH atualmente envolve a aprovação do limite do token pelo usuário, a aprovação do tipo de token e, em seguida, a aprovação da transação, enquanto em um mundo centrado na intenção o usuário poderia abstrair desses detalhes e simplesmente executar. você está interessado em fazer. Existe uma regra não oficial em web design de que nenhuma ação pode ser realizada por mais de três cliques. Atualmente, se um usuário quiser negociar um swap, ele também deve selecionar uma moeda e talvez ajustar para derrapagem e negociação, o que para uma única negociação; A carga de trabalho pode não parecer grande no início, mas depois de muitas repetições, levará a uma experiência de usuário muito complicada.

De uma forma muito básica, o Unibot permite que as pessoas vejam os padrões apresentados pela arquitetura para fins de intenção. Ele elimina as partes complexas da negociação e fornece aos traders uma experiência de usuário simples e fácil de usar, mas também tem algumas limitações quanto à flexibilidade possível. Embora o aplicativo supostamente apresente riscos no manuseio de chaves que podem levar a ataques, ele possui uma base de usuários estável, apesar da cobrança de impostos, indicando uma oportunidade inexplorada na experiência do usuário no mundo das criptomoedas.

Fluxo de intenção conversacional

No mundo do blockchain centrado na intenção, como a inteligência artificial intervém? O conceito de reconhecimento de intenção existe há décadas no campo do processamento de linguagem natural e tem sido fortemente estudado em conversação. Por exemplo, digamos que um usuário visite um site de viagens e fale com um chatbot. Inicialmente, pode ser para reservar um voo ou verificar reservas ou status, e então o usuário fornece vários detalhes; Ao reservar um voo, o usuário precisará fornecer o destino, horário, data e classe de passagem de interesse; em alguns casos, o usuário também poderá precisar selecionar um aeroporto; Neste exemplo, o propósito do usuário é a intenção da conversa, e os diversos detalhes fornecidos pelo usuário são os espaços/detalhes (slots) que precisam ser preenchidos para atingir essa intenção.

Status de conversa anotado dentro de uma conversa

Outro exemplo de reconhecimento de intenção e preenchimento de detalhes é quando você pretende tocar uma música, e vários espaços (detalhes) relacionados à música aparecem na frase, como o título da música e o cantor da música.

No mundo conversacional, a classificação de intenções e o preenchimento de espaços em branco são um problema muito complexo porque sua conversa pode abranger vários turnos, às vezes há intenções globais e intenções locais, e você precisa acompanhar vários estados. Sempre que você usa o Siri e o Google Assistant para agendar um alarme ou registrar algo em seu calendário ou aniversário, há algum nível de classificação de intenção e preenchimento de espaço por trás disso.

Como isso se relaciona com o blockchain? À medida que passamos de um mundo centrado na transação para um mundo centrado na intenção, os detalhes de como passamos da intenção à transação ainda não estão na discussão popular. A interface entre o pool de intenções e o pool de memória não existe. Acessar modelos on-chain e usá-los para reconhecimento de intenções e preenchimento de espaços em branco fornece uma interface de linguagem natural (na minha opinião, a interface mais natural) para pools de intenções e solucionadores.

A ideia geral é acessar um conjunto de modelos em uma cadeia e reduzir cada intenção a uma DSL (linguagem específica de domínio); esta linguagem específica de domínio incluirá detalhes como intenções principais (compra, venda, ponte, empréstimo/empréstimo); , com outros detalhes como endereço, tamanho, preferência de deslizamento, etc. (dependendo do tipo de intenção). Uma DSL global permite que qualquer pessoa implante um modelo, reduzindo a intenção de uma DSL específica. Caso existam vários modelos, o modelo votado será incluído na coleção de modelos.

A disponibilidade de modelos on-chain nos ajuda a desenvolver esta interface de forma segura e comprovada, onde provas computacionais de cada intenção/solução podem ser comprovadas. Em alguns casos, capturar os resultados da votação majoritária em vários modelos pode nos dar uma ideia de como as intenções são selecionadas e, em alguns casos individuais, até mesmo ajudar o Solver a resolver melhor essas intenções.

O modelo on-chain usado aqui poderia ser um modelo padrão de aprendizagem profunda como o BERT, que foi treinado exatamente para esse propósito, ou inferência de modelo de linguagem grande no conjunto, esse detalhe pode depender dos diferentes atores ou solucionadores; No caso de pools de intenções criptografadas, precisamos usar criptografia homomórfica ou métodos de inferência privada para garantir a privacidade dos dados e, ao mesmo tempo, poder calculá-los. A cada época ou a cada poucas épocas, uma prova pode ser emitida na cadeia onde o modelo é um validador. O validador pode ser um ser humano ou outro modelo que emita uma declaração sobre a validade do modelo. Independentemente de o modelo lidar com a intenção com precisão, esta última parte do processo garante que o ciclo de vida do modelo seja considerado. Às vezes, quando um validador é um participante maduro, esse participante pode descobrir falhas no modelo que podem ser rapidamente corrigidas e substituídas por um modelo atualizado.

Conforme mostrado na figura abaixo, para a ação/ideia “Comprar com stablecoins e poeira na carteira”, ao entrar no pool de intenções, ela passa por vários modelos e é analisada em uma DSL, que contém vários detalhes, como o intenção, subações e detalhes que precisam ser preenchidos. A análise da DSL pode ser tão detalhada ou tão abstrata quanto possível; a conversa intencional pode durar várias rodadas, pois o limite para poeira pode precisar ser determinado. Uma vez implementada a DSL, o solucionador pode escolher o melhor caminho para converter esses saldos em ETH e então passar a transação para o mempool.

Exemplo de modelo de resolução de intenção Outra arquitetura DSL – essencial

A abstração de contas transforma todas as contas em contratos inteligentes, dissociando as contas dos assinantes no Ethereum. Isso permite que as contas personalizem diferentes lógicas de autorização com base nas necessidades do usuário. No entanto, alcançar a abstração completa da conta exigiria ajustes significativos no protocolo principal do Ethereum.

O EIP 4337 adota uma abordagem diferente para obter os benefícios da abstração de contas sem alterar a camada de consenso. Ele introduz "operações de usuário" - pseudotransações enviadas ao pool de memória em espera e agrupadas por um "empacotador" em transações que chamam o contrato inteligente EntryPoint.

Isso permite recursos como recuperação social, pagamento de taxas em qualquer token e transações em lote. Os desenvolvedores podem configurar contas personalizadas para atender a diferentes casos de uso. Ao evitar mudanças de protocolo, o EIP 4337 pode trazer esses benefícios para o Ethereum mais rapidamente. No entanto, também introduz novas complexidades e intervenientes, tais como agrupadores e pagadores. A dinâmica resultante entre múltiplos conjuntos de memória, incentivos e transparência exigirá uma gestão cuidadosa.

As intenções permitem que os usuários especifiquem um resultado desejado em vez de uma ação específica. O Solver então ajuda o usuário a alcançar esse resultado da melhor maneira possível. No entanto, a implementação atual tem limitações, exibindo centralização, falta de capacidade de composição e competição insuficiente entre os solucionadores.

Um EIP proposto pela Essential mudaria isso. A abstração de contas por meio de iniciativas como a EIP 4337 pode permitir contas inteligentes baseadas em contratos, em vez das tradicionais contas de propriedade externa (EOA). Isso permite que os usuários enviem intenções genéricas sem enviar transações simples. As intenções representam os resultados desejados pelo usuário e podem ser complementadas por Solucionadores para maximizar a satisfação dos participantes.

O EIP 7521 propõe uma estrutura para apoiar padrões de intenção em evolução, sem a necessidade de atualizar constantemente carteiras de contratos inteligentes. O usuário assina uma "Intenção do Usuário" e especifica qual contrato "Padrão de Intenção" deve tratar a intenção. Essas intenções são submetidas ao contrato EntryPoint, que trata da verificação de assinatura como no EIP 4337. O conjunto de memória de intenção do usuário existe simultaneamente com o conjunto de memória ERC 4337 e o solucionador trata as intenções.

ERC-4337 Intenção do usuário sob Anoma de abstração de conta

Anoma é uma arquitetura centrada na intenção que, em sua essência, constrói camadas de infraestrutura com intenção de programação em vez de transações. As intenções são mudanças parciais de estado assinadas pelo usuário expressando preferências, em vez de transações completas de mudança de estado. Esse design centrado na intenção permite a descoberta e resolução descentralizada de contrapartes. Anoma está tentando passar do paradigma imperativo para o paradigma imperativo.

Extraído da palestra de Adrian Brink sobre aplicações centradas na intenção

Os usuários transmitem intenções e as intenções são propagadas na rede de fofoca de intenções. Diferentes nós podem se especializar na propagação de certas intenções com base em seus próprios recursos computacionais e no tipo de intenção que desejam servir. O Solver observa intenções e tenta combinar intenções compatíveis em transações válidas que podem ser liquidadas em cadeia. As transações são enviadas para um mempool criptografado usando criptografia de limite, portanto, o front-running não é possível. Anoma também possui um modelo de intenção parcial que permite a composição de intenções.

Chris fala sobre Intenção x Rollup - Modelo de Intenção Parcial Anoma

O foco da Anoma na privacidade está na “escolha no nível do usuário”, que permite aos usuários divulgar com flexibilidade as informações pretendidas e escolher o que divulgar.

A arquitetura consiste em vários componentes. O mecanismo de execução Tiger usa ZKP e tecnologia de criptografia homomórfica para lidar com dados privados protegidos e transparentes. Typhon é um algoritmo de consenso. A pilha do compilador inclui a linguagem Juvix, AnomaVM e VampIR.

A arquitetura possui protocolos homogêneos e modelos de segurança heterogêneos. Ele pode ser implantado como um blockchain independente ou como um roll-up ZK ou uma carteira de pedidos descentralizada para distribuição descentralizada de aplicativos no Ethereum. Usuários com diferentes necessidades de segurança podem aproveitar os mesmos protocolos e fazer compensações de segurança com base em suas necessidades.

Anoma facilita a construção de aplicativos descentralizados em comparação com modelos centrados em transações. Destinado a oferecer suporte à execução de novos aplicativos, como rollups, transações de troca múltipla e DAOs privados. Em resumo, o Anoma fornece uma arquitetura modular flexível que atende aos requisitos das aplicações descentralizadas contemporâneas. Centra-se na intenção e não nas transações, resolvendo assim problemas de descoberta e coordenação de contrapartes, preservando ao mesmo tempo a privacidade.

Anoma tem uma filosofia de design única que trata a intenção como “fluxo de informações” e “fluxo de informações restrito/privado” e faz escolhas arquitetônicas e de design de acordo. Isto também ilustra o facto de o modelo de composição de intenções da Anoma conduzir a modelos de intenções generalizadas que podem ser tecnicamente difíceis de resolver sob restrições de privacidade, porque os compromissos de eficiência limitarão a quantidade de informação que pode ser mantida em segredo.

resumo

A intenção, como problema de pesquisa e engenharia, é atualmente uma área muito interessante em criptografia.

Perguntas abertas que precisam ser abordadas no domínio de intenção:

  • definição formal de intenção

  • Qual é a aparência de uma arquitetura de aplicativo centrada na intenção além do DEX?

  • Ao resolver qualquer problema de otimização, conceber compromissos entre privacidade e utilidade requer acesso ao máximo de informações possível. Para que a intenção de privacidade seja alcançada, uma certa quantidade de informações deve ser divulgada para resolver o problema da intenção.

  • Qual é o conhecimento mais básico necessário para resolver o problema de intenção?

  • Se você cortasse o acesso a outros conhecimentos, que compensações faria?

  • Como expressar este compromisso entre privacidade e eficiência de uma forma geral.

As intenções gerais podem ser grandes demais para serem resolvidas e, para um espaço de estado tão grande como o Ethereum, isso se torna um problema intratável. Isto sugere que a melhor maneira de resolver o problema das intenções é com algumas restrições, e que as tentativas de combinar intenções também devem ser restritas (quando há intenções comuns). Na minha opinião, a intenção universal é extremamente difícil de implementar na prática, e uma arquitetura centrada na intenção será de natureza específica da aplicação.

Embora estas sejam questões de pesquisa, as escolhas de projeto para atingir a intenção também criam vários problemas de engenharia. Isso pode levar a uma dependência excessiva de intermediários (permitidos), o que corre o risco de centralizar a infraestrutura em diferentes pilhas (no caso do UniswapX, 77% do volume de negociação é preenchimento de estoque fora da cadeia). Também consolidaria a posição de intermediários de confiança, levantaria barreiras à participação e sufocaria a inovação, como já foi visto com o MEV. O design de qualquer protocolo de intenções deve encontrar um equilíbrio entre ausência de permissão, privacidade, transparência e descentralização.