Чейнде ликвидациялар: Aave жана Compound механикасы, ошондой эле алардын тегерегиндеги бот бизнеси
Aave'деги ликвидация — бул туруктуу коомдук сунуш: башканын карызын төлөп, анын күрөөсүн 5–15% арзандатуу менен ал. Бул сунуш өзгөрбөс контрактка жазылган, эч кандай уруксатты, KYC'ди, протокол менен мамилени талап кылбайт — жөн гана позиция чекти кесип өткөн блокто liquidationCall() функциясын биринчи чакырган дарек болуу керек. Бул криптодогу эң таза жарыш: сыйлык тыйынына чейин белгилүү, триггер (көбүнчө) алдын ала болжолдонот, жана жалгыз суроо — сенин инфраструктурасы бардыгынан мурда жетеби же жокпу.
Бул макалада машинаны толугу менен талдайбыз: позиция качан ликвидацияланарын аныктаган так математика, Chainlink oracle механикасы ликвидацияларды реактивдүү эмес, болжолдонуучу кылганынын себеби, атаандаштыкка жарамдуу ликвидация боту чындыгында эмнеден турары, жана жарыштын экономикасы кантип кысылып, бонустун көбү эми блок билдерлерине, ал эми улам көбүрөөк протоколдордун өзүнө кайра кетип жатканы. Аягында муну perp-DEX ликвидациялары (GMX, Hyperliquid) менен салыштырабыз — алар сырткы көрүнүшү боюнча окшош, бирок таптакыр башка оюн.
Механика: health factor, чектер, бонустар
LTV жана ликвидация чеги (threshold)
Aave v3'тегы ар бир күрөө активи эки башка тобокелдик параметрин алып жүрөт, жана аларды чаташтыруу — карыз алуучулар жасаган эң кеңири таралган ката:
- LTV (loan-to-value) — активди берген учурда ага каршы карыз алууга болгон максималдуу сумма. Aave v3 mainnet'теги WETH үчүн бул болжол менен 80%.
- Ликвидация чеги (liquidation threshold) — позиция ликвидацияланчу күрөөлүк деңгээл. WETH үчүн болжол менен 83%.
Алардын ортосундагы аралык атайын калтырылган буфер: сен дароо эле ликвидацияланчу позицияны ача албайсың. Бирок буфер жука — баанын бир нече пайыз терс жылышы "максималдуу карыз алынган" абалды "алып кетүүгө боло турган" абалга айландырат.
Health factor баарын бир санга жыйнайт:
мында — күрөө активинин суммасы, — анын oracle баасы, — анын ликвидация чеги, ал эми — ар бир карыз позициясынын наркы. болгондо, ар ким ликвидациялай алат. Эч кандай жеңилдик мөөнөтү, margin call, эскертүү жок. Шарт жалкоо (lazily) баалангандыктан — эч ким функцияны чакырмайынча эч нерсе болбойт.

