Este artigo irá apresentar a funcionalidade de "Privacidade Programável" que fornece transações mais avançadas e um design de mercado MEV mais aberto e justo - SUAVE. Antes de entrar no tópico principal de explicação do SUAVE, por favor, entenda primeiro o conceito de Intenção.
Tomando as transações Ethereum como exemplo, assumindo que um usuário queira trocar seu USDT por ETH, ele pode ir à página da web Uniswap para verificar o preço, e depois de definir o deslize de preço permitido, assinar e enviar a transação, e depois esperar pelo resultado da transação.
A transação dele provavelmente parecerá com isto: "Eu assino e envio esta transação, com um valor de Nonce de 23 e uma taxa de gás de 30 Gwei. Irá executar o contrato Uniswap para trocar os meus 1000 USDT por 0,5 ETH, com uma derrapagem máxima de 1%."
△ Nonce? Gwei? Fonte da imagem:https://www.reddit.com/r/MemeRestoration/comments/ejcvd3/confused_math_lady_4080x2663px
Suponhamos que Alice seja uma utilizadora novata e que ela apenas queira trocar o seu USDT por ETH, mas ela tem que ultrapassar muitos obstáculos para concretizar este pequeno desejo:
Cada nível é uma questão que os utilizadores novatos na realidade não precisam de compreender, mas são obrigados a fazer uma escolha: Onde resgatar? Quer definir um deslize? Que percentagem deve ser definida para o deslize? Quer ajustar a taxa de gás (taxa de processamento)? A que Gwei precisa de ser ajustada? Por que falhou a transação? Por que é que a transação ficou presa durante tanto tempo (talvez seja um problema com o Nonce ou a taxa de processamento)? O que devo fazer?
Ao contrário da Transação, que requer a especificação de vários detalhes de uma transação, a Intenção apenas requer que o utilizador especifique os resultados que pretende alcançar e as condições de execução, deixando o resto para pessoas mais profissionais.
Na Intent, Alice especificou que 1000 USDT devem ser trocados por 0,5 ETH, mas considerando a taxa de processamento, o preço foi ajustado para 0,495 ETH e depois o pedido foi assinado e enviado. A transação de Alice terá este aspeto: "Assino e envio este pedido. Quero trocar 1000 USDT por 0,495 ETH. Este pedido é válido desde que eu possa obter 0,495 ETH."
É muito simples, certo? Esta é a experiência de usar uma ordem de limite (Limit Order), e é também a experiência geral de usar Agregadores DEX (como 1inch e Tokenlon).
△ A diferença entre Transação (topo) e Intenção (fundo). Com a Intenção, os utilizadores apenas precisam de especificar as condições e não precisam de se preocupar com como as alcançar. Legenda:https://www.paradigm.xyz/2023/06/intents
Através da Intenção, os utilizadores já não precisam lidar e preocupar-se com vários detalhes tediosos e confusos entre a geração, assinatura e execução de transações. Eles nem sequer precisam de resolver o problema e continuar a tentar quando uma transação falha. Além disso, diferentes cadeias terão processos e armadilhas de transação diferentes!
Através do Intent, o usuário só precisa especificar as condições de execução e os resultados esperados do seu Intent. O resto é para o Solver profissional realizar o Intent do usuário - como enviar transações, monitorar transações, acelerar transações, etc. Lidando com questões problemáticas, como falha na transação, e o Intent só pode ser implementado quando as condições de execução e os resultados esperados são atendidos, para que os usuários não precisem se preocupar se um acidente causará o desaparecimento dos ativos.
A intenção irá melhorar grandemente a experiência da blockchain.
Dica de leitura 1: Na verdade, já existem muitos exemplos de uso de Intenção, como a assinatura de uma carteira multi-assinatura, o conceito de Chave de Sessão que concede a terceiros permissões de execução específicas e limites de tempo, ou um mecanismo de transação de correspondência em lote como o CowSwap. Mesmo no mundo Web2, existem vestígios de Intenção, como motores de busca (eu introduzo o que quero pesquisar, e o motor de busca encontra informações relevantes para mim através de vários canais) ou compras online em e-commerce (eu introduzo o que quero comprar), a empresa de e-commerce encontrou através de vários canais e entregou para mim). Apenas a palavra Intenção se tornou popular recentemente no mundo Web3.
Dica de leitura 2: Em inglês, a palavra Imperativo ('imperativo') é usada para descrever a experiência de usar Transação, que é emitir um comando completo para completar o objetivo; enquanto a palavra 'Declarativo' ('Declaração') é usada para descrever a experiência de usar Intenção. Descritivo, indicando que é usado ao declarar condições de execução e resultados de execução.
Em aplicações cross-chain como pontes cross-chain e DEX cross-chain, porque estão envolvidas duas ou mais cadeias, os utilizadores têm de lidar com mais transações em cadeias diferentes.
Excluindo aplicações entre cadeias através da multi-assinatura do partido do projeto, pode proporcionar uma melhor experiência ao usuário (por exemplo, depois que o usuário envia uma transação na cadeia de origem, a multi-assinatura do partido do projeto enviará automaticamente os ativos para o usuário na cadeia de destino) O endereço especificado não requer que o usuário realize quaisquer operações na cadeia de destino). Outras aplicações entre cadeias mais descentralizadas como Nomad e Succinct não têm uma experiência tão boa. Os usuários podem precisar enviar transações para a cadeia de destino para completar a operação.
Portanto, a melhoria da experiência do utilizador que a Intent pode trazer é ainda mais importante e urgente no mundo das cadeias cruzadas.
Através do Intent, as operações cross-chain apenas exigirão que os utilizadores assinem, e já não precisarão de se preocupar com as regras e detalhes da transação de cada blockchain. Os utilizadores serão capazes de operar em diferentes blockchains com a mesma experiência do utilizador, e nem sequer perceberão o facto de existirem blockchains diferentes.
O nome completo da SUAVE é Single Unifying Auction for Value Expression, o objetivo é se tornar um mercado MEV unificado em várias cadeias. Neste mercado, os usuários podem expressar as condições de fechamento e recompensas de uma transação de forma eficiente. Ao mesmo tempo, os executores (Executores) competirão entre si e cooperarão de forma eficiente para completar as solicitações do usuário.
SUAVE pode servir como um pool de transações para uma blockchain e também atuar como um papel de Construtor responsável por produzir o conteúdo do bloco dessa blockchain. No entanto, SUAVE não se destina a substituir o pool de transações existente e a funcionalidade de Construtor de uma blockchain, mas sim a conectar-se de forma contínua a uma blockchain existente de forma plug and play.
Após o SUAVE ser conectado a uma blockchain, a blockchain equivale a ter um Construtor descentralizado, muito profissional e poderoso que abrange múltiplas fontes de transações blockchain. Ter múltiplas fontes de transação blockchain ao mesmo tempo proporcionará enormes vantagens no mercado MEV entre domínios que gradualmente crescerá no futuro. Construtores com esta vantagem serão mais competitivos do que construtores que operam em apenas uma cadeia.
Do Flashbot ao MEV-Boost, o espírito que eles defendem é o de reconhecer a existência do MEV e esforçar-se por trazer as atividades econômicas ocultas para o primeiro plano. Eles pretendem estabelecer um mercado público onde qualquer pessoa possa participar, a fim de evitar o cenário em que alguns indivíduos controlam e dominam silenciosamente este imenso interesse econômico, levando gradualmente à concentração de recursos em suas mãos e impactando, em última análise, a descentralização e a segurança de toda a rede blockchain.
Mas à medida que as pessoas aprendem mais e mais sobre MEV, elas gradualmente percebem que, além do mercado de MEV maduro na Ethereum, também existem mercados MEV entre cadeias e transfronteiriços. Este mercado MEV transfronteiriço será muito maior do que o da Ethereum, e as transações entre cadeias terão mais oportunidades de extrair MEV do que as transações na mesma cadeia.
Se não houvesse alguém como o Flashbot para expor o mercado MEV entre cadeias, trazê-lo à luz e permitir uma participação justa para todos, os poucos indivíduos que exploram o MEV entre cadeias teriam ainda mais vantagem, afetando assim a segurança de toda a rede blockchain.
Outro fenómeno que afetará a centralização e a segurança é o Fluxo de Ordem Privado: as transações dos utilizadores já não fluem para o pool de transações públicas, mas diretamente para o Pesquisador ou Construtor. O Fluxo de Ordem Privado pode advir do Pesquisador ou Construtor adquirindo o direito de ganhar rendimento a partir das transações dos utilizadores, ou o Construtor fornecendo serviços atrativos, como (1) cancelamento gratuito de transações ou ordens DEX enviadas pelos utilizadores, ou (2) fornecendo Pré-Confirmação, antes da transação ser recebida, o utilizador tem a garantia de quão rapidamente a transação será recebida, para que o utilizador não precise de se preocupar se a transação será recebida e quanto tempo demorará a ser recebida.
Embora o Fluxo de Ordens Privadas possa inicialmente beneficiar os utilizadores, a longo prazo, resultará em centralização. Os Pesquisadores/Construtores com Fluxo de Ordem Privada terão uma vantagem competitiva e obterão mais benefícios em comparação com aqueles sem ele, o que terá um impacto prejudicial na concorrência. Além disso, uma vez que não há incentivo para partilhar o Fluxo de Ordem Privada com novos Pesquisadores/Construtores, estes recém-chegados ficarão em desvantagem ao iniciar o jogo.
Porque é que os blocos das transações do utilizador para o Bundle criado pelo Pesquisador têm de ser recolhidos através do Fluxo de Ordem Privado? Isto acontece porque o conteúdo das transações e do Bundle é público e não encriptado. Se forem vistos e obtidos por outros, pode causar danos ao utilizador ou ao Pesquisador. Por exemplo, outros podem extrair o MEV da transação do utilizador através de um ataque em pinça ou desmantelar o Bundle, roubando o MEV. É por isso que tanto os utilizadores como os Pesquisadores têm de confiar atualmente no Construtor, uma vez que precisam de entregar o conteúdo original da transação e do Bundle ao Construtor e confiar que o Construtor não causará qualquer dano.
A emergência do SUAVE é resolver os riscos de centralização causados pelo MEV transfronteiriço e pelo Fluxo de Pedidos Privados.
Primeiro, ao estabelecer um mercado público que serve MEV entre cadeias, os utilizadores ou Pesquisadores podem expressar as suas condições de rendimento para transações ou grupos neste mercado. Por exemplo, se um utilizador tiver duas transações que precisam de ser encaminhadas para Ethereum e Arbitrum, e ambas as transações devem ser incluídas e executadas antes de determinado tempo, podem especificar essas condições no mercado. Os Executores no mercado (que podem ser Pesquisadores ou Construtores) vão competir para cumprir esses pedidos para ganhar recompensas. Mas como podem os utilizadores ou Pesquisadores confiar em lançar as suas transações ou grupos neste mercado público? É aqui que entra a tecnologia de privacidade. Ao encriptar as transações, os utilizadores ou Pesquisadores já não precisam de se preocupar com possíveis danos causados por outros a visualizar as suas transações. Apenas com a privacidade das transações é possível um Fluxo de Ordens Aberto.
SUAVE propõe ainda o conceito de Privacidade Programável, em que os utilizadores ou pesquisadores podem optar por divulgar partes específicas de transações ou conteúdos agrupados (como o endereço do contrato de execução da transação) em vez de se limitarem a escolher entre criptografia completa ou sem criptografia.
Comparadas com transações completamente criptografadas, as transações que divulgam informações específicas podem ser incorporadas em pacotes ou blocos de forma mais eficaz e rápida, e até mesmo receber comissões, como detalhado na seção MEV-Share do quarto artigo. Ao divulgar informações específicas, os Searchers podem até colaborar entre si. O Searcher B pode construir em cima do pacote do Searcher A: o pacote do Searcher A segue a transação do usuário para arbitragem, e o pacote do Searcher B segue o pacote do Searcher A para arbitragem. A privacidade é essencial para um fluxo de ordens aberto. A privacidade permite que os Searchers tenham a oportunidade de cooperar entre si, beneficiando-se mutuamente, em vez de competir por oportunidades de MEV.
SUAVE pode ser descrito como um “quadro de avisos de Preferências do Utilizador”. O termo “Utilizador” aqui não se refere necessariamente aos utilizadores gerais de blockchain, mas os Pesquisadores também podem ser Utilizadores do SUAVE. A seguir, “Utilizador” irá referir-se aos utilizadores gerais de blockchain, e “Utilizador SUAVE” irá referir-se aos utilizadores do SUAVE.
A Preferência do Utilizador da SUAVE é como uma Intenção especializada que se concentra na ordenação de transações. Não é como as Intenções gerais que os leitores podem ver noutros lugares, que podem especificar várias condições. Tal como os utilizadores especificam preferências e condições nas Intenções, na Preferência, os Utilizadores da SUAVE especificam preferências ou condições para 'transações ou rendimentos de pacotes que entram no bloco', tais como:
Dica de leitura: Os utilizadores também podem enviar transações gerais de blockchain (sem especificar qualquer Preferência) para SUAVE, ou seja, simplesmente usar SUAVE como um pool de negociação geral ou Flashbot, como enviar diretamente as suas transações de transferência de ETH ou transações Uniswap para SUAVE.
Claro, se você apenas especificar condições, não há necessidade de projetar uma nova arquitetura para fazer isso, basta usar o Flashbot original. Então, na verdade, as Preferências especificadas no SUAVE devem ser combinadas com recompensas, caso contrário, ninguém estará disposto a completar suas Preferências incondicionalmente. Naturalmente, o pré-requisito para o pagamento deve ser que as Preferências tenham sido alcançadas.
Ao transformar a designação de Preferências e recompensas em contratos inteligentes a serem cumpridos, as partes interessadas (como utilizadores ou Pesquisadores) poderão apresentar requisitos de Preferência mais detalhados e diversos, e esses requisitos são atendidos por incentivos económicos em vez de depender da bondade do Construtor.
SUAVE pode ser visto como consistindo em três componentes: Ambiente de Preferência, Mercado de Execução e Construção de Blocos Descentralizada.
△ O PE à esquerda reúne Intenções e transações de arbitragem em várias cadeias, e em seguida, os Executores no meio tentam satisfazer essas Preferências e empacotá-las em Pacotes, entregando esses Pacotes ao papel à direita que tem o direito de produzir blocos para montar os blocos. Fonte da imagem:https://writings.flashbots.net/o-futuro-do-mev-e-suave
A SUAVE terá a sua própria cadeia e pool de transações. O SUAVE chama a cadeia de Camada de Liquidação e o pool de transações de Camada de Mensagens.
Contratos inteligentes podem ser implementados na cadeia para estabelecer contratos entre Preferência e recompensas. A piscina de transações será preenchida com transações em que o utilizador SUAVE declara a Preferência e o Executor recebe recompensas.
△ Preferência quatro passos desde o estabelecimento até a execução até a liquidação. Fonte da imagem:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
SUAVE precisa ser capaz de escrever Preferência numa linguagem de programação e convertê-la num contrato inteligente para cumprir o contrato entre o Utilizador SUAVE e o Executor. Espera-se que o SUAVE conceba um EVM específico para MEV com base no EVM - MEVM.
MEVM irá adicionar um novo contrato de Pré-compilação e tipo de transação especificamente para MEV. As funções de Preferência do Usuário, Agrupamento de Pacotes e Construção de Blocos podem ser facilmente completadas em MEVM.
O código do programa de exemplo na figura abaixo escreve o algoritmo de Construção de Bloco de Preço de Gás Efetivo (EGP) usando contratos Solidity e pré-compilação MEVM.
EGP Block Building classifica os Bundles de acordo com o Preço do Gás fornecido por cada Bundle. Bundles com Preço do Gás mais alto serão classificados na frente do bloco:
△ A função rosa na imagem é a função Pré-compilação do MEVM, especialmente projetada para uso de MEV. Fonte da imagem:https://writings.flashbots.net/mevm-suave-centauri-and-beyond
Dica de leitura: A execução do algoritmo de construção de blocos na verdade não ocorre na cadeia SUAVE, mas o construtor de blocos simula a execução fora da cadeia (assim como o nó simulará a execução de uma transação localmente), portanto, esse processo de execução não se tornará realmente uma transação que ocupa o espaço do bloco e os recursos de computação da cadeia SUAVE, nem será limitado pelo desempenho de saída da cadeia SUAVE.
Através da compatibilidade do contrato EVM, Searcher e Searcher ou Searcher e Builder poderão cooperar através de contratos, substituindo a relação de confiança unilateral original. A cooperação também melhorará ainda mais a eficiência do Bundle e extrairá mais MEV, o que pode beneficiar todos os participantes da cadeia de suprimentos MEV. Além disso, os participantes podem usar diretamente ferramentas e infraestrutura de desenvolvimento baseadas em EVM, como RPC Provider, ferramentas de teste como Foundry, etc., e a experiência de desenvolvimento será muito boa.
Além disso, o MEVM irá fornecer a função de privacidade de transação, porque sem privacidade, não há possibilidade de cooperação. Sem privacidade, os Searchers têm que se preocupar com o roubo do seu MEV. Na fase inicial, essa privacidade será alcançada através do hardware confiável SGX. A transação será criptografada e depois enviada para o SGX para execução. Acredita-se que o SGX executará o seu código de programa designado sem roubar o MEV à vontade. No futuro, quando outras tecnologias criptográficas avançadas forem gradualmente amadurecidas, a criptografia poderá ser usada para substituir o hardware confiável. Para mais detalhes, consulte o artigo anterior emMempools Criptografadas.
Dica de leitura: No entanto, também existem desvantagens baseadas no EVM, como o EVM é muito Expressivo: Na verdade, para escrever as funções necessárias pelo MEV, você não precisa de muitos Opcodes no EVM. Permitir o uso desses Opcodes pode permitir que pessoas dispostas a escrever execuções muito complexas, e depois deixar a transação falhar no final da execução, fazendo com que o nó desperdice um monte de recursos de computação, que é um ataque de DoS. O projeto Anoma redesenha uma linguagem de programação e ambiente de execução especificamente para expressar e executar Intenções. No futuro, o SUAVE também pode usar a arquitetura da Anoma para substituir o MEVM.
Se o programador do bloco ou validador de uma cadeia conhece a existência de SUAVE e pretende usar SUAVE, então irá considerar SUAVE como um Construtor de Blocos. Se SUAVE fornecer um preço de licitação mais alto para os blocos que constrói, então os Mineiros ou Validadores irão usar os blocos de SUAVE. Tomando o MEV-Boost atual no Ethereum como exemplo, os blocos compostos por SUAVE serão convertidos num formato que cumpra com o mecanismo de licitação MEV-Boost através do plug-in fornecido por SUAVE. O Proponente não precisa de fazer quaisquer alterações para adotar os blocos de SUAVE.
Se o desenvolvedor de bloco ou validador de uma cadeia não conhecer a existência de SUAVE, então o Executor de SUAVE irá licitar para receber seu Pacote através das regras de taxa da cadeia.
Cada cadeia tem seu próprio desenvolvedor e validador de blocos. O bloco B1 de SUAVE sendo recebido pela cadeia X não significa que o bloco B2 também será recebido com sucesso pelo Validador da cadeia Y. Os mecanismos de produção em bloco e os mercados da cadeia X e da cadeia Y são independentes. A menos que a cadeia X e a cadeia Y usem o Sequenciador Compartilhado, e o mesmo Sequenciador produza blocos para ambas as cadeias ao mesmo tempo, somente combinando SUAVE podemos garantir a Inclusão Atômica: as duas cadeias não devem "coletar transações especificadas (ou blocos) juntas". Yuan)", ou "nenhuma renda".
E mesmo que o Sequenciador Compartilhado possa garantir a Inclusão Atômica, isso não significa que a transação será executada com sucesso após ser incluída. Se ambas as transações não forem executadas com sucesso, significa que a MEV entre cadeias falhou. Supondo que um Usuário SUAVE queira concluir uma arbitragem entre cadeias, as transações em ambas as cadeias devem ser geradas em tempo real e executadas com sucesso antes que ele possa se beneficiar:
Tomando a imagem abaixo como exemplo, o Utilizador SUAVE pretende realizar arbitragem de transações entre cadeias cruzadas entre Rollup 1 e Rollup 2: comprar um ETH a um preço mais baixo no Rollup 1 e vender um ETH a um preço mais alto no Rollup 2.
Se ambos os negócios forem pagos em tempo real e executados com sucesso, o Utilizador SUAVE pode ganhar a diferença de preço. O Cenário 1 e 2 na tabela na imagem são "O Utilizador SUAVE está disposto a suportar o risco ele próprio" e "O Executor está disposto a suportar o risco", respetivamente.
As três últimas colunas da tabela são "recompensas para ambos os sucessos", "recompensas para apenas um sucesso" e "resultado final para apenas um sucesso":
△ Diferentes resultados de execução em diferentes situações. Fonte da imagem:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
A MEV cross-chain requer que os Executores tenham capital, estejam dispostos a correr riscos e tenham tecnologia suficiente para garantir receitas atómicas em tempo real e execução bem-sucedida. Este pode ser um trabalho lucrativo, mas com uma barreira relativamente alta.
Porque não podemos simplesmente transferir e partilhar Preferências através da rede P2P? Porque uma rede P2P pura não pode impedir que a rede seja preenchida com inúmeras Preferências (ou seja, ataques de DoS). Se for uma cadeia, os ataques de DoS podem ser evitados através de taxas de processamento.
Por que o SUAVE não usa a cadeia existente? Porque o SUAVE precisa de sua própria função (MEV) e suas próprias configurações de cadeia, como tempo de bloco e tamanho de bloco. Se você o construir diretamente no Ethereum, encontrará problemas como custo muito alto, tempo de bloco muito longo e funções limitadas.
Além disso, porque o SUAVE precisa obter informações de outras cadeias para verificar se a Preferência é satisfeita, uma Cadeia SUAVE independente pode manter neutralidade ao reunir informações de todas as outras cadeias.
No entanto, o SUAVE tem a sua própria cadeia, o que também significa que (1) o Utilizador SUAVE pode precisar de transferir ativos de outras cadeias para a Cadeia SUAVE para usar o SUAVE e (2) o SUAVE precisa de depender da Oracle para reportar informações de outras cadeias. Isto significa que o SUAVE em si tem um requisito adicional de confiança para a Oracle. Se a Oracle não for segura, isso afetará a segurança do contrato no SUAVE.
Dica de leitura: Ainda não há muitos detalhes sobre se o SUAVE terá sua própria token, se os ativos precisam ser transferidos para a SUAVE Chain para uso, ou como transferir para a SUAVE Chain. Apenas é mencionado no vídeo e no artigo “O usuário do SUAVE deve primeiro transferir os ativos de outras chains para a SUAVE Chain antes de poder usá-lo.”
O design e o modelo de segurança da própria SUAVE Chain ainda estão em discussão. Se SUAVE Chain é um Rollup no Ethereum, então você pode usar diretamente o próprio mecanismo do Rollup para transferir ativos e ler outras informações do Rollup. Isso será melhor do que depender de outros rollups. A tecnologia cross-chain e os serviços Oracle trazem muita segurança.
Se o Validador da Cadeia SUAVE puder ser combinado com a Eigenlayer, será mais seguro e confiável usar diretamente o Validador Ethereum como o Validador da Cadeia SUAVE do que gerar um conjunto de Validadores pela própria SUAVE. Mas, é claro, esses projetos também têm desvantagens correspondentes. Para mais discussão sobre o design da Cadeia SUAVE, consulte este artigo.
Este artigo irá apresentar a funcionalidade de "Privacidade Programável" que fornece transações mais avançadas e um design de mercado MEV mais aberto e justo - SUAVE. Antes de entrar no tópico principal de explicação do SUAVE, por favor, entenda primeiro o conceito de Intenção.
Tomando as transações Ethereum como exemplo, assumindo que um usuário queira trocar seu USDT por ETH, ele pode ir à página da web Uniswap para verificar o preço, e depois de definir o deslize de preço permitido, assinar e enviar a transação, e depois esperar pelo resultado da transação.
A transação dele provavelmente parecerá com isto: "Eu assino e envio esta transação, com um valor de Nonce de 23 e uma taxa de gás de 30 Gwei. Irá executar o contrato Uniswap para trocar os meus 1000 USDT por 0,5 ETH, com uma derrapagem máxima de 1%."
△ Nonce? Gwei? Fonte da imagem:https://www.reddit.com/r/MemeRestoration/comments/ejcvd3/confused_math_lady_4080x2663px
Suponhamos que Alice seja uma utilizadora novata e que ela apenas queira trocar o seu USDT por ETH, mas ela tem que ultrapassar muitos obstáculos para concretizar este pequeno desejo:
Cada nível é uma questão que os utilizadores novatos na realidade não precisam de compreender, mas são obrigados a fazer uma escolha: Onde resgatar? Quer definir um deslize? Que percentagem deve ser definida para o deslize? Quer ajustar a taxa de gás (taxa de processamento)? A que Gwei precisa de ser ajustada? Por que falhou a transação? Por que é que a transação ficou presa durante tanto tempo (talvez seja um problema com o Nonce ou a taxa de processamento)? O que devo fazer?
Ao contrário da Transação, que requer a especificação de vários detalhes de uma transação, a Intenção apenas requer que o utilizador especifique os resultados que pretende alcançar e as condições de execução, deixando o resto para pessoas mais profissionais.
Na Intent, Alice especificou que 1000 USDT devem ser trocados por 0,5 ETH, mas considerando a taxa de processamento, o preço foi ajustado para 0,495 ETH e depois o pedido foi assinado e enviado. A transação de Alice terá este aspeto: "Assino e envio este pedido. Quero trocar 1000 USDT por 0,495 ETH. Este pedido é válido desde que eu possa obter 0,495 ETH."
É muito simples, certo? Esta é a experiência de usar uma ordem de limite (Limit Order), e é também a experiência geral de usar Agregadores DEX (como 1inch e Tokenlon).
△ A diferença entre Transação (topo) e Intenção (fundo). Com a Intenção, os utilizadores apenas precisam de especificar as condições e não precisam de se preocupar com como as alcançar. Legenda:https://www.paradigm.xyz/2023/06/intents
Através da Intenção, os utilizadores já não precisam lidar e preocupar-se com vários detalhes tediosos e confusos entre a geração, assinatura e execução de transações. Eles nem sequer precisam de resolver o problema e continuar a tentar quando uma transação falha. Além disso, diferentes cadeias terão processos e armadilhas de transação diferentes!
Através do Intent, o usuário só precisa especificar as condições de execução e os resultados esperados do seu Intent. O resto é para o Solver profissional realizar o Intent do usuário - como enviar transações, monitorar transações, acelerar transações, etc. Lidando com questões problemáticas, como falha na transação, e o Intent só pode ser implementado quando as condições de execução e os resultados esperados são atendidos, para que os usuários não precisem se preocupar se um acidente causará o desaparecimento dos ativos.
A intenção irá melhorar grandemente a experiência da blockchain.
Dica de leitura 1: Na verdade, já existem muitos exemplos de uso de Intenção, como a assinatura de uma carteira multi-assinatura, o conceito de Chave de Sessão que concede a terceiros permissões de execução específicas e limites de tempo, ou um mecanismo de transação de correspondência em lote como o CowSwap. Mesmo no mundo Web2, existem vestígios de Intenção, como motores de busca (eu introduzo o que quero pesquisar, e o motor de busca encontra informações relevantes para mim através de vários canais) ou compras online em e-commerce (eu introduzo o que quero comprar), a empresa de e-commerce encontrou através de vários canais e entregou para mim). Apenas a palavra Intenção se tornou popular recentemente no mundo Web3.
Dica de leitura 2: Em inglês, a palavra Imperativo ('imperativo') é usada para descrever a experiência de usar Transação, que é emitir um comando completo para completar o objetivo; enquanto a palavra 'Declarativo' ('Declaração') é usada para descrever a experiência de usar Intenção. Descritivo, indicando que é usado ao declarar condições de execução e resultados de execução.
Em aplicações cross-chain como pontes cross-chain e DEX cross-chain, porque estão envolvidas duas ou mais cadeias, os utilizadores têm de lidar com mais transações em cadeias diferentes.
Excluindo aplicações entre cadeias através da multi-assinatura do partido do projeto, pode proporcionar uma melhor experiência ao usuário (por exemplo, depois que o usuário envia uma transação na cadeia de origem, a multi-assinatura do partido do projeto enviará automaticamente os ativos para o usuário na cadeia de destino) O endereço especificado não requer que o usuário realize quaisquer operações na cadeia de destino). Outras aplicações entre cadeias mais descentralizadas como Nomad e Succinct não têm uma experiência tão boa. Os usuários podem precisar enviar transações para a cadeia de destino para completar a operação.
Portanto, a melhoria da experiência do utilizador que a Intent pode trazer é ainda mais importante e urgente no mundo das cadeias cruzadas.
Através do Intent, as operações cross-chain apenas exigirão que os utilizadores assinem, e já não precisarão de se preocupar com as regras e detalhes da transação de cada blockchain. Os utilizadores serão capazes de operar em diferentes blockchains com a mesma experiência do utilizador, e nem sequer perceberão o facto de existirem blockchains diferentes.
O nome completo da SUAVE é Single Unifying Auction for Value Expression, o objetivo é se tornar um mercado MEV unificado em várias cadeias. Neste mercado, os usuários podem expressar as condições de fechamento e recompensas de uma transação de forma eficiente. Ao mesmo tempo, os executores (Executores) competirão entre si e cooperarão de forma eficiente para completar as solicitações do usuário.
SUAVE pode servir como um pool de transações para uma blockchain e também atuar como um papel de Construtor responsável por produzir o conteúdo do bloco dessa blockchain. No entanto, SUAVE não se destina a substituir o pool de transações existente e a funcionalidade de Construtor de uma blockchain, mas sim a conectar-se de forma contínua a uma blockchain existente de forma plug and play.
Após o SUAVE ser conectado a uma blockchain, a blockchain equivale a ter um Construtor descentralizado, muito profissional e poderoso que abrange múltiplas fontes de transações blockchain. Ter múltiplas fontes de transação blockchain ao mesmo tempo proporcionará enormes vantagens no mercado MEV entre domínios que gradualmente crescerá no futuro. Construtores com esta vantagem serão mais competitivos do que construtores que operam em apenas uma cadeia.
Do Flashbot ao MEV-Boost, o espírito que eles defendem é o de reconhecer a existência do MEV e esforçar-se por trazer as atividades econômicas ocultas para o primeiro plano. Eles pretendem estabelecer um mercado público onde qualquer pessoa possa participar, a fim de evitar o cenário em que alguns indivíduos controlam e dominam silenciosamente este imenso interesse econômico, levando gradualmente à concentração de recursos em suas mãos e impactando, em última análise, a descentralização e a segurança de toda a rede blockchain.
Mas à medida que as pessoas aprendem mais e mais sobre MEV, elas gradualmente percebem que, além do mercado de MEV maduro na Ethereum, também existem mercados MEV entre cadeias e transfronteiriços. Este mercado MEV transfronteiriço será muito maior do que o da Ethereum, e as transações entre cadeias terão mais oportunidades de extrair MEV do que as transações na mesma cadeia.
Se não houvesse alguém como o Flashbot para expor o mercado MEV entre cadeias, trazê-lo à luz e permitir uma participação justa para todos, os poucos indivíduos que exploram o MEV entre cadeias teriam ainda mais vantagem, afetando assim a segurança de toda a rede blockchain.
Outro fenómeno que afetará a centralização e a segurança é o Fluxo de Ordem Privado: as transações dos utilizadores já não fluem para o pool de transações públicas, mas diretamente para o Pesquisador ou Construtor. O Fluxo de Ordem Privado pode advir do Pesquisador ou Construtor adquirindo o direito de ganhar rendimento a partir das transações dos utilizadores, ou o Construtor fornecendo serviços atrativos, como (1) cancelamento gratuito de transações ou ordens DEX enviadas pelos utilizadores, ou (2) fornecendo Pré-Confirmação, antes da transação ser recebida, o utilizador tem a garantia de quão rapidamente a transação será recebida, para que o utilizador não precise de se preocupar se a transação será recebida e quanto tempo demorará a ser recebida.
Embora o Fluxo de Ordens Privadas possa inicialmente beneficiar os utilizadores, a longo prazo, resultará em centralização. Os Pesquisadores/Construtores com Fluxo de Ordem Privada terão uma vantagem competitiva e obterão mais benefícios em comparação com aqueles sem ele, o que terá um impacto prejudicial na concorrência. Além disso, uma vez que não há incentivo para partilhar o Fluxo de Ordem Privada com novos Pesquisadores/Construtores, estes recém-chegados ficarão em desvantagem ao iniciar o jogo.
Porque é que os blocos das transações do utilizador para o Bundle criado pelo Pesquisador têm de ser recolhidos através do Fluxo de Ordem Privado? Isto acontece porque o conteúdo das transações e do Bundle é público e não encriptado. Se forem vistos e obtidos por outros, pode causar danos ao utilizador ou ao Pesquisador. Por exemplo, outros podem extrair o MEV da transação do utilizador através de um ataque em pinça ou desmantelar o Bundle, roubando o MEV. É por isso que tanto os utilizadores como os Pesquisadores têm de confiar atualmente no Construtor, uma vez que precisam de entregar o conteúdo original da transação e do Bundle ao Construtor e confiar que o Construtor não causará qualquer dano.
A emergência do SUAVE é resolver os riscos de centralização causados pelo MEV transfronteiriço e pelo Fluxo de Pedidos Privados.
Primeiro, ao estabelecer um mercado público que serve MEV entre cadeias, os utilizadores ou Pesquisadores podem expressar as suas condições de rendimento para transações ou grupos neste mercado. Por exemplo, se um utilizador tiver duas transações que precisam de ser encaminhadas para Ethereum e Arbitrum, e ambas as transações devem ser incluídas e executadas antes de determinado tempo, podem especificar essas condições no mercado. Os Executores no mercado (que podem ser Pesquisadores ou Construtores) vão competir para cumprir esses pedidos para ganhar recompensas. Mas como podem os utilizadores ou Pesquisadores confiar em lançar as suas transações ou grupos neste mercado público? É aqui que entra a tecnologia de privacidade. Ao encriptar as transações, os utilizadores ou Pesquisadores já não precisam de se preocupar com possíveis danos causados por outros a visualizar as suas transações. Apenas com a privacidade das transações é possível um Fluxo de Ordens Aberto.
SUAVE propõe ainda o conceito de Privacidade Programável, em que os utilizadores ou pesquisadores podem optar por divulgar partes específicas de transações ou conteúdos agrupados (como o endereço do contrato de execução da transação) em vez de se limitarem a escolher entre criptografia completa ou sem criptografia.
Comparadas com transações completamente criptografadas, as transações que divulgam informações específicas podem ser incorporadas em pacotes ou blocos de forma mais eficaz e rápida, e até mesmo receber comissões, como detalhado na seção MEV-Share do quarto artigo. Ao divulgar informações específicas, os Searchers podem até colaborar entre si. O Searcher B pode construir em cima do pacote do Searcher A: o pacote do Searcher A segue a transação do usuário para arbitragem, e o pacote do Searcher B segue o pacote do Searcher A para arbitragem. A privacidade é essencial para um fluxo de ordens aberto. A privacidade permite que os Searchers tenham a oportunidade de cooperar entre si, beneficiando-se mutuamente, em vez de competir por oportunidades de MEV.
SUAVE pode ser descrito como um “quadro de avisos de Preferências do Utilizador”. O termo “Utilizador” aqui não se refere necessariamente aos utilizadores gerais de blockchain, mas os Pesquisadores também podem ser Utilizadores do SUAVE. A seguir, “Utilizador” irá referir-se aos utilizadores gerais de blockchain, e “Utilizador SUAVE” irá referir-se aos utilizadores do SUAVE.
A Preferência do Utilizador da SUAVE é como uma Intenção especializada que se concentra na ordenação de transações. Não é como as Intenções gerais que os leitores podem ver noutros lugares, que podem especificar várias condições. Tal como os utilizadores especificam preferências e condições nas Intenções, na Preferência, os Utilizadores da SUAVE especificam preferências ou condições para 'transações ou rendimentos de pacotes que entram no bloco', tais como:
Dica de leitura: Os utilizadores também podem enviar transações gerais de blockchain (sem especificar qualquer Preferência) para SUAVE, ou seja, simplesmente usar SUAVE como um pool de negociação geral ou Flashbot, como enviar diretamente as suas transações de transferência de ETH ou transações Uniswap para SUAVE.
Claro, se você apenas especificar condições, não há necessidade de projetar uma nova arquitetura para fazer isso, basta usar o Flashbot original. Então, na verdade, as Preferências especificadas no SUAVE devem ser combinadas com recompensas, caso contrário, ninguém estará disposto a completar suas Preferências incondicionalmente. Naturalmente, o pré-requisito para o pagamento deve ser que as Preferências tenham sido alcançadas.
Ao transformar a designação de Preferências e recompensas em contratos inteligentes a serem cumpridos, as partes interessadas (como utilizadores ou Pesquisadores) poderão apresentar requisitos de Preferência mais detalhados e diversos, e esses requisitos são atendidos por incentivos económicos em vez de depender da bondade do Construtor.
SUAVE pode ser visto como consistindo em três componentes: Ambiente de Preferência, Mercado de Execução e Construção de Blocos Descentralizada.
△ O PE à esquerda reúne Intenções e transações de arbitragem em várias cadeias, e em seguida, os Executores no meio tentam satisfazer essas Preferências e empacotá-las em Pacotes, entregando esses Pacotes ao papel à direita que tem o direito de produzir blocos para montar os blocos. Fonte da imagem:https://writings.flashbots.net/o-futuro-do-mev-e-suave
A SUAVE terá a sua própria cadeia e pool de transações. O SUAVE chama a cadeia de Camada de Liquidação e o pool de transações de Camada de Mensagens.
Contratos inteligentes podem ser implementados na cadeia para estabelecer contratos entre Preferência e recompensas. A piscina de transações será preenchida com transações em que o utilizador SUAVE declara a Preferência e o Executor recebe recompensas.
△ Preferência quatro passos desde o estabelecimento até a execução até a liquidação. Fonte da imagem:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
SUAVE precisa ser capaz de escrever Preferência numa linguagem de programação e convertê-la num contrato inteligente para cumprir o contrato entre o Utilizador SUAVE e o Executor. Espera-se que o SUAVE conceba um EVM específico para MEV com base no EVM - MEVM.
MEVM irá adicionar um novo contrato de Pré-compilação e tipo de transação especificamente para MEV. As funções de Preferência do Usuário, Agrupamento de Pacotes e Construção de Blocos podem ser facilmente completadas em MEVM.
O código do programa de exemplo na figura abaixo escreve o algoritmo de Construção de Bloco de Preço de Gás Efetivo (EGP) usando contratos Solidity e pré-compilação MEVM.
EGP Block Building classifica os Bundles de acordo com o Preço do Gás fornecido por cada Bundle. Bundles com Preço do Gás mais alto serão classificados na frente do bloco:
△ A função rosa na imagem é a função Pré-compilação do MEVM, especialmente projetada para uso de MEV. Fonte da imagem:https://writings.flashbots.net/mevm-suave-centauri-and-beyond
Dica de leitura: A execução do algoritmo de construção de blocos na verdade não ocorre na cadeia SUAVE, mas o construtor de blocos simula a execução fora da cadeia (assim como o nó simulará a execução de uma transação localmente), portanto, esse processo de execução não se tornará realmente uma transação que ocupa o espaço do bloco e os recursos de computação da cadeia SUAVE, nem será limitado pelo desempenho de saída da cadeia SUAVE.
Através da compatibilidade do contrato EVM, Searcher e Searcher ou Searcher e Builder poderão cooperar através de contratos, substituindo a relação de confiança unilateral original. A cooperação também melhorará ainda mais a eficiência do Bundle e extrairá mais MEV, o que pode beneficiar todos os participantes da cadeia de suprimentos MEV. Além disso, os participantes podem usar diretamente ferramentas e infraestrutura de desenvolvimento baseadas em EVM, como RPC Provider, ferramentas de teste como Foundry, etc., e a experiência de desenvolvimento será muito boa.
Além disso, o MEVM irá fornecer a função de privacidade de transação, porque sem privacidade, não há possibilidade de cooperação. Sem privacidade, os Searchers têm que se preocupar com o roubo do seu MEV. Na fase inicial, essa privacidade será alcançada através do hardware confiável SGX. A transação será criptografada e depois enviada para o SGX para execução. Acredita-se que o SGX executará o seu código de programa designado sem roubar o MEV à vontade. No futuro, quando outras tecnologias criptográficas avançadas forem gradualmente amadurecidas, a criptografia poderá ser usada para substituir o hardware confiável. Para mais detalhes, consulte o artigo anterior emMempools Criptografadas.
Dica de leitura: No entanto, também existem desvantagens baseadas no EVM, como o EVM é muito Expressivo: Na verdade, para escrever as funções necessárias pelo MEV, você não precisa de muitos Opcodes no EVM. Permitir o uso desses Opcodes pode permitir que pessoas dispostas a escrever execuções muito complexas, e depois deixar a transação falhar no final da execução, fazendo com que o nó desperdice um monte de recursos de computação, que é um ataque de DoS. O projeto Anoma redesenha uma linguagem de programação e ambiente de execução especificamente para expressar e executar Intenções. No futuro, o SUAVE também pode usar a arquitetura da Anoma para substituir o MEVM.
Se o programador do bloco ou validador de uma cadeia conhece a existência de SUAVE e pretende usar SUAVE, então irá considerar SUAVE como um Construtor de Blocos. Se SUAVE fornecer um preço de licitação mais alto para os blocos que constrói, então os Mineiros ou Validadores irão usar os blocos de SUAVE. Tomando o MEV-Boost atual no Ethereum como exemplo, os blocos compostos por SUAVE serão convertidos num formato que cumpra com o mecanismo de licitação MEV-Boost através do plug-in fornecido por SUAVE. O Proponente não precisa de fazer quaisquer alterações para adotar os blocos de SUAVE.
Se o desenvolvedor de bloco ou validador de uma cadeia não conhecer a existência de SUAVE, então o Executor de SUAVE irá licitar para receber seu Pacote através das regras de taxa da cadeia.
Cada cadeia tem seu próprio desenvolvedor e validador de blocos. O bloco B1 de SUAVE sendo recebido pela cadeia X não significa que o bloco B2 também será recebido com sucesso pelo Validador da cadeia Y. Os mecanismos de produção em bloco e os mercados da cadeia X e da cadeia Y são independentes. A menos que a cadeia X e a cadeia Y usem o Sequenciador Compartilhado, e o mesmo Sequenciador produza blocos para ambas as cadeias ao mesmo tempo, somente combinando SUAVE podemos garantir a Inclusão Atômica: as duas cadeias não devem "coletar transações especificadas (ou blocos) juntas". Yuan)", ou "nenhuma renda".
E mesmo que o Sequenciador Compartilhado possa garantir a Inclusão Atômica, isso não significa que a transação será executada com sucesso após ser incluída. Se ambas as transações não forem executadas com sucesso, significa que a MEV entre cadeias falhou. Supondo que um Usuário SUAVE queira concluir uma arbitragem entre cadeias, as transações em ambas as cadeias devem ser geradas em tempo real e executadas com sucesso antes que ele possa se beneficiar:
Tomando a imagem abaixo como exemplo, o Utilizador SUAVE pretende realizar arbitragem de transações entre cadeias cruzadas entre Rollup 1 e Rollup 2: comprar um ETH a um preço mais baixo no Rollup 1 e vender um ETH a um preço mais alto no Rollup 2.
Se ambos os negócios forem pagos em tempo real e executados com sucesso, o Utilizador SUAVE pode ganhar a diferença de preço. O Cenário 1 e 2 na tabela na imagem são "O Utilizador SUAVE está disposto a suportar o risco ele próprio" e "O Executor está disposto a suportar o risco", respetivamente.
As três últimas colunas da tabela são "recompensas para ambos os sucessos", "recompensas para apenas um sucesso" e "resultado final para apenas um sucesso":
△ Diferentes resultados de execução em diferentes situações. Fonte da imagem:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
A MEV cross-chain requer que os Executores tenham capital, estejam dispostos a correr riscos e tenham tecnologia suficiente para garantir receitas atómicas em tempo real e execução bem-sucedida. Este pode ser um trabalho lucrativo, mas com uma barreira relativamente alta.
Porque não podemos simplesmente transferir e partilhar Preferências através da rede P2P? Porque uma rede P2P pura não pode impedir que a rede seja preenchida com inúmeras Preferências (ou seja, ataques de DoS). Se for uma cadeia, os ataques de DoS podem ser evitados através de taxas de processamento.
Por que o SUAVE não usa a cadeia existente? Porque o SUAVE precisa de sua própria função (MEV) e suas próprias configurações de cadeia, como tempo de bloco e tamanho de bloco. Se você o construir diretamente no Ethereum, encontrará problemas como custo muito alto, tempo de bloco muito longo e funções limitadas.
Além disso, porque o SUAVE precisa obter informações de outras cadeias para verificar se a Preferência é satisfeita, uma Cadeia SUAVE independente pode manter neutralidade ao reunir informações de todas as outras cadeias.
No entanto, o SUAVE tem a sua própria cadeia, o que também significa que (1) o Utilizador SUAVE pode precisar de transferir ativos de outras cadeias para a Cadeia SUAVE para usar o SUAVE e (2) o SUAVE precisa de depender da Oracle para reportar informações de outras cadeias. Isto significa que o SUAVE em si tem um requisito adicional de confiança para a Oracle. Se a Oracle não for segura, isso afetará a segurança do contrato no SUAVE.
Dica de leitura: Ainda não há muitos detalhes sobre se o SUAVE terá sua própria token, se os ativos precisam ser transferidos para a SUAVE Chain para uso, ou como transferir para a SUAVE Chain. Apenas é mencionado no vídeo e no artigo “O usuário do SUAVE deve primeiro transferir os ativos de outras chains para a SUAVE Chain antes de poder usá-lo.”
O design e o modelo de segurança da própria SUAVE Chain ainda estão em discussão. Se SUAVE Chain é um Rollup no Ethereum, então você pode usar diretamente o próprio mecanismo do Rollup para transferir ativos e ler outras informações do Rollup. Isso será melhor do que depender de outros rollups. A tecnologia cross-chain e os serviços Oracle trazem muita segurança.
Se o Validador da Cadeia SUAVE puder ser combinado com a Eigenlayer, será mais seguro e confiável usar diretamente o Validador Ethereum como o Validador da Cadeia SUAVE do que gerar um conjunto de Validadores pela própria SUAVE. Mas, é claro, esses projetos também têm desvantagens correspondentes. Para mais discussão sobre o design da Cadeia SUAVE, consulte este artigo.