Napsal: Arrow

Nedávno dělám shrnutí metod hodnocení stopy DeFi. Po prostudování některých případů je Uniswap typickým představitelem z hlediska vlivu a iterační logiky. Tento článek přináší komplexní přehled Uniswapu.

Interní logikou iterace Uniswapu z V1 na V4, stejně jako spuštění protokolu UniswapX, je funkční inovace a optimalizace mechanismu pro transakce DEX.

V1 zpočátku implementovala AMM v oblasti šifrování, V2 snížila vystavení riziku ETH a spustila cenové orákulum, se kterým je obtížnější manipulovat, V3 vyřešila problém kapitálové neefektivnosti prostřednictvím centralizované likvidity, V4 implementovala přizpůsobitelný DEX a protokol UniswapX byl posílen prostřednictvím aukční mechanismus Konkurenceschopnost agregátorů třetích stran umožňuje optimalizaci cenového skluzu.

Historie vývoje Uniswap

Stav a vliv Uniswapu není třeba dále rozvádět Podle údajů společnosti Dune v reálném čase je Uniswap stále DEX s největším podílem na trhu.

Jako přední DEX neexistuje již dlouho, ale byl mnohokrát opakován. Podívejme se na proces vývoje:

V červnu 2017 publikoval Vitalik článek On Path Independence;

V listopadu 2018 byl vydán Uniswap V1: podpora transakcí mezi ETH a ERC-20Token;

V březnu 2020 byl vydán Uniswap V2: podpora transakcí mezi libovolnými dvěma páry ERC-20Token;

V květnu 2021 byl vydán Uniswap V3: zlepšení využití LP fondů a návrh koncepce agregované likvidity;

V červnu 2023 byl spuštěn Uniswap V4: zavedení přizpůsobení smlouvy Hooks, aby se zabránilo úniku hodnoty;

V červenci 2023 byl spuštěn Uniswap X: agregace on-chain a off-chain likvidity, ochrana MEV.

Uniswap V1: Pokus o automatizovanou tvorbu trhu

V roce 2017 zveřejnil Vitalik na své osobní webové stránce článek „On Path Independence“, ve kterém byl poprvé představen automatizovaný tvůrce trhu (AMM) v oblasti šifrování, což je obchodní metoda odlišná od CEX. Samozřejmě, že tento přístup byl dlouho diskutován v nekrypto kruzích (jako jsou tradiční finanční kruhy).

Víme, že většina transakcí na akciovém trhu, futures trhu nebo stávajících CEX se provádí v Order Book (režim knihy objednávek). Tvůrci trhu (jako jsou makléři a centralizované burzy) spojují nákupní objednávky kupujících a prodejní objednávky prodávajících, když se ceny shodují, čímž dokončují transakce mezi kupujícími a prodávajícími.

Problémy se však objevily v případě decentralizace Důvodem je, že v decentralizovaném prostředí DEX (na vytváření trhu se může podílet kdokoli) je obtížné zajistit odpovídající likviditu, transakční rychlost a zkušenosti jsou poměrně špatné a bez dostatečné likvidity je obtížné dosáhnout provozní efektivity CEX.

V tomto článku od Vitalika je na trhu šifrování představen nový koncept: Automatic Market Maker. V tomto konceptu se oceňování aktiv provádí pomocí oceňovacích algoritmů spíše než pomocí tradičního modelu knihy objednávek.

V modelu AMM není potřeba kotací tvůrců trhu ani systémového párování a obchodníci mohou přímo využívat likviditu v poolu k realizaci výměny aktiv.

TokenA a TokenB tvoří konstantní vztah produktu: tokenA_balance(p) *tokenB_balance(p)=K (K zůstává nezměněn)

Jedná se o likviditu řízený obchodní systém nazývaný Constant Product Market Maker (CPMM). V rámci tohoto přístupu může být cena dána definováním libovolného (monotónního) vztahu mezi tokenemA a tokenemB a výpočtem jeho derivátů kdykoli, čímž se vytvoří tvůrce trhu nezávislého na cestě.

Tři strany: LP, obchodníci, arbitrážisté