Close factor жана ликвидация бонусу
Дагы эки параметр ликвидатор эмне аларын аныктайт:
- Close factor — бир ликвидация төлөй ала турган карыздын бөлүгү. Aave v3'түн демейки мааниси — 50%. Aave v3.3 чыккандан бери, болгондо (
CLOSE_FACTOR_HF_THRESHOLD) же позициянын күрөөсү же карызы чаң (dust) чегинен (~$2,000) төмөн болгондо, close factor 100%ге чейин секирет — майда позициялар эки транзакцияга татыктуу эмес, ал эми калган "чаң" жаман карыз эсебинде көйгөй жаратат. - Ликвидация бонусу (кимдин жагында тураарыңа жараша ликвидация айыбы деп да аталат) — ликвидатор күрөөнү сатып алган арзандатуу. Aave'де бул governance тарабынан ар бир актив үчүн белгиленген туруктуу спред: WETH жана негизги стейблкоиндер үчүн болжол менен 5%, туруксуз, узун-куйрук күрөө үчүн 10–15%ге чейин.
Compound v2 башка константалар менен ушундай эле схема боюнча иштейт: liquidateBorrow() 50% close factor жана 8% ликвидация стимулу менен (кармалган cToken күрөөсү төлөнгөн карыздын 1.08 эселенген наркына татыктуу). Compound v3 (Comet) агымды эки кадамга кайра курду: absorb() суу астында калган позицияны протоколдун өзүнүн балансына тартат (карыз резервге социализацияланат, күрөө протоколдун менчигине айланат), ал эми buyCollateral() ар кимге бул күрөөнү протоколдон governance тарабынан белгиленген арзандатуу менен, базалык активде төлөп сатып алууга мүмкүндүк берет. Практикада ликвидатор экөөнү тең бир транзакцияда чакырат — absorbтун өзү эч нерсе төлөбөйт, пайда толугу менен арзандатылган buyCollateralде жатат.
Так позиция: кадам сайын ликвидация
Aave v3'түн типтүү WETH параметрлерин алалы: LTV 80%, ликвидация чеги 83%, ликвидация бонусу 5%.
Баштоо. Сен $3,000дон 10 WETH депозит кыласың ($30,000 күрөө) жана 20,000 USDC карызга аласың.
Ликвидация баасы. Күрөөнүн наркы 20{,}000 / 0.83 = \24{,}096HF = 1 болот, б.а. ETH **\2,410** баада — 19.7% төмөндөө. Коопсуз сезилет. Бирок андай эмес, анткени ETH үчүн 20% төмөндөө — эрте мененки нан сыяктуу кадимки нерсе.
Түшүү. ETH oracle'до $2,350ды көрсөтөт. Күрөө эми $23,500:
, ошондуктан 50% close factor колдонулат. Ликвидатор сенин карызыңдын 10,000 USDCсын төлөйт жана oracle баасы боюнча 10{,}000 \times 1.05 = \10{,}500$ турган күрөөнү кармап алат:
Ликвидатордун П&Л. Ал $10,000 сарптап, $10,500 наркындагы ETH алды: бир функция чакыруусу үчүн $500 жалпы пайда, газды, ETHти чыгаруу үчүн своп чыгымдарын, жана — эң маанилүүсү — жарышта жеңип алуу үчүн канча берүүгө туура келгенин (төмөндө көбүрөөк) эсептебестен.
Сенин П&Лиң. Карыз $10,000гө чейин түштү, күрөө 5.532 WETHке ($13,000) чейин түштү. Жаңы health factor:
Эки ыңгайсыз фактыга көңүл бур. Биринчиден, сен мажбурлап делеверейж жасалганың үчүн $500 төлөдүң — бонус толугу менен сенин капиталыңдан чыгат. Экинчиден, жаңы 1.079 HF болгону эле суунун бетинде: ETHтин дагы 7% түшүшү калган жарымын кайра ликвидацияга алып келет. Туруктуу спред менен ликвидация төлөөгө жарамдуулукту калыбына келтирет, коопсуздукту эмес. Бул "жарым ликвидация, дагы деле начар, кайра ликвидацияланат" үлгүсү — каскад динамикасынын микроструктурасы, аны биз соода сигналы катары ликвидация каскаддары деген тектеш макалада карайбыз.
Триггер: ликвидациялар болжолдонуучу, реактивдүү эмес
Мына бул бөлүк бул бизнести түшүнгөн адамдарды түшүнбөгөндөрдөн бөлүп турат: Aave жана Compound'до позициялар рыноктук баа жылганда эмес, oracle жаңырганда ликвидацияланчу болуп калат.
Эки протокол тең баанын Chainlink маалымат агымдарынан окуйт. Ethereum mainnet'теги Chainlink агымы эки шарттын биринде жаңы чейн-үстү баасын жиберет:
- Четтөө чеги (deviation threshold) — чейнден тышкары агрегацияланган баа акыркы чейн-үстү маанисинен белгиленген пайыздан ашык жылганда: mainnet'теги ETH/USD үчүн 0.5%, көбүрөөк кичине агымдар үчүн 1–2%.
- Heartbeat — четтөөгө карабастан жаңыртуу жиберилчү максималдуу интервал (ETH/USD үчүн 3,600 секунда).
Мунун терең натыйжасы бар. Жаңыртуулардын ортосунда, чейн-үстү баа курулушу боюнча эскирген. Эгер Binance'деги ETH 0.6%ге түшүп, ал эми чейн-үстү агым дагы эле эски бааны көрсөтүп жатса, ар бир татаал катышуучу oracle жаңыртуу транзакциясы келе жатканын билет, жаңы баа болжол менен кандай болорун билет, жана — жаңыртуу тийгенге чейин эле — так кайсы позициялар ошол замат чегин кесип өтөрүн эсептей алат.

