Обговорили різні сценарії застосування технології ZK для досягнення захисту конфіденційності в DeFi, особливо її потенціал у протистоянні первинним транзакціям, маніпулюванню ліквідністю та кредитуванню.
Автор: Салюс
1. Введення
Децентралізовані фінанси (DeFi) — важливий напрямок розвитку в сучасній сфері фінансових інновацій. У DeFi приховування інформації про транзакції та збереження конфіденційності користувачів мають вирішальне значення. Оскільки DeFi продовжує розширюватися та поглиблюватися, нескінченно з’являються різноманітні проекти, які наповнюються життєвою силою. Застосування технології підтвердження нульового знання (ZK) відкрило нові можливості для захисту конфіденційності в DeFi. Технологія ZK дозволяє одній стороні довести іншій стороні, що вона знає певну інформацію, не розкриваючи жодних конкретних деталей про цю інформацію. Застосування цієї технології в таких проектах DeFi, як ZigZag, unyfy і ZK DEX від OKX, значно розширило можливості захисту конфіденційності DeFi, особливо захист інформації про транзакції. Можна передбачити, що широке застосування технології ZK призведе до інновацій у способах обробки DeFi та всієї сфери криптовалют, сприятиме майбутньому розвитку всієї галузі та досягне великих проривів.
2. Виклики конфіденційності в DeFi
У блокчейні немає секретів, а прозорість даних DeFi беззаперечна. Беручи транзакцію на Uniswap V3 як приклад, ми можемо легко переглянути деталі транзакції на веб-сайті Etherescan (як показано на малюнку 1). Наприклад, адреса 0x3A4D…a6f2 обміняла 2 WETH на 17 654 123 249 375 Bonk на Uniswap V3, а комісія за транзакцію становила 0,0046 Ether. Ключова інформація, така як відправник (від), одержувач (кому), сума транзакції (вартість) і комісія за транзакцію (комісія за транзакцію) у цих транзакціях є загальнодоступною.
Малюнок 1 Деталі транзакції розкриваються на etherescan
Ми також можемо переглядати всі записи транзакцій за адресою 0x3A4D…a6f2 (як показано на малюнку 2. Якщо дозволяють умови, ми також можемо визначити справжню ідентичність цієї адреси в реальному світі).
Малюнок 2 Список усіх транзакцій для певної адреси є відкритим на etherescan
Однак прозорість даних DeFi може мати деякі недоліки. Якщо ви кіт DeFi, кожна ваша транзакція може привернути увагу ринку.Наприклад, коли кит виводить 11,24 мільйона WOO (приблизно 4,2 мільйона доларів США) з Binance, ця транзакція приверне велику увагу. Подібним чином будь-які платежі на великі суми або трансакції на інституційному рівні також можуть викликати широке занепокоєння громадськості.
Інші учасники ринку можуть приймати рішення про купівлю та продаж на основі такої торгової поведінки, що може негативно вплинути на вашу інвестиційну стратегію. Наприклад, ви інвестуєте велику суму грошей у певний проект, але як тільки вашу транзакцію помітить ринок, інші інвестори можуть наслідувати цей приклад, спричиняючи зростання цін на активи, тим самим збільшуючи ваші інвестиційні витрати. Крім того, ваша операція з продажу також може спровокувати ринкову паніку, що спричинить падіння цін і вплине на прибутки від інвестицій.
Ця ситуація підкреслює нагальну потребу захисту конфіденційності серед проектів і користувачів DeFi. Якщо ми не хочемо, щоб деталі наших транзакцій були відомі громадськості, ми можемо залишити певну інформацію про транзакції DeFi конфіденційною.
Технологія ZK може забезпечити легітимність транзакцій, приховуючи деталі транзакцій. Користувачам потрібно надати два типи інформації: одна — транзакція, яка частково приховує деталі (наприклад, одержувач транзакції чи сума) (тобто приватна транзакція), а інша — довідка ZK про цю приховану інформацію. Перевірка легітимності приватної транзакції фактично є перевіркою відповідного сертифіката ЗК.
3. Розкриття потенціалу DeFi: можливості технології ZK
3.1 Роль технології ZK у протистоянні первинним транзакціям
Припустімо, що вам пощастило дізнатися, що велика компанія збирається придбати велику кількість певного активу. Ви можете вибрати придбати цей актив раніше, ніж це зробить компанія. Потім, коли велика купівля цієї компанії підвищує ціну активу, ви продаєте його з прибутком. У цьому випадку ваша торгівля перед великими гравцями є першою угодою.
Front-running — це інвестиційна стратегія у фінансовій торгівлі, яка зазвичай відбувається на біржах, таких як Uniswap. Це пояснюється тим, що транзакції в блокчейні є публічними, а підтвердження транзакцій займає певний час. Таким чином, деякі зловмисні трейдери можуть підвищити комісію за транзакцію, щоб дозволити видобувати та підтверджувати свої транзакції перед транзакціями інших людей, щоб досягти мети первинних транзакцій.
Попередні операції можуть завдати шкоди іншим трейдерам, оскільки змінюють початкове торгове середовище так, що угоди інших трейдерів можуть відбуватися не так, як спочатку планувалося. З іншого боку, зловмисники ініціюють початкові транзакції, щоб отримати прибуток для себе.Вони можуть отримати прибуток до того, як ціна зміниться. Тому багато проектів DeFi також намагаються запобігти попереднім транзакціям різними методами.
Технологія ZK може зіграти ключову роль у боротьбі з передовими угодами. Нижче ми розглянемо як приклад сендвіч-атаку в децентралізованому обміні (DEX). Це також поширений тип першої транзакції для аналізу випадків.
3.1.1 Приклад: Сендвіч-атака в DEX
Що таке сендвічна атака?
Припустімо, що на DEX є пул ліквідності зі статусом резерву 100 ETH / 300 000 USDT. Аліса ініціює транзакцію для покупки USDT, обмінюючи 20 ETH на USDT. Коли вона надішле транзакцію, DEX поверне результат на основі поточного резервного статусу пулу ліквідності, повідомляючи Алісі, що вона може купити приблизно 50 000 USDT. Але насправді Аліса отримала лише 45 714 доларів США.
Давайте спочатку коротко зрозуміємо, чому Аліса може купити 50 000 USDT за 20 ETH. DEX використовує модель Automated Market Maker (AMM) і автоматично розраховує ціну купівлі та продажу за допомогою алгоритму Constant Product Market Maker (CPMM). CPMM — це популярний наразі автоматизований алгоритм маркет-мейкера, який підтримує постійний добуток двох активів у торговому пулі для досягнення ліквідності та автоматичного коригування цін на активи. У цьому прикладі сума USDT, яку може купити Аліса, обчислюється за формулою 50 000=300 000-(100*300 000)/(100+20) (за умови, що комісії за обробку немає).
Аліса не купила очікувану суму USDT, оскільки зазнала нападу сендвіча.
Сендвіч-атаки в основному відбуваються в DEX на основі AMM. У сендвіч-атаці зловмисник розміщує дві транзакції навколо звичайних транзакцій жертви, щоб маніпулювати цінами активів і отримати прибуток від збитків жертви. Ці дві транзакції відповідно є початковими та наступними транзакціями. Транзакція перед звичайною транзакцією називається початковою транзакцією, а транзакція після звичайної транзакції називається подальшою транзакцією.
Отже, як спрацювала сендвіч-атака Аліси? Як показано на малюнку 3.
Малюнок 3 Процес сендвіч-атаки
Превентивна транзакція зловмисника: перед виконанням транзакції, ініційованої Алісою для придбання USDT, зловмисник також ініціював транзакцію для придбання USDT (превентивна транзакція), тобто обмін 5 ETH на USDT. Крім того, комісія за газ, сплачена зловмисником майнеру за цю транзакцію, вища, ніж у Аліси, тому транзакція зловмисника буде виконана раніше Аліси.
Після того, як зловмисник здійснив операцію купівлі USDT, він отримав приблизно 14 286 USDT із пулу ліквідності, 14 286≈300 000-(100*300 000)/(100+5). Резерв пулу ліквідності змінився з початкового стану 100 ETH / 300 000 USDT на 105 ETH / 285 714 USDT. Однак Аліса не знає, що статус резерву пулу ліквідності змінився між часом, коли вона надсилає транзакцію, і моментом, коли її транзакція виконується.
Звичайна транзакція жертви: потім виконується звичайна транзакція Аліси.
Після виконання транзакції Аліси на купівлю USDT вона отримала 45 714 USDT із пулу ліквідності (відповідно до функції постійного продукту 45 714≈285 714-(105*285 714)/(105+20)). Статус резерву ліквідності змінено зі 105 ETH / 285 714 USDT на 125 ETH / 240 000 USDT. Тому Аліса повинна була купити 50 000 USDT за 20 ETH, але тепер вона може купити лише 45 714 USDT через зміни в пулі ліквідності, спричинені транзакцією зловмисника. Аліса втратила приблизно 4286 USDT (4286=50 000-45 714).
Подальша транзакція зловмисника: нарешті зловмисник знову ініціював транзакцію (подальшу транзакцію), тобто обміняв 14 286 USDT на ETH (ці 14 286 USDT було куплено щойно).
Після того, як наступна транзакція зловмисника була виконана, він дістав 7 ETH з пулу ліквідності (визначена функція продукту, 7≈125-(125*240 000)/(240 000+14 286)). Резервний статус пулу ліквідності змінено з 125 ETH / 240 000 USDT на 118 ETH / 254 286 USDT. Таким чином, зловмисник витратив лише 5 ETH на початку, але зрештою отримав 7 ETH і отримав 2 ETH (2=7-5).
Протягом усього процесу сендвіч-атаки зловмисник ініціював загалом дві транзакції, а саме попередню транзакцію та наступну транзакцію. Попередня транзакція призвела до того, що Аліса втратила приблизно 4286 доларів США. Поєднання попередніх і наступних транзакцій принесло зловмисникові прибуток у 2 ETH.
У DEX публічність транзакцій є ключовим фактором, що призводить до появи сендвіч-атак, особливо в протоколах AMM. Ці протоколи роблять інформацію про транзакції в режимі реального часу на DEX загальнодоступною. Ця висока прозорість надає зловмисникам можливість спостерігати та аналізувати потоки транзакцій, щоб знайти можливості для здійснення сендвіч-атак.
3.1.2 Технологія ZK може протистояти сендвіч-атакам
Застосування технології ZK дозволяє значно знизити ймовірність сендвіч-атак. Використовуючи технологію ZK для приховування обсягу транзакцій, типів активів, балансів користувачів або пулу ліквідності, ідентифікаторів користувачів, інструкцій щодо транзакцій та іншої інформації, пов’язаної з протоколом, конфіденційність даних транзакцій можна ефективно покращити. Як наслідок, зловмисникові важко отримати повну інформацію про транзакції, що ускладнює реалізацію сендвіч-атаки.
Крім того, технологія ZK може не тільки протистояти сендвіч-атакам, але й приватні транзакції на основі ZK також можуть ускладнити оцінку моделей поведінки користувачів. Будь-яка третя сторона, яка намагається зібрати дані блокчейну для аналізу історії транзакцій облікового запису, висновків про моделі поведінки, дослідження циклів активності, частоти транзакцій або переваг тощо, зіткнеться з труднощами. Такий аналіз, відомий як висновок поведінкової моделі, не тільки порушує конфіденційність користувачів, але також може прокласти шлях для атак honeypot і фішингу.
3.2 Запобігайте маніпулюванню ліквідністю на основі технології ZK
Маніпулювання ліквідністю та торгівля на передньому плані є методами атаки в DeFi. Обидва методи атаки передбачають використання ринкової інформації та швидкості транзакцій для отримання вигоди, але їхні конкретні стратегії та методи роботи відрізняються.
Фронтування використовує інформацію, тоді як маніпулювання ліквідністю використовує активність ринку, щоб ввести в оману інших трейдерів. Перший в основному отримує прибуток, отримуючи та використовуючи нерозкриту важливу інформацію, тоді як другий вводить в оману інших інвесторів, створюючи неправдиву ринкову активність, змушуючи їх приймати несприятливі торгові рішення.
Технологія ZK може не тільки відігравати ключову роль у протистоянні первинним операціям, але також може допомогти запобігти маніпулюванню ліквідністю.
3.2.1 Приклад: використання Oracles для маніпуляції ліквідністю
Припустімо, ви купуєте яблука на жвавому фруктовому ринку. Ринкові ціни зазвичай коливаються залежно від змін попиту та пропозиції. Зазвичай ви спостерігаєте за цінами протягом певного періоду часу, а потім вирішуєте, чи купувати на основі середньої ціни. А тепер уявіть, що на ринок заходить дуже заможний покупець і він дуже хоче купити яблука. Він почав скуповувати яблука масово, незалежно від ціни. Це призведе до стрімкого зростання ціни Apple за короткий проміжок часу. Якщо ви все ще купуєте Apple за цією ціною, ви, ймовірно, платите більше, ніж вона насправді коштує.
Цей приклад може краще зрозуміти принцип роботи оракула TWAP (середньозважена ціна за часом) і концепцію маніпулювання ліквідністю. Акт прийняття рішення про купівлю яблук на основі середньої ціни схожий на роботу оракула TWAP.Купівля яблук багатими бізнесменами у великих кількостях, що спричиняє зростання цін, схоже на маніпулювання ліквідністю.
Оракул TWAP визначає ціни активів шляхом розрахунку середньої ціни транзакції за певний період часу. Чим пізніша угода, тим більший вплив на середню ціну. Якщо хтось здійснює велику кількість транзакцій або торгує великою сумою грошей за короткий проміжок часу, що може суттєво вплинути на середню ціну активу, це маніпулювання ліквідністю. Маніпулювання ліквідністю може штучно підвищити або знизити ціни активів, що призведе до отримання неточної інформації про ціни. Якщо хтось хоче використовувати оракул TWAP для навмисного підвищення ціни активу, він може використати велику суму грошей для придбання активу в короткостроковій перспективі, спричиняючи тимчасове зростання ціни. Якщо ціна активу значно зросте протягом цього періоду часу, оракул TWAP може розглядати цю вищу ціну як ціну активу.
Маніпуляції з ліквідністю оракулів TWAP можуть мати значний вплив на протоколи DeFi, особливо на нові токени з низькою ліквідністю. Ці протоколи DeFi зазвичай приймають фінансові рішення, такі як ліквідація, кредитування тощо, на основі ціни активу. Якщо інформація про ціну неточна або ненадійна, це може призвести до неправильних рішень, що призведе до збитків для користувачів. Тому вкрай важливо захистити оракули TWAP від маніпулювання ліквідністю.
3.2.2 Технологія ZK може протистояти маніпулюванню ліквідністю
Заснований на технології ZK, він може протистояти маніпулюванню ліквідністю в оракулі TWAP. Розумний контракт може бути розроблений таким чином, щоб покладатися на оракул TWAP для отримання цін на активи. Якщо зловмисник маніпулює ліквідністю, ціна, отримана від оракула TWAP, може перевищити попередньо встановлений прийнятний діапазон. У цьому випадку договір тимчасово припиняє свою дію. Потім він перерахує та підтвердить ціну активу на основі технології ZK.
Щоб використовувати технологію ZK для розрахунку цін на активи, вам спочатку потрібно додати контракт-обгортку до оракула TWAP. Контракт може мати прямий доступ до N звітів про ціни або записувати N контрольних значень ціни через довільні проміжки часу. Коли N точок даних доступні в заданому інтервалі, можна сконструювати доказ ZK, щоб підтвердити медіану несортованого масиву цін. Невідсортований масив цін позначається як вектор-стовпець x довжини N. Нижче наведено процес розрахунку ціни активів за технологією ZK:
Доказ можна перевірити одним із двох способів, у будь-якому випадку перевіряльник не може довільно вибрати масив цін як вхідні дані.
Отримувати значення масиву з контрактного сховища та використовувати їх як публічні вхідні дані для валідаторів у мережі;
Поступово формуйте хеш-ланцюжок за допомогою хеш-функції, представляючи масив як єдине хеш-значення та використовуючи це значення в валідаторі в ланцюжку.
Існує N x N матриця A (квадратна матриця). Коли матриця множиться на вектор-стовпець x, генерується вектор-стовпець y так, що y=Ax. A є оборотною матрицею перестановок, але оскільки можуть існувати повторювані значення ціни, A не обов’язково є унікальною, а A містить лише двійкові значення.
Значення в y впорядковані, тобто yiyi+1 i 0…N-1. Знову ж таки, < не можна використовувати, оскільки можуть бути повторювані значення ціни.
Публічний вихід схеми m є середнім значенням y. Доказ показує, що y⌊N/2⌋=m, де N є статичним значенням під час компіляції схеми та має бути непарним числом.
Відповідно до вищезазначеного процесу, середня ціна m виводиться на основі технології ZK, яка є захищеною від несанкціонованого доступу. Медіана m може певною мірою запобігти маніпулюванню ліквідністю. Щоб досягти цього, нам потрібно обмежити значення y таким чином, щоб у кожному блоці значення y вставлялося лише один раз або кількість вставок була в межах прийнятного кількість в діапазоні.
3.3 Технологія ZK розширює можливості платформ кредитування
Як згадувалося вище, технологія ZK здатна протистояти маніпулюванню з ліквідністю в DEX. Отже, чи можемо ми далі вивчити можливості застосування технології ZK в інших сценаріях DeFi? Наприклад, технологія ZK також може відігравати ключову роль у кредитуванні, важливому компоненті проектів DeFi.
3.3.1 Ключ до кредитування: як оцінити кредитоспроможність позичальника
На традиційних платформах кредитування процес подачі заявки на позику зазвичай охоплює п’ять етапів: заявка, оцінка кредиту, затвердження позики, видача позики та погашення. Серед них особливо важлива зв’язок з кредитною оцінкою: позичальники повинні довести, що їхні доходи відповідають стандартам і вони здатні погасити кредит. Під час процесу оцінки платформа проведе поглиблене дослідження кредитної історії позичальника, включно з доходами, зобов’язаннями та попередніми записами про погашення, щоб переконатися, що позичальник має можливість погасити кредит. Лише на цій основі платформа розглядатиме схвалення заявки на кредит.
Однак коли ви звертаєтеся до платформ кредитування DeFi, таких як Aave або Compound, ситуація змінюється. Через свою децентралізовану природу більшість платформ кредитування DeFi не мають процедур KYC (Знай свого клієнта, знай свого клієнта) і процедур оцінки ризиків традиційних банків, і вони не можуть досліджувати кредитний статус позичальників через спільні кредитні бюро. У цьому випадку ви можете запитати, як буде оцінено мій кредит?
На платформі кредитування DeFi ви можете підтвердити свою кредитоспроможність за допомогою підтвердження репутації. Репутаційний токен — це кредитна система, заснована на технології блокчейн, яка використовує цифрові токени для представлення та кількісного визначення репутації користувачів. Кількість токенів репутації стала важливим показником для оцінки кредитоспроможності користувача.Чим більше кількість токенів, тим краща репутація користувача та відповідне покращення кредитного рейтингу, що дає можливість отримати більше кредитних ліній на платформі кредитування DeFi.
Однак генерація токенів репутації залежить від історії транзакцій і фінансової інформації користувачів, що може порушувати права користувачів на конфіденційність.
3.3.2 Оцінка кредиту позичальника: токен репутації на основі технології ZK
Технологія ZK захищає конфіденційність користувачів. Поєднання технології ZK і маркерів репутації може захистити конфіденційність користувачів, зберігаючи та відстежуючи їх репутацію в мережі.
Користувачі можуть використовувати технологію ZK для створення токенів репутації без розкриття історичних транзакцій. З одного боку, користувачі можуть генерувати підтвердження історичних транзакцій на основі технології ZK; з іншого боку, підтвердження перевіряється за допомогою смарт-контракту (його часто називають контрактом генерації токенів репутації), і токени репутації можуть бути згенеровані, якщо перевірка пройде .
Крім того, на деяких платформах кредитування DeFi, які потребують надмірної застави, токени репутації можуть зменшити вимоги до іпотеки, тим самим вирішуючи проблему надмірної застави та покращуючи ліквідність ринку. Застосування токенів репутації на основі технології ZK не обмежується платформами кредитування DeFi, його також можна широко використовувати у страхуванні, медичних субсидіях та інших сферах.
4. Резюме та прогноз
У цій статті розглядаються різні сценарії застосування технології ZK для досягнення захисту конфіденційності в DeFi, особливо її потенціал у протидії первинним транзакціям, маніпулюванню ліквідністю та кредитуванню. У процесі вивчення DeFi ми стикаємося з кількома проблемами, особливо з проблемами конфіденційності та безпеки. Проблеми конфіденційності в екосистемі DeFi є ключовою проблемою, і технологія ZK надає унікальне рішення, яке не тільки покращує захист конфіденційності, але й підвищує ефективність і безпеку транзакцій. Якщо ви хочете запровадити технологію ZK у свій DApp, зв’яжіться з Salus.
Дивлячись у майбутнє, технологія ZK може бути застосована в більш глибоких сферах DeFi, таких як ставка ліквідності, протоколи деривативів, реальні активи, страхування тощо. Salus зосереджується на дослідженні та дослідженні застосування технології ZK у DeFi та інших проектах прикладного рівня Ethereum. Ми щиро запрошуємо дослідників блокчейну, розробників технологій і всіх професіоналів у сфері web3 по всьому світу працювати з нами, щоб сприяти поглибленому розвитку та широкому застосуванню технології ZK для стимулювання розвитку DeFi і навіть усієї галузі.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Технологія з нульовим знанням: запалюємо нову зірку DeFi
Автор: Салюс
1. Введення
Децентралізовані фінанси (DeFi) — важливий напрямок розвитку в сучасній сфері фінансових інновацій. У DeFi приховування інформації про транзакції та збереження конфіденційності користувачів мають вирішальне значення. Оскільки DeFi продовжує розширюватися та поглиблюватися, нескінченно з’являються різноманітні проекти, які наповнюються життєвою силою. Застосування технології підтвердження нульового знання (ZK) відкрило нові можливості для захисту конфіденційності в DeFi. Технологія ZK дозволяє одній стороні довести іншій стороні, що вона знає певну інформацію, не розкриваючи жодних конкретних деталей про цю інформацію. Застосування цієї технології в таких проектах DeFi, як ZigZag, unyfy і ZK DEX від OKX, значно розширило можливості захисту конфіденційності DeFi, особливо захист інформації про транзакції. Можна передбачити, що широке застосування технології ZK призведе до інновацій у способах обробки DeFi та всієї сфери криптовалют, сприятиме майбутньому розвитку всієї галузі та досягне великих проривів.
2. Виклики конфіденційності в DeFi
У блокчейні немає секретів, а прозорість даних DeFi беззаперечна. Беручи транзакцію на Uniswap V3 як приклад, ми можемо легко переглянути деталі транзакції на веб-сайті Etherescan (як показано на малюнку 1). Наприклад, адреса 0x3A4D…a6f2 обміняла 2 WETH на 17 654 123 249 375 Bonk на Uniswap V3, а комісія за транзакцію становила 0,0046 Ether. Ключова інформація, така як відправник (від), одержувач (кому), сума транзакції (вартість) і комісія за транзакцію (комісія за транзакцію) у цих транзакціях є загальнодоступною.
Малюнок 1 Деталі транзакції розкриваються на etherescan
Ми також можемо переглядати всі записи транзакцій за адресою 0x3A4D…a6f2 (як показано на малюнку 2. Якщо дозволяють умови, ми також можемо визначити справжню ідентичність цієї адреси в реальному світі).
Малюнок 2 Список усіх транзакцій для певної адреси є відкритим на etherescan
Однак прозорість даних DeFi може мати деякі недоліки. Якщо ви кіт DeFi, кожна ваша транзакція може привернути увагу ринку.Наприклад, коли кит виводить 11,24 мільйона WOO (приблизно 4,2 мільйона доларів США) з Binance, ця транзакція приверне велику увагу. Подібним чином будь-які платежі на великі суми або трансакції на інституційному рівні також можуть викликати широке занепокоєння громадськості.
Інші учасники ринку можуть приймати рішення про купівлю та продаж на основі такої торгової поведінки, що може негативно вплинути на вашу інвестиційну стратегію. Наприклад, ви інвестуєте велику суму грошей у певний проект, але як тільки вашу транзакцію помітить ринок, інші інвестори можуть наслідувати цей приклад, спричиняючи зростання цін на активи, тим самим збільшуючи ваші інвестиційні витрати. Крім того, ваша операція з продажу також може спровокувати ринкову паніку, що спричинить падіння цін і вплине на прибутки від інвестицій.
Ця ситуація підкреслює нагальну потребу захисту конфіденційності серед проектів і користувачів DeFi. Якщо ми не хочемо, щоб деталі наших транзакцій були відомі громадськості, ми можемо залишити певну інформацію про транзакції DeFi конфіденційною.
Технологія ZK може забезпечити легітимність транзакцій, приховуючи деталі транзакцій. Користувачам потрібно надати два типи інформації: одна — транзакція, яка частково приховує деталі (наприклад, одержувач транзакції чи сума) (тобто приватна транзакція), а інша — довідка ZK про цю приховану інформацію. Перевірка легітимності приватної транзакції фактично є перевіркою відповідного сертифіката ЗК.
3. Розкриття потенціалу DeFi: можливості технології ZK
3.1 Роль технології ZK у протистоянні первинним транзакціям
Припустімо, що вам пощастило дізнатися, що велика компанія збирається придбати велику кількість певного активу. Ви можете вибрати придбати цей актив раніше, ніж це зробить компанія. Потім, коли велика купівля цієї компанії підвищує ціну активу, ви продаєте його з прибутком. У цьому випадку ваша торгівля перед великими гравцями є першою угодою.
Front-running — це інвестиційна стратегія у фінансовій торгівлі, яка зазвичай відбувається на біржах, таких як Uniswap. Це пояснюється тим, що транзакції в блокчейні є публічними, а підтвердження транзакцій займає певний час. Таким чином, деякі зловмисні трейдери можуть підвищити комісію за транзакцію, щоб дозволити видобувати та підтверджувати свої транзакції перед транзакціями інших людей, щоб досягти мети первинних транзакцій.
Попередні операції можуть завдати шкоди іншим трейдерам, оскільки змінюють початкове торгове середовище так, що угоди інших трейдерів можуть відбуватися не так, як спочатку планувалося. З іншого боку, зловмисники ініціюють початкові транзакції, щоб отримати прибуток для себе.Вони можуть отримати прибуток до того, як ціна зміниться. Тому багато проектів DeFi також намагаються запобігти попереднім транзакціям різними методами.
Технологія ZK може зіграти ключову роль у боротьбі з передовими угодами. Нижче ми розглянемо як приклад сендвіч-атаку в децентралізованому обміні (DEX). Це також поширений тип першої транзакції для аналізу випадків.
3.1.1 Приклад: Сендвіч-атака в DEX
Що таке сендвічна атака?
Припустімо, що на DEX є пул ліквідності зі статусом резерву 100 ETH / 300 000 USDT. Аліса ініціює транзакцію для покупки USDT, обмінюючи 20 ETH на USDT. Коли вона надішле транзакцію, DEX поверне результат на основі поточного резервного статусу пулу ліквідності, повідомляючи Алісі, що вона може купити приблизно 50 000 USDT. Але насправді Аліса отримала лише 45 714 доларів США.
Давайте спочатку коротко зрозуміємо, чому Аліса може купити 50 000 USDT за 20 ETH. DEX використовує модель Automated Market Maker (AMM) і автоматично розраховує ціну купівлі та продажу за допомогою алгоритму Constant Product Market Maker (CPMM). CPMM — це популярний наразі автоматизований алгоритм маркет-мейкера, який підтримує постійний добуток двох активів у торговому пулі для досягнення ліквідності та автоматичного коригування цін на активи. У цьому прикладі сума USDT, яку може купити Аліса, обчислюється за формулою 50 000=300 000-(100*300 000)/(100+20) (за умови, що комісії за обробку немає).
Аліса не купила очікувану суму USDT, оскільки зазнала нападу сендвіча.
Сендвіч-атаки в основному відбуваються в DEX на основі AMM. У сендвіч-атаці зловмисник розміщує дві транзакції навколо звичайних транзакцій жертви, щоб маніпулювати цінами активів і отримати прибуток від збитків жертви. Ці дві транзакції відповідно є початковими та наступними транзакціями. Транзакція перед звичайною транзакцією називається початковою транзакцією, а транзакція після звичайної транзакції називається подальшою транзакцією.
Отже, як спрацювала сендвіч-атака Аліси? Як показано на малюнку 3.
Малюнок 3 Процес сендвіч-атаки
Превентивна транзакція зловмисника: перед виконанням транзакції, ініційованої Алісою для придбання USDT, зловмисник також ініціював транзакцію для придбання USDT (превентивна транзакція), тобто обмін 5 ETH на USDT. Крім того, комісія за газ, сплачена зловмисником майнеру за цю транзакцію, вища, ніж у Аліси, тому транзакція зловмисника буде виконана раніше Аліси.
Після того, як зловмисник здійснив операцію купівлі USDT, він отримав приблизно 14 286 USDT із пулу ліквідності, 14 286≈300 000-(100*300 000)/(100+5). Резерв пулу ліквідності змінився з початкового стану 100 ETH / 300 000 USDT на 105 ETH / 285 714 USDT. Однак Аліса не знає, що статус резерву пулу ліквідності змінився між часом, коли вона надсилає транзакцію, і моментом, коли її транзакція виконується.
Звичайна транзакція жертви: потім виконується звичайна транзакція Аліси.
Після виконання транзакції Аліси на купівлю USDT вона отримала 45 714 USDT із пулу ліквідності (відповідно до функції постійного продукту 45 714≈285 714-(105*285 714)/(105+20)). Статус резерву ліквідності змінено зі 105 ETH / 285 714 USDT на 125 ETH / 240 000 USDT. Тому Аліса повинна була купити 50 000 USDT за 20 ETH, але тепер вона може купити лише 45 714 USDT через зміни в пулі ліквідності, спричинені транзакцією зловмисника. Аліса втратила приблизно 4286 USDT (4286=50 000-45 714).
Подальша транзакція зловмисника: нарешті зловмисник знову ініціював транзакцію (подальшу транзакцію), тобто обміняв 14 286 USDT на ETH (ці 14 286 USDT було куплено щойно).
Після того, як наступна транзакція зловмисника була виконана, він дістав 7 ETH з пулу ліквідності (визначена функція продукту, 7≈125-(125*240 000)/(240 000+14 286)). Резервний статус пулу ліквідності змінено з 125 ETH / 240 000 USDT на 118 ETH / 254 286 USDT. Таким чином, зловмисник витратив лише 5 ETH на початку, але зрештою отримав 7 ETH і отримав 2 ETH (2=7-5).
Протягом усього процесу сендвіч-атаки зловмисник ініціював загалом дві транзакції, а саме попередню транзакцію та наступну транзакцію. Попередня транзакція призвела до того, що Аліса втратила приблизно 4286 доларів США. Поєднання попередніх і наступних транзакцій принесло зловмисникові прибуток у 2 ETH.
У DEX публічність транзакцій є ключовим фактором, що призводить до появи сендвіч-атак, особливо в протоколах AMM. Ці протоколи роблять інформацію про транзакції в режимі реального часу на DEX загальнодоступною. Ця висока прозорість надає зловмисникам можливість спостерігати та аналізувати потоки транзакцій, щоб знайти можливості для здійснення сендвіч-атак.
3.1.2 Технологія ZK може протистояти сендвіч-атакам
Застосування технології ZK дозволяє значно знизити ймовірність сендвіч-атак. Використовуючи технологію ZK для приховування обсягу транзакцій, типів активів, балансів користувачів або пулу ліквідності, ідентифікаторів користувачів, інструкцій щодо транзакцій та іншої інформації, пов’язаної з протоколом, конфіденційність даних транзакцій можна ефективно покращити. Як наслідок, зловмисникові важко отримати повну інформацію про транзакції, що ускладнює реалізацію сендвіч-атаки.
Крім того, технологія ZK може не тільки протистояти сендвіч-атакам, але й приватні транзакції на основі ZK також можуть ускладнити оцінку моделей поведінки користувачів. Будь-яка третя сторона, яка намагається зібрати дані блокчейну для аналізу історії транзакцій облікового запису, висновків про моделі поведінки, дослідження циклів активності, частоти транзакцій або переваг тощо, зіткнеться з труднощами. Такий аналіз, відомий як висновок поведінкової моделі, не тільки порушує конфіденційність користувачів, але також може прокласти шлях для атак honeypot і фішингу.
3.2 Запобігайте маніпулюванню ліквідністю на основі технології ZK
Маніпулювання ліквідністю та торгівля на передньому плані є методами атаки в DeFi. Обидва методи атаки передбачають використання ринкової інформації та швидкості транзакцій для отримання вигоди, але їхні конкретні стратегії та методи роботи відрізняються.
Фронтування використовує інформацію, тоді як маніпулювання ліквідністю використовує активність ринку, щоб ввести в оману інших трейдерів. Перший в основному отримує прибуток, отримуючи та використовуючи нерозкриту важливу інформацію, тоді як другий вводить в оману інших інвесторів, створюючи неправдиву ринкову активність, змушуючи їх приймати несприятливі торгові рішення.
Технологія ZK може не тільки відігравати ключову роль у протистоянні первинним операціям, але також може допомогти запобігти маніпулюванню ліквідністю.
3.2.1 Приклад: використання Oracles для маніпуляції ліквідністю
Припустімо, ви купуєте яблука на жвавому фруктовому ринку. Ринкові ціни зазвичай коливаються залежно від змін попиту та пропозиції. Зазвичай ви спостерігаєте за цінами протягом певного періоду часу, а потім вирішуєте, чи купувати на основі середньої ціни. А тепер уявіть, що на ринок заходить дуже заможний покупець і він дуже хоче купити яблука. Він почав скуповувати яблука масово, незалежно від ціни. Це призведе до стрімкого зростання ціни Apple за короткий проміжок часу. Якщо ви все ще купуєте Apple за цією ціною, ви, ймовірно, платите більше, ніж вона насправді коштує.
Цей приклад може краще зрозуміти принцип роботи оракула TWAP (середньозважена ціна за часом) і концепцію маніпулювання ліквідністю. Акт прийняття рішення про купівлю яблук на основі середньої ціни схожий на роботу оракула TWAP.Купівля яблук багатими бізнесменами у великих кількостях, що спричиняє зростання цін, схоже на маніпулювання ліквідністю.
Оракул TWAP визначає ціни активів шляхом розрахунку середньої ціни транзакції за певний період часу. Чим пізніша угода, тим більший вплив на середню ціну. Якщо хтось здійснює велику кількість транзакцій або торгує великою сумою грошей за короткий проміжок часу, що може суттєво вплинути на середню ціну активу, це маніпулювання ліквідністю. Маніпулювання ліквідністю може штучно підвищити або знизити ціни активів, що призведе до отримання неточної інформації про ціни. Якщо хтось хоче використовувати оракул TWAP для навмисного підвищення ціни активу, він може використати велику суму грошей для придбання активу в короткостроковій перспективі, спричиняючи тимчасове зростання ціни. Якщо ціна активу значно зросте протягом цього періоду часу, оракул TWAP може розглядати цю вищу ціну як ціну активу.
Маніпуляції з ліквідністю оракулів TWAP можуть мати значний вплив на протоколи DeFi, особливо на нові токени з низькою ліквідністю. Ці протоколи DeFi зазвичай приймають фінансові рішення, такі як ліквідація, кредитування тощо, на основі ціни активу. Якщо інформація про ціну неточна або ненадійна, це може призвести до неправильних рішень, що призведе до збитків для користувачів. Тому вкрай важливо захистити оракули TWAP від маніпулювання ліквідністю.
3.2.2 Технологія ZK може протистояти маніпулюванню ліквідністю
Заснований на технології ZK, він може протистояти маніпулюванню ліквідністю в оракулі TWAP. Розумний контракт може бути розроблений таким чином, щоб покладатися на оракул TWAP для отримання цін на активи. Якщо зловмисник маніпулює ліквідністю, ціна, отримана від оракула TWAP, може перевищити попередньо встановлений прийнятний діапазон. У цьому випадку договір тимчасово припиняє свою дію. Потім він перерахує та підтвердить ціну активу на основі технології ZK.
Щоб використовувати технологію ZK для розрахунку цін на активи, вам спочатку потрібно додати контракт-обгортку до оракула TWAP. Контракт може мати прямий доступ до N звітів про ціни або записувати N контрольних значень ціни через довільні проміжки часу. Коли N точок даних доступні в заданому інтервалі, можна сконструювати доказ ZK, щоб підтвердити медіану несортованого масиву цін. Невідсортований масив цін позначається як вектор-стовпець x довжини N. Нижче наведено процес розрахунку ціни активів за технологією ZK:
Доказ можна перевірити одним із двох способів, у будь-якому випадку перевіряльник не може довільно вибрати масив цін як вхідні дані.
Існує N x N матриця A (квадратна матриця). Коли матриця множиться на вектор-стовпець x, генерується вектор-стовпець y так, що y=Ax. A є оборотною матрицею перестановок, але оскільки можуть існувати повторювані значення ціни, A не обов’язково є унікальною, а A містить лише двійкові значення.
Значення в y впорядковані, тобто yiyi+1 i 0…N-1. Знову ж таки, < не можна використовувати, оскільки можуть бути повторювані значення ціни.
Публічний вихід схеми m є середнім значенням y. Доказ показує, що y⌊N/2⌋=m, де N є статичним значенням під час компіляції схеми та має бути непарним числом.
Відповідно до вищезазначеного процесу, середня ціна m виводиться на основі технології ZK, яка є захищеною від несанкціонованого доступу. Медіана m може певною мірою запобігти маніпулюванню ліквідністю. Щоб досягти цього, нам потрібно обмежити значення y таким чином, щоб у кожному блоці значення y вставлялося лише один раз або кількість вставок була в межах прийнятного кількість в діапазоні.
3.3 Технологія ZK розширює можливості платформ кредитування
Як згадувалося вище, технологія ZK здатна протистояти маніпулюванню з ліквідністю в DEX. Отже, чи можемо ми далі вивчити можливості застосування технології ZK в інших сценаріях DeFi? Наприклад, технологія ZK також може відігравати ключову роль у кредитуванні, важливому компоненті проектів DeFi.
3.3.1 Ключ до кредитування: як оцінити кредитоспроможність позичальника
На традиційних платформах кредитування процес подачі заявки на позику зазвичай охоплює п’ять етапів: заявка, оцінка кредиту, затвердження позики, видача позики та погашення. Серед них особливо важлива зв’язок з кредитною оцінкою: позичальники повинні довести, що їхні доходи відповідають стандартам і вони здатні погасити кредит. Під час процесу оцінки платформа проведе поглиблене дослідження кредитної історії позичальника, включно з доходами, зобов’язаннями та попередніми записами про погашення, щоб переконатися, що позичальник має можливість погасити кредит. Лише на цій основі платформа розглядатиме схвалення заявки на кредит.
Однак коли ви звертаєтеся до платформ кредитування DeFi, таких як Aave або Compound, ситуація змінюється. Через свою децентралізовану природу більшість платформ кредитування DeFi не мають процедур KYC (Знай свого клієнта, знай свого клієнта) і процедур оцінки ризиків традиційних банків, і вони не можуть досліджувати кредитний статус позичальників через спільні кредитні бюро. У цьому випадку ви можете запитати, як буде оцінено мій кредит?
На платформі кредитування DeFi ви можете підтвердити свою кредитоспроможність за допомогою підтвердження репутації. Репутаційний токен — це кредитна система, заснована на технології блокчейн, яка використовує цифрові токени для представлення та кількісного визначення репутації користувачів. Кількість токенів репутації стала важливим показником для оцінки кредитоспроможності користувача.Чим більше кількість токенів, тим краща репутація користувача та відповідне покращення кредитного рейтингу, що дає можливість отримати більше кредитних ліній на платформі кредитування DeFi.
Однак генерація токенів репутації залежить від історії транзакцій і фінансової інформації користувачів, що може порушувати права користувачів на конфіденційність.
3.3.2 Оцінка кредиту позичальника: токен репутації на основі технології ZK
Технологія ZK захищає конфіденційність користувачів. Поєднання технології ZK і маркерів репутації може захистити конфіденційність користувачів, зберігаючи та відстежуючи їх репутацію в мережі.
Користувачі можуть використовувати технологію ZK для створення токенів репутації без розкриття історичних транзакцій. З одного боку, користувачі можуть генерувати підтвердження історичних транзакцій на основі технології ZK; з іншого боку, підтвердження перевіряється за допомогою смарт-контракту (його часто називають контрактом генерації токенів репутації), і токени репутації можуть бути згенеровані, якщо перевірка пройде .
Крім того, на деяких платформах кредитування DeFi, які потребують надмірної застави, токени репутації можуть зменшити вимоги до іпотеки, тим самим вирішуючи проблему надмірної застави та покращуючи ліквідність ринку. Застосування токенів репутації на основі технології ZK не обмежується платформами кредитування DeFi, його також можна широко використовувати у страхуванні, медичних субсидіях та інших сферах.
4. Резюме та прогноз
У цій статті розглядаються різні сценарії застосування технології ZK для досягнення захисту конфіденційності в DeFi, особливо її потенціал у протидії первинним транзакціям, маніпулюванню ліквідністю та кредитуванню. У процесі вивчення DeFi ми стикаємося з кількома проблемами, особливо з проблемами конфіденційності та безпеки. Проблеми конфіденційності в екосистемі DeFi є ключовою проблемою, і технологія ZK надає унікальне рішення, яке не тільки покращує захист конфіденційності, але й підвищує ефективність і безпеку транзакцій. Якщо ви хочете запровадити технологію ZK у свій DApp, зв’яжіться з Salus.
Дивлячись у майбутнє, технологія ZK може бути застосована в більш глибоких сферах DeFi, таких як ставка ліквідності, протоколи деривативів, реальні активи, страхування тощо. Salus зосереджується на дослідженні та дослідженні застосування технології ZK у DeFi та інших проектах прикладного рівня Ethereum. Ми щиро запрошуємо дослідників блокчейну, розробників технологій і всіх професіоналів у сфері web3 по всьому світу працювати з нами, щоб сприяти поглибленому розвитку та широкому застосуванню технології ZK для стимулювання розвитку DeFi і навіть усієї галузі.