V mechanismu tvorby trhu AMM neexistuje žádná konkrétní protistrana podobná modelu knihy objednávek. Skutečná hodnota aktiva je určena matematickým vzorcem konstantního produktu jedná se o inteligentní smlouvu, která může realizovat automatické obchodování aktiva.

Někdo potřebuje zajistit likviditu v inteligentní smlouvě a poskytovatelem likvidity je LP (poskytovatel likvidity) LP poskytuje likviditu pro transakce vkládáním aktiv do inteligentních smluv v poolu, čímž získává příjem z poplatků za transakce.

Poté, co LP vytvoří počáteční fond likvidity, mohou obchodníci vyměňovat tokeny prostřednictvím tohoto fondu a arbitrážisté převezmou iniciativu k udržení cen aktiv konzistentních s tržními cenami prostřednictvím cenové arbitráže mezi různými trhy.

V Uniswap V1, vydaném v listopadu 2018, lze všechna aktiva vykoupit prostřednictvím ETH. Pro transakce mezi ETH a ERC-20Token může kdokoli přidávat tokeny k obchodování s nativním ETH je v podstatě zprostředkovatel obchodování s aktivy.

Co se stane v jediném fondu, pokud chceme obchodovat?

Předpokládejme, že jeden ETH má nyní hodnotu 100 TokenA a fond ETH/TokenA se skládá z 10 ETH a 1000 TokenA.

V tuto chvíli je hodnota 10 ETH a 1000 TokenA stejná jako 1000 amerických dolarů a poměr hodnoty aktiv je 1:1.

k=10 *1000=10000, tento produkt zůstává nezměněn bez přidání další likvidity.

Nyní za předpokladu, že chci prodat 5 ETH do fondu, mělo by to být:

y=10000/(10+5)=666,67, počet ETH v poolu se zvýšil na 15 a počet USDC se v tuto chvíli stal 666,67, takže jsem vyměnil 5 ETH za 333,33 TokenA USDC v poolu Cena jednoho ETH je 666,67/15=44,44, to znamená, že jeden ETH se rovná 44,44 TokenA.

Samozřejmě, že pokud se cena v jednom poolu výrazně změní oproti cenám na jiných obchodních trzích, arbitrageři se okamžitě vyrojí, dokud nespotřebují cenový rozdíl. Mechanismus AMM totiž umí pouze generovat transakční ceny, ale nedokáže zjišťovat tržní ceny, takže role arbitráží je velmi důležitá.

Nestálé ztráty, LP Token, transakční skluz

Netrvalé ztráty nastanou, když se poměr ceny uložených tokenů změní v porovnání s tím, kdy byly vloženy do poolu. Čím větší změna, tím větší ztráta nestálosti.

Nyní, jako LP, budeme pokračovat v uvádění příkladu:

Základní vzorec UniswapV1: x∗y=k

Nyní, jako poskytovatel likvidity, pokračujeme v přidávání 10 ETH a 1000 TokenA jako počáteční likviditu. V tuto chvíli se 1 ETH rovná 100 TokenA a konstantní součin těchto dvou množství aktiv je 10*1000=. 10000 (x*y=10000,x=100y).

V tuto chvíli, pokud se cena 1 ETH zvýší na 200 TokenA, můžeme převést: x*y=10000, x=200y, tedy vypočítáme x=7,071, y=1414,21.

V tuto chvíli se fond likvidity změnil z 10 ETH a 1000 TokenA na začátku na: 7,071 ETH a 1414,21 TokenA.

Našli jste problém?

V tuto chvíli, pokud vykoupím všechna aktiva, dostanu 7,071 ETH a 1414,21 TokenA. Skutečná hodnota vypočtená pomocí TokenA je 7,071*200+1414,21=2828,41, a pokud se počítá na základě počátečních 10 ETH a 1000 aktuálních TokenA. cena by měla být 10*200+1000=3000TokenA.

Rozdíl v této části příjmu (3000-2828,41=171,59TokenA) je netrvalá ztráta.

K nestálým ztrátám dochází, protože v rámci mechanismu automatického tvůrce trhu decentralizovaných burz upravují poskytovatelé likvidity finanční prostředky na základě kolísání cen, což vede ke ztrátám jistiny a ztraceným výnosům.

