← Мақалаларға оралу
July 26, 2026
5 мин оқу

Тізбекті арбитраж: атомдық циклдер, флэш-қарыздар және сіз жеңуіңіз керек аукцион

Тізбекті арбитраж: атомдық циклдер, флэш-қарыздар және сіз жеңуіңіз керек аукцион
#arbitrage
#flash loans
#mev
#defi
#backrunning
#cex-dex
#ethereum
#atomicity

Тізбекті арбитраж қиын деген ыңғайлы миф бар, өйткені оны табу қиын — баға графигінде тек ең ақылды алгоритм көре алатын жасырын цикл бар, және оны ең жылдам есептеген адам ақша алады. Шындық керісінше дерлік. Қоғамдық тізбекте пайдалы цикл барлығына бір мезгілде көрінеді, ондаған боттар бірдей резервтерге қарсы бірдей дерлік кодты іске қосады. Анықтау — шешілген, тауарланған мәселе. Қиын нәрсе — ақшаны кім алатынын анықтайтын нәрсе — бұл реттілікті жеңу: транзакцияңызды дұрыс блоктың дұрыс ұяшығына, дәл сол нәрсені тапқан басқа іздеушілердің алдына орналастыру. Тізбекті арбитражды анықтау оңай, ал жеңу қиын, және осы екі етістіктің арасындағы алшақтық бизнестің бүкіл экономикасы өмір сүретін жер.

Бұл мақала іздеушінің жағын қарастырады. MEV анатомиясында біз қараңғы орманды құрбанның көзқарасынан картаға түсірдік және тізбекті бағаларды адал ұстайтын қауіпсіз экстракция — арбитраж және бэкранинг туралы кейінгі мақаланы уәде еттік. Тізбекті өтімділіктерде біз флэш-қарызды орындау келісімшартын және оракул-бэкранинг бумасын құрастырдық және примитивті жалпы қарастыру үшін осы жерге сілтеме жасадық. Бұл мақала екі қарызды да өтейді. Ол сіздің мемпул, бума және басымдық комиссиясы не екенін білетініңізді болжайды; егер білмесеңіз, алдымен MEV мақаласын оқыңыз. Мұнда біз арбитражердің машинасын құрастырамыз: жоғалтпайтын атомдық транзакция, капитал шектеуін жоятын қарызға алынған капитал, оңай жартысы болып табылатын граф іздеуі және маржаның барлығын дерлік жейтін аукцион.

Атомдылық: шығынға қайтарылатын сауда

Тізбекті арбитраждың анықтаушы қасиеті — оны CEX трейдері орындай алатын кез келген кросс-алаң саудасынан санатты түрде қауіпсіз ететін нәрсе — атомдылық. Көп сатылы арбитраж — бұл сіз іске қосып, бірге түседі деп үміттенетін саудалар тізбегі емес. Бұл циклдің әрбір кезеңін орындайтын бір транзакция, және егер соңғы баланс бастапқы баланстан қатаң түрде үлкен болмаса, бүкіл транзакция қайтарылады: әрбір күй өзгерісі ешқашан болмағандай кері қайтарылады, және сіз тек сәтсіз транзакция үшін газды жоғалтасыз.

Бұл тәуекел профилін толығымен өзгертеді. Бір биржада BTC сатып алып, оны басқа биржада сататын CEX трейдері аралықта инвентарьды ұстайды — секундтар, минуттар, аударым мен екінші толтыру қанша уақыт алса да — және сол уақыт аралығында бағаның не істейтінін қабылдайды. Тізбекті арбитражер инвентарьды экономикалық тұрғыдан маңызды мағынада нөл уақыт ұстайды: сатып алу мен сату бір бөлінбейтін операция болып табылады. Цикл ортасында баға тәуекелі жоқ, өйткені цикл ортасы жоқ. Бүкіл цикл бір атомдық қадамда пайдалы жабылады, немесе ол мүлдем болмайды.

Мұны қамтамасыз ететін қорғаныс — орындау жолының соңындағы бір салыстыру. Тұжырымдамалық тұрғыдан, атомдық арб келісімшарты мынадан артық ештеңе істемейді:

// The whole cycle runs inside one transaction. If the closing balance
// does not clear the opening balance (plus costs), the require() throws,
// and the EVM reverts every trade that came before it.
function executeCycle(bytes calldata path, uint256 minProfit) external {
    uint256 start = IERC20(baseToken).balanceOf(address(this));

    _hopA(path);   // e.g. USDC -> WETH on Uniswap
    _hopB(path);   // e.g. WETH -> DAI  on Sushiswap
    _hopC(path);   // e.g. DAI  -> USDC on Curve

    uint256 end = IERC20(baseToken).balanceOf(address(this));
    require(end >= start + minProfit, "unprofitable");   // atomic safety net
}

