Гість: Zihao Li, аспірант Гонконгського політехнічного університету
Організатор: aididiao.eth, Foresight News
Ця стаття є коротким викладом відео, яке опублікував Zihao Li, докторант Політехнічного університету Гонконгу в програмі Web3 Young Scholars. Програма молодих науковців Web3 спільно запущена DRK Lab, imToken і Crytape. Вона запрошує відомих молодих науковців у галузі шифрування, щоб поділитися деякими з останніх результатів досліджень із китайською спільнотою.
Привіт усім, я Зіхао Лі, студент третього курсу докторантури Політехнічного університету Гонконгу. Тема, про яку я поділюся сьогодні, це «Виявлення активності MEV у пакеті транзакцій Ethereum». Простіше кажучи, це те, як виявити невідомі типи активності MEV у мережі Ethereum за допомогою пакетів транзакцій. По-перше, я дам відносно базові відомості, такі як концепція MEV, механізм пакету транзакцій і передумови нашої роботи. Потім я докладно представлю весь робочий процес і деякі ідеї дизайну, наприклад, на яких принципах розроблено робочий процес; які наші набори даних; які інструменти ми використовуємо для оцінки нашого робочого процесу за якими показниками тощо. Нарешті, я представлю три програми, включаючи відповідні результати емпіричного аналізу.
Передумови: MEV, пакет транзакцій, мотивація
Діяльність MEV стосується арбітражів у блокчейні, які генерують арбітражні транзакції шляхом моніторингу мережі блокчейну, включаючи статус блоку. Деяка інформація про транзакції поширюється в мережі P2P блокчейну, або деякі транзакції, які не були офіційно зареєстровані в ланцюжку, зберігаються в пулі транзакцій майнерів або валідаторів.Коли арбітражер відстежує цю інформацію про транзакції, він використовує певні стратегії для створення власних арбітражну торгівлю, а потім вкажіть арбітражну торгівлю на певній позиції в наступному блоці, наприклад, вона має бути на початку наступного блоку, або виконайте стратегічну транзакцію одразу після певної транзакції, щоб поширити ту саму арбітражну торгівлю. Таким чином, ми можемо розглядати арбітражну діяльність на певній позиції як діяльність MEV. Наприклад, якщо арбітражер стежить за коливаннями цін на активи, він може придбати відповідні активи в торговому пулі з низькою ціною, а потім продати їх за високою ціною в іншому фонді з високою ціною. Це вважається MEV діяльність.
Діяльність MEA наразі в основному здійснюється арбітражерами навколо екосистеми DeFi, оскільки екосистема DeFi наразі в основному збирає активи.Наразі Ethereum, включаючи інші ланцюгові екосистеми DeFi, залучив понад 40 мільярдів доларів США коштів. Тут ми повинні згадати концепцію екосистеми DeFi, яка називається дією DeFi, яка відповідає атомарній операції служби, що надається програмою DeFi. Наприклад, ми знаємо, що AMM підтримує обмін між різними типами активів, і користувачі можуть продати суму USDC, а потім отримати суму ETH.Таку операцію можна визначити як дію DeFi. Ми можемо використовувати дію DeFi для вираження активності MEV. Наприклад, якщо користувач виявляє різницю в цінах активів на різних AMM, він може купувати дешево та продавати дорого, і врешті-решт отримати прибуток від різниці в ціні. Ми можемо виразити цю активність MEV як дві дії DeFi.
Наразі академічні дослідження активності MEV в основному поділяються на три категорії, а саме сендвіч-атаки, зворотний арбітраж і ліквідація. У наборі даних, над яким ми працюємо, ми виявили, що ці три типи діяльності MEV з’являються понад 1 мільйон разів. Тут насправді виникає проблема, коли ми знаємо визначення цих дій MEV, як ідентифікувати виникнення дій. Якщо ми хочемо ідентифікувати ці дії MEV, нам потрібно визначити всі дії арбітражера, наприклад, які транзакції генерує арбітраж і які типи арбітражу включені в ці транзакції. Тоді ми можемо визначити, який тип активності MEV зараз відбувається ., і весь процес значною мірою залежить від нашого визначення відомої активності MEV. Візьмемо як приклад сендвіч-атаку. Після того, як ми знаємо визначення сендвіч-атаки, якщо ми хочемо визначити арбітражну вартість сендвіч-атаки та її відповідних арбітражних транзакцій, нам потрібно встановити багато правил на основі визначення, а потім відфільтрувати потенційні сендвіч-атаки за цими правилами. Коли таким чином ідентифікувати відомі типи атак MEV, виникає два питання. Перше питання полягає в тому, чи три поширені дії MEV, які ми знаємо, можуть представляти всі дії MEV? Очевидно, що ні, оскільки екосистема DeFi постійно розвивається, постійно розробляються нові програми, а стратегії цих арбітражників фактично постійно змінюються. Друге питання полягає в тому, як ми можемо виявити ці невідомі дії MEV. Давайте розглянемо механізм пакета транзакцій, маючи на увазі це питання.
Механізм пакету транзакцій вперше був запропонований у 2021 році. Простіше кажучи, користувачі можуть організувати чергу транзакцій. Довжина цієї черги транзакцій може складати одну транзакцію або кілька транзакцій, а потім користувач надсилає ці транзакції в мережу блокчейну. Ретранслятор збирає ці транзакції та надсилає їх безпосередньо та приватно відповідним майнерам або верифікаторам. Наразі ретранслятори запускатимуть пакети транзакцій для виконання завдань ретрансляції. Механізм пакета транзакцій має дуже важливу функцію. Коли ці користувачі створюють пакет транзакцій, вони можуть поміщати транзакції інших людей, які не були завантажені в ланцюжок, у пакет транзакцій, а порядок транзакцій у пакеті транзакцій можна довільно маніпулювати. . У цей час користувач торгового пакету або арбітражер, який використовує торговий пакет, може розробити свої арбітражні правила. Наприклад, він може розробити більш складну та більш прибуткову стратегію діяльності MEV. Беручи як приклад сендвіч-атаку, якщо пакет транзакцій не використовується, арбітражеру в сендвіч-атаці потрібно згенерувати принаймні одну пару транзакцій для досягнення арбітражу, і ця пара арбітражних транзакцій може бути націлена лише на цю одну транзакцію. Арбітраж, згенерований цією транзакцією атаки, повинен виконуватися в певному порядку, щоб забезпечити його успішне арбітражування. Але якщо арбітражер використовує торговельний пакет, він може збирати багато транзакцій, які можуть бути арбітражними.Йому потрібно лише використовувати пару відповідних арбітражних транзакцій, щоб генерувати арбітраж на кількох транзакціях одночасно. Поки цей пакет транзакцій знаходиться в ланцюжку, він безумовно досягне успіху в арбітражі, і оскільки він арбітражує кілька арбітражних транзакцій одночасно, результати його арбітражу також будуть більш прибутковими.
Торговий пакет характеризується дуже насиченою та складною діяльністю MEV. Оскільки користувач, який використовує пакет транзакцій, інкапсулює свою повну транзакцію в пакет транзакцій, потім надсилає її до ретранслятора мережі P2P і, нарешті, надсилає відповідним майнерам і верифікаторам. Ми можемо точно й повністю ідентифікувати всі дії за допомогою пакетів транзакцій. Тому ми можемо точніше ідентифікувати деякі невідомі дії MEV через носій пакета транзакцій.
Ідеї робочого процесу та дизайну
Далі детально познайомимося з нашим робочим процесом. Як ми виявляємо невідомі дії MEV через таке середовище, як пакет транзакцій? Основний робочий процес включає два інструменти. Спочатку ми використовуємо інструмент ActLifter для визначення кожної дії DeFi у пакеті транзакцій після того, як ретранслятор збере пакет транзакцій. Після отримання результату ми виражаємо всі дії в пакеті транзакцій. Потім скористайтеся інструментом ActCluster, щоб зібрати разом пакети транзакцій із подібними діями за допомогою методу кластеризації та швидше виявити нові дії MEV за результатами кластеризації. Якщо ми хочемо виявити невідомі дії MEV, неминуче вручну перевірити, чи є діяльність MEV невідомим типом. Звичайно, мета нашої роботи полягає в тому, щоб мінімізувати навантаження вручну, наскільки це можливо, і зробити весь процес Виконайте автоматично.
Уже існують інструменти, які можуть ідентифікувати активність MEV за транзакціями. Ми можемо приблизно розділити його на дві категорії. Перша категорія — це суто ручні підсумкові правила; друга категорія — суто евристичні правила, тобто використання суто автоматизованих евристичних правил для ідентифікації конкретних типів дій MEV. Наприклад, після ідентифікації певної поточної інформації про передачу, він перевіряє, чи виконуються евристичні правила.Якщо так, він може ідентифікувати відповідну дію. Перший метод суто ручного зведення правил може досягти відносно високої точності, оскільки цей процес є повністю ручним аналізом конкретних програм, і тоді він може гарантувати, що результати виявлення точні, але завдання аналізу вимагає дуже великого робочого навантаження, тому це не може охопити всі програми DeFi. Хоча друге завдання може бути повністю автоматизованим, евристичні правила можуть охоплювати лише деякі конкретні типи. З іншого боку, існують деякі проблеми в розробці евристичних правил, що призводить до незадовільної точності розпізнавання.
Ми розробили наш робочий процес, поєднавши переваги обох методів. Ми можемо визначити десять основних дій DeFi. Нам потрібно лише вручну визначити, яка подія в додатку DeFi відповідає якому типу дії DeFi після її ініціювання, тому нам не потрібен ручний аналіз, і ми можемо повністю передати його автоматичному аналізу пізніше. Другий тип методу може повністю автоматично ідентифікувати дії DeFi, але він не може визначити, чи пов’язаний аналізований об’єкт з діяльністю MEV. Наприклад, якщо ми розпізнаємо переказ SWAP, він може розпізнати комбінацію двох абсолютно не пов’язаних переказів як дію DeFi.Зрозуміло, результат його розпізнавання буде неправильним. Але ми можемо використовувати цю інформацію, щоб відфільтрувати інформацію, яка справді стосується дій DeFi. Отримавши цю інформацію, ми можемо уникнути деяких помилок, подібних до тих, які виникають у другому типі методу за допомогою автоматизованих методів.
Наприклад, тут є транзакція, яка включає в себе чотири перекази, порядковими номерами позначені порядок їх виникнення, сума та категорія коштів. У цьому процесі AMM фактично ініціював подію, пов’язану з дією Swap. Після того, як перший тип методу визначає, що подія ініційована, йому потрібно відновити поточний вміст за допомогою деяких параметрів події. Наприклад, йому потрібно переглянути код, бізнес-логіку та деякі функціональні змінні контракту 699, щоб відновити поточний вміст. Отримавши цю інформацію, ми розробили правило на основі його унікальних характеристик передачі активів. Наприклад, правило, яке ми вдосконалили, полягає в тому, що поточний контракт, який керує DeFi, отримує та передає різні типи активів. Коли ми виявили, що було два таких після Передача активу відповідає таким характеристикам, ми можемо відновити відповідний вміст дії Swap. Другий тип методу безпосередньо збігає два передачі активів. Два рахунки передачі активів отримують і передають різні типи активів. Він розглядатиме перший і п’ятий перекази як пару пов’язаних переказів, а обліковий запис посередині розглядатиме як AMM. Очевидно, ми можемо інтуїтивно побачити, що результат розпізнавання є неточним.
Правила, які ми узагальнили за допомогою ручного аналізу, є типами дій DeFi, що відповідають відповідним подіям. Хоча результати підсумовуються за допомогою ручного аналізу, ми все одно намагаємося вдосконалити процес ручного аналізу в напівавтоматичний процес, щоб забезпечити надійність усього процесу. Ми будемо запитувати офіційний веб-сайт і документацію для розробників програм DeFi, включаючи вихідні коди деяких контрактів, на офіційних веб-сайтах DeFiPulse.com і Dapp.com. Ми розробляємо інструменти синтаксичного аналізу, які можуть витягувати деякі описи подій у документах із цих залучених матеріалів, наприклад, як ця подія визначається за допомогою маркерів і в яких функціях, фрагментах коду та коментарях коду, де ці події використовуються. Після того, як ми витягли ці речі, шляхом аналізу та обговорення вручну, ми нарешті визначили, що існує 88 подій, які відповідають різним типам дій DeFi.
Ми вводимо транзакцію для аналізу в цей словник і аналізуємо, які події відбулися в транзакції. Потім, коли подія з’являється в цьому словнику, ми витягуємо ключову інформацію відповідно до відповідних правил, наприклад, який контракт керує цією дією DeFi, який це тип DeFi і які передачі активів пов’язані з цією дією DeFi. Отримавши такий вміст, ми підсумуємо характерні правила передачі активів, а потім використаємо це правило для відповідності кінцевій дії DeFi. Починаючи з десяти визначень дії DeFi, ми підсумовуємо характерні правила передачі активів. Після того, як ми зберемо цю інформацію на попередньому кроці, ми використаємо ці правила зіставлення, щоб виконати зіставлення, що зрештою допоможе нам визначити, який конкретний вміст DeFi відбувся в цій транзакції. Після того як ActCluster розпізнає кожну транзакцію в пакеті транзакцій, ми можемо виразити поведінку пакета транзакцій.
Давайте спочатку розберемося з принципами проектування ActCluster. Ми знаємо, що ручний аналіз неминучий у цьому процесі, і він повинен покладатися на ручну працю, щоб визначити, чи є активність пакета транзакцій невідомим типом активності MEV. Виходячи з цього, наша основна ідея полягає в тому, щоб згрупувати кілька пакетів транзакцій зі схожими діями. Для кожного кластера нам потрібно лише випадковим чином відібрати один або кілька пакетів транзакцій для аналізу, що може пришвидшити процес ручного аналізу та зрештою виявити різні типи дій MEA. Коли ми використовуємо кластерний аналіз для кластеризації пакетів транзакцій, ми стикаємося з дилемою. Коли ми встановлюємо потужність кластеризації пакетів транзакцій відносно грубо, пакети транзакцій, що містять різні типи дій, будуть кластеризовані разом. У цей час, хоча кількість кластерів стане меншою, відповідні завдання аналізу вручну також стануть меншими. Менше, але деякі нові заходи MEV будуть пропущені. Якщо ми налаштуємо інтенсивність кластеризації, щоб бути більш детальною, хоча ми можемо виділити деякі пакети транзакцій, що відповідають подібним, але різним видам діяльності MEA, робоче навантаження на ручний аналіз значно збільшиться.
Базуючись на такій проблемі, ми розробили метод ітераційного аналізу кластеризації, який виконує аналіз кластеризації за кілька ітерацій. У кожному раунді ми будемо видаляти відомі пакети транзакцій, що містять нові MEV-активності, виявлені в попередніх раундах, а потім покращуватимемо міцність кластеризації решти пакетів транзакцій. Ми не можемо безпосередньо використовувати традиційні методи кластеризації для кластеризації пакетів транзакцій, оскільки пакети транзакцій насправді містять кілька транзакцій, а одна транзакція може містити кілька дій DeFi. Якщо ми виражаємо весь пакет транзакцій, то його структура насправді неоднорідна та ієрархічна. Зараз ми використовуємо метод навчання представлення, щоб представити вміст цього пакета транзакцій у просторі позиціонування. Перевага використання навчання репрезентації полягає в тому, що нам не потрібно проводити поглиблене вивчення та розуміння даних, які ми хочемо аналізувати та обробити, а також нам не потрібні багаті знання предметної області. Нам потрібно лише виконувати просту обробку, орієнтовану на дані.
Наприклад, нам потрібно лише позначити пакет транзакцій, які дії MEV включені в пакет транзакцій. Якщо ми знаємо визначення діяльності MEV, нам легше розробити відповідні правила та автоматично визначити, чи вона існує. Ми можемо автоматично позначати ці пакети транзакцій, щоб представляти навчання. Наш кластерний аналіз є ітераційним типом, і після кожної ітерації ми можемо відкривати нові дії MEV. У цей час ми можемо фактично збагачувати мітки, що відповідають цим нещодавно виявленим діям MEV, у наш процес навчання репрезентації. Коли мітки, які використовуються в нашому процесі навчання представленням, збагачуються, продуктивність і ефективність усього навчання моделі навчання представленням можна ітераційно покращувати, і це навчання представлення може ітеративно покращувати здатність представлення діяльності пакета транзакцій. Насправді в пакеті транзакцій може бути кілька транзакцій, і в одній транзакції може бути кілька дій DeFi. Нам потрібно виразити пакет транзакцій. Перш за все, для кожного типу дії DeFi ми визначаємо стандартизований параметр, наприклад, який діючий контракт, а потім яка сума та тип активів, отриманих і переданих? Таким чином ми визначаємо кожну дію DeFi. Якщо ми визнаємо, що в транзакції є кілька дій DeFi, ми представляємо їх за допомогою блоків дій, щоб можна було представити блок транзакції, що відповідає транзакції, включаючи інформацію про джерело транзакції, наприклад, хто ініціював транзакцію, і напрям Кому це було надіслано? Коли в транзакції відбувається дія DeFi, ми заповнюємо її блоками дій по порядку. Кожна транзакція представлена блоком транзакцій, і, нарешті, ми отримуємо структуру пакету транзакцій, яку можна розглядати як матрицю. Після представлення цього пакета транзакцій ми можемо використовувати його для вивчення представлень. Кожен пакет транзакцій є уніфікованою структурою, і тоді ми можемо використовувати модель для пакетної обробки.
Оцінка ефективності
Далі ми поділимося методами, які використовували для оцінки продуктивності робочого процесу. Набір даних для всього процесу аналізу здійснюється через API, наданий Flashbots, і збираються дані пакетів транзакцій з лютого 2021 року по грудень 2022 року, включаючи понад 6 мільйонів пакетів транзакцій і 26 мільйонів транзакцій.
Ми розробили кілька інструментів для порівняння точності та повноти дій DeFi. Тут слід зазначити, що серед цих мережевих інструментів наразі лише Etherscan може відновити дію DeFi у транзакції через свою веб-сторінку та інформацію, яку вона надає. Як і DeFiRanger, ми відтворюємо їхній метод на основі їхньої статті. Крім того, ми розробили інструмент під назвою EventLifter, щоб спробувати відновити дії DeFi безпосередньо з подій транзакцій. Ми тестували ActLifter у різних конфігураціях і використовували різноманітні інструменти для порівняння точності розпізнавання. Для ActCluster наша головна ідея полягає в тому, щоб використовувати навчання абляції. Для нових дій, які ми можемо ідентифікувати після видалення деяких модулів ActCluster, якщо ми все ще хочемо ідентифікувати деякі нові дії, які не були виявлені, скільки ручного аналізу нам потрібно Наскільки великий він торговий пакет або робоче навантаження нашого ручного аналізу. Наприклад, ми видалили динамічне оновлення міток у модулі навчання репрезентації ActCluster. Ми фактично видалили весь процес. Ми випадково відібрали 6 мільйонів пакетів транзакцій, а потім побачили, скільки пакетів транзакцій нам доведеться проаналізувати вручну, щоб знайти таку саму кількість нової активності MEV.
Наші інструменти можуть досягти майже 100% точності та повноти за умови однакової конфігурації. Але, як і інші інструменти, такі як Etherscan, хоча його точність може досягати 100%, що є цілком задовільним, він пропускатиме багато дій DeFi. Сам Etherscan не має методу з відкритим вихідним кодом. Ми припускаємо, що він може використовувати ручний аналіз для узагальнення правил для ідентифікації дій DeFi. Відповідно, він пропускатиме деякі типи, які неможливо охопити вручну. Тут слід зазначити, що Etherscan насправді не надає автоматизованого інтерфейсу.Якщо ви хочете виконати масштабну ідентифікацію, ви не можете виконати таке завдання безпосередньо. Точність і повнота DeFiRanger, який повністю ідентифікується прихованими правилами, незадовільна. Поекспериментувавши з ActCluster, ми виявили, що за допомогою чотирьох раундів ітераційного аналізу нам потрібно проаналізувати лише 2000 пакетів транзакцій, щоб знайти 17 невідомих дій MEV. Після видалення деяких із цих модулів нам може знадобитися вручну проаналізувати до 170 000 пакетів транзакцій, щоб ідентифікувати щойно згадані 17 невідомих дій MEV.
Емпіричний аналіз і застосування
Які конкретні застосування нашого методу ідентифікації невідомих типів активності MEV? По-перше, чи зможе він покращити існуючі заходи пом’якшення наслідків MEV і зможе захистити від деяких видів діяльності MEV. По-друге, використовувати результати аналізу, щоб побачити, чи можемо ми більш повно проаналізувати вплив діяльності MEV на екологію блокчейну, включаючи вплив на форк і реорганізацію блокового лісу та фінансову безпеку користувачів.
Раніше ми згадували, що зловмисники мережі MEV boost запускатимуть інструменти для отримання пакетів транзакцій від користувачів, а потім нарешті розповсюджуватимуть їх майнерам і валідаторам, які їх з’єднують. Ретранслятори видаляють пакети транзакцій, які містять дії MEA, з пакетів транзакцій, які вони отримують. Таким чином вони можуть зменшити деякі негативні впливи дій MEA на блокчейн. Основна ідея цього посилання полягає в тому, щоб розробити відповідні правила через визначення існуючих дій MEV, щоб виявити, чи включені дії MEV у пакет транзакцій. Очевидно, що ці ретранслятори не можуть виключити деякі пакети транзакцій, що містять невідомі дії MEV. На основі нашого робочого процесу ми розробили інструмент MEVHunter, який може виявити новий тип активності MEV, який ми виявили в пакеті транзакцій.
Результати виявлення показують, що більше 1 мільйона торгових пакетів містять дії MEV зворотного арбітражу, а 30% з інших 6 мільйонів торгових пакетів містять три відомі дії MEV. Щодо нашої нещодавно відкритої діяльності MEV, ми виявили, що майже половина пакетів транзакцій містила лише ці нові дії MEV. Якщо ретранслятори використовують інструмент MEVHunter, це може допомогти їм відфільтрувати 3 мільйони пакетів транзакцій, що містять дії MEV, а потім вони можуть видалити ці пакети транзакцій, щоб зменшити негативний вплив діяльності MEV на блокчейн.
Друга заявка призначена для вивчення впливу нових типів активності MEV на блокчейн-форки та реорганізації. У деяких попередніх дослідженнях повідомлялося, що деякі фінансові майнери будуть мотивовані перевагами деяких заходів MEV до розгалуження та реорганізації поточного блокчейну, самостійно проводити діяльність MEV і користуватися перевагами. Наприклад, коли дохід блоку від активності MEV у 4 рази перевищує винагороду за блок, не менше 10% майнерів зроблять форк і реорганізують блок.
Спочатку ми визначаємо, які пакети транзакцій містять нові MEV-активності, на основі щойно згаданого інструменту MEVHunter, а потім оцінюємо відповідну інтенсивність цих MEV-дій через дохід майнерів у цих пакетах транзакцій. Ось концепція, яку потрібно представити. У механізмі пакетів транзакцій, щоб гарантувати, що їхні пакети арбітражних транзакцій можна завантажити в ланцюг, ці арбітражери зазвичай діляться частиною доходів від діяльності MEV з майнерами, а потім майнери остаточно виберуть пакет транзакцій з найвищим прибутком для завантаження в ланцюжок. Ми можемо використовувати цей дохід для рівномірної оцінки активності MEV у кожному пакеті транзакцій. Згідно з нашими статистичними результатами, існує більше ніж 900 блоків, у яких дохід від MEV у чотири-вісім разів перевищує винагороду за блок, а є ще один блок, у якого винагорода від MEV навіть у 700 разів перевищує винагороду за блок. Ми використовуємо систему прийняття рішень Маркова, щоб визначити мінімальну кількість майнерів, яких можна спонукати виконувати блокові форки та реорганізації, враховуючи дохід MEV. Нарешті ми виявили, що існує понад 1000 блоків, які можуть спонукати не менше 10% майнерів робити форки та реорганізації блоків. Для найсерйознішого блоку не менше 6 з 10 000 майнерів відповідають за розгалуження та реорганізацію блоку.
Третя програма полягає в дослідженні впливу діяльності MEV на фінансову безпеку користувачів блокчейну. Діяльність MEV може призвести до збільшення часу очікування транзакцій користувачів блокчейну, які будуть завантажені в ланцюжок пулу транзакцій або мережі P2P. Це також є однією з основних загроз фінансовій безпеці користувачів, спричинених діяльністю MEV. Якщо транзакції користувачів затримуються в ланцюжку, арбітражери матимуть більше часу для розробки складніших і прибутковіших заходів MEV. Третє застосування — це порівняння впливу активності MEV на час очікування транзакцій користувача для остаточного завантаження в ланцюг. Першим кроком є збір часу очікування транзакції. В основному ми розгортаємо вузли в мережі, потім записуємо час, коли транзакція вперше виявлена в мережі, час, коли транзакція остаточно завантажується в ланцюжок, і, нарешті, обчислюємо час, який потрібно чекати. Ми використовуємо три квартилі часу очікування всіх транзакцій у кожному блоці для створення статистики, щоб ми могли організувати час очікування транзакцій у часові ряди для кожного блоку. Тоді відповідна активність MEV у кожному блоці також характеризується доходом, отриманим майнерами в кожному блоці від пакета транзакцій, що містить нову активність MEV. Таким чином, ми отримуємо кілька часових рядів. Ми оцінюємо вплив активності MEV на час торгівлі за допомогою тесту причинності Грейнджера. Тест причинності може визначити, чи призводять коливання в одному часовому ряді до коливань в іншому часовому ряді, і в якому діапазоні це впливає або викликає інші часові ряди. Коли активність MEV коливається, чи призводить це до збільшення часу очікування транзакцій користувачів і на скільки наступних блоків це відчується?
Коли значення P тесту на причинність менше або дорівнює 0,5, це означає, що час очікування транзакцій у цьому блоці подовжено впливом попередніх дій MEV. Згідно з результатами аналізу можна виявити, що коли відбувається активність MEV, 50% часу очікування транзакції в наступних двох блоках буде подовжено. Після того, як відбудеться активність MEV, 25% часу очікування транзакції в наступних 30 блоках буде подовжено. Майнери або валідатори поміщають транзакції з відносно низькою комісією за газ у кінець інкапсульованого блоку. Чим нижча комісія за газ транзакції користувача, тим більшим буде вплив діяльності MEV, а час очікування подовжиться.
На завершення ми спочатку поділилися тим, як знайти невідомі дії MEV за допомогою робочого процесу та детально розробили два модулі робочого процесу. Потім ми перевірили ефективність робочого процесу за допомогою емпіричного аналізу та перерахували три програми. Наразі ми виявили 17 нових дій MEV за допомогою робочих процесів.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Демістифікація невідомого типу MEV у пакеті транзакцій Ethereum
Гість: Zihao Li, аспірант Гонконгського політехнічного університету
Організатор: aididiao.eth, Foresight News
Ця стаття є коротким викладом відео, яке опублікував Zihao Li, докторант Політехнічного університету Гонконгу в програмі Web3 Young Scholars. Програма молодих науковців Web3 спільно запущена DRK Lab, imToken і Crytape. Вона запрошує відомих молодих науковців у галузі шифрування, щоб поділитися деякими з останніх результатів досліджень із китайською спільнотою.
Привіт усім, я Зіхао Лі, студент третього курсу докторантури Політехнічного університету Гонконгу. Тема, про яку я поділюся сьогодні, це «Виявлення активності MEV у пакеті транзакцій Ethereum». Простіше кажучи, це те, як виявити невідомі типи активності MEV у мережі Ethereum за допомогою пакетів транзакцій. По-перше, я дам відносно базові відомості, такі як концепція MEV, механізм пакету транзакцій і передумови нашої роботи. Потім я докладно представлю весь робочий процес і деякі ідеї дизайну, наприклад, на яких принципах розроблено робочий процес; які наші набори даних; які інструменти ми використовуємо для оцінки нашого робочого процесу за якими показниками тощо. Нарешті, я представлю три програми, включаючи відповідні результати емпіричного аналізу.
Передумови: MEV, пакет транзакцій, мотивація
Діяльність MEV стосується арбітражів у блокчейні, які генерують арбітражні транзакції шляхом моніторингу мережі блокчейну, включаючи статус блоку. Деяка інформація про транзакції поширюється в мережі P2P блокчейну, або деякі транзакції, які не були офіційно зареєстровані в ланцюжку, зберігаються в пулі транзакцій майнерів або валідаторів.Коли арбітражер відстежує цю інформацію про транзакції, він використовує певні стратегії для створення власних арбітражну торгівлю, а потім вкажіть арбітражну торгівлю на певній позиції в наступному блоці, наприклад, вона має бути на початку наступного блоку, або виконайте стратегічну транзакцію одразу після певної транзакції, щоб поширити ту саму арбітражну торгівлю. Таким чином, ми можемо розглядати арбітражну діяльність на певній позиції як діяльність MEV. Наприклад, якщо арбітражер стежить за коливаннями цін на активи, він може придбати відповідні активи в торговому пулі з низькою ціною, а потім продати їх за високою ціною в іншому фонді з високою ціною. Це вважається MEV діяльність.
Діяльність MEA наразі в основному здійснюється арбітражерами навколо екосистеми DeFi, оскільки екосистема DeFi наразі в основному збирає активи.Наразі Ethereum, включаючи інші ланцюгові екосистеми DeFi, залучив понад 40 мільярдів доларів США коштів. Тут ми повинні згадати концепцію екосистеми DeFi, яка називається дією DeFi, яка відповідає атомарній операції служби, що надається програмою DeFi. Наприклад, ми знаємо, що AMM підтримує обмін між різними типами активів, і користувачі можуть продати суму USDC, а потім отримати суму ETH.Таку операцію можна визначити як дію DeFi. Ми можемо використовувати дію DeFi для вираження активності MEV. Наприклад, якщо користувач виявляє різницю в цінах активів на різних AMM, він може купувати дешево та продавати дорого, і врешті-решт отримати прибуток від різниці в ціні. Ми можемо виразити цю активність MEV як дві дії DeFi.
Наразі академічні дослідження активності MEV в основному поділяються на три категорії, а саме сендвіч-атаки, зворотний арбітраж і ліквідація. У наборі даних, над яким ми працюємо, ми виявили, що ці три типи діяльності MEV з’являються понад 1 мільйон разів. Тут насправді виникає проблема, коли ми знаємо визначення цих дій MEV, як ідентифікувати виникнення дій. Якщо ми хочемо ідентифікувати ці дії MEV, нам потрібно визначити всі дії арбітражера, наприклад, які транзакції генерує арбітраж і які типи арбітражу включені в ці транзакції. Тоді ми можемо визначити, який тип активності MEV зараз відбувається ., і весь процес значною мірою залежить від нашого визначення відомої активності MEV. Візьмемо як приклад сендвіч-атаку. Після того, як ми знаємо визначення сендвіч-атаки, якщо ми хочемо визначити арбітражну вартість сендвіч-атаки та її відповідних арбітражних транзакцій, нам потрібно встановити багато правил на основі визначення, а потім відфільтрувати потенційні сендвіч-атаки за цими правилами. Коли таким чином ідентифікувати відомі типи атак MEV, виникає два питання. Перше питання полягає в тому, чи три поширені дії MEV, які ми знаємо, можуть представляти всі дії MEV? Очевидно, що ні, оскільки екосистема DeFi постійно розвивається, постійно розробляються нові програми, а стратегії цих арбітражників фактично постійно змінюються. Друге питання полягає в тому, як ми можемо виявити ці невідомі дії MEV. Давайте розглянемо механізм пакета транзакцій, маючи на увазі це питання.
Механізм пакету транзакцій вперше був запропонований у 2021 році. Простіше кажучи, користувачі можуть організувати чергу транзакцій. Довжина цієї черги транзакцій може складати одну транзакцію або кілька транзакцій, а потім користувач надсилає ці транзакції в мережу блокчейну. Ретранслятор збирає ці транзакції та надсилає їх безпосередньо та приватно відповідним майнерам або верифікаторам. Наразі ретранслятори запускатимуть пакети транзакцій для виконання завдань ретрансляції. Механізм пакета транзакцій має дуже важливу функцію. Коли ці користувачі створюють пакет транзакцій, вони можуть поміщати транзакції інших людей, які не були завантажені в ланцюжок, у пакет транзакцій, а порядок транзакцій у пакеті транзакцій можна довільно маніпулювати. . У цей час користувач торгового пакету або арбітражер, який використовує торговий пакет, може розробити свої арбітражні правила. Наприклад, він може розробити більш складну та більш прибуткову стратегію діяльності MEV. Беручи як приклад сендвіч-атаку, якщо пакет транзакцій не використовується, арбітражеру в сендвіч-атаці потрібно згенерувати принаймні одну пару транзакцій для досягнення арбітражу, і ця пара арбітражних транзакцій може бути націлена лише на цю одну транзакцію. Арбітраж, згенерований цією транзакцією атаки, повинен виконуватися в певному порядку, щоб забезпечити його успішне арбітражування. Але якщо арбітражер використовує торговельний пакет, він може збирати багато транзакцій, які можуть бути арбітражними.Йому потрібно лише використовувати пару відповідних арбітражних транзакцій, щоб генерувати арбітраж на кількох транзакціях одночасно. Поки цей пакет транзакцій знаходиться в ланцюжку, він безумовно досягне успіху в арбітражі, і оскільки він арбітражує кілька арбітражних транзакцій одночасно, результати його арбітражу також будуть більш прибутковими.
Торговий пакет характеризується дуже насиченою та складною діяльністю MEV. Оскільки користувач, який використовує пакет транзакцій, інкапсулює свою повну транзакцію в пакет транзакцій, потім надсилає її до ретранслятора мережі P2P і, нарешті, надсилає відповідним майнерам і верифікаторам. Ми можемо точно й повністю ідентифікувати всі дії за допомогою пакетів транзакцій. Тому ми можемо точніше ідентифікувати деякі невідомі дії MEV через носій пакета транзакцій.
Ідеї робочого процесу та дизайну
Далі детально познайомимося з нашим робочим процесом. Як ми виявляємо невідомі дії MEV через таке середовище, як пакет транзакцій? Основний робочий процес включає два інструменти. Спочатку ми використовуємо інструмент ActLifter для визначення кожної дії DeFi у пакеті транзакцій після того, як ретранслятор збере пакет транзакцій. Після отримання результату ми виражаємо всі дії в пакеті транзакцій. Потім скористайтеся інструментом ActCluster, щоб зібрати разом пакети транзакцій із подібними діями за допомогою методу кластеризації та швидше виявити нові дії MEV за результатами кластеризації. Якщо ми хочемо виявити невідомі дії MEV, неминуче вручну перевірити, чи є діяльність MEV невідомим типом. Звичайно, мета нашої роботи полягає в тому, щоб мінімізувати навантаження вручну, наскільки це можливо, і зробити весь процес Виконайте автоматично.
Уже існують інструменти, які можуть ідентифікувати активність MEV за транзакціями. Ми можемо приблизно розділити його на дві категорії. Перша категорія — це суто ручні підсумкові правила; друга категорія — суто евристичні правила, тобто використання суто автоматизованих евристичних правил для ідентифікації конкретних типів дій MEV. Наприклад, після ідентифікації певної поточної інформації про передачу, він перевіряє, чи виконуються евристичні правила.Якщо так, він може ідентифікувати відповідну дію. Перший метод суто ручного зведення правил може досягти відносно високої точності, оскільки цей процес є повністю ручним аналізом конкретних програм, і тоді він може гарантувати, що результати виявлення точні, але завдання аналізу вимагає дуже великого робочого навантаження, тому це не може охопити всі програми DeFi. Хоча друге завдання може бути повністю автоматизованим, евристичні правила можуть охоплювати лише деякі конкретні типи. З іншого боку, існують деякі проблеми в розробці евристичних правил, що призводить до незадовільної точності розпізнавання.
Ми розробили наш робочий процес, поєднавши переваги обох методів. Ми можемо визначити десять основних дій DeFi. Нам потрібно лише вручну визначити, яка подія в додатку DeFi відповідає якому типу дії DeFi після її ініціювання, тому нам не потрібен ручний аналіз, і ми можемо повністю передати його автоматичному аналізу пізніше. Другий тип методу може повністю автоматично ідентифікувати дії DeFi, але він не може визначити, чи пов’язаний аналізований об’єкт з діяльністю MEV. Наприклад, якщо ми розпізнаємо переказ SWAP, він може розпізнати комбінацію двох абсолютно не пов’язаних переказів як дію DeFi.Зрозуміло, результат його розпізнавання буде неправильним. Але ми можемо використовувати цю інформацію, щоб відфільтрувати інформацію, яка справді стосується дій DeFi. Отримавши цю інформацію, ми можемо уникнути деяких помилок, подібних до тих, які виникають у другому типі методу за допомогою автоматизованих методів.
Наприклад, тут є транзакція, яка включає в себе чотири перекази, порядковими номерами позначені порядок їх виникнення, сума та категорія коштів. У цьому процесі AMM фактично ініціював подію, пов’язану з дією Swap. Після того, як перший тип методу визначає, що подія ініційована, йому потрібно відновити поточний вміст за допомогою деяких параметрів події. Наприклад, йому потрібно переглянути код, бізнес-логіку та деякі функціональні змінні контракту 699, щоб відновити поточний вміст. Отримавши цю інформацію, ми розробили правило на основі його унікальних характеристик передачі активів. Наприклад, правило, яке ми вдосконалили, полягає в тому, що поточний контракт, який керує DeFi, отримує та передає різні типи активів. Коли ми виявили, що було два таких після Передача активу відповідає таким характеристикам, ми можемо відновити відповідний вміст дії Swap. Другий тип методу безпосередньо збігає два передачі активів. Два рахунки передачі активів отримують і передають різні типи активів. Він розглядатиме перший і п’ятий перекази як пару пов’язаних переказів, а обліковий запис посередині розглядатиме як AMM. Очевидно, ми можемо інтуїтивно побачити, що результат розпізнавання є неточним.
Правила, які ми узагальнили за допомогою ручного аналізу, є типами дій DeFi, що відповідають відповідним подіям. Хоча результати підсумовуються за допомогою ручного аналізу, ми все одно намагаємося вдосконалити процес ручного аналізу в напівавтоматичний процес, щоб забезпечити надійність усього процесу. Ми будемо запитувати офіційний веб-сайт і документацію для розробників програм DeFi, включаючи вихідні коди деяких контрактів, на офіційних веб-сайтах DeFiPulse.com і Dapp.com. Ми розробляємо інструменти синтаксичного аналізу, які можуть витягувати деякі описи подій у документах із цих залучених матеріалів, наприклад, як ця подія визначається за допомогою маркерів і в яких функціях, фрагментах коду та коментарях коду, де ці події використовуються. Після того, як ми витягли ці речі, шляхом аналізу та обговорення вручну, ми нарешті визначили, що існує 88 подій, які відповідають різним типам дій DeFi.
Ми вводимо транзакцію для аналізу в цей словник і аналізуємо, які події відбулися в транзакції. Потім, коли подія з’являється в цьому словнику, ми витягуємо ключову інформацію відповідно до відповідних правил, наприклад, який контракт керує цією дією DeFi, який це тип DeFi і які передачі активів пов’язані з цією дією DeFi. Отримавши такий вміст, ми підсумуємо характерні правила передачі активів, а потім використаємо це правило для відповідності кінцевій дії DeFi. Починаючи з десяти визначень дії DeFi, ми підсумовуємо характерні правила передачі активів. Після того, як ми зберемо цю інформацію на попередньому кроці, ми використаємо ці правила зіставлення, щоб виконати зіставлення, що зрештою допоможе нам визначити, який конкретний вміст DeFi відбувся в цій транзакції. Після того як ActCluster розпізнає кожну транзакцію в пакеті транзакцій, ми можемо виразити поведінку пакета транзакцій.
Давайте спочатку розберемося з принципами проектування ActCluster. Ми знаємо, що ручний аналіз неминучий у цьому процесі, і він повинен покладатися на ручну працю, щоб визначити, чи є активність пакета транзакцій невідомим типом активності MEV. Виходячи з цього, наша основна ідея полягає в тому, щоб згрупувати кілька пакетів транзакцій зі схожими діями. Для кожного кластера нам потрібно лише випадковим чином відібрати один або кілька пакетів транзакцій для аналізу, що може пришвидшити процес ручного аналізу та зрештою виявити різні типи дій MEA. Коли ми використовуємо кластерний аналіз для кластеризації пакетів транзакцій, ми стикаємося з дилемою. Коли ми встановлюємо потужність кластеризації пакетів транзакцій відносно грубо, пакети транзакцій, що містять різні типи дій, будуть кластеризовані разом. У цей час, хоча кількість кластерів стане меншою, відповідні завдання аналізу вручну також стануть меншими. Менше, але деякі нові заходи MEV будуть пропущені. Якщо ми налаштуємо інтенсивність кластеризації, щоб бути більш детальною, хоча ми можемо виділити деякі пакети транзакцій, що відповідають подібним, але різним видам діяльності MEA, робоче навантаження на ручний аналіз значно збільшиться.
Базуючись на такій проблемі, ми розробили метод ітераційного аналізу кластеризації, який виконує аналіз кластеризації за кілька ітерацій. У кожному раунді ми будемо видаляти відомі пакети транзакцій, що містять нові MEV-активності, виявлені в попередніх раундах, а потім покращуватимемо міцність кластеризації решти пакетів транзакцій. Ми не можемо безпосередньо використовувати традиційні методи кластеризації для кластеризації пакетів транзакцій, оскільки пакети транзакцій насправді містять кілька транзакцій, а одна транзакція може містити кілька дій DeFi. Якщо ми виражаємо весь пакет транзакцій, то його структура насправді неоднорідна та ієрархічна. Зараз ми використовуємо метод навчання представлення, щоб представити вміст цього пакета транзакцій у просторі позиціонування. Перевага використання навчання репрезентації полягає в тому, що нам не потрібно проводити поглиблене вивчення та розуміння даних, які ми хочемо аналізувати та обробити, а також нам не потрібні багаті знання предметної області. Нам потрібно лише виконувати просту обробку, орієнтовану на дані.
Наприклад, нам потрібно лише позначити пакет транзакцій, які дії MEV включені в пакет транзакцій. Якщо ми знаємо визначення діяльності MEV, нам легше розробити відповідні правила та автоматично визначити, чи вона існує. Ми можемо автоматично позначати ці пакети транзакцій, щоб представляти навчання. Наш кластерний аналіз є ітераційним типом, і після кожної ітерації ми можемо відкривати нові дії MEV. У цей час ми можемо фактично збагачувати мітки, що відповідають цим нещодавно виявленим діям MEV, у наш процес навчання репрезентації. Коли мітки, які використовуються в нашому процесі навчання представленням, збагачуються, продуктивність і ефективність усього навчання моделі навчання представленням можна ітераційно покращувати, і це навчання представлення може ітеративно покращувати здатність представлення діяльності пакета транзакцій. Насправді в пакеті транзакцій може бути кілька транзакцій, і в одній транзакції може бути кілька дій DeFi. Нам потрібно виразити пакет транзакцій. Перш за все, для кожного типу дії DeFi ми визначаємо стандартизований параметр, наприклад, який діючий контракт, а потім яка сума та тип активів, отриманих і переданих? Таким чином ми визначаємо кожну дію DeFi. Якщо ми визнаємо, що в транзакції є кілька дій DeFi, ми представляємо їх за допомогою блоків дій, щоб можна було представити блок транзакції, що відповідає транзакції, включаючи інформацію про джерело транзакції, наприклад, хто ініціював транзакцію, і напрям Кому це було надіслано? Коли в транзакції відбувається дія DeFi, ми заповнюємо її блоками дій по порядку. Кожна транзакція представлена блоком транзакцій, і, нарешті, ми отримуємо структуру пакету транзакцій, яку можна розглядати як матрицю. Після представлення цього пакета транзакцій ми можемо використовувати його для вивчення представлень. Кожен пакет транзакцій є уніфікованою структурою, і тоді ми можемо використовувати модель для пакетної обробки.
Оцінка ефективності
Далі ми поділимося методами, які використовували для оцінки продуктивності робочого процесу. Набір даних для всього процесу аналізу здійснюється через API, наданий Flashbots, і збираються дані пакетів транзакцій з лютого 2021 року по грудень 2022 року, включаючи понад 6 мільйонів пакетів транзакцій і 26 мільйонів транзакцій.
Ми розробили кілька інструментів для порівняння точності та повноти дій DeFi. Тут слід зазначити, що серед цих мережевих інструментів наразі лише Etherscan може відновити дію DeFi у транзакції через свою веб-сторінку та інформацію, яку вона надає. Як і DeFiRanger, ми відтворюємо їхній метод на основі їхньої статті. Крім того, ми розробили інструмент під назвою EventLifter, щоб спробувати відновити дії DeFi безпосередньо з подій транзакцій. Ми тестували ActLifter у різних конфігураціях і використовували різноманітні інструменти для порівняння точності розпізнавання. Для ActCluster наша головна ідея полягає в тому, щоб використовувати навчання абляції. Для нових дій, які ми можемо ідентифікувати після видалення деяких модулів ActCluster, якщо ми все ще хочемо ідентифікувати деякі нові дії, які не були виявлені, скільки ручного аналізу нам потрібно Наскільки великий він торговий пакет або робоче навантаження нашого ручного аналізу. Наприклад, ми видалили динамічне оновлення міток у модулі навчання репрезентації ActCluster. Ми фактично видалили весь процес. Ми випадково відібрали 6 мільйонів пакетів транзакцій, а потім побачили, скільки пакетів транзакцій нам доведеться проаналізувати вручну, щоб знайти таку саму кількість нової активності MEV.
Наші інструменти можуть досягти майже 100% точності та повноти за умови однакової конфігурації. Але, як і інші інструменти, такі як Etherscan, хоча його точність може досягати 100%, що є цілком задовільним, він пропускатиме багато дій DeFi. Сам Etherscan не має методу з відкритим вихідним кодом. Ми припускаємо, що він може використовувати ручний аналіз для узагальнення правил для ідентифікації дій DeFi. Відповідно, він пропускатиме деякі типи, які неможливо охопити вручну. Тут слід зазначити, що Etherscan насправді не надає автоматизованого інтерфейсу.Якщо ви хочете виконати масштабну ідентифікацію, ви не можете виконати таке завдання безпосередньо. Точність і повнота DeFiRanger, який повністю ідентифікується прихованими правилами, незадовільна. Поекспериментувавши з ActCluster, ми виявили, що за допомогою чотирьох раундів ітераційного аналізу нам потрібно проаналізувати лише 2000 пакетів транзакцій, щоб знайти 17 невідомих дій MEV. Після видалення деяких із цих модулів нам може знадобитися вручну проаналізувати до 170 000 пакетів транзакцій, щоб ідентифікувати щойно згадані 17 невідомих дій MEV.
Емпіричний аналіз і застосування
Які конкретні застосування нашого методу ідентифікації невідомих типів активності MEV? По-перше, чи зможе він покращити існуючі заходи пом’якшення наслідків MEV і зможе захистити від деяких видів діяльності MEV. По-друге, використовувати результати аналізу, щоб побачити, чи можемо ми більш повно проаналізувати вплив діяльності MEV на екологію блокчейну, включаючи вплив на форк і реорганізацію блокового лісу та фінансову безпеку користувачів.
Раніше ми згадували, що зловмисники мережі MEV boost запускатимуть інструменти для отримання пакетів транзакцій від користувачів, а потім нарешті розповсюджуватимуть їх майнерам і валідаторам, які їх з’єднують. Ретранслятори видаляють пакети транзакцій, які містять дії MEA, з пакетів транзакцій, які вони отримують. Таким чином вони можуть зменшити деякі негативні впливи дій MEA на блокчейн. Основна ідея цього посилання полягає в тому, щоб розробити відповідні правила через визначення існуючих дій MEV, щоб виявити, чи включені дії MEV у пакет транзакцій. Очевидно, що ці ретранслятори не можуть виключити деякі пакети транзакцій, що містять невідомі дії MEV. На основі нашого робочого процесу ми розробили інструмент MEVHunter, який може виявити новий тип активності MEV, який ми виявили в пакеті транзакцій.
Результати виявлення показують, що більше 1 мільйона торгових пакетів містять дії MEV зворотного арбітражу, а 30% з інших 6 мільйонів торгових пакетів містять три відомі дії MEV. Щодо нашої нещодавно відкритої діяльності MEV, ми виявили, що майже половина пакетів транзакцій містила лише ці нові дії MEV. Якщо ретранслятори використовують інструмент MEVHunter, це може допомогти їм відфільтрувати 3 мільйони пакетів транзакцій, що містять дії MEV, а потім вони можуть видалити ці пакети транзакцій, щоб зменшити негативний вплив діяльності MEV на блокчейн.
Друга заявка призначена для вивчення впливу нових типів активності MEV на блокчейн-форки та реорганізації. У деяких попередніх дослідженнях повідомлялося, що деякі фінансові майнери будуть мотивовані перевагами деяких заходів MEV до розгалуження та реорганізації поточного блокчейну, самостійно проводити діяльність MEV і користуватися перевагами. Наприклад, коли дохід блоку від активності MEV у 4 рази перевищує винагороду за блок, не менше 10% майнерів зроблять форк і реорганізують блок.
Спочатку ми визначаємо, які пакети транзакцій містять нові MEV-активності, на основі щойно згаданого інструменту MEVHunter, а потім оцінюємо відповідну інтенсивність цих MEV-дій через дохід майнерів у цих пакетах транзакцій. Ось концепція, яку потрібно представити. У механізмі пакетів транзакцій, щоб гарантувати, що їхні пакети арбітражних транзакцій можна завантажити в ланцюг, ці арбітражери зазвичай діляться частиною доходів від діяльності MEV з майнерами, а потім майнери остаточно виберуть пакет транзакцій з найвищим прибутком для завантаження в ланцюжок. Ми можемо використовувати цей дохід для рівномірної оцінки активності MEV у кожному пакеті транзакцій. Згідно з нашими статистичними результатами, існує більше ніж 900 блоків, у яких дохід від MEV у чотири-вісім разів перевищує винагороду за блок, а є ще один блок, у якого винагорода від MEV навіть у 700 разів перевищує винагороду за блок. Ми використовуємо систему прийняття рішень Маркова, щоб визначити мінімальну кількість майнерів, яких можна спонукати виконувати блокові форки та реорганізації, враховуючи дохід MEV. Нарешті ми виявили, що існує понад 1000 блоків, які можуть спонукати не менше 10% майнерів робити форки та реорганізації блоків. Для найсерйознішого блоку не менше 6 з 10 000 майнерів відповідають за розгалуження та реорганізацію блоку.
Третя програма полягає в дослідженні впливу діяльності MEV на фінансову безпеку користувачів блокчейну. Діяльність MEV може призвести до збільшення часу очікування транзакцій користувачів блокчейну, які будуть завантажені в ланцюжок пулу транзакцій або мережі P2P. Це також є однією з основних загроз фінансовій безпеці користувачів, спричинених діяльністю MEV. Якщо транзакції користувачів затримуються в ланцюжку, арбітражери матимуть більше часу для розробки складніших і прибутковіших заходів MEV. Третє застосування — це порівняння впливу активності MEV на час очікування транзакцій користувача для остаточного завантаження в ланцюг. Першим кроком є збір часу очікування транзакції. В основному ми розгортаємо вузли в мережі, потім записуємо час, коли транзакція вперше виявлена в мережі, час, коли транзакція остаточно завантажується в ланцюжок, і, нарешті, обчислюємо час, який потрібно чекати. Ми використовуємо три квартилі часу очікування всіх транзакцій у кожному блоці для створення статистики, щоб ми могли організувати час очікування транзакцій у часові ряди для кожного блоку. Тоді відповідна активність MEV у кожному блоці також характеризується доходом, отриманим майнерами в кожному блоці від пакета транзакцій, що містить нову активність MEV. Таким чином, ми отримуємо кілька часових рядів. Ми оцінюємо вплив активності MEV на час торгівлі за допомогою тесту причинності Грейнджера. Тест причинності може визначити, чи призводять коливання в одному часовому ряді до коливань в іншому часовому ряді, і в якому діапазоні це впливає або викликає інші часові ряди. Коли активність MEV коливається, чи призводить це до збільшення часу очікування транзакцій користувачів і на скільки наступних блоків це відчується?
Коли значення P тесту на причинність менше або дорівнює 0,5, це означає, що час очікування транзакцій у цьому блоці подовжено впливом попередніх дій MEV. Згідно з результатами аналізу можна виявити, що коли відбувається активність MEV, 50% часу очікування транзакції в наступних двох блоках буде подовжено. Після того, як відбудеться активність MEV, 25% часу очікування транзакції в наступних 30 блоках буде подовжено. Майнери або валідатори поміщають транзакції з відносно низькою комісією за газ у кінець інкапсульованого блоку. Чим нижча комісія за газ транзакції користувача, тим більшим буде вплив діяльності MEV, а час очікування подовжиться.
На завершення ми спочатку поділилися тим, як знайти невідомі дії MEV за допомогою робочого процесу та детально розробили два модулі робочого процесу. Потім ми перевірили ефективність робочого процесу за допомогою емпіричного аналізу та перерахували три програми. Наразі ми виявили 17 нових дій MEV за допомогою робочих процесів.