Protože jednají jako kupující i prodávající, jsou nuceni zvýšit množství aktiv, která drží, když ceny klesají, a snížit množství aktiv, která drží, když ceny rostou, což vede ke ztrátám.

Samozřejmě si také můžete zvolit zajištění a řízení rizik otevřením krátkých/dlouhých kontraktů na ETH.

S cílem motivovat uživatele, aby jednali jako LP, aby poskytovali likviditu, a povzbudit je k tomu, aby nesli kolísání cen, vznikl LP Token. Jedná se o odměnu pro poskytovatele likvidity, kteří obdrží procento z manipulačního poplatku za každou transakci (UniswapV1, obchodníci platí 0,3 % na poplatcích za transakce, které vlastní poskytovatel likvidity). Zároveň slouží i jako poukázka pro LP k výběru jím přidané likvidity.

Dalším pojmem je trading slippage, který kamarádi, kteří často dělají DEX trading, určitě znají. Jako obchodní systém řízený likviditou je krásná rovnice konstantního produktu AMM hladká křivka a cena se neustále mění podle nabídky a poptávky.

Pokud v tuto chvíli obchodujete s velkým množstvím tokenů, dojde k prokluzu a mezi vaší očekávanou cenou a skutečnou cenou, kterou získáte z fondu, bude určitý rozdíl. Jinými slovy, mezi požadovanou cenou a cenou transakce bude mezera.

Uniswap V2: Adaptace, Oracle, Flash půjčka

Uniswap V1 podporuje pouze transakce mezi obchodními páry ERC-20/ETH V podstatě používá ETH jako zprostředkovatele přechodové měny pro výměnu mezi ERC-20Tokeny. rizika trvalé ztráty a uklouznutí.

V Uniswap V2 je stále založen na mechanismu „konstantního tvůrce trhu produktů“, ale upgrade V2 přinesl zlepšení efektivity, včetně: podpory libovolných dvou párů tokenů ERC-20 pro transakce, což znamená, že lze vytvořit jakýkoli ERC20 - ERC20 pár, bez nutnosti párování přes přechodovou cestu ETH.

Nebudu zabíhat do podrobností o tomto bodu.

Vylepšení Price Oracle

V procesu Uniswap V1 není cena vypočítaná vydělením rezervních fondů dvou aktiv v poolu bezpečná, pokud se použije jako predikce ceny na řetězci, protože ji lze snadno manipulovat.

Jedním z účelů tohoto upgradu V2 je zvýšit cenu a obtížnost manipulace s cenou.

Ve V1, za předpokladu, že ostatní kontrakty používají aktuální cenu ETH-DAI k vypořádání derivátů, může útočník, který manipuluje s naměřenou cenou, koupit ETH z páru ETH-DAI, spustit vypořádání derivátového kontraktu za nadsazenou cenu a poté ETH prodá pár zpět a zobchoduje jej zpět za jeho skutečnou cenu. V tomto případě mohou transakce probíhat dokonce jako atomické transakce nebo s těžaři kontrolujícími pořadí transakcí v rámci bloku.

Ve verzi V2 se za účelem stanovení rovnováhy tržní ceny aktualizuje cena jednou za blok a cena výměny tokenů je určena před dalším blokem, to znamená, že tržní cena tokenu je založena na poslední transakci předchozího bloku.

V tomto upgradu jsou také k dispozici nová data predikce cen: Časově vážená průměrná cena TWAP. Akumulace relativních cen dvou aktiv na začátku každého bloku umožňuje dalším smlouvám o Ethereu odhadnout časově váženou průměrnou cenu dvou aktiv v libovolném časovém intervalu.

Přesněji řečeno, v Uniswap V2 se cena akumuluje sledováním kumulativního součtu ceny, když někdo interaguje se smlouvou na začátku každého bloku. Na základě časového razítka bloku je každá cena vážena dobou od aktualizace předchozího bloku. To znamená, že hodnota akumulátoru v libovolném okamžiku (po aktualizaci) by měla být součtem okamžitých cen za každou sekundu v historii kontraktu.

Uživatelé orákula si mohou vybrat, kdy toto období začnou a kdy skončí, náklady pro útočníky na manipulaci s TWAP budou vyšší a ceny se manipulují poměrně obtížně.