require — бұл бүкіл қауіпсіздік моделі. Ескі баға, сіздікінен бір ұяшық бұрын пулды жылжытқан бәсекелес транзакция, күтпеген комиссия — циклді пайдасыз ететін кез келген нәрсе қорғанысты іске қосады және қайтарады. Сіз ешқашан соңғы кезеңді сіз модельдегеннен нашар бағаға сатпайсыз және шығынды қабылдамайсыз; ақша жоғалтатын сауда орындалмайды. Сондықтан арбитраж MEV мақаласынан MEV таксономиясының қауіпсіз соңы болып табылады: толтыруы нашарлаған құрбан жоқ, және арбитражер бағытты инвентарь тәуекелін көтермейді. Сәтсіз әрекеттің жалғыз нақты құны — газ — бұл, біз көретініміздей, бәсекелес аукционның инфляциялауға арналған құны.

Флэш-қарыздар капитал шектеуін жояды

Атомдылық күштірек нәрсені іске қосады: өз капиталыңызсыз арбитраж. Флэш-қарыз сізге несие пулынан кез келген соманы бір шартпен қарызға алуға мүмкіндік береді — сіз оны, плюс комиссияны, транзакция аяқталғанға дейін қайтарасыз. Қарыз алу, арбитраж және қайтару бір атомдық транзакция ішінде болғандықтан, пул дефолт тәуекеліне ұшырамайды: егер сіз қайтара алмасаңыз, бүкіл транзакция қайтарылады және қарыз алынбайды. Несие беруші сізді қорғайтын сол қайтарумен қорғалған.

Үлгі — кері қоңырау. Сіз пулдың флэш-қарыз функциясын шақырасыз; пул сізге токендерді жібереді, содан кейін сізге кері қоңырау шалады; сол кері қоңырау ішінде сіз циклді іске қосасыз және қайтару үшін жеткілікті қалдыруыңыз керек:

// Called by the lending pool in the middle of the flash loan.
function receiveFlashLoan(address token, uint256 amount, uint256 fee, bytes calldata data)
    external
{
    // 1. buy the asset cheap on venue A with the borrowed `amount`
    uint256 bought  = _swap(VENUE_A, token, ASSET, amount, data);
    // 2. sell it dear on venue B, back into the borrowed token
    uint256 repaidIn = _swap(VENUE_B, ASSET, token, bought, data);
    // 3. must be able to return principal + fee, or the whole tx reverts
    require(repaidIn >= amount + fee, "arb cannot cover loan");
    IERC20(token).transfer(msg.sender, amount + fee);   // repay in-tx
    // whatever remains — repaidIn - amount - fee — is profit, kept here
}

Комиссия аз және алаңға байланысты: Aave v3 флэш-қарызға 5 б.п. (0.05%) алады, Balancer тарихи түрде 0 б.п. алды, ал Uniswap v3 сол мүмкіндікті флэш-своптар арқылы ұсынады, мұнда комиссия тек пулдың қалыпты своп комиссиясы болып табылады. Бес базистік тармақ — бұл цикл маржасы ішінде өтелуі керек нақты шығын, бірақ ол бір блокта болатын дислокацияны ұстау үшін өз инвентарьыңыздың алты немесе жеті таңбалы сандарын байланыстырудың баламасына қарағанда маңызсыз.

Нарық құрылымы үшін салдары айқын айтуға тұрарлық: флэш-қарыздар арбитраж пайдасын капиталдан ажыратады. Берілген мүмкіндіктің жеңімпазы ең терең баланстық есепшоты бар іздеуші емес — бірнеше долларлық газ ақшасы бар бот бір транзакцияның ұзақтығына он миллион доллар қарызға ала алады. Капитал — бұл ор емес. Барлығы бірдей мүмкіндікке қарсы бірдей мөлшерде қарыз ала алады, бұл бәсекелестіктің тауарланбаған жалғыз нәрсеге: бірінші реттелуге неліктен құлайтынын дәл көрсетеді.

Өңделген кросс-DEX циклі

Сандар механиканы нақты етеді. 0.30% комиссиясы бар (γ=0.997\gamma = 0.997) екі тұрақты өнімді WETH/USDC пулын алайық, және үлкен сатып алу B пулын A пулынан жоғары көтерді делік — келесі бөлімде циклдердің қайдан келетінін көрсететін дислокация түрі. Дөңгелек, айқын иллюстрациялық резервтерді қолданыңыз:

  • A пулы (арзан): xA=10,000x_A = 10{,}000 WETH, yA=30,000,000y_A = 30{,}000{,}000 USDC \Rightarrow бағасы 3,0003{,}000 USDC/WETH.
  • B пулы (қымбат): xB=10,000x_B = 10{,}000 WETH, yB=30,600,000y_B = 30{,}600{,}000 USDC \Rightarrow бағасы 3,0603{,}060 USDC/WETH.

Цикл: USDC флэш-қарызға алу, A-да арзан WETH сатып алу, оны B-да қымбатқа сату, қайтару. ΔU=100,000\Delta U = 100{,}000 USDC қарызға алу. 1-қадам USDC-ны A пулына WETH үшін сатады:

