NeonLabs - #daily-knowledge [RU] Front-Running
Front-Running [Опережение] - это действие по размещению транзакции в очереди со знанием будущей транзакции. Забегание вперед на платформе блокчейн обычно происходит, когда майнер, имеющий доступ к информации об ожидающих сделках, размещает ордер, который принесет ему прибыль на основе ожидающей сделки. Например, на блокчейне Ethereum опережающее движение может происходить, когда боты способны предложить более высокую цену на газ, чем цена отложенной сделки, тем самым ускоряя ее обработку.
Другими сторонами, способными осуществлять опережающие действия, являются операторы полных узлов, которым поручено следить за деятельностью сети и, следовательно, знать о неподтвержденных транзакциях. Централизованные биржи также могут проводить опережающие операции, однако обманывать своих клиентов было бы не в их интересах. Front-Running может быть организован и другими методами. Обобщенный Front-Running использует потенциально прибыльные звонки по контрактам.
Другие типы атак включают вытеснение, вставку и подавление. При атаке вытеснения злоумышленник вытесняет настоящую транзакцию своей собственной. Хотя оригинальная транзакция может быть запущена, она не будет иметь того положительного эффекта, который предполагался. С другой стороны, при атаке вставки подлинная транзакция помещается между двумя транзакциями с целью получения прибыли без удержания актива.
Атака подавления предназначена для того, чтобы задержать других от проведения транзакции. Когда удержание снимается, бегущий впереди меньше беспокоится о подавленной сделке.
Атака на опережение может быть ослаблена путем установления последовательности транзакций и повышения конфиденциальности транзакций. Последовательность транзакций достижима с помощью таких реализаций, как правило канонического упорядочивания транзакций, подобное тому, которое используется в BCH (Bitcoin Cash). Конфиденциальность, с другой стороны, применима к различным разделам децентрализованного приложения (DApp).
Официальные ссылки на NeonLabs:
Discord: https://discord.gg/5ynFYfa9TU
Twitter: https://twitter.com/neonlabsorg
Telegram: https://t.me/Neonlabsorg
GitHub: https://github.com/neonlabsorg
Reddit: https://www.reddit.com/r/neonlabsorg/
Medium: https://neonlabsorg.medium.com/