Realizujte bleskovou půjčku

Flash půjčka je naprostá novinka oproti tradičnímu financování Skutečné transakce totiž nelze vrátit zpět jako na blockchainu.

Flash swapy flash půjčky byly představeny ve verzi V2. Uživatelé mohou volně půjčovat aktiva do fondu a používat je jinde v řetězci, pouze aby aktiva vrátili a zaplatili odpovídající úrok na konci transakce (platba ve stejné atomové transakci), pokud platba není vrácena normálně. transakce bude vrácena zpět.

Ve skutečnosti umožňuje komukoli bleskově půjčit jakékoli aktivum uložené v Uniswap fondu. Ve verzi V1 nesmějí uživatelé přijímat a používat aktivum před zaplacením. Při použití aktiva A k nákupu aktiva B je nutné aktivum A odeslat do smlouvy, než budete moci získat aktivum B.

Existují některé další body aktualizace: včetně Uniswap V2 upravující nový smluvní rámec, použití jednoduchého binárního formátu s pevnou řádovou čárkou pro kódování a zpracování cen (přesnost), aktualizace protokolových poplatků, podpora metatransakcí pro akcie raženého fondu atd.

Uniswap V3: Zlepšení kapitálové efektivity

Pozadí: Uniswap V2 má problémy s likviditou. Podle výše uvedeného zavedení mechanismu AMM vidíme, že u V1 a V2 je likvidita poolu skutečně distribuována v oblasti [0, +∞] Jinými slovy, v poolu V2 je povolena jakákoliv cena. dojde k transakcím (viz hladká křivka inverzní funkce v konstantním součinu AMM).

Na první pohled je to dobrá věc, obchodní rozpětí je velmi velké, ale ve skutečnosti není dostatečná poptávka po obchodních párech s různou volatilitou v jejich cenových rozpětích, což má za následek vážný nedostatek likvidity s výjimkou některých obchodních pásem. , nízké využití majetku.

Jak si dokážete představit, je nesmyslné a nehospodárné poskytovat likviditu v cenovém bodě tak vzdáleném od cenového rozpětí, že cena nemusí nikdy dosáhnout tohoto bodu.

koncentrovaná likvidita

V tomto případě za účelem zlepšení likvidity zavedl Uniswap V3 koncept koncentrované likvidity. to je:

Poskytovatelé likvidity (LP) se mohou svobodně rozhodnout poskytovat likviditu v určitém cenovém rozpětí. To může poskytovat lepší likviditu a fungovat ve vysoce kapitálově efektivním rozmezí fondu aktiv.

Každé malé cenové rozpětí ve V3 lze v práci chápat jako V2. Během transakce se cena bude plynule pohybovat po křivce. Když cena dosáhne určitého úseku V2, dosáhne intervalového bodu cenového intervalu V3. .

Po pochopení výše uvedeného konceptu se můžeme seznámit s novým termínem – jádrem V3 jsou Ticks.

Ticks, ticks, jsou nejmenší přírůstkové částky, za které lze s cenným papírem obchodovat. Ve V3, rozdělením cenového rozpětí [0, +∞] na bezpočet jemnozrnných tiků, jsou implementována omezení na horní a dolní mez koncových bodů každého rozpětí.

Likvidita je agregována prostřednictvím granulární kontroly Celý cenový rozsah ve V3 je kalibrován pomocí diskrétních, rovnoměrně rozložených tiků Každý Tick má index a odpovídající cenu a každý Tick má svou vlastní hloubku likvidity.

Matematické principy Uniswap V3 se změnily, i když je podobný základní vrstvě V2:

L=kořen xy

L se nazývá množství likvidity a likvidita v poolu je kombinací dvou množství tokenových aktiv. Podobně součin množství dvou žetonů je K, ale protože každý Tick má různé hloubky likvidity, ekvivalentní vzorce pro různé hloubky již nejsou stejné.

Nebudu zabíhat do podrobností o matematických principech Níže je článek od Atise Elstse o matematických principech V3.