ΔW=xAγΔUyA+γΔU=10,000×99,70030,000,000+99,70033.12 WETH.\Delta W = \frac{x_A\,\gamma\,\Delta U}{y_A + \gamma\,\Delta U} = \frac{10{,}000 \times 99{,}700}{30{,}000{,}000 + 99{,}700} \approx 33.12 \text{ WETH}.

2-қадам сол WETH-ны B пулына USDC үшін сатады:

ΔUout=yBγΔWxB+γΔW=30,600,000×33.0210,000+33.02100,723 USDC.\Delta U_{\text{out}} = \frac{y_B\,\gamma\,\Delta W}{x_B + \gamma\,\Delta W} = \frac{30{,}600{,}000 \times 33.02}{10{,}000 + 33.02} \approx 100{,}723 \text{ USDC}.

Сіз 100,000 қарызға алдыңыз, 100,723 алдыңыз және 50 USDC 5 б.п. флэш комиссиясын төлеуіңіз керек. Таза: газға және басымдық ұсынысына дейін, нөлдік капитал шығынымен шамамен $673 жалпы пайда. Екі нәрсені ескеріңіз. Біріншіден, екі қадам пулдарды бір-біріне қарай жылжытады — A-да сатып алу оның бағасын көтереді, B-да сату оның бағасын түсіреді — сондықтан пайда мөлшерде сызықты емес: тым көп итерсеңіз, баға әсері алшақтықты жейді, дәл MEV мақаласынан сэндвич оңтайландыруындағыдай. Іздеуші таза пайданы максималдайтын қарыз мөлшерін табу үшін ΔU\Delta U бойынша бір өлшемді іздеуді іске қосады. Екіншіден, сол $673 — бұл әрбір бәсекелес бот бірдей резервтерден бірдей мәнге есептейтін детерминистік сан — бұл бүкіл мәселе, және төмендегі аукцион бөлімінің тақырыбы.

Атомдық арбитраж транзакциясы: флэш-қарызға алу, A алаңында сатып алу, B алаңында сату, қарызды плюс комиссияны қайтару, қалғанын сақтау — барлығы шығынға қайтарылатын бір транзакция ішінде

Анықтау — оңай жартысы

Нарықты граф ретінде қарастырсақ — активтер түйіндер ретінде, сауда жұптары салмақты шеттер ретінде — арбитраж циклі — бұл айырбас бағамдарының көбейтіндісі бірден асатын цикл. Әрбір бағамның логарифмін алып, оны теріске шығарсақ, пайдалы цикл теріс салмақты циклге айналады; оны табудың классикалық құралы — Беллман-Форд, SPFA және жақында шыққан RICH алгоритмі нақты нарықтар шығаратын шағын, жылдам өзгеретін графтарға арналған жылдамырақ нұсқалары ретінде. Бұл бүкіл құралдар жинағы — лог түрлендіру, теріс цикл шарты, Rust іске асырулары, көптеген теориялық циклдерді жоятын комиссияға түзетілген шет салмақтары — арбитражды анықтауға арналған граф алгоритмдерінің тақырыбы, және оны мұнда қайталаудың қажеті жоқ.

Осы мақала үшін маңыздысы — бір есеп нүктесі: комиссия шет салмағына енгізілуі керек, әйтпесе цикл — мираж. Үш аяқты цикл үш пул комиссиясын, плюс, егер сіз қарызға алсаңыз, флэш-қарыз комиссиясын төлейді, және теріс цикл тесті олардың барлығын көруі керек:

from math import log

def cycle_log_gain(rates, pool_fee=0.003, loan_fee=0.0005):
    """Log-gain around a cycle. > 0 means gross profit before gas and priority bid.
    `rates[i]` = units of the next asset per unit of the current one on hop i."""
    gross = 1.0
    for r in rates:
        gross *= r * (1 - pool_fee)     # each hop pays the venue's swap fee
    gross *= (1 - loan_fee)             # one flash-loan fee for the whole cycle
    return log(gross)                    # still ignores gas and the auction bid

Міне, маңызды бақылау. Бұл функция детерминистік. Оған ағымдағы тізбекті резервтерді беріңіз — оны әрбір түйін бірдей ұстайды, өйткені тізбек — ортақ, репликацияланған күй машинасы — және әрбір іздеуші бірдей cycle_log_gain-ны бірдей блок биіктігінде бірдей мәнге есептейді. Жеке сигнал, меншікті деректер жиынтығы, ақпараттық артықшылық жоқ. Үлкен своп немесе жаңа блок резервтерді қайта реттегенде, құрылымдық жағынан бірдей анықтау кодын іске қосатын ондаған боттар бір-бірінен миллисекундтар ішінде бір циклде жанады. Іздеу барлығына бірдей жауап береді.