Ошондуктан үстөмдүк кылган стратегия "health factor'лорду байкап, реакция кыл" эмес, а oracle жаңыртуусун backrun кылуу: сенин liquidationCall() функцияң Chainlink transmit транзакциясынан дароо кийин, ошол эле блокто аткарылчудай бандл (bundle) курулат. Oracle жаңыртуусу — старт замбиреги, жана ар ким стартерди пистолетти көтөрүп жатканын көрө алат. Бандл механикасы — блок билдерлерине жеке жиберүү, атомардык тартип кепилдиктери — бул sandwich чабуулдары жана mempool frontrunning жөнүндөгү макалада каралган ошол эле машинерия; ликвидациялар жөн гана анын эң мыйзамдуу колдонулушу.
Практикада эки нюанс маанилүү:
- Transmit'ти mempool'до көрүшүң да шарт эмес. Чейнден тышкары агрегация байкалгандыктан (сен CEX агымдарынан ошол эле баа эсебин иштете аласың), четтөө чектен ашкан замат жаңыртуу сөзсүз аткарыларын болжолдой аласың, жана баа өйдө жана баа төмөн жол үчүн бандлдарды алдын ала курасың.
- Heartbeat жаңыртуулары — пландаштырылган ликвиддик окуялар. Эгер агым бир сааттын ичинде 0.5%ге четтебесе, жаңыртуу баары бир келет — жана эгер баа жанында топтолгон позициялардын дубалына каршы 0.4%ге жылса, ошол "зыянсыз" heartbeat триггер болуп калат. Атаандаштыкка жарамдуу операторлор ар бир агым үчүн акыркы жаңыртуудан бери өткөн убакытты биринчи класстагы сигнал катары көзөмөлдөшөт.
Бул болжолдонуучулук ошондой эле протоколдор акырында наркты кайра кайтарып алууга өткөнүнүн себеби. 2025-жылдын мартында Aave Chainlink SVR'ди (Smart Value Recapture) интеграциялады: катышкан агымдар үчүн oracle жаңыртуулары Flashbots MEV-Share аркылуу багытталат, аларды backrun кылуу укугу аукционго коюлат, жана жеңүүчү сунуш Aave DAO (65%) менен Chainlink'тин (35%) ортосунда бөлүнөт, издөөчүлөр менен билдерлерге толугу менен кетпей. Бир нече айдын ичинде система $32 миллиондон ашык ликвидацияны иштеп чыкты жана $1.1 миллиондон ашыгын кайра кармап калды, жарактуу ликвидация MEVинин 80%дан ашыгын камтыды. Муну рыноктук баа катары окуп чык: ачык жарыш ошончолук натыйжалуу болуп калгандыктан, протокол финиш сызыгын аукционго коё алды.
Ботту куруу: төрт субсистема
Атаандаштыкка жарамдуу ликвидация боту — скрипт эмес; бул кичине соода фирмасынын инфраструктурасынын наркы. Төрт субсистема, ар бири өзүнчө жөнөкөй, бирок жалпысынан кечигүүгө өтө сезгич.