Uniswap V2 má stále standardní transakční poplatek ve výši 0,3 %, ale ve V3 jsou kvůli různé granularitě poskytovány tři různé úrovně poplatků, konkrétně 0,05 %, 0,3 % a 1 %. V tomto okamžiku mohou LP zaměřit svou kapitálovou efektivitu na nejčastěji obchodované rozmezí, aby dosáhli maximálních výnosů.

Kromě toho V3 opět optimalizoval celkový oracle založený na V2, již neukládá pouze jednu proměnnou akumulace cen, ale ukládá sadu proměnných, což může prodloužit životnost dat, snížit poplatky za plyn a ušetřit náklady.

Uniswap V4: Přizpůsobitelný DEX

Uniswap V4 je založen na modelu centralizované likvidity Uniswap V3, který umožňuje komukoli nasadit nové centralizované fondy likvidity na Uniswap pomocí vlastních funkcí, čímž se stává účinnou a přizpůsobitelnou platformou DEX.

Ve V4 je stěžejním bodem smlouva o hácích a vizí je umožnit komukoli, aby tato kompromisní rozhodnutí zaváděl zavedením „háčků“.

Pro každý fond může tvůrce definovat "hooks contract", který provádí logiku v klíčových bodech životního cyklu hovoru. Tyto háky také spravují směnné poplatky fondu a poplatky za výběr účtované poskytovatelům likvidity.

Háčky a vlastní bazény

Háky jsou sada smluv vyvinutých třetími stranami nebo úředníky Uniswapu Při vytváření poolu se fond může rozhodnout svázat hák. Později, v určité fázi transakce, fond automaticky zavolá hákový kontrakt, který je k němu vázaný. Smlouva je ve výzvě klíčových bodů v životním cyklu k implementaci logiky.

Jinými slovy, hák je externě nasazená smlouva, která provádí určitou logiku definovanou vývojářem v určeném bodě provádění fondu. Tyto háčky umožňují integrátorům vytvářet centralizované fondy likvidity s flexibilním a přizpůsobitelným prováděním. Háky mohou upravovat parametry fondu nebo přidávat nové funkce a funkce.

Každý fond likvidity Uniswap má svůj životní cyklus: Během životního cyklu fondu likvidity se děje několik věcí, včetně: fond je vytvořen s výchozí úrovní poplatků, likvidita se přidává, odebírá nebo znovu upravuje a uživatelé mohou také swapovat tokeny atd. . V Uniswap v3 jsou tyto události životního cyklu těsně propojeny a prováděny ve velmi přísném pořadí.

Ale za účelem vytvoření prostoru pro přizpůsobitelnou likviditu v Uniswap V4. Smlouva Hooks vytváří metodu pro nasazení kódu těžebního fondu, aby bylo možné provádět specifikované operace v klíčových bodech životního cyklu těžebního fondu, například před a po swapu nebo před a po změně pozice LP.

Stručně řečeno, háky jsou zásuvné moduly pro přizpůsobení vzájemného působení poolů, swapů, poplatků a pozic LP Prostřednictvím hákových smluv mohou vývojáři inovovat nad rámec likvidity a bezpečnosti protokolu Uniswap integrací s inteligentními smlouvami v4 vlastní AMM bazény.

Příklady funkcí, které lze implementovat prostřednictvím hákových smluv, zahrnují:

  • Provádění velkých zakázek prostřednictvím TWAMM po určitou dobu;

  • Příkaz cenového limitu na řetězci provedený za stanovenou cenu;

  • Dynamické poplatky, které se mění s volatilitou;

  • Internalizovaný mechanismus přidělování MEV pro poskytovatele likvidity;

  • Implementujte medián, zkrácení nebo jiné vlastní orakuly.

Základní logika Uniswap V4 je stejná jako V3 a nelze ji upgradovat. Vzhledem k tomu, že každý fond je nyní definován více než jen vrstvou tokenů a poplatků, lze z toho vytvořit širokou škálu fondů. A zatímco každý fond může používat svou vlastní inteligentní smlouvu na háky, háky jsou omezeny na konkrétní oprávnění určená při vytvoření fondu.

Ve V4 jsou také některé architektonické změny, jako je Flash Accounting, které mohou výrazně snížit poplatky za plyn. Tato funkce je obsažena v EIP-1153, který zavádí „přechodné“ úložiště, a bude implementována po upgradu Cancunu (Ethereum Cancun).