Топология туралы ескерту, өйткені ол іздеудің қаншалықты қиын екенін анықтайды. Ең арзан циклдер — үшбұрышты және DEX ішіндегі — WETH → USDC → DAI → WETH толығымен бір Uniswap орналастыруында: үш қадам, үш пул комиссиясы, кросс-алаң үйлестіру жоқ. Кросс-DEX циклдері (Uniswap-та сатып алу, Sushiswap-та сату) алаңдарды қосады, бірақ атомдық қорғанысты бірдей қалдырады. Ұзағырақ, экзотикалық циклдер әлі де көп қадамдарды тізбектейді — бірақ әрбір қосымша қадам өнімге тағы бір (1fee)(1-\text{fee}) факторын көбейтеді, сондықтан комиссияға түзетілген теріс цикл шарты ұзын циклдерді тез жояды. Дәл осы себепті нақты іздеушілер цикл ұзындығын үштен беске дейін шектейді және агрессивті түрде кесіп тастайды; бұл граф-алгоритмдер мақаласынан RICH алгоритмі іске қосуға арналған қабатты, ұзындығы шектелген іздеу.

Сондықтан анықтау сізге сауданы жеңіп бермейді; ол сізді оған бәсекелесуге ғана құқық береді. log(gross) > 0 тесті сізге мүмкіндіктің бар екенін айтады — ол оны сіздің мекенжайыңыз басып алатыны туралы ештеңе айтпайды. Бұл бір деңгей төмен, реттілікте шешіледі, және реттілік сіздің алгоритміңіз есептейтін нәрсе емес. Бұл сіз ұсынатын нәрсе. Тізбекті арбитраж туралы барлық қиын нәрсе цикл табылғаннан кейін болады.

Активтер түйіндер ретінде және пул бағамдары шеттер ретінде көрсетілген нарық графигі; бөлектелген теріс салмақты циклді көптеген бәсекелес іздеушілер бір блокта бірдей табады

Бэкранинг: MEV-тің қауіпсіз түрі

Бұл циклдер ең алдымен қайдан пайда болады? Басым көпшілігі басқа адамдардың транзакцияларынан. Uniswap пулындағы үлкен своп сол пулдың бағасын кеңірек нарықтан алыстатады; пул енді Binance-ке, Curve пулына, Sushiswap-қа қатысты қате бағаланған; және оны қайта реттеу — пайдалы арбитраж. Мұны істейтін іздеуші өз транзакциясын дислокацияны тудырған своптан бірден кейін орналастырады. Бұл бэкранинг, және бұл тізбекті MEV-тің басым, қауіпсіз түрі.

MEV мақаласынан тұрақты өнім механикасын еске түсіріңіз. Пул x,yx, y резервтерін xy=kx \cdot y = k және спот бағасы P=y/xP = y/x-мен ұстайды. Біреу оған базалық активтің үлкен мөлшерін Δx\Delta x сатады; инвариант бойынша пул төлейді

Δy=yγΔxx+γΔx,γ=0.997,\Delta y = \frac{y\,\gamma\,\Delta x}{x + \gamma\,\Delta x}, \qquad \gamma = 0.997,

және жаңа спот бағасы төмендейді — сатушы оны төмендетті. Егер сыртқы нарық бағасы әлі де PextP_{\text{ext}} болса, пул енді PextP_{\text{ext}}-ден төмен бағаны көрсетеді, және пайданы максималдайтын бэкранинг пулдан дәл оның шекті бағасы PextP_{\text{ext}}-ге дейін көтерілгенше сатып алады — яғни, резервтер қайтадан y/x=Pexty/x = P_{\text{ext}} шартын қанағаттандырғанша. Арбитражер пулдың орындау қисығы мен тегіс сыртқы баға арасындағы аймақты басып алады — үлкен своп пулды жылжыту арқылы қалдырған мәнді.

Сыни құрылымдық факт — бэкранингті есептің қауіпсіз жағына қоятын факт — бұл таза бэкранинг мақсаттың орындалуын нашарлатпайды. Ол құрбанның свопынан кейін қатаң түрде кейін орындалады. Бэкранинг орындалған кезде, своп жасаушының бағасы қазірдің өзінде бекітілген; бэкранердің істейтін еш нәрсесі оған қол жеткізіп, оны нашарлата алмайды. Мұны MEV мақаласынан улы сэндвичпен салыстырыңыз, мұнда құрбанның толтыруын нашарлату үшін фронтран құрбанның алдына енгізіледі, осылайша бэкранинг үлкейтілген дислокацияны жинай алады. Бэкранинг механикасы бірдей, мораль қарама-қарсы: сэндвич құрбанның есебінен қате бағалауды жасайды; қауіпсіз бэкранинг құрбан қалай болғанда да жасайтын қате бағалауды тазартады. Арбитражер — тізбекті бағалардың сыртқы әлемді қадағалау механизмі — кросс-алаң арбитражын қаржының барлық жерінде тұрақтандырушы күшке айналдыратын сол рөл.

