Respostas>Saiba mais sobre o MEV e a ordenação das transações>Como funciona a ordenação das transações
Como funciona a ordenação das transações
// Tags
ordenação de transaçõesmempool
TL;DR: A ordenação de transações é o processo através do qual uma blockchain decide quais as transações pendentes que serão incluídas no próximo bloco e em que sequência. Esta ordenação afeta diretamente quais as transações que são bem-sucedidas, quais falham e quanto valor cada participante recebe. Na maioria das blockchains, a entidade que produz o bloco tem total discricionariedade sobre a ordem das transações. Historicamente, as transações eram ordenadas pelo preço do gás, sendo que o licitante com a oferta mais alta era atendido em primeiro lugar. Hoje em dia, o processo é muito mais complexo, envolvendo taxas de base, taxas de prioridade, flow de ordens privado, criadores de blocos especializados e mecanismos de leilão que transformaram a construção de blocos num mercado sofisticado.
A Explicação Simples
Quando se submete uma transação a uma blockchain, esta entra no mempool, uma área de espera pública onde todas as transações pendentes aguardam para serem incluídas num bloco. O mempool não é uma fila. Não existe uma ordem garantida do tipo «primeiro a chegar, primeiro a ser servido». Em vez disso, o produtor de blocos (um validador nas cadeias de Prova de Participação, um mineiro nas cadeias de Prova de Trabalho) seleciona quais as transações a incluir e organiza-as na ordem que entender.
Isto é fundamentalmente diferente da forma como os sistemas tradicionais funcionam. Quando se coloca uma ordem numa bolsa de valores, esta tem regras rigorosas quanto à prioridade temporal: as ordens que chegam primeiro são executadas primeiro. Numa blockchain, o produtor do bloco é a bolsa, e este pode reordenar as transações como quiser. A única restrição é que cada transação deve ser válida, tendo em conta o estado resultante das transações que a precedem no mesmo bloco.
Por que é que a ordem é tão importante? Porque na DeFi, a ordem das transações dentro de um bloco pode determinar preços, liquidações e resultados de arbitragem. Se duas pessoas estiverem a tentar comprar o mesmo token do mesmo pool de liquidez, a pessoa cuja transação for executada primeiro obtém um preço melhor. A transação da segunda pessoa é executada num pool com menos liquidez e a um preço mais elevado. A diferença entre ser o primeiro e ser o segundo pode valer milhares ou milhões de dólares.
O modelo tradicional: ordenação dos preços da gasolina
Antes da atualização EIP-1559 Ethereum(agosto de 2021), a ordenação das transações era simples: os utilizadores atribuíam um preço de gás à sua transação e os produtores de blocos ordenavam o mempool por preço de gás, começando pelo mais elevado. Se quisesse que a sua transação fosse processada antes da de outra pessoa, pagava um preço de gás mais elevado. Isto criou um sistema de leilão simples, mas implacável, denominado «Priority Gas Auction» (PGA).
As PGAs ficavam caóticas durante os períodos de elevada procura. Os caçadores de MEV que competiam por oportunidades de arbitragem ou liquidação rapidamente se sobrepunham uns aos outros, aumentando os seus preços de gás em tempo real. Uma única oportunidade lucrativa de MEV podia desencadear dezenas de transações concorrentes, cada uma com preços de gás progressivamente mais elevados, consumindo espaço no bloco e aumentando os custos para todos os restantes utilizadores da rede. Os utilizadores que tentavam efetuar uma simples transferência de tokens viam os seus custos de gás dispararem porque os bots estavam a fazer subir o preço do espaço no bloco na busca de lucros de MEV.
O modelo PGA também implicava que a ordem das transações fosse inteiramente determinada pela disposição para pagar. Não existia qualquer conceito de equidade, não se tinha em conta a data de envio da transação e não havia qualquer mecanismo para proteger os utilizadores regulares de serem superados em licitação por bots sofisticados, com um monitorização mais rápida do mempool e reservas de capital mais elevadas.
A EIP-1559 e o modelo de taxas em duas partes
A atualização EIP-1559 Ethereum substituiu o preço único do gás por uma estrutura de taxas composta por dois componentes: uma taxa base e uma taxa de prioridade (gorjeta). A taxa base é definida algoritmicamente pelo protocolo com base no nível de ocupação do bloco anterior. Quando os blocos estão ocupados em mais de 50%, a taxa base aumenta. Quando os blocos estão ocupados em menos de 50%, a taxa base diminui. A taxa base é queimada (retirada de circulação), o que significa que não reverte para os validadores.
A taxa de prioridade é o montante que um utilizador paga diretamente ao validador como incentivo para que a sua transação seja incluída. Num cenário em que todas as transações pagam a mesma taxa base, a taxa de prioridade torna-se o fator diferenciador na ordem de processamento. As transações com taxas de prioridade mais elevadas são incluídas em primeiro lugar.
Este modelo melhorou a previsibilidade das taxas para os utilizadores (a taxa base ajusta-se de forma suave, em vez de registar picos imprevisíveis) e reduziu a eficácia dos PGAs (uma vez que os bots concorrentes já não podem fazer subir o preço global do gás para todos, mas apenas a sua própria taxa de prioridade). No entanto, não eliminou a extração de valor baseada na ordem. Os validadores (ou os «builders» a quem delegam) continuam a controlar a sequência de transações dentro de um bloco, e a taxa de prioridade continua a criar um leilão para o posicionamento.
Construção em blocos moderna: separação entre promotor e construtor
Atualmente, a ordenação de transações na Ethereum dominada por um sistema denominado «Proposer-Builder Separation» (PBS), implementado através do MEV-Boost e do ecossistema Flashbots. O PBS divide o processo de produção de blocos em duas funções: os «builders», que organizam o conteúdo do bloco, e os «proposers» (validadores), que aprovam o bloco final.
O processo funciona da seguinte forma. Os utilizadores enviam transações para o mempool público ou diretamente para os «builders» através de canais privados. Os «searchers» de MEV monitorizam o mempool e criam «bundles», que são grupos ordenados de transações concebidos para aproveitar oportunidades específicas de MEV (arbitragem, liquidação, «sandwich»). Os «builders» recolhem estes pacotes juntamente com as transações normais dos utilizadores, agrupam-nos num bloco completo ordenado de forma a maximizar o valor total e submetem o seu bloco como uma proposta a um «relay». O «relay» valida o bloco e encaminha a proposta de maior valor para o proponente. O proponente seleciona a proposta vencedora (normalmente aquela que lhe paga mais), assina o cabeçalho do bloco e o «relay» publica o bloco completo na rede.
Mais de 90% Ethereum são agora produzidos através deste fluxo de trabalho PBS. O sistema profissionalizou a ordenação das transações a um nível que teria sido inimaginável nos primórdios da rede. A construção de blocos tornou-se um negócio competitivo e de elevado investimento, em que um pequeno número de construtores produz a maioria dos blocos com base na sua capacidade de extrair e distribuir MEV de forma eficiente.
Flow de ordens privadas
Uma das evoluções mais significativas na ordenação de transações é o aumento do flow de ordens privadas. Em vez de transmitirem as transações para o mempool público (onde ficam visíveis para os bots de front-running), os utilizadores podem enviar as transações diretamente aos construtores através de canais privados. Serviços como o Flashbots Protect, o MEV Blocker e os retransmissores de transações privadas aceitam as transações dos utilizadores e encaminham-nas para os construtores sem as expor ao mempool público.
flow de ordens privado flow os utilizadores contra ataques de «sandwich» (uma vez que os bots não conseguem ver a transação para a anteciparem), mas cria novas dinâmicas no mercado da construção de blocos. Os construtores com acesso a flow de ordens privado exclusivo flow uma vantagem competitiva, pois podem construir blocos mais valiosos do que os construtores limitados às transações públicas do mempool. Isto levou a uma concentração da construção de blocos num pequeno número de construtores com as melhores flow de ordens, suscitando preocupações quanto à centralização num sistema concebido para ser descentralizado.
Ordenação de transações noutras cadeias
Solana a ordenação das transações de forma diferente devido à sua arquitetura. Não existe um mempool tradicional. As transações são enviadas diretamente para o líder atual (o validador responsável pela produção do bloco do slot atual). O líder determina a ordenação, e o protocolo Gulf Stream Solana encaminha as transações antecipadamente para o próximo líder. Isto reduz alguns vetores de ataque MEV (como o tradicional «mempool sniping»), mas confere ao líder um poder significativo de ordenação durante o seu slot.
Os rollups de Camada 2, como Arbitrum, Base e Optimism , utilizam Optimism sequenciadores centralizados que ordenam as transações segundo o princípio «primeiro a chegar, primeiro a ser servido». O sequenciador recebe as transações, ordena-as por hora de chegada e agrupa-as em lotes para envio para Ethereum . Este modelo reduz o MEV baseado na ordenação em comparação com Ethereum , mas concentra o poder de ordenação numa única entidade. Os esforços para descentralizar os sequenciadores, incluindo redes de sequenciamento partilhadas e mecanismos de rotação de sequenciadores, constituem áreas ativas de desenvolvimento.
De que forma a ordenação das transações gera MEV?
Como é o produtor do bloco que escolhe a sequência das transações, essa própria sequência torna-se uma fonte de lucro. Reordenar, inserir ou censurar transações permite capturar valor que, de outra forma, iria para os utilizadores comuns, e esse valor capturado é designado por MEV. Um operador que detete uma transação de swap de grande valor no mempool pode colocar uma ordem de compra imediatamente antes dela e uma ordem de venda imediatamente a seguir, para lucrar com o impacto no preço. A razão mais profunda pela qual isto é possível é estrutural: enquanto alguém controlar a ordenação e as transações forem visíveis antes de serem executadas, a oportunidade existe, e é exatamente por isso que o MEV existe.
Em que medida a ordenação das transações difere entre as diferentes blockchains?
Cada cadeia atribui o poder de ordenação a um interveniente diferente, o que altera o nível de exposição dos utilizadores ao MEV. Ethereum «builders» e «proposers», Solana o controlo ao líder atual e a maioria dos rollups depende de um único «sequencer». A tabela abaixo compara os três modelos.
Corrente
Mecanismo de encomendas
Exposição ao MEV
Ethereum
Ordem das construtoras por valor total através da PBS
Elevado; ataques de arbitragem e «sandwich» são comuns
Solana
Ordens do líder atual, sem mempool público
Menos «sniping» no mempool, mas o líder continua a controlar a ordem
Rollups de L2 (Arbitrum, Base)
Sequenciador centralizado, por ordem de chegada
MEV de reordenação reduzido, mas o sequenciador é considerado fiável
Quais são os principais tipos de extração de valor com base em encomendas?
Nem toda a extração de valor baseada na ordenação é prejudicial. Algumas formas mantêm a eficiência dos mercados, enquanto outras ocorrem diretamente em detrimento do utilizador que é submetido a essa ordenação. A tabela abaixo resume as categorias mais comuns que os utilizadores de motores de busca procuram.
Tipo MEV
O que faz
Quem é afetado
Arbitragem
Lucros decorrentes das diferenças de preço entre diferentes mercados ou plataformas
Na sua maioria, de natureza benigna; harmoniza os preços
Liquidação
Reembolsa empréstimos com garantia insuficiente para receber um bónus
Mutuários near do near limite
Sanduíche
Operações de «front-run» e «back-run» e a troca de vítimas
Operadores no mempool público
Retrocesso
Inserir uma transação imediatamente a seguir a um alvo
Varia; frequentemente benigno
É possível proteger as transações contra uma ordenação prejudicial?
Sim, em grande medida. A defesa mais simples consiste em manter uma transação fora do mempool público, encaminhando-a através de um flow privado flow de ordens, para que os bots de front-running nunca a vejam antes da sua execução. A definição de limites rigorosos de slippage também limita o montante que um «sandwich» pode extrair. Estas abordagens, juntamente com a investigação sobre ordenação justa e os mempools encriptados, fazem parte de um conjunto mais vasto de estratégias de mitigação do MEV que visam proteger os utilizadores sem sacrificar a abertura da rede.
Perguntas frequentes
A ordenação das transações é o mesmo que o princípio «primeiro a chegar, primeiro a ser atendido»?
Normalmente, não. Na maioria das blockchains, o produtor de blocos pode organizar as transações incluídas em qualquer ordem válida, pelo que a hora de chegada não garante a ordem de execução. Atualmente, alguns sequenciadores de Camada 2 ordenam as transações por hora de chegada, mas essa é uma característica desses sistemas específicos, não das blockchains em geral.
O facto de pagar uma taxa mais elevada garante que a minha transação seja processada em primeiro lugar?
Aumenta as suas hipóteses, mas não garante a posição. Uma taxa de prioridade mais elevada aumenta a probabilidade de inclusão e de colocação mais cedo; no entanto, os criadores otimizam com base no valor total de todo o bloco, pelo que um pacote que pague mais no total pode ainda assim ter prioridade sobre a sua transação individual.
A ordenação das transações está relacionada com a finalidade?
Estão relacionados, mas são distintos. A ordenação determina a sequência dentro de um bloco, enquanto a finalidade determina quando esse bloco já não pode ser revertido. Uma transação pode ser ordenada e incluída, mas ainda assim ser revertida se o bloco for reorganizado antes de se tornar definitiva.
A ordem das transações pode alterar-se após a criação de um bloco?
Dentro de um único bloco, não; a ordem fica fixa assim que o bloco é assinado. Mas o próprio bloco pode ser substituído durante uma reorganização da cadeia, o que pode eliminar ou reordenar transações em relação à cadeia canónica até que se alcance a finalidade.
As camadas 2 eliminam o MEV?
Não totalmente. Um sequenciador centralizado que ordena as transações por ordem de chegada reduz o MEV de reordenação comum na Ethereum , mas concentra o poder de ordenação num único operador e não elimina todas as formas de extração. A descentralização dos sequenciadores é uma área de investigação ativa que visa resolver esta questão.
Como é que Quicknode nisto
A ordenação das transações afeta todas as aplicações que enviam ou monitorizam transações numa blockchain. A API Core Quicknode fornece o acesso RPC de baixa latência de que os programadores necessitam para enviar transações com uma estimativa precisa das taxas e um timing exato. Os tempos de resposta rápidos garantem que as transações da sua aplicação chegam à rede com um atraso mínimo, o que é especialmente importante em ambientes competitivos, onde os milissegundos determinam o posicionamento das transações.
Para aplicações que necessitam de monitorizar a forma como as transações são ordenadas e incluídas, Quicknode Streams fornece dados de blocos em tempo real com entrega garantida e processamento por ordem de finalidade. Ao transmitir dados de transações filtrados de acordo com os seus contratos e endereços, pode analisar padrões de ordenação, detetar atividade MEV que afete os seus utilizadores e criar sistemas que respondam às dinâmicas ao nível do bloco em tempo real. A infraestrutura Quicknode garante que a sua aplicação tenha a velocidade, a fiabilidade e o acesso aos dados necessários para lidar com as complexas realidades da ordenação moderna de transações.