У блокчейні, заробляючи гроші шляхом визначення, які транзакції упаковуються в блок, а які виключаються, або коригуючи порядок транзакцій, отримують максимальну вигоду, яка називається «максимальною витягуваною вартістю», скорочено MEV. MEV широко поширена в більшості блокчейнів і завжди була предметом широкої уваги та обговорень у галузі.
Примітка: ця стаття припускає, що читач має базове розуміння MEV. Деякі читачі можуть спочатку прочитати нашупопулярну статтю про MEV*.*
Багато дослідників, спостерігаючи за явищем MEV, ставлять чітке питання: чи може криптографія вирішити цю проблему? Одним із рішень є використання зашифрованого мемпулу: користувачі транслюють зашифровані транзакції, які розкриваються лише після завершення сортування. Таким чином, консенсусний протокол повинен «сліпо» вибирати порядок транзакцій, що, здається, може запобігти отриманню вигоди від можливостей MEV на етапі сортування.
Але, на жаль, з точки зору як практичного застосування, так і теоретичного аналізу, крипто-пули пам'яті не можуть надати універсальне рішення для проблеми MEV. У цій статті буде розглянуто труднощі, пов'язані з цим, а також досліджено можливі напрямки дизайну крипто-пулу пам'яті.
Принцип роботи крипто-майданчика
Існує багато пропозицій щодо крипто-мережі пам'яті, але її загальна структура така:
Користувач транслює зашифровану транзакцію.
Криптографічна транзакція надсилається в ланцюг (в деяких пропозиціях транзакції спочатку повинні пройти через перевірене випадкове перемішування).
Коли блоки, що містять ці транзакції, остаточно підтверджені, транзакції розкриваються.
Нарешті виконайте ці交易.
Варто звернути увагу, що в кроці 3 (декодування транзакцій) існує ключова проблема: хто несе відповідальність за декодування? Що робити, якщо декодування не вдалося? Простий підхід полягає в тому, щоб дозволити користувачам самостійно декодувати свої транзакції (в такому випадку навіть немає необхідності в шифруванні, достатньо лише приховати зобов'язання). Але в цього підходу є вразливість: зловмисники можуть реалізувати спекулятивний MEV.
У спекулятивному MEV зловмисник намагається вгадати, що певна криптографічна транзакція містить можливість MEV, а потім шифрує свою транзакцію та намагається вставити її у вигідне місце (наприклад, перед або після цільової транзакції). Якщо транзакції впорядковані у очікуваному порядку, зловмисник розшифровує та витягує MEV через свою транзакцію; якщо очікування не справджуються, вони відмовляються від розшифровки, і їх транзакція не буде включена до фінальної блокчейн-ланцюга.
Можливо, можна накласти покарання на користувачів, які не змогли розшифрувати, але здійснити цей механізм вкрай складно. Причина в тому, що: всі покарання за зашифровані транзакції повинні бути єдиними (все-таки після шифрування неможливо відрізнити транзакції), і покарання має бути достатньо жорстким, щоб стримувати спекулятивний MEV навіть у випадку з високовартісними цілями. Це призведе до блокування великих обсягів коштів, і ці кошти повинні залишатися анонімними (щоб уникнути розкриття зв'язку між транзакцією та користувачем). Ще складніше те, що, якщо через програмну помилку або збої в мережі справжні користувачі не зможуть нормально розшифрувати, вони також зазнають втрат.
Отже, більшість рішень пропонують, що при шифруванні транзакцій необхідно забезпечити їх можливість розшифровки в майбутньому, навіть якщо користувач, що ініціює транзакцію, офлайн або відмовляється співпрацювати. Цієї мети можна досягти кількома способами:
Довірене середовище виконання (TEE): Користувачі можуть зашифрувати транзакції з використанням ключів, які зберігаються в безпечній зоні довіреного середовища виконання (TEE). У деяких базових версіях TEE використовується лише для розшифрування транзакцій після певного часу (для цього TEE повинно мати можливість відчувати час). Більш складні рішення дозволяють TEE відповідати за розшифрування транзакцій і побудову блоків, сортування транзакцій за стандартами, такими як час прибуття, витрати тощо. Перевага TEE в порівнянні з іншими рішеннями для шифрування пам'яті полягає в можливості безпосередньо обробляти відкриті транзакції, зменшуючи надлишкову інформацію в ланцюгу шляхом фільтрації транзакцій, які можуть бути скасовані. Проте недолік цього методу полягає в залежності від надійності апаратного забезпечення.
Секретне розподілення та порогове шифрування (Secret-sharing and threshold encryption): у цій схемі користувач шифрує транзакцію до певного ключа, який спільно зберігається певним комітетом (зазвичай підмножиною валідаторів). Для розшифровки необхідно виконати певні порогові умови (наприклад, згода двох третин членів комітету).
При використанні порогового розшифрування довірена одиниця переходить від апаратного забезпечення до комітету. Прихильники вважають, що оскільки більшість протоколів за замовчуванням припускають, що валідатори мають характеристику «чесної більшості» в механізмі консенсусу, ми також можемо зробити подібне припущення, що більшість валідаторів залишатимуться чесними і не розшифровуватимуть транзакції заздалегідь.
Однак тут слід звернути увагу на одну ключову різницю: ці дві довірчі припущення не є одним і тим же поняттям. Провали консенсусу, такі як розгалуження блокчейну, мають відкриту видимість (належать до «слабкого довірчого припущення»), тоді як зловмисні комітети, які заздалегідь розшифровують транзакції, не залишають жодних відкритих доказів; така атака не може бути виявлена і не може бути покарана (належить до «сильного довірчого припущення»). Тому, хоча на перший погляд механізми консенсусу та безпекові припущення криптокомітетів здаються узгодженими, на практиці достовірність припущення «комітет не буде змовлятися» набагато нижча.
Часове блокування та затримка шифрування (Time-lock and delay encryption): Як альтернатива шифруванню з порогом, принцип затримки шифрування полягає в тому, що користувач шифрує транзакцію до певного відкритого ключа, в той час як приватний ключ, що відповідає цьому відкритому ключу, прихований у загадці з часовим блокуванням. Загадка з часовим блокуванням є криптографічною загадкою, що упаковує секрет, зміст якого можна розкрити лише після заданого часу; точніше кажучи, процес розшифрування вимагає багаторазового виконання ряду обчислень, які не можуть бути виконані паралельно. У цій механіці будь-хто може розгадати загадку, щоб отримати ключ і розшифрувати транзакцію, але за умови, що буде виконано певний обчислювальний процес, який займає достатньо часу і є повільним (по суті, виконується послідовно), що гарантує, що транзакція не може бути розшифрована до її остаточного підтвердження. Найсильніша форма цього шифрувального примітиву генерує такі загадки за допомогою технології затримки шифрування; також це можна досягти за допомогою надійного комітету, використовуючи шифрування з часовим блокуванням для наближеного виконання цього процесу, хоча в цьому випадку його переваги порівняно з шифруванням з порогом вже потребують перегляду.
Незалежно від того, чи використовуються затримане шифрування, чи обчислення виконуються надійним комітетом, такі рішення стикаються з багатьма практичними викликами: по-перше, оскільки затримка за своєю суттю залежить від процесу обчислення, важко забезпечити точність часу розшифрування; по-друге, ці рішення повинні покладатися на певні суб'єкти для роботи з високопродуктивним обладнанням для ефективного розв'язання задач, хоча будь-хто може виконувати цю роль, але як заохотити цей суб'єкт до участі, залишається незрозумілим; нарешті, у таких проєктах всі трансакції, які транслюються, будуть розшифровані, включаючи ті, що ніколи не були остаточно записані в блоки. В той час як рішення на основі порога (або свідчення шифрування) можуть розшифровувати лише ті трансакції, які успішно були включені.
Свідчення шифрування (Witness encryption): Останній з найсучасніших криптографічних рішень використовує технологію «свідчення шифрування». Теоретично механізм свідчення шифрування полягає в тому, що інформація шифрується таким чином, що лише особа, яка знає специфічні NP-відношення відповідної «свідченої інформації», може її розшифрувати. Наприклад, інформацію можна зашифрувати так, що лише той, хто може розв'язати певну головоломку судоку або надати певний значення хеш-образу, зможе виконати розшифровку.
(Примітка: NP відношення – це відповідність між «питанням» та «відповіддю, яку можна швидко перевірити»)
Для будь-яких NP-відносин можна реалізувати подібну логіку за допомогою SNARKs. Можна сказати, що свідчення шифрування по суті є шифруванням даних у таку форму, яка може бути розшифрована лише тими суб'єктами, які можуть довести за допомогою SNARK, що вони задовольняють певні умови. У сценах зашифрованого пулу пам'яті типовим прикладом таких умов є: транзакції можуть бути розшифровані лише після остаточного підтвердження блоку.
Це дуже перспективний теоретичний термін. Насправді, це універсальне рішення, засноване на методах комітету та методах затримки, які є лише його конкретними формами застосування. На жаль, наразі ми не маємо жодного практичного рішення на основі свідчень для криптографії. Крім того, навіть якщо таке рішення існує, важко стверджувати, що воно має переваги перед методами комітету в мережах з підтвердженням часток. Навіть якщо налаштувати шифрування свідчень на «лише після того, як транзакція буде впорядкована в остаточно затвердженому блоці», зловмисний комітет все ще може приватно змоделювати протокол консенсусу для підробки остаточного стану підтвердження транзакції, а потім використовувати цю приватну мережу як «свідчення» для розшифровки транзакції. У цьому випадку той же комітет, використовуючи порогове шифрування, може досягти такої ж безпеки, а операції будуть значно простішими.
Однак у протоколі консенсусу на основі доказу роботи переваги свідчення криптографії є ще більш помітними. Адже навіть якщо комітет буде повністю зловмисним, він не зможе в таємниці видобути кілька нових блоків на поточній вершині блокчейну, щоб підробити остаточний стан підтвердження.
Технічні виклики, з якими стикається криптопул
Багато реальних викликів стримують здатність крипто-пулів пам'яті протидіяти MEV. В цілому, конфіденційність інформації сама по собі є складною задачею. Варто зазначити, що застосування криптографії в сфері Web3 не є поширеним, але десятирічний досвід впровадження криптографічних технологій в мережах (таких як TLS/HTTPS) та приватних комунікаціях (від PGP до Signal, WhatsApp та інших сучасних платформ зашифрованих повідомлень) повністю виявив їхні складнощі: хоча криптографія є інструментом захисту конфіденційності, вона не може забезпечити абсолютну безпеку.
По-перше, деякі суб'єкти можуть безпосередньо отримувати відкриту інформацію про транзакції користувачів. У типовій ситуації користувачі зазвичай не шифрують транзакції самостійно, а делегують це завдання постачальникам гаманців. Таким чином, постачальники гаманців можуть отримувати доступ до відкритих транзакцій і навіть можуть використовувати або продавати цю інформацію для отримання MEV. Безпека шифрування завжди залежить від всіх суб'єктів, які мають доступ до ключів. Обсяг контролю за ключами є межою безпеки.
Крім того, найбільшою проблемою є метадані, а саме незахищені дані навколо криптонавантаження (транзакцій). Пошуковці можуть використовувати ці метадані для припущення намірів транзакцій, що дозволяє їм здійснювати спекулятивний MEV. Слід зазначити, що пошуковці не повинні повністю розуміти зміст транзакції і не повинні щоразу вгадувати правильно. Наприклад, якщо вони можуть з розумною ймовірністю визначити, що певна транзакція надійшла з конкретної децентралізованої біржі (DEX), цього вже достатньо для початку атаки.
Ми можемо розділити метадані на кілька категорій: одна категорія - це класичні проблеми, властиві криптографічним технологіям, а інша - це проблеми, специфічні для криптографічних пам'яток.
Розмір транзакції: Криптографія сама по собі не може приховати розмір відкритого тексту (варто зазначити, що в формальному визначенні семантичної безпеки чітко зазначено, що приховування розміру відкритого тексту виключено). Це поширений вектор атаки в зашифрованій комунікації, типовий випадок – навіть після шифрування, сторонній спостерігач може в реальному часі визначити, що відтворюється на Netflix, за розміром кожного пакета даних у відеопотоці. У зашифрованому пулі пам'яті певні типи транзакцій можуть мати унікальний розмір, що призводить до витоку інформації.
Час трансляції: Криптографія також не може приховати інформацію про час (це ще один класичний вектор атаки). У сценах Web3 деякі відправники (як-от у структурованих сценах розпродажу) можуть ініціювати транзакції з фіксованими проміжками. Час транзакції також може бути пов'язаний з іншою інформацією, такою як активність зовнішніх бірж або новинні події. Більш прихований спосіб використання інформації про час - це арбітраж між централізованими біржами (CEX) та децентралізованими біржами (DEX): сортуючий може вставити транзакції, створені якомога пізніше, використовуючи найновішу інформацію про ціни з CEX; одночасно сортуючий може виключити всі інші транзакції, які були транслювані після певного моменту (навіть якщо вони зашифровані), щоб забезпечити своїй транзакції ексклюзивну перевагу в новому ціновому діапазоні.
Джерело IP-адреси: пошукачі можуть за допомогою моніторингу рівноправних мереж, відстежуючи джерела IP-адрес, зробити висновок про особу відправника транзакції. Цю проблему було виявлено на ранніх етапах існування біткоїна (це сталося більше десяти років тому). Якщо у конкретного відправника є стабільна поведінка, це може мати велику цінність для пошукачів. Наприклад, знаючи особу відправника, можна пов'язати криптографічні транзакції з уже розшифрованими історичними транзакціями.
Відправник транзакції та інформація про плату / газ: Транзакційні витрати є специфічним для крипто пам'яті типом метаданих. В Ethereum традиційна транзакція містить адреси відправника в мережі (для сплати витрат), максимальний бюджет газу та одиничну вартість газу, яку відправник готовий сплатити. Як і адреса джерела мережі, адреса відправника може бути використана для зв'язування декількох транзакцій та реальних сутностей; бюджет газу може натякати на наміри транзакції. Наприклад, взаємодія з певним DEX може вимагати впізнавану фіксовану кількість газу.
Складні пошуковці можуть поєднувати кілька типів метаданих, згаданих вище, для прогнозування змісту угод.
Теоретично, цю інформацію можна приховати, але за це доведеться заплатити ціну продуктивності та складності. Наприклад, заповнення транзакцій до стандартної довжини може приховати їхній розмір, але це призведе до витрат на пропускну здатність і місце в ланцюзі; додавання затримки перед відправкою може приховати час, але це збільшить затримку; подача транзакцій через анонімні мережі, такі як Tor, може приховати IP-адресу, але це створить нові виклики.
Найважче приховати метадані - це інформація про комісії за транзакції. Дані про комісії в криптовалюті можуть створити ряд проблем для будівельників блоків: по-перше, це проблема сміттєвої інформації. Якщо дані про комісії за транзакції зашифровані, будь-хто може транслювати неправильно відформатовану зашифровану транзакцію, яка хоч і буде відсортована, але не зможе сплатити комісію, і після розшифровки не зможе бути виконана, але ніхто не зможе бути притягнутий до відповідальності. Це може бути вирішено за допомогою SNARKs, тобто доведення того, що формат транзакції правильний і коштів достатньо, але це суттєво збільшить витрати.
По-друге, це проблема ефективності побудови блоків і аукціону витрат. Будівельники покладаються на інформацію про витрати для створення блоків з максимізацією прибутку та визначення поточної ринкової ціни ресурсів в мережі. Дані про криптовалютні витрати можуть порушити цей процес. Одним з рішень є встановлення фіксованих зборів для кожного блоку, але це економічно неефективно і може призвести до виникнення вторинного ринку упакування транзакцій, що суперечить задуму крипто-черги. Іншим рішенням є проведення аукціону витрат за допомогою безпечних багатосторонніх обчислень або надійного апаратного забезпечення, але обидва ці способи є дуже витратними.
Врешті-решт, безпечний крипто-меморіальний пул збільшить витрати системи з кількох причин: шифрування збільшить затримку ланцюга, обчислювальну навантаженість та витрати на пропускну здатність; наразі неясно, як це поєднується з важливими майбутніми цілями, такими як шардінг або паралельне виконання; це також може впровадити нові точки відмови для активності (liveness) (наприклад, у комітетах розшифровки в схемах з порогами, або у розв'язувачах затримок); заодно, складність дизайну та реалізації також значно зросте.
Багато проблем з крипто-пулом пам’яті пов’язані з викликами, з якими стикаються блокчейни, що мають на меті забезпечення конфіденційності транзакцій (такі як Zcash, Monero). Якщо є якийсь позитивний аспект, то це те, що вирішення всіх викликів криптографічних технологій у пом'якшенні MEV, водночас усуне перешкоди для конфіденційності транзакцій.
Економічні виклики, з якими стикається криптомеморіальний пул
Нарешті, криптопам'ять також стикається з економічними викликами. На відміну від технологічних викликів, які можна поступово зменшити за допомогою достатніх інженерних інвестицій. Ці економічні виклики є фундаментальними обмеженнями, вирішення яких є надзвичайно складним.
Основна проблема MEV виникає через інформаційну асиметрію між творцями угод (користувачами) та видобувачами можливостей MEV (пошукачами та будівельниками блоків). Користувачі зазвичай не знають, скільки витягуваної цінності містить їхня угода, тому, навіть якщо існує ідеальний крипто-операційний пул, вони все ще можуть бути спонуковані розкрити ключі дешифрування в обмін на винагороду, що нижча за фактичну вартість MEV, це явище можна назвати "стимулюючим дешифруванням".
Цю ситуацію не важко уявити, оскільки подібні механізми, такі як MEV Share, вже існують у реальному світі. MEV Share - це механізм аукціону торгових потоків, який дозволяє користувачам вибірково подавати інформацію про транзакції до пулу, а пошуковики змагаються за отримання права використовувати MEV-можливості цієї транзакції. Переможець аукціону, після вилучення MEV, повертає частину прибутку (тобто суму ставки або її певний відсоток) користувачу.
Цей режим може безпосередньо адаптуватися до криптографічних пам'яті: користувачам потрібно розкрити ключі для дешифрування (або часткову інформацію), щоб брати участь. Але більшість користувачів не усвідомлюють альтернативні витрати участі в таких механізмах, вони лише бачать короткострокові вигоди і з радістю розкривають інформацію. У традиційних фінансах також є подібні випадки: наприклад, безкоштовна торгова платформа Robinhood, чий прибутковий модель полягає у продажу потоку замовлень користувачів третім сторонам через «платежі за потік замовлень».
Інший можливий сценарій полягає в тому, що великі будівельники, посилаючись на цензуру, змушують користувачів розкривати зміст транзакцій (або відповідну інформацію). Антицензурність є важливою і спірною темою в сфері Web3, але якщо великі валідатори або будівельники підлягають юридичним вимогам (наприклад, правилам Офісу контролю за іноземними активами США OFAC), вони можуть відмовитися обробляти будь-які криптотранзакції. Технічно, користувачі можуть підтвердити, що їх криптотранзакції відповідають вимогам цензури, використовуючи нульові знання, але це призведе до додаткових витрат і складності. Навіть якщо блокчейн має сильну антицензурність (забезпечуючи, що криптотранзакції неодмінно будуть включені), будівельники все ще можуть віддавати перевагу транзакціям з відомим відкритим текстом, розміщуючи їх на початку блоку, а криптотранзакції - в кінці. Тому ті, хто повинні забезпечити виконання пріоритетних транзакцій, в кінцевому підсумку можуть бути змушені розкрити зміст будівельникам.
Інші виклики ефективності
Шифрований пул пам'яті суттєво збільшує витрати системи різними очевидними способами. Користувачам потрібно шифрувати транзакції, а системі потрібно якимось чином їх розшифрувати, що збільшує витрати на обчислення та може також збільшити обсяг транзакцій. Як уже згадувалося, обробка метаданих ще більше посилює ці витрати. Проте є й деякі витрати на ефективність, які не є такими очевидними. У фінансовій сфері, якщо ціни можуть відображати всю доступну інформацію, ринок вважається ефективним; затримки та інформаційна асиметрія призводять до неефективності ринку. Це неминучий наслідок шифрованого пулу пам'яті.
Цей тип неефективності призводить до безпосереднього наслідку: збільшення невизначеності цін, що є прямим продуктом додаткової затримки, введеної крипто-пам’яттю. Отже, може збільшитися кількість угод, що не проходять через перевищення допустимого ковзання ціни, що, в свою чергу, призводить до марнотратства простору в ланцюгу.
Також, така цінова невизначеність може стимулювати спекулятивні MEV-угоди, які намагаються отримати прибуток від арбітражу на ланцюгу. Варто зазначити, що крипто-пам'ять може зробити ці можливості більш поширеними: через затримки виконання, поточний стан децентралізованих бірж (DEX) стає більш розмитим, що, ймовірно, призведе до зниження ефективності ринку та виникнення цінових різниць між різними торговими платформами. Такі спекулятивні MEV-угоди також можуть витрачати простір блоків, оскільки, якщо арбітражні можливості не будуть виявлені, вони зазвичай припиняють виконання.
Підсумок
Основною метою цієї статті є систематизація викликів, з якими стикаються крипто-мемпули, щоб люди могли зосередити свої зусилля на розробці інших рішень, однак крипто-мемпули все ще можуть стати частиною механізму управління MEV.
Одним із можливих підходів є змішаний дизайн: частину транзакцій реалізують через зашифрований пул пам'яті з "сліпою сортуванням", а іншу частину - за допомогою інших схем сортування. Для певних типів транзакцій (наприклад, купівельних та продажних ордерів великих учасників ринку, які можуть ретельно зашифровувати або заповнювати транзакції та готові платити вищу ціну, щоб уникнути MEV) змішаний дизайн може бути відповідним вибором. Для надзвичайно чутливих транзакцій (таких як транзакції на виправлення вразливих безпечних контрактів) цей дизайн також має практичний сенс.
Однак через технічні обмеження, високу складність проекту та витрати на продуктивність, зашифрований мемпул малоймовірно стане "універсальним рішенням MEV", на яке сподіваються люди. Спільноті потрібно розробити інші рішення, включаючи аукціони MEV, механізми захисту на прикладному рівні та скорочення часу остаточного підтвердження. MEV залишатиметься викликом на певний час у майбутньому, і потрібно знайти баланс між різними рішеннями через глибоке дослідження для подолання його негативного впливу.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
a16z: Чому шифрування пул пам'яті не може стати універсальним ліком для MEV?
Твори: Пранав Гаріміді, Жозеф Бонно, Ліоба Хеймбах, a16z
Переклад: Саорша, Foresight News
У блокчейні, заробляючи гроші шляхом визначення, які транзакції упаковуються в блок, а які виключаються, або коригуючи порядок транзакцій, отримують максимальну вигоду, яка називається «максимальною витягуваною вартістю», скорочено MEV. MEV широко поширена в більшості блокчейнів і завжди була предметом широкої уваги та обговорень у галузі.
Примітка: ця стаття припускає, що читач має базове розуміння MEV. Деякі читачі можуть спочатку прочитати нашу популярну статтю про MEV*.*
Багато дослідників, спостерігаючи за явищем MEV, ставлять чітке питання: чи може криптографія вирішити цю проблему? Одним із рішень є використання зашифрованого мемпулу: користувачі транслюють зашифровані транзакції, які розкриваються лише після завершення сортування. Таким чином, консенсусний протокол повинен «сліпо» вибирати порядок транзакцій, що, здається, може запобігти отриманню вигоди від можливостей MEV на етапі сортування.
Але, на жаль, з точки зору як практичного застосування, так і теоретичного аналізу, крипто-пули пам'яті не можуть надати універсальне рішення для проблеми MEV. У цій статті буде розглянуто труднощі, пов'язані з цим, а також досліджено можливі напрямки дизайну крипто-пулу пам'яті.
Принцип роботи крипто-майданчика
Існує багато пропозицій щодо крипто-мережі пам'яті, але її загальна структура така:
Варто звернути увагу, що в кроці 3 (декодування транзакцій) існує ключова проблема: хто несе відповідальність за декодування? Що робити, якщо декодування не вдалося? Простий підхід полягає в тому, щоб дозволити користувачам самостійно декодувати свої транзакції (в такому випадку навіть немає необхідності в шифруванні, достатньо лише приховати зобов'язання). Але в цього підходу є вразливість: зловмисники можуть реалізувати спекулятивний MEV.
У спекулятивному MEV зловмисник намагається вгадати, що певна криптографічна транзакція містить можливість MEV, а потім шифрує свою транзакцію та намагається вставити її у вигідне місце (наприклад, перед або після цільової транзакції). Якщо транзакції впорядковані у очікуваному порядку, зловмисник розшифровує та витягує MEV через свою транзакцію; якщо очікування не справджуються, вони відмовляються від розшифровки, і їх транзакція не буде включена до фінальної блокчейн-ланцюга.
Можливо, можна накласти покарання на користувачів, які не змогли розшифрувати, але здійснити цей механізм вкрай складно. Причина в тому, що: всі покарання за зашифровані транзакції повинні бути єдиними (все-таки після шифрування неможливо відрізнити транзакції), і покарання має бути достатньо жорстким, щоб стримувати спекулятивний MEV навіть у випадку з високовартісними цілями. Це призведе до блокування великих обсягів коштів, і ці кошти повинні залишатися анонімними (щоб уникнути розкриття зв'язку між транзакцією та користувачем). Ще складніше те, що, якщо через програмну помилку або збої в мережі справжні користувачі не зможуть нормально розшифрувати, вони також зазнають втрат.
Отже, більшість рішень пропонують, що при шифруванні транзакцій необхідно забезпечити їх можливість розшифровки в майбутньому, навіть якщо користувач, що ініціює транзакцію, офлайн або відмовляється співпрацювати. Цієї мети можна досягти кількома способами:
Довірене середовище виконання (TEE): Користувачі можуть зашифрувати транзакції з використанням ключів, які зберігаються в безпечній зоні довіреного середовища виконання (TEE). У деяких базових версіях TEE використовується лише для розшифрування транзакцій після певного часу (для цього TEE повинно мати можливість відчувати час). Більш складні рішення дозволяють TEE відповідати за розшифрування транзакцій і побудову блоків, сортування транзакцій за стандартами, такими як час прибуття, витрати тощо. Перевага TEE в порівнянні з іншими рішеннями для шифрування пам'яті полягає в можливості безпосередньо обробляти відкриті транзакції, зменшуючи надлишкову інформацію в ланцюгу шляхом фільтрації транзакцій, які можуть бути скасовані. Проте недолік цього методу полягає в залежності від надійності апаратного забезпечення.
Секретне розподілення та порогове шифрування (Secret-sharing and threshold encryption): у цій схемі користувач шифрує транзакцію до певного ключа, який спільно зберігається певним комітетом (зазвичай підмножиною валідаторів). Для розшифровки необхідно виконати певні порогові умови (наприклад, згода двох третин членів комітету).
При використанні порогового розшифрування довірена одиниця переходить від апаратного забезпечення до комітету. Прихильники вважають, що оскільки більшість протоколів за замовчуванням припускають, що валідатори мають характеристику «чесної більшості» в механізмі консенсусу, ми також можемо зробити подібне припущення, що більшість валідаторів залишатимуться чесними і не розшифровуватимуть транзакції заздалегідь.
Однак тут слід звернути увагу на одну ключову різницю: ці дві довірчі припущення не є одним і тим же поняттям. Провали консенсусу, такі як розгалуження блокчейну, мають відкриту видимість (належать до «слабкого довірчого припущення»), тоді як зловмисні комітети, які заздалегідь розшифровують транзакції, не залишають жодних відкритих доказів; така атака не може бути виявлена і не може бути покарана (належить до «сильного довірчого припущення»). Тому, хоча на перший погляд механізми консенсусу та безпекові припущення криптокомітетів здаються узгодженими, на практиці достовірність припущення «комітет не буде змовлятися» набагато нижча.
Часове блокування та затримка шифрування (Time-lock and delay encryption): Як альтернатива шифруванню з порогом, принцип затримки шифрування полягає в тому, що користувач шифрує транзакцію до певного відкритого ключа, в той час як приватний ключ, що відповідає цьому відкритому ключу, прихований у загадці з часовим блокуванням. Загадка з часовим блокуванням є криптографічною загадкою, що упаковує секрет, зміст якого можна розкрити лише після заданого часу; точніше кажучи, процес розшифрування вимагає багаторазового виконання ряду обчислень, які не можуть бути виконані паралельно. У цій механіці будь-хто може розгадати загадку, щоб отримати ключ і розшифрувати транзакцію, але за умови, що буде виконано певний обчислювальний процес, який займає достатньо часу і є повільним (по суті, виконується послідовно), що гарантує, що транзакція не може бути розшифрована до її остаточного підтвердження. Найсильніша форма цього шифрувального примітиву генерує такі загадки за допомогою технології затримки шифрування; також це можна досягти за допомогою надійного комітету, використовуючи шифрування з часовим блокуванням для наближеного виконання цього процесу, хоча в цьому випадку його переваги порівняно з шифруванням з порогом вже потребують перегляду.
Незалежно від того, чи використовуються затримане шифрування, чи обчислення виконуються надійним комітетом, такі рішення стикаються з багатьма практичними викликами: по-перше, оскільки затримка за своєю суттю залежить від процесу обчислення, важко забезпечити точність часу розшифрування; по-друге, ці рішення повинні покладатися на певні суб'єкти для роботи з високопродуктивним обладнанням для ефективного розв'язання задач, хоча будь-хто може виконувати цю роль, але як заохотити цей суб'єкт до участі, залишається незрозумілим; нарешті, у таких проєктах всі трансакції, які транслюються, будуть розшифровані, включаючи ті, що ніколи не були остаточно записані в блоки. В той час як рішення на основі порога (або свідчення шифрування) можуть розшифровувати лише ті трансакції, які успішно були включені.
Свідчення шифрування (Witness encryption): Останній з найсучасніших криптографічних рішень використовує технологію «свідчення шифрування». Теоретично механізм свідчення шифрування полягає в тому, що інформація шифрується таким чином, що лише особа, яка знає специфічні NP-відношення відповідної «свідченої інформації», може її розшифрувати. Наприклад, інформацію можна зашифрувати так, що лише той, хто може розв'язати певну головоломку судоку або надати певний значення хеш-образу, зможе виконати розшифровку.
(Примітка: NP відношення – це відповідність між «питанням» та «відповіддю, яку можна швидко перевірити»)
Для будь-яких NP-відносин можна реалізувати подібну логіку за допомогою SNARKs. Можна сказати, що свідчення шифрування по суті є шифруванням даних у таку форму, яка може бути розшифрована лише тими суб'єктами, які можуть довести за допомогою SNARK, що вони задовольняють певні умови. У сценах зашифрованого пулу пам'яті типовим прикладом таких умов є: транзакції можуть бути розшифровані лише після остаточного підтвердження блоку.
Це дуже перспективний теоретичний термін. Насправді, це універсальне рішення, засноване на методах комітету та методах затримки, які є лише його конкретними формами застосування. На жаль, наразі ми не маємо жодного практичного рішення на основі свідчень для криптографії. Крім того, навіть якщо таке рішення існує, важко стверджувати, що воно має переваги перед методами комітету в мережах з підтвердженням часток. Навіть якщо налаштувати шифрування свідчень на «лише після того, як транзакція буде впорядкована в остаточно затвердженому блоці», зловмисний комітет все ще може приватно змоделювати протокол консенсусу для підробки остаточного стану підтвердження транзакції, а потім використовувати цю приватну мережу як «свідчення» для розшифровки транзакції. У цьому випадку той же комітет, використовуючи порогове шифрування, може досягти такої ж безпеки, а операції будуть значно простішими.
Однак у протоколі консенсусу на основі доказу роботи переваги свідчення криптографії є ще більш помітними. Адже навіть якщо комітет буде повністю зловмисним, він не зможе в таємниці видобути кілька нових блоків на поточній вершині блокчейну, щоб підробити остаточний стан підтвердження.
Технічні виклики, з якими стикається криптопул
Багато реальних викликів стримують здатність крипто-пулів пам'яті протидіяти MEV. В цілому, конфіденційність інформації сама по собі є складною задачею. Варто зазначити, що застосування криптографії в сфері Web3 не є поширеним, але десятирічний досвід впровадження криптографічних технологій в мережах (таких як TLS/HTTPS) та приватних комунікаціях (від PGP до Signal, WhatsApp та інших сучасних платформ зашифрованих повідомлень) повністю виявив їхні складнощі: хоча криптографія є інструментом захисту конфіденційності, вона не може забезпечити абсолютну безпеку.
По-перше, деякі суб'єкти можуть безпосередньо отримувати відкриту інформацію про транзакції користувачів. У типовій ситуації користувачі зазвичай не шифрують транзакції самостійно, а делегують це завдання постачальникам гаманців. Таким чином, постачальники гаманців можуть отримувати доступ до відкритих транзакцій і навіть можуть використовувати або продавати цю інформацію для отримання MEV. Безпека шифрування завжди залежить від всіх суб'єктів, які мають доступ до ключів. Обсяг контролю за ключами є межою безпеки.
Крім того, найбільшою проблемою є метадані, а саме незахищені дані навколо криптонавантаження (транзакцій). Пошуковці можуть використовувати ці метадані для припущення намірів транзакцій, що дозволяє їм здійснювати спекулятивний MEV. Слід зазначити, що пошуковці не повинні повністю розуміти зміст транзакції і не повинні щоразу вгадувати правильно. Наприклад, якщо вони можуть з розумною ймовірністю визначити, що певна транзакція надійшла з конкретної децентралізованої біржі (DEX), цього вже достатньо для початку атаки.
Ми можемо розділити метадані на кілька категорій: одна категорія - це класичні проблеми, властиві криптографічним технологіям, а інша - це проблеми, специфічні для криптографічних пам'яток.
Складні пошуковці можуть поєднувати кілька типів метаданих, згаданих вище, для прогнозування змісту угод.
Теоретично, цю інформацію можна приховати, але за це доведеться заплатити ціну продуктивності та складності. Наприклад, заповнення транзакцій до стандартної довжини може приховати їхній розмір, але це призведе до витрат на пропускну здатність і місце в ланцюзі; додавання затримки перед відправкою може приховати час, але це збільшить затримку; подача транзакцій через анонімні мережі, такі як Tor, може приховати IP-адресу, але це створить нові виклики.
Найважче приховати метадані - це інформація про комісії за транзакції. Дані про комісії в криптовалюті можуть створити ряд проблем для будівельників блоків: по-перше, це проблема сміттєвої інформації. Якщо дані про комісії за транзакції зашифровані, будь-хто може транслювати неправильно відформатовану зашифровану транзакцію, яка хоч і буде відсортована, але не зможе сплатити комісію, і після розшифровки не зможе бути виконана, але ніхто не зможе бути притягнутий до відповідальності. Це може бути вирішено за допомогою SNARKs, тобто доведення того, що формат транзакції правильний і коштів достатньо, але це суттєво збільшить витрати.
По-друге, це проблема ефективності побудови блоків і аукціону витрат. Будівельники покладаються на інформацію про витрати для створення блоків з максимізацією прибутку та визначення поточної ринкової ціни ресурсів в мережі. Дані про криптовалютні витрати можуть порушити цей процес. Одним з рішень є встановлення фіксованих зборів для кожного блоку, але це економічно неефективно і може призвести до виникнення вторинного ринку упакування транзакцій, що суперечить задуму крипто-черги. Іншим рішенням є проведення аукціону витрат за допомогою безпечних багатосторонніх обчислень або надійного апаратного забезпечення, але обидва ці способи є дуже витратними.
Врешті-решт, безпечний крипто-меморіальний пул збільшить витрати системи з кількох причин: шифрування збільшить затримку ланцюга, обчислювальну навантаженість та витрати на пропускну здатність; наразі неясно, як це поєднується з важливими майбутніми цілями, такими як шардінг або паралельне виконання; це також може впровадити нові точки відмови для активності (liveness) (наприклад, у комітетах розшифровки в схемах з порогами, або у розв'язувачах затримок); заодно, складність дизайну та реалізації також значно зросте.
Багато проблем з крипто-пулом пам’яті пов’язані з викликами, з якими стикаються блокчейни, що мають на меті забезпечення конфіденційності транзакцій (такі як Zcash, Monero). Якщо є якийсь позитивний аспект, то це те, що вирішення всіх викликів криптографічних технологій у пом'якшенні MEV, водночас усуне перешкоди для конфіденційності транзакцій.
Економічні виклики, з якими стикається криптомеморіальний пул
Нарешті, криптопам'ять також стикається з економічними викликами. На відміну від технологічних викликів, які можна поступово зменшити за допомогою достатніх інженерних інвестицій. Ці економічні виклики є фундаментальними обмеженнями, вирішення яких є надзвичайно складним.
Основна проблема MEV виникає через інформаційну асиметрію між творцями угод (користувачами) та видобувачами можливостей MEV (пошукачами та будівельниками блоків). Користувачі зазвичай не знають, скільки витягуваної цінності містить їхня угода, тому, навіть якщо існує ідеальний крипто-операційний пул, вони все ще можуть бути спонуковані розкрити ключі дешифрування в обмін на винагороду, що нижча за фактичну вартість MEV, це явище можна назвати "стимулюючим дешифруванням".
Цю ситуацію не важко уявити, оскільки подібні механізми, такі як MEV Share, вже існують у реальному світі. MEV Share - це механізм аукціону торгових потоків, який дозволяє користувачам вибірково подавати інформацію про транзакції до пулу, а пошуковики змагаються за отримання права використовувати MEV-можливості цієї транзакції. Переможець аукціону, після вилучення MEV, повертає частину прибутку (тобто суму ставки або її певний відсоток) користувачу.
Цей режим може безпосередньо адаптуватися до криптографічних пам'яті: користувачам потрібно розкрити ключі для дешифрування (або часткову інформацію), щоб брати участь. Але більшість користувачів не усвідомлюють альтернативні витрати участі в таких механізмах, вони лише бачать короткострокові вигоди і з радістю розкривають інформацію. У традиційних фінансах також є подібні випадки: наприклад, безкоштовна торгова платформа Robinhood, чий прибутковий модель полягає у продажу потоку замовлень користувачів третім сторонам через «платежі за потік замовлень».
Інший можливий сценарій полягає в тому, що великі будівельники, посилаючись на цензуру, змушують користувачів розкривати зміст транзакцій (або відповідну інформацію). Антицензурність є важливою і спірною темою в сфері Web3, але якщо великі валідатори або будівельники підлягають юридичним вимогам (наприклад, правилам Офісу контролю за іноземними активами США OFAC), вони можуть відмовитися обробляти будь-які криптотранзакції. Технічно, користувачі можуть підтвердити, що їх криптотранзакції відповідають вимогам цензури, використовуючи нульові знання, але це призведе до додаткових витрат і складності. Навіть якщо блокчейн має сильну антицензурність (забезпечуючи, що криптотранзакції неодмінно будуть включені), будівельники все ще можуть віддавати перевагу транзакціям з відомим відкритим текстом, розміщуючи їх на початку блоку, а криптотранзакції - в кінці. Тому ті, хто повинні забезпечити виконання пріоритетних транзакцій, в кінцевому підсумку можуть бути змушені розкрити зміст будівельникам.
Інші виклики ефективності
Шифрований пул пам'яті суттєво збільшує витрати системи різними очевидними способами. Користувачам потрібно шифрувати транзакції, а системі потрібно якимось чином їх розшифрувати, що збільшує витрати на обчислення та може також збільшити обсяг транзакцій. Як уже згадувалося, обробка метаданих ще більше посилює ці витрати. Проте є й деякі витрати на ефективність, які не є такими очевидними. У фінансовій сфері, якщо ціни можуть відображати всю доступну інформацію, ринок вважається ефективним; затримки та інформаційна асиметрія призводять до неефективності ринку. Це неминучий наслідок шифрованого пулу пам'яті.
Цей тип неефективності призводить до безпосереднього наслідку: збільшення невизначеності цін, що є прямим продуктом додаткової затримки, введеної крипто-пам’яттю. Отже, може збільшитися кількість угод, що не проходять через перевищення допустимого ковзання ціни, що, в свою чергу, призводить до марнотратства простору в ланцюгу.
Також, така цінова невизначеність може стимулювати спекулятивні MEV-угоди, які намагаються отримати прибуток від арбітражу на ланцюгу. Варто зазначити, що крипто-пам'ять може зробити ці можливості більш поширеними: через затримки виконання, поточний стан децентралізованих бірж (DEX) стає більш розмитим, що, ймовірно, призведе до зниження ефективності ринку та виникнення цінових різниць між різними торговими платформами. Такі спекулятивні MEV-угоди також можуть витрачати простір блоків, оскільки, якщо арбітражні можливості не будуть виявлені, вони зазвичай припиняють виконання.
Підсумок
Основною метою цієї статті є систематизація викликів, з якими стикаються крипто-мемпули, щоб люди могли зосередити свої зусилля на розробці інших рішень, однак крипто-мемпули все ще можуть стати частиною механізму управління MEV.
Одним із можливих підходів є змішаний дизайн: частину транзакцій реалізують через зашифрований пул пам'яті з "сліпою сортуванням", а іншу частину - за допомогою інших схем сортування. Для певних типів транзакцій (наприклад, купівельних та продажних ордерів великих учасників ринку, які можуть ретельно зашифровувати або заповнювати транзакції та готові платити вищу ціну, щоб уникнути MEV) змішаний дизайн може бути відповідним вибором. Для надзвичайно чутливих транзакцій (таких як транзакції на виправлення вразливих безпечних контрактів) цей дизайн також має практичний сенс.
Однак через технічні обмеження, високу складність проекту та витрати на продуктивність, зашифрований мемпул малоймовірно стане "універсальним рішенням MEV", на яке сподіваються люди. Спільноті потрібно розробити інші рішення, включаючи аукціони MEV, механізми захисту на прикладному рівні та скорочення часу остаточного підтвердження. MEV залишатиметься викликом на певний час у майбутньому, і потрібно знайти баланс між різними рішеннями через глибоке дослідження для подолання його негативного впливу.