Дәл осы себепті заманауи MEV-қорғау стегі сэндвичтерді басу кезінде бэкранингтерді сақтауға және қайта бөлуге тырысады. Flashbots' MEV-Share және тапсырыс ағыны аукциондары пайдаланушыға өз транзакциялары туралы ішінара кеңестерді ашуға, іздеушілерді оны бэкранинг жасау құқығы үшін ұсыныс жасауға шақыруға және нәтижесіндегі пайданың көп бөлігін мүмкіндікті жасаған пайдаланушыға қайтаруға мүмкіндік береді. Бэкранинг әлі де болады — баға әлі де қайта реттеледі — бірақ мән оны тудырған транзакцияға қайта оралады, оны ең жылдам болған адам ұрламайды.

Циклдар қайдан келеді

Дерлік әрбір пайдалы цикл бағаны жылжытқан басқа тізбекті оқиғаның төменгі ағынында болады. Көздерді білу — бүкіл графикті соқыр түрде сұрау мен шеттерді нақты жасайтын бірнеше триггерді бақылау арасындағы айырмашылық:

  • Үлкен своптар. Жоғарыда көрсетілген канондық көз: пулды кеңірек нарықтан жылжытуға жеткілікті үлкен кез келген сауда оны қайта реттеу үшін бэкранингті ашады. Своп неғұрлым үлкен болса және пул неғұрлым жұқа болса, цикл соғұрлым үлкен болады.
  • Оракул жаңартулары. Оракулдан бағаланатын әрбір алаң — ақша нарықтары, перп DEXs — фид жылжыған сәтте арбитраждалатын болады. Өтімділіктер мақаласында талданған өтімділіктерді басқаратын оракул-жаңарту бэкранингі — бұл своптың орнына баға фидіне қолданылатын сол қозғалыс: жаңарту — бастау сигналы, және іздеуші оның артынан бірден түседі.
  • Жаңа немесе жойылған өтімділік. Үлкен LP минт немесе жану пулдың тереңдігін өзгертеді және оны бір сәтке бағадан тыс қалдыруы мүмкін; дәл уақытындағы (JIT) өтімділік — бұл бір күтіп тұрған своптың айналасында тереңдікті қосып, оны бірден кейін алып тастайтын қарсылас нұсқасы.
  • Пулдар арасындағы маршруттау қалдықтары. Свопты пулдар арасында бөлетін маршрутизатор олардың барлығын дәл бірдей бағада қалдырмайды, және ол қалдыратын шағын теңгерімсіздіктер — бэкранинг жасауға болатын циклдер.

Практикалық қорытынды: арбитраж боты көбінесе оқиға тыңдаушысы, емес граф шешушісі. Ол осы триггерлерді бақылайды, әрқайсысы тиетін ішкі графикті ғана қайта есептейді және буманы іске қосады — сондықтан граф-алгоритмдер мақаласынан инкременттік жаңарту дизайны толық граф бойынша шикі іздеу жылдамдығынан әлдеқайда маңызды.

Үлкен своп пулды сыртқы нарық бағасынан төмен түсіреді; бэкранинг транзакциясы одан кейін бірден түседі және пулды туралауға қайта сатып алады, своп жасаушының толтыруына тимей дислокацияны басып алады

Аукцион маржаны жейді

Енді ыңғайсыз бөлігі. Сіз циклді таптыңыз. Басқалар да тапты. Мүмкіндік детерминистік, атомдық және капиталсыз — бұл дегеніміз, қалған жалғыз айнымалы — жеңімпаз ұяшыққа кім түседі, және бұл басымдық аукционымен шешіледі.

Ұсынушы-құрастырушы бөлуге және MEV-Boost-ке көшкеннен кейін (алдағы MEV жеткізу тізбегі: PBS және MEV-Boost-да егжей-тегжейлі сипатталған) іздеушілер мемпулдағы қоғамдық газ соғыстарымен күреспейді. Олар бумаларды құрастырушыларға жеке жібереді, ұсыныс қосады — не жоғары басымдық комиссиясы ретінде, не құрастырушыға тікелей төлем ретінде. Құрастырушы ең құнды блокты жинақтап, оны ұсынушыға жібереді. Іздеушінің орнынан қарағанда, бұл белгілі, детерминистік жүлдені орындайтын мекенжай болу құқығы үшін жабық ұсыныс аукционы.

Модельдеңіз. Жалпы арбитраж пайдасы GG болсын — жоғарыдағы өңделген циклден $673, мысалы — және әрбір іздеушінің шығыны (газ, флэш-қарыз комиссиясы) cc болсын. Ұяшықты жеңу үшін сіз bb-ны есептеген әрбір басқа іздеушіге қарсы GG ұсынасыз. Егер сіз жеңсеңіз, сіздің таза пайдаңыз

π=Gcb.\pi = G - c - b.