1. Позицияларды индекстөө
Сага чыныгы убакытта колдоо көрсөтүлгөн карыз алуучулардын жана алардын баланстарынын толук топтому керек. Bootstrap — окуяларды кайра толтуруу: протокол жайгаштырылгандан бери ар бир Supply, Borrow, Repay, Withdraw, LiquidationCall учурдагы колдонуучу баланстарына жыйналат, андан кийин жаңы логдорго websocket жазылуусу аркылуу тирүү бойдон сакталат. Aave'дин getUserAccountData(address) health factor'ду түз кайтарат, бирок 100 миңден ашык карыз алуучу үчүн блок сайын, колдонуучу сайын чакыруу үмүтсүз; олуттуу операторлор протоколдун эсебин жергиликтүү түрдө кайталашат (пайыздык чен индекс математикасын кошуп, анткени карыз ар секунда өсөт) жана RPC чакыруулары текшерүү үчүн сакталат.
2. Oracle симуляциясы менен health factor мониторинги
Негизги цикл "учурдагы oracle баасында HFди эсепте" эмес. Ал "oracle жарыялоочу баада HFди эсепте":
def liquidatable_at(positions, feed, candidate_price):
"""Positions that cross HF < 1 if `feed` updates to candidate_price."""
out = []
for pos in positions.borrowers_exposed_to(feed):
hf = pos.health_factor(price_override={feed: candidate_price})
if hf < 1.0:
close_factor = 1.0 if hf < 0.95 else 0.5
repay = pos.debt_value * close_factor
seized = repay * (1 + pos.liq_bonus)
gross = seized - repay # the prize, pre-costs
out.append((pos, repay, gross))
return sorted(out, key=lambda x: -x[2])
deviation = abs(offchain_px - onchain_px) / onchain_px
if deviation > FEED_DEVIATION_THRESHOLD * 0.8: # update imminent
targets = liquidatable_at(positions, feed, offchain_px)
for pos, repay, gross in targets:
prepare_bundle(pos, repay, max_bid=gross - costs(pos))
Позицияларды ге жакындыгы боюнча сорттоо (ар бир позицияны триггерлеп турган баа боюнча ачкычталган приоритеттик кезек) ысык топтомду кичине кармайт. 0.8 коэффициенти — бүт оюндун негизи: сага бандлдар жаңыртуу так болгонго чейин курулуп, жиберилиши керек, андан кийин эмес.
3. Flash loan менен каржыланган аткаруу
Ликвидациялоо үчүн капитал керек эмес — сага болжол менен 200 миллисекунд блок убактысы керек. Каноникалык аткаруу контракты атомардык түрдө төмөнкүлөрдү жасайт:
- Карыз активин flash-borrow кыл (Balancer 0 bps менен, же Aave өзү ~5 bps менен — flash loan менен атомардык арбитраж макаласында биз курган ошол эле примитив).
liquidationCall(collateral, debtAsset, user, repayAmount, false)чакыр —falseaToken эмес, тийиштүү негизги активди алат.- Кармалган күрөөнү, эң жакшы баа берген аянтта — Uniswap v3 / v4, 1inch маршрут, же жеке толтуруу — карыз активине кайра своп кыл.
- Flash loan'ду кайра төлө; калганы — пайда,
require(profit >= minProfit)менен текшерилет, ошондуктан эскирген симуляция аткарылбай, ыргытылат (revert).
Своп бөлүгү — сылык эмес боттор өлгөн жер: узун-куйрук токендин $10,500ын кармоо анын DEX ликвиддигин жегенди билдирет, жана чыгуудагы баа таасири ликвидация бонусунан ашышы мүмкүн. Атаандаштыкка жарамдуу операторлор чыгуу свобу да кошулган толук жол-жобону симуляциялашат жана таза натыйжа терс болгон ликвидацияларды өткөрүп жиберишет, же күрөөнү кармап, аны рынокко ыргытуунун ордуна перпте хеджирлешет.
4. Бандл жиберүү
Акыркы транзакция ачык mempool'дон таптакыр алыс кетет. Ал блок билдерлерине (же тиешелүү болсо SVR/OEV аукционуна) бандл катары жиберилет, айтылат: "менин ликвидацияны ушул oracle transmit'тен дароо кийин орноштур; мына менин чаевым." Чаевы — сен ошол эле симуляцияны иштеткен башка бардык боттор менен болгон "жеңилсең эч нерсе төлөбөйсүң" аукционундагы сунушуң. Мунун баары ыңгайсыз экономикага алып келет.
Атаандаштык: бонус чынында кайда кетет
Академиялык база чекити — Qin, Zhou, Gamito, Jovanovic жана Gervais, "An Empirical Study of DeFi Liquidations: Incentives, Risks, and Instabilities" (2021), ал 2019-жылдын апрелинен 2021-жылдын апрелине чейин Aave, Compound, MakerDAO жана dYdX боюнча бизнести өлчөгөн: 28,138 ликвидация, жалпы суммасы $807 миллион, жалпы ликвидатор пайдасы $63.6 миллион. Макала ошондой эле туруктуу спред менен ликвидациянын структуралык натыйжасыздыгын документтеди — арзандатуу аукцион суроочу баадан ашык, карыз алуучуларды дайыма ашыкча жазалаган мокок курал — жана ликвидаторлор жөнөкөй стратегиялар менен өлчөнүүчү акчаны столдо калтырганын көрсөттү.
Ошол доордун пайдасы кайталанбайт, үч себептин комбинациясынан улам:
Газ аукциону билдер аукционуна айланды. 2019–2020-жылдары, ликвидаторлор ачык mempool'до priority-gas аукциондорунда атаандашышкан; жеңүүчү газды ашыкча төлөгөн, жеңилгендер revert болгон, жана бонустун олуттуу бөлүгү ликвидатордо калган. MEV-Boost'тон кийин, атаандаштык жабык билдер аукциондорунда болот. N бот бирдей детерминисттик мүмкүнчүлүктү бирдей пайда санына симуляциялаганда, сунуш толук сыйлыкка карай жакындайт: жеңүүчү бандл дайыма жалпы пайданын 90%дан ашыгын билдер/валидаторго чаевы катары берет. Ликвидатордун артыкчылыгы кимде чыгуу баасы бир аз жакшыраак, чыгымдар бир аз төмөнүрөөк, же башкалар байкабай калган мүмкүнчүлүктөр болгонго гана кыскарат.
Oracle backrun'дар үстөмдүк кылат, жана алар курчалып жатат. Дээрлик бардык акча рыногу ликвидациялары oracle жаңыртуулары менен триггерленгендиктен, пайдалуу стратегия мейкиндиги бир чекитке — transmit'тен дароо кийинки слотту утуп алууга кыскарды. SVR сыяктуу механизмдер муну расмийлештирет — протокол ошол слотту аукционго коёт жана кирешенин көбүн өзүндө калтырат. Издөөчүнүн үлүшү "бонус минус газ"дан "аукцион жеңүүчүсүнүн маржасына" чейин кичирейет, ал эми атаандаштыкка жарамдуу сунуш аны нөлгө карай түртөт.
Калганы — узун куйрук. 2026-жылы жаңы катышуучу үчүн реалдуу нишалар: билдер рыноктору дагы деле жетилбеген чейндер жана L2лер; бонус параметрлери туура эмес бааланган жана бот атаандаштыгы аз узун-куйрук кредиттик форктор; чыгуу-своп симуляциясы чынында кыйын экзотикалык күрөөгө ээ позициялар (жакшы аткаруу аркылуу артыкчылык, тезирээк эмес); жана стресс окуялары, качан газ секирип, RPC бузулуп, чектеш операторлорду иштен чыгарат — MakerDAO'нун Кара Бейшемби окуясы (2020-жылдын марты), качан нөл сунуш менен аукциондор ликвидаторлорго $8.3 миллион күрөөнү дээрлик бекер алууга мүмкүндүк берген, анткени башка эч кимдин инфраструктурасы иштебей калган — жарыш дал ошондо эң жакшы төлөйт качан аны иштетүү эң кыйын болгондо дегендин каноникалык мисалы бойдон калууда.
Так күтүлгөн натыйжаны баала: бул эми реалдуу туруктуу чыгымдары бар (тордор, билдерлер менен мамилелер, ондон ашык жайгаштыруу боюнча мониторинг) бизнес, катуу арзандатылган сыйлык фондуна атаандашат. Бул EVM ички дүйнөсү, oracle'дор жана MEV инфраструктурасы жөнүндө эч кандай курс үйрөтө албаган нерсени үйрөнүүнүн жакшы жолу. Бирок жашоо үчүн акча табуунун кыйын жолу.
Perp-DEX ликвидациялары: бир эле сөз, башка оюн
Perpetual DEXтер да "ликвидациялашат", жана баш сандар чоңураак — бирок механизм, демек, мүмкүнчүлүк да структуралык жактан башка.
GMX (v2): позициялар oracle баасында (Chainlink кечигүүсү аз Data Streams) ликвиддик пул менен соода кылат. Ликвидация күрөө минус чыгымдар жана комиссиялар кызмат көрсөтүү талаптарынан төмөн түшкөндө иштетилет, жана аны keeper'лер аткарышат — ачык жарыш эмес, oracle кол коюлган баада иштеген белгиленген инфраструктура операторлору. Биринчи чакырган ар кимге 5% бонус төлөчү коомдук функция жок; калган күрөө протоколдун эрежелери боюнча пулга агып кирет. Издөөчүнүн көз карашынан утууга эч нерсе жок.
Hyperliquid: ликвидациялар L1'дин өзүнүн дал келтирүү кыймылдаткычынын ичинде иштейт. Эсеп акциясы кызмат көрсөтүү маржасынан төмөн түшкөндө (жогоруда сүрөттөлгөн oracle оюндарына каршы туруу үчүн так CEX агымдары менен китептен аралашкан белги баада бааланат), кыймылдаткыч ликвидация рыноктук ордерлерин ордер китебине жиберет — таасирди чектөө үчүн чоң позициялар жарым-жартылай бөлүктөрдө. Эгер акция кызмат көрсөтүү маржасынын үчтөн экисинен ары түшө берсе, позицияны белги баада HLPтин ичиндеги стратегия болгон backstop ликвидатор кампасы — протоколдун коомчулукка тиешелүү маркет-мейкинг кампасы — алат, ал эми акыркы катмар катары авто-делеверейж иштейт. Ликвидация П&Лиси HLP депозиторлоруна топтолот — "ликвидатор пайдасы" ар бир окуя үчүн жарышуунун ордуна, ар ким кошула турган кампага социализацияланат.
Соодагер үчүн натыйжа: акча рынокторунда, оюн — ликвидатор болуу — туруктуу спред үчүн инфраструктура жарышы. Perp DEXтерде ликвидатордун ролу жабык, ошондуктан оюн ликвидациялардын тегерегинде соода кылууга жылат: ликвидация баалары ачык позициялардан эсептелет, мажбурланган агым көрүнүп турган ордер китебине тийет, ал эми топтолгон ликвидация деңгээлдери баа кыймылдары үчүн магнит да, отун да болуп калат. Бул CEX ликвидация каскаддарын соода кылууга жарамдуу кылган ошол эле логика — фандинг чендери сенин левериджиңди өлтүрөт (леверидж наркы позицияларды кыркага түртөт) жана шиткоин pump-and-dump механикасы (ликвидация кластерлерине инженерленген түртүүлөр) деген макалаларда тийип өткөн динамика. Каскаддарды сигнал катары толук карап чыгуу — алар түзүлүп жатканын аныктоо, алардын отунун өлчөө, ашыкча кыймылды соода кылуу — бул сериянын кийинки макаласынын темасы.
Эмнени эстен чыгарбоо керек
Акча рыногу ликвидациясы — криптодогу баары окулуучу сейрек бурч: триггер шарты — формула, сыйлык — governance тарабынан белгиленген константа, старт замбиреги — сен алдын ала көрө турган oracle транзакциясы. Ошол окулуучулук 2019–2021-жылдары чын эле ачык бизнес курду, андан кийин — так ошол баары окулуучу болгондуктан — атаандаштык артыкчылыкты инфраструктура сапатына чейин баалады жана калганын протоколдорго кайра аукционго койду. Механика дагы эле маанилүү билим бойдон калат: эгер сен чейнде карыз алсаң, бул математика сенин тобокелдик моделиң; эгер сен мажбурланган агымдын тегерегинде соода кылсаң, oracle ыргагы жана close factor'лор качан жана канчаны билдирет; жана эгер сен баары бир ботту курсаң, жок дегенде акча чынында кайда кетерин билип кур.
Authors
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.