Glossário

Front Running

Moderate

Front running é quando você coloca lança uma transação por ter conhecimento de uma transação futura.

O que é Front Running?

Front running é o ato de colocar uma transação em uma fila sabendo de uma transação futura. Front running em uma plataforma blockchain normalmente acontece quando um minerador que tem acesso a informações sobre transações pendentes lança uma ordem que lhe renderá um lucro com base nesta negociação pendente. Por exemplo, na blockchain do Ethereum, front running pode ocorrer quando os bots conseguem cotar um preço de gás mais alto do que uma negociação pendente, acelerando assim seu processamento.

Outras partes capazes de executar o front running são os operadores de nó completo, que são partes encarregadas de monitorar as atividades da rede e, portanto, têm conhecimento de transações não confirmadas. As corretoras centralizadas também podem realizar front running, no entanto, seria contra seu melhor interesse enganar seus próprios clientes. Front running também pode ser orquestrado através de outros métodos. O front running generalizado explora chamadas de contrato potencialmente lucrativas.

Outros tipos de ataques incluem deslocamento, inserção e supressão. Com um ataque de deslocamento, o ator mal-intencionado desloca uma transação genuína com a sua própria. Embora a transação original ainda possa ser executada, ela não terá o efeito positivo pretendido. Por outro lado, um ataque de inserção intercala uma transação genuína entre duas transações com o objetivo de obter lucro sem manter um ativo.

O ataque de supressão destina-se a atrasar a execução das transações de outros. A transação é liberada quando o front runner não tem mais interesse em mantê-la.

O front running pode ser mitigado pelo sequenciamento das transações e pela melhoria da confidencialidade das transações. O sequenciamento de transações é alcançável por meio de implementações como a Regra de Ordem de Transação Canônica, como a empregada por BCH (Bitcoin Cash). A confidencialidade, por outro lado, é aplicável em diferentes seções de um aplicativo descentralizado (DApp).