Сіз bb-ны мүмкіндігінше төмен болғанын қалайсыз; сіз сонымен қатар жеңгіңіз келеді. Бірақ сіздің бәсекелестеріңіз бірдей GG-ға қарсы бірдей арифметикаға тап болады. Барлығы дәл есептей алатын ортақ құнды жүлде бойынша жабық ұсыныс аукционында тепе-теңдік ұсынысы бүкіл артықшылықты дерлік тұтынғанша көтеріледі: bGcεb \to G - c - \varepsilon, және жеңімпаз тек ε\varepsilon-ны, екінші орын алғаннан асып түскен өте жұқа маржаны сақтайды. Сол $673 циклді тапқан адамда қалмайды; оның дерлік барлығы құрастырушыға, және сайып келгенде, реттілікті сатқан ұсынушыға тікелей ұсынылады. Бұл нарықтық сәтсіздік емес; бұл бәсекелес аукционның істеуі керек нәрсесі.

Қайтару тегін емес — сәтсіздік деңгейінің экономикасы

Наивті модель ескермейтін екінші шығын бар, және ол операторларды нақты бөлетін шығын. Сіз аукционды жеңілгенде, сіздің бумаңыз жай ғана түспейді — сіз ештеңе төлемейсіз, бұл ескі қоғамдық газ соғыстарынан гөрі буманы жіберудің мәні. Бірақ сіз аукционды симуляциясы ескірген бумамен жеңгенде — резервтер сіздің оқуыңыз бен қосылуыңыз арасында өзгерді — сіздің require(end >= start + minProfit) қорғанысы іске қосылады және транзакция тізбекте қайтарылады, және сіз қайтару үшін газ төлейсіз. Атомдылық сіздің негізгі капиталыңызды қорғайды, газыңызды емес.

Сондықтан іздеушінің бір мүмкіндікке шаққандағы нақты күтілетін мәні

E[π]=pwin, profitable(Gcb)    pwin, revertedgrevert,\mathbb{E}[\pi] = p_{\text{win, profitable}}\,(G - c - b)\;-\;p_{\text{win, reverted}}\,g_{\text{revert}},

мұнда grevertg_{\text{revert}} — түскен, бірақ қайтарылған бумаға жұмсалған газ. Сіздің ұсынысыңызды bb жоғарылату көбірек ұяшықтарды жеңеді, бірақ сонымен қатар көбірек ескірген ұяшықтарды жеңеді, бұл қайтару терминін арттырады. Аман қалатын операторлар көбірек циклдерді табатындар емес — барлығы бірдей циклдерді табады — бірақ cc төмен (арзанырақ, қатаңырақ орындау жолдары), қайтару ықтималдығы төмен (жаңа симуляция, жақсырақ қосу болжамы) және күтілетін қайтару шығыны жұқа артықшылықты басып озатын шекті мүмкіндіктерге ұсыныс жасамау тәртібі барлар. Артықшылық, егер ол болса, толығымен осы екінші ретті шығындарда болады.

Эмпирикалық пішін модельге сәйкес келеді. Көптеген боттар бірдей тізбекті мүмкіндікті бірдей пайда көрсеткішіне симуляциялағанда, жеңімпаз бума жалпы пайданың басым көпшілігін құрастырушыға және валидаторға береді — өтімділіктер үшін өлшеген 90%-дан астам ағып кетудің дәл сол себебі: ортақ жүлде туралы толық ақпарат плюс жабық ұсыныс аукционы маржаларды шекті жеңілгеннің құнына дейін бәсекелестіреді. Іздеушінің артықшылығы — барлығы көретін GG мөлшері емес. Бұл cc-дағы кез келген жеке артықшылық (арзанырақ орындау, жақсырақ маршруттау, сәтсіздік деңгейінің төмендігі) немесе GG-ны көпшіліктен бұрын көруде.

Бұл сізге пайда әлі де қайда сақталатынын дәл айтады:

  • Ұзын құйрықты тізбектер және жетілмеген құрастырушы нарықтары. Аз ғана күрделі іздеушілер жұмыс істейтін және құрастырушы аукционы жұқа немесе жоқ тізбектерде ұсыныс bb төмен болып қалады, өйткені сізді көтеретін ешкім жоқ. Ethereum mainnet-те ε\varepsilon таза пайда әкелетін сол цикл тыныш L2 немесе alt-L1-де GG-ның көп бөлігін әкелуі мүмкін. Артықшылық — бәсекелестік, емес ақылдылық.
  • Төмен бәсекелестікті пулдар және экзотикалық активтер. Пайдалы шығу үшін жұқа, жолға тәуелді DEX өтімділігін тұтынуды талап ететін мүмкіндіктерді дұрыс симуляциялау қиын. Толық айналымды — өтімсіз токендегі шығу сырғуын қоса — модельдейтін іздеуші наивті боттар жіберіп алатын немесе қайтаруға қате бағалайтын циклдерді басып алады. Мұнда артықшылық шынымен де орындау сапасы, емес кідіріс.
  • CEX-DEX арбитражы. Ең үлкен санат — және атомдылықты бұзатын санат. Оның өзінің бөлімі бар, келесі.