Verze V4 navíc využívá i singleton režim (uložení všech stavů poolu do jedné smlouvy), lightning accounting (zajišťuje solventnost poolu), obnovuje podporu pro nativní ETH, podporuje tokeny ERC-1155 a přidává mechanismy governance Wait for Improvement.

UniswapX: Posílení konkurence

UniswapX je nový protokol s otevřeným zdrojovým kódem (GPL), založený na aukcích, pro obchodování napříč AMM a dalšími zdroji likvidity.

Protokol zlepší funkčnost výměny v mnoha oblastech, včetně:

  • Zvyšte ceny sdružováním zdrojů likvidity

  • Žádná výměna plynu

  • Zabránit MEV (maximální extrakční hodnota)

  • Žádné poplatky za neúspěšné transakce

  • V nadcházejících měsících se UniswapX rozšíří na bezplynové cross-chain swapy.

Agregace nové úrovně Agregace nové generace

Souvislosti: Transakce v řetězci se nadále inovují, což vede k rozšiřování fondů likvidity, novým úrovním poplatků, L2 a dalším protokolům v řetězci, které také rozptýlí likviditu.

Řešení: UniswapX si klade za cíl vyřešit tento problém prostřednictvím otevřené sítě, která outsourcuje složitost směrování třetím stranám, které potřebují soutěžit o plnění transakcí pomocí likvidity v řetězci, jako jsou fondy AMM nebo jejich vlastní soukromé zásoby.

S UniswapX budou obchodníci moci používat rozhraní Uniswap bez obav, zda dostanou nejlepší cenu. Transakce obchodníků budou vždy transparentně zaznamenány a vypořádány v řetězci. Všechny objednávky jsou poháněny Uniswap Smart Order Router, který nutí třetí strany soutěžit s Uniswap V1, V2, V3 a po uvedení na trh V4.

UniswapX v podstatě posiluje mechanismus konkurence a optimalizuje cenový skluz každého fondu aktiv prostřednictvím výběru směrování třetí strany.

Kromě toho UniswapX také zahájil nové pokusy:

Žádné transakce s plynem, žádné poplatky v případě selhání. Obchodník podepíše unikátní off-chain objednávku, kterou následně zadá on-chain třetí strana, která platí Plyn jménem obchodníka. Třetí strana započítává poplatek za Plyn do ceny transakce, ale může soutěžit o nejlepší cenu provádění více příkazů v dávkách a snížení transakčních nákladů.

Ochrana MEV vrací MEV původně získané prostřednictvím arbitrážních transakcí obchodníkům za lepší cenu. UniswapX pomáhá uživatelům vyhnout se explicitnějším formám výběru MEV: příkazy provedené pomocí soukromých aktiv třetích stran nelze „skládat“ a třetí strany jsou motivovány k tomu, aby při směrování příkazů do fondů likvidity v řetězci využívaly přenosy soukromých transakcí.

Nadcházející cross-chain verze UniswapX bude kombinovat swapování a přemostění do jedné bezproblémové operace. Pomocí cross-chain UniswapX budou swapeři schopni přepínat mezi řetězci během několika sekund a mohou se těšit na svůj pokrok.

Hlavní téma Uniswapu: iterace

Interní logika iterace Uniswap z V1 na V4, stejně jako spuštění protokolu UniswapX, je funkční inovací DEX (AMM).

V1 zpočátku implementovala AMM v oblasti šifrování, V2 snížila vystavení riziku ETH a spustila cenové orákulum, se kterým je obtížnější manipulovat, V3 vyřešila problém kapitálové neefektivnosti prostřednictvím centralizované likvidity, V4 implementovala přizpůsobitelný DEX a protokol UniswapX byl posílen prostřednictvím aukční mechanismus Konkurenceschopnost agregátorů třetích stran umožňuje optimalizaci cenového skluzu.

Vidíme, že Uniswap se inovuje na každém kroku – snižuje výpůjční náklady, optimalizuje uživatelský zážitek, posiluje povědomí o konkurenci a přijímá nové technologie, které jsou základem dobrého protokolu, který vydrží navždy.