Sandvichlarga yo‘l yo‘q — AMM’lardagi MEV hujumlarining oldini qanday olish mumkin
Bu post, Carbon (va Carbon’y pozitsiyasiga xos bo‘lgan katta virtual to‘lovlar) ugunsimon MEV hujumlarini imkonsiz qilishini tushuntirgan dastlabki postimdan keyingi davomi, shuningdek Markning keyingi postlari buni miqdoriy baholab, ushbu formulalar nimani anglatishini ko‘rib chiqqan. Bu post esa Markning eng so‘nggi maqolasidagi ayrim formulalar bilan ishlaydigan va ularni yanada batafsil muhokama qiladigan laboratoriya eslatmalari uslubidagi post.
Fon
Biz hozir ishlayotgan asosiy formulalar
1-maqoladan, va
2-maqoladan.
Ushbu tenglamalarga chuqurroq kirishdan oldin, formulalarda ishlatiladigan belgilarni aniqlab olishni xohlayman, chunki bu formulalarni tushunishga katta yordam beradi
Q — boshqa quyidagi parametrlar asosida sandvich hujumi orqali hujumchi qiladigan foyda
Δxₐ — bu Q ning aynan shu qiymatiga olib keladigan front-running trade hajmi. Savdo parametrlarining o‘zi
Δxᵤ tokenlar ko‘rinishidagi foydalanuvchi trade hajmini bildiradi,
x esa Δx bilan bir xil birliklardagi pool hajmini bildiradi (levered pool’larda virtual hajm, lekin bu tahlil levered likvidlikning “chegarada tiqilib qolish” oqibatlarini e’tiborsiz qoldiradi), va eng muhimi
δ pool komissiyasi foizi (o‘nlik ko‘rinishda; masalan, 10bp = 0.001)
Bu yerda qaraydigan asosiy tenglama yuqoridagi ikkinchi tenglamadir. U birinchisidan avval Δxₐ ga nisbatan hosila olib, keyin Q ning Δxₐ ga nisbatan hosilasi Δxₐ=0 da nolga teng bo‘lishini talab qilish orqali olinadi. Bu shart Δxₐ=0 potentsial sandvich hujumchisi uchun optimal ekanini ta’minlaydi; boshqacha aytganda, arbitraj foydasi yo‘q
Formulani soddalashtirish
Biz yuqoridagi formula, yozilganidek, uchta hadan iboratligini ko‘ramiz; birinchi ikkisi moliyaviy jihatdan qiziqarli bo‘lmagan yechimlar berilgani uchun trivial. Ulardan biri bo‘sh pool (x=0) sandvich hujumlariga ruxsat bermasligini ko‘rsatadi, ikkinchi yechim esa Δxᵤ ning juda asossiz katta qiymatida bo‘lib, shuning uchun uni rad etish mumkin. Shunday qilib, biz tenglamaning quyidagi amaliy (operatsion) qismi bilan qolamiz
Mark maqolasida aytganlarini parafraz qilsak, yuqoridagi shart tenglik emas, balki tengsizlik bo‘lishi kerak, chunki albatta hujumchilar zarar ko‘radigan tranzaksiyaga hech qachon kirishmaydi. Shuning uchun
δ haqiqatan ham inf δ, chunki har qanday komissiya >δ bo‘lsa ham sandvichlanishning oldini oladi
Δxᵤ haqiqatan ham sup Δxᵤ, chunki har qanday trade <Δxᵤ sandvichlanishni ham oldini oladi va
x haqiqatan ham inf x, chunki har qanday pool likvidligi >x ham sandvichlanishni oldini oladi
Mark o‘z maqolasida yuqoridagi tenglamani δ, Δxᵤ va x uchun yechib, quyidagi formulalarni berdi
Biz uchun yuqoridagi uchta formuladan birinchisi eng qiziqarlisi — u berilgan trade uchun sandvich hujumlari endi mantiqiy bo‘lmasligi uchun komissiya qancha bo‘lishi kerakligini ko‘rsatadi. Men uni biroz yangi yozuvga qayta yozdim: no-sandvich-possible shart δ komissiya darajasi va undan yuqorida bajarilishini bildirib
Bu formula hayratlanarli darajada murakkab ko‘rinadi — lekin omadga ko‘ra, r=x/Δxᵤ (ya’ni kichik trade’lar) katta qiymatlar uchun chiroyli asimptotikaga ega:
Quyidagi grafikda qizil chiziq — haqiqiy egri chiziq, ko‘k chiziq — 1/r ko‘rinishidagi power law asimptotika, yashil chiziq esa (juda) yaxshilangan asimptotika 2/2r+3
(asosiy desmos kalkulyatoriga bu yerda qarang)
Formulalar uchun r=x/Δxᵤ yaxshiroq ishlaydi, ammo moliyaviy jihatdan yanada intuitivroq miqdor likvidlikka normallashgan trade hajmi 1/r = Δxᵤ/x. Shuni yodda tutish muhimki, bu foiz slippage hamdir, ya’ni Δx hajmidagi trade pool hajmi x bo‘lgan pool narxini qanchalik salbiy siljitishi (trade narxni qanchalik yomon tomonga ko‘chirishi)
Shuning uchun biz quyidagi, muhim natijani topamiz:
Trade’larni hujum qilib bo‘lmaydigan minimal komissiya darajalari
Kichik trade’lar (pool hajmining 1% yoki undan kam) agar komissiya darajasi slippage’ga tengidan katta bo‘lsa, sandvich hujumlari bilan hujum qilib bo‘lmaydi (slippage ham likvidlikka normallashgan trade hajmi), ya’ni δ>Δxᵤ/x. Bir oz kattaroq trade’larda — taxminan 10% slippage’gacha — δ>2/(2r+3) taxminiy formula yaxshi ishlaydi, undan kattaroqda esa yuqoridagi to‘liq formula [2] ishlatilishi kerak.
Hujum qila olmaydigan maksimal trade hajmi
Xuddi shuningdek, biz sandvichga uchramaydigan maksimal real trade hajmini komissiya darajasining funksiyasi sifatida ham ko‘rib chiqamiz. Biz yuqoridagi 2-maqoladagi [3] tenglamadan boshlaymiz, lekin ikkala tomonni x va δ ga bo‘lamiz. Biz eslaymizki, Δxᵤ/x — (likvidlikka normallashgan) trade hajmi, shuning uchun tenglamaning yangi LHS’i Δxᵤ/xδ normallashgan trade hajmi (shuningdek: slippage) bo‘lib, u komissiyalar bo‘yicha bo‘lingan
Yuqoridagi tenglamaning RHS ini quyida chizdik
(desmosdagi bu diagrammaga qarang)
Yuqoridagi diagrammani quyidagicha talqin qilish kerak: komissiyalar darajasi (bu yerda 0.2 = 20% komissiyalar) uchun, komissiyalar foiziga nisbatan maksimal normallashgan trade hajmi qancha? Kichik qiymatlar uchun (kichik uchun) bu son birlikka teng, ya’ni kichik komissiyalarda maksimal non-sandvichable normallashgan trade hajmi komissiya darajasiga teng bo‘ladi. Agar komissiyalar kattaroq bo‘lsa, mumkin bo‘lgan trade hajmi nomutanosib ravishda oshadi. Masalan, 20% komissiyada trade hajmi sandvichlanadigan bo‘lishidan oldin pool hajmining 20%*1.4=28% gacha yetishi mumkin.
Biroq shuni ta’kidlashimiz kerakki, trade hajmlarining bu oshishi faqat juda katta komissiya darajalarida sodir bo‘ladi. Ushbu grafikda komissiya darajalari 5% gacha bo‘lgan biroz yanada oqilona tasavvurda, yaxshilanish chiziqli bo‘lib, har 3% komissiya uchun taxminan 5% ga teng; shuning uchun 5% komissiya darajasida u 10% dan past bo‘ladi. Ya’ni bu 100% bazaviy qiymat bilan solishtirganda unchalik muhim emas (va ayniqsa <1% komissiyada ham emas).
—
Sandvichlarga ruxsat yo‘q — MEV hujumlarini qanday oldini olish mumkin. Bu aslida CarbonDeFi’da Medium’da e’lon qilingan, u yerda esa odamlar ushbu voqeani ta’kidlab va unga javob berib davom etyapti.