Атомдық, тізбекті ойынның адал қорытындысы: бұл EVM ішкі құрылымын, құрастырушының құбырларын және аукцион теориясын қиын жолмен үйренудің тамаша тәсілі. Бұл өмір сүрудің қатыгез тәсілі, өйткені сіз сататын нәрсе — детерминистік циклді табу және орындау қабілеті — бұл сіздің бәсекелестеріңіз де сататын нәрсе, және аукцион оны өзіндік құны бойынша бағалайды.

Жабық ұсыныс басымдық аукционы: бірнеше іздеуші бірдей детерминистік жүлде үшін бумаларды жібереді, ұсыныстар жалпы пайдаға қарай жақындайды, және құрастырушы мен ұсынушы оның дерлік барлығын басып алады

CEX-DEX арбитражы: ең үлкен санат, және ол атомдық емес

Тізбектегі алынатын мәннің ең үлкен бір көзі — бұл ұқыпты атомдық цикл емес. Бұл CEX-DEX арбитражы: орталықтандырылған биржадағы активтің бағасы DEX-тегі бағасынан ауытқиды, және іздеуші алшақтықты жабу үшін екі жағын да саудалайды. Атомдық емес арбитраж туралы зерттеулер — ең тікелей Хеймбах, Пахари және Шертенлейбтің Орталықтандырылмаған қаржыдағы атомдық емес арбитраж (2024) — бірнеше жылдық кезеңде кросс-биржалық арбитражерлерге жүздеген миллион долларға жуық алынған мәнді жатқызады, бұл атомдық, тек тізбекті санаттардан асып түседі. Егер сіз MEV-тегі ақшаның нақты қайда екенін түсінгіңіз келсе, бұл сол.

Және ол жоғарыдағы барлық нәрсені қауіпсіз еткен қасиетті бұзады. Сауданың бір кезеңі орталықтандырылған биржада болады; екіншісі тізбекте болады. Тізбекті кезең атомдық — ол блокта түседі немесе қайтарылады — бірақ CEX кезеңі бөлек сәйкестендіру қозғалтқышындағы бөлек тапсырыс, өз уақыт кестесі бойынша есеп айырысады. Екі кезеңді бір қайтаруға орау мүмкін емес. Екі алаңды қамтитын require(end >= start) жоқ. Іздеуші Uniswap-тағы свопты тізбекте арзан WETH сатып алу үшін бэкранинг жасайды, және спредті іске асыру үшін Binance-те WETH-ны бөлек сатады — және осы екі оқиға арасында баға өзгеруі мүмкін. CEX-DEX арбитражы атомдық арбитраж жоятын инвентарь тәуекелін көтереді.

Бұл тәуекел бизнестің бүкіл пішінін өзгертеді:

  • Сіз екі алаңда да инвентарьды алдын ала орналастыруыңыз керек. Сіз CEX кезеңін флэш-қарызға ала алмайсыз. Binance-те WETH-ны сіздің тізбекті сатып алуыңыз расталған сәтте сату үшін, сіз Binance-те WETH-ны (және тізбекте валютаны, және керісінше басқа бағыт үшін) ұстауыңыз керек. Флэш-қарыз атомдық арбитраждан жойған капитал, қатаң талап ретінде қайта оралады — бірнеше биржада орналасқан, әсерге ұшыраған инвентарь.
  • Сіз ашық кезеңді хеджирлеуіңіз керек. Тізбекті толтыру мен CEX толтыру арасында сіз активті бағытты түрде ұзақ немесе қысқа ұстайсыз. Жетерілі CEX-DEX операторлары мұны үздіксіз дельта-басқарылатын кітап ретінде іске қосады: олар экспозицияны мәңгілік фьючерсте хеджирлейді, сол хеджирлеудің қаржыландыру құнын бизнес жүргізу шығыны ретінде қарастырады және спот пен перп арасындағы базисті басқарады. Бұл жаңа мәселе емес — бұл кросс-биржалық қаржыландыру-бағам арбитражының механизмі, мұнда бүкіл ойын алаңдар арасында өзара өтемақы кезеңдерін ұстау және хеджирлеуді қаржыландыру арқылы қаржыландыру болып табылады. CEX-DEX арбитражы — бұл бір кезеңі блокқа бекітілген тәртіп.
  • Артықшылық ішінара ақпараттық және құрылымдық. CEX бағасы DEX бағасын басқаратындықтан (орталықтандырылған тапсырыс кітаптары үздіксіз жаңартылады; AMM бағалары тек біреу саудалағанда ғана өзгереді), CEX тапсырыс кітабын оқитын іздеуші тізбекті баға жеткенге дейін келесі бэкранингтің қай бағытта жүруі керектігін біледі. Және барған сайын, құрастырушылардың өздері бұл ағынды ішкілендіреді: CEX-DEX үстелін де басқаратын құрастырушы блокты өз саудаларының айналасында реттей алады. Бұл іздеуші мен құрастырушы арасындағы шекараны бұлдыратады және MEV жеткізу тізбегіндегі орталықтандырушы күштердің бірі болып табылады — ең көп тапсырыс ағынын көретін және ең көп реттілікті басқаратын ұйымдар атомдық емес арбитраждың көп бөлігін де басып алады.

Сондықтан айырбас атомдық жағдайдан дәл керісінше. Атомдық арбитраж қауіпсіз (шығынға қайтару, инвентарь жоқ, капитал жоқ) бірақ қатыгез бәсекелес (детерминистік жүлде, аукцион маржаны жейді). CEX-DEX арбитражы қауіпті (нақты инвентарь тәуекелі, нақты капитал, қаржыландыру және басқару үшін хедж) бірақ әлдеқайда үлкен және аз мінсіз бәсекелес, дәл қауіп пен капитал талабы тәуекелсіз атомдық циклді ғана іске қоса алатын боттарды сыртта қалдыратындықтан. Қосымша кіріс қосымша тәуекел үшін өтемақы болып табылады — бұл қаржыдағы ең қарапайым факт, бүкіл бөлімді тәуекелсіз ақша үстелде тұрғандай көрсеткен тізбекте ақыры қайта расталады.

Негізгі ойлар

Дәлелді негізгі ойларға дейін қысқартыңыз:

  1. Атомдылық — бұл бүкіл қауіпсіздік моделі. Көп сатылы арбитраж — бұл require(end >= start + minProfit) қорғанысы бар бір транзакция; оны пайдасыз ететін кез келген нәрсе қайтарылады, сондықтан арбитражер цикл ортасында инвентарь тәуекелін ешқашан ұстамайды және соңғы кезеңді шығынмен ешқашан сатпайды.
  2. Флэш-қарыздар пайданы капиталдан ажыратады. Бір атомдық транзакция ішінде қарызға алыңыз, арбитраж жасаңыз және қайтарыңыз; несие беруші сізді қорғайтын сол қайтарумен қорғалған. Жеңімпаз ең көп капиталы бар іздеуші емес — капитал ор емес.
  3. Анықтау — оңай, тауарланған жартысы. Арбитражға арналған граф алгоритмдерінің теріс циклді іздеуі детерминистік және барлығы үшін бірдей; циклді табу сізді оған бәсекелесуге ғана құқық береді.
  4. Бэкранинг — қауіпсіз, басым түрі. Үлкен своптан немесе оракул жаңартуынан кейін бірден түсу ешкімнің толтыруын нашарлатпай, қате бағаланған пулды қайта реттейді — улы сэндвичтің керісінше, және MEV-Share басудың орнына қайта бөлуге тырысатын нәрсе.
  5. Аукцион маржаның дерлік барлығын жейді. Ортақ, есептелетін жүлде бойынша жабық ұсыныс құрастырушы аукционында ұсыныстар GcεG - c - \varepsilon-ға жақындайды және 90%-дан астамы құрастырушыға және ұсынушыға ағып кетеді. Пайда тек бәсекелестік жұқа жерде сақталады: ұзын құйрықты тізбектер, өтімсіз пулдар және симуляциялау қиынырақ шығулар.
  6. CEX-DEX — ең үлкен санат және ол атомдық емес. CEX-тегі бір кезең нақты инвентарь тәуекелін, нақты капиталды және қаржыландыру үшін хеджді білдіреді — кросс-биржалық қаржыландыру плейбукі бір кезеңі блокқа бекітілген түрде қолданылады, және MEV жеткізу тізбегін ең көп ағынды көретін құрастырушыларға қарай тартатын күштердің бірі.

Тізбекті арбитраж сырттан қарағанда, жасырын циклдерді табу туралы жұмбақ сияқты көрінеді. Іштен қарағанда, бұл аукцион — және жұмбақ барлығы үшін бір мезгілде шешілді. Циклдің қайда екенін білу ешқашан артықшылық болған емес. Ұяшықты жеңу, немесе басқа ешкім ұсыныс жасамайтын жерде сауда жасау әрқашан болған.

Сілтемелер

  • Дайан, Голдфедер, Келл, Ли, Чжао, Бентов, Брайденбах, Джуэлс (2019), Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges. arXiv:1904.05234.
  • Хеймбах, Пахари, Шертенлейб (2024), Орталықтандырылмаған қаржыдағы атомдық емес арбитраж. arXiv:2401.01622 (IEEE S&P 2024).
  • Робинсон & Константинопулос (2020), Ethereum is a Dark Forest.
  • Aave v3 флэш-қарыздары және Balancer / Uniswap v3 флэш-своп құжаттамасы (комиссия кестелері).
  • Flashbots құжаттамасы: MEV-Boost, MEV-Share, тапсырыс ағыны аукциондары (docs.flashbots.net).
blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Нарықтан бір қадам алда болыңыз

AI сауда талдаулары, нарық аналитикасы және платформа жаңалықтары үшін біздің ақпараттық бюллетеньге жазылыңыз.

Біз сіздің жекелігіңізді құрметтейміз. Кез келген уақытта жазылымнан шығуға болады.