MGStaking
Published in

MGStaking

Maiar Exchange: Tot ce trebuie să știi

Majoritatea dintre noi ne-am început călătoria în spațiul crypto accesând pentru prima dată un exchange centralizat precum Binance, Coinbase sau Kraken. Probabil știi procesul prin care trebuie să treci ca să poți să cumperi un token sau să faci trade pe aceste platforme, dar ca să vedem avantajele exchange-urilor descentralizate și de ce tot mai multă lume preferă să se mute către astfel de platforme cel mai bine ar fi să facem o paralelă între CEX-uri (Exchange-uri Centralizate) și DEX-uri (Exchange-uri Descentralizate).

Care sunt diferențele între CEX-uri și DEX-uri?

Un CEX este condus de o entitate centrală și toată activitatea se desfășoară în baza de date a acesteia. Dar toată ideea din spatele blockchain-ului nu era cumva eliminarea intermediarului? O întrebare pe care mulți ar adresa-o. Odată intrat pe un exchange centralizat în majoritatea cazurilor trebuie să oferim atât informații personale, cât și detalii bancare dacă vrem să facem un depozit. Așadar, experiența pe astfel de platforme nu se desfășoară tocmai in anonimat, o altă caracteristică fundamentală oferită de tehnlogia blockchain. Probabil fiecare dintre noi a trecut prin unul sau mai multe momente când se ivește o oportunitate în piață și trebuie să treci prin KYC (Know Your Customer)/ AML (Anti-Money Laundering) sau exchange-ul suferă downtime-uri și nu poți să tranzacționezi chiar dacă iți dorești. Sau ai auzit cel puțin odată cum un CEX a fost hack-uit sau și mai rău, echipa a furat toate fondurile. Toate astea, din păcate, fac parte din riscurile la care ne supunem când folosim CEX-uri și, totodată, avantajele DEX-urilor.

Cele mai multe exchange-uri centralizate au o interfață mai ușor de înțeles oferind chiar mai multe opțiuni și funcționalități față de un DEX. Aceste lucruri aduc utilizatorilor o experiență mai plăcută si fără prea mari bătăi de cap. Alte două diferențe destul de importante le reprezintă sistemul de order book și faptul că trade-urile și order-ele se execută off-chain, tranzacțiile nefiind validate de către noduri, iar balantele user-ilor sunt alocate intern prin servere dedicate și procese de securitate ce țin de fiecare exchange în parte. Astfel, ai posibilitatea de a schimba tokeni care sunt emiși pe rețele diferite, la viteze aproape instantanee și problema lichidității pe care o regăsim pe exchange-urile descentralizate o putem evita destul de ușor dacă ne orientăm către cele mai folosite CEX-uri.

Diferența majoră între un DEX și un CEX o constituie partea de back-end care este construită direct pe blockchain sub forma unor smart contracts open source care pot fi verificate. Niciun third party nu este implicat în activitatea ta pe exchange, iar cheile private și responsabilitatea asupra fondurilor îți aparțin. AMM-urile, precum Maiar Exchange, permit oricui să creeze pool-uri de lichiditate, ceea ce da sanșa proiectelelor și business-urilor mici să nu mai treacă prin procesul costisitor, greu și de multe ori fără succes de listare pe un exchange centralizat.

Revenind la subiectul securității, trebuie să fim conștienți că într-un mediu descentralizat în care oricine poate să construiască sau să integreze tehnologia pot apărea breșe de securitate în codul sursă. Cele mai multe exploits & hacks se întâmplă deoarece este destul de greu să testezi toate scenariile posibile și complexitatea unui cod poate fi extrem de mare, milioane de linii de cod scrise în diferite perioade de timp. Acestea inevitabil adaugă bug-uri/probleme în cod, dar mai ales probleme de design și respectare “formală” a cerințelor inițiale. Securitatea smart contract-urilor este foarte importantă deoarece acțiunile pe blockchain sunt ireversibile, deci greșelile nu pot fi reparate odată ce acestea s-au produs. Tool-urile create de partenerii de la Runtime Verification, o companie specializată în Metode Formale, reprezinta o parte dintre soluțiile care vin în întâmpinarea acestor probleme. Utilizarea metodelor formale pentru proiectarea de software se face cu ajutorul unei analize matematice adecvate (sunt modele speciale din matematică - cu aplicabilitate mai ales în zona grafurilor) cu focus pe fiabilitatea și robustețea unui design. Practic se descrie aplicația (blocurile și funcțiile de cod) într-un limbaj matematic și se verifică matematic/formal legătura dintre acestea. Astfel, având smart contract-urile verificate încă din faza de design, Elrond va avea o reputație bună, fără hack-uri și exploit-uri, fiind un mediu de dezvoltare mai atractiv pentru business-uri și use case-uri importante.

Cum funcționează Maiar Exchange?

Tehnologia AMM sau Automated Market Maker, încă de la debutul ei în 2018, a transformat trading-ul dintr-un joc în care doar o entitate centrală are de câștigat, într-un ecosistem în care oricine poate participa și genera venituri în funcție de contribuția fiecăruia și de cât de utilizat este exchange-ul. AMM-urile aduc posibilitatea de a schimba asset-uri digitale precum EGLD sau BUSD într-un mod automat fără a avea nevoie de permisiunea unui intermediar.

Componenta care stă la baza conceptului de Automated Market Maker este Liquidity Pool (LP), unde Liquidity Providers oferă lichiditate prin adăugarea de tokeni în pool-uri, iar utilizatorii fac trade împotriva pool-ului, sistemul de order book fiind înlocuit.

Prețul a 2 tokeni dintr-un pool este calculat în funcție de o formulă matematică și nu este stabilit de orderele de buy si de sell cum se întâmplă pe cele mai multe exchange-uri centralizate.

Modelul cel mai cunoscut și mai folosit în rândul AMM-urilor este cel care se bazează pe ecuația x * y = k, unde x reprezintă numărul de tokeni A din pool, y numărul de tokeni B, iar k este produsul dintre x și y care rămâne constant si se modifică doar atunci când cineva depozitează sau retrage lichiditate din pool.

Astfel, într-un exemplu practic, unde într-un pool avem 100 tokeni A și 100 de tokeni B, rata de schimb este 1:1 și k = 10 000. Dacă cineva vrea să schimbe 10 tokeni A pentru tokenul B formula va arăta în felul următor:

În urma calculului putem să observăm că pentru 10 tokeni A utilizatorul a primit 9,09 tokeni B. De ce și cum de nu a primit 10 tokeni B pentru 10 tokeni A o să discutăm puțin mai târziu.

Cum arată interacțiunea unui utilizator cu Maiar Exchange?

Folosirea protocolului unui AMM este destul de simplă, având nevoie doar de o adresa care poate interacționa cu setul de smart contracts al AMM-ului respectiv. În cazul nostru fiind vorba de o adresă creată pe blockchain-ul Elrond, iar mai departe conectarea la partea de front-end se realizează prin Keystore (json+parola), Ledger sau prin Maiar (Wallet Connect).

Pentru a efectua un swap, tot ce trebuie să faci este să te duci la perechea de tokeni care te interesează, să introduci numărul de tokeni A pe care vrei să îi schimbi și să confirmi tranzacția. După confirmarea tranzacției se apelează funcția de swap a smart contract-ului care trimite către pool numărul de tokeni A introduși și prin formula matematică pe care am discutat-o anterior calculează numărul de tokeni B pe care trebuie să îi trimită. Pentru fiecare swap trebuie plătit un comision care este un procent fix din trade (i.e 0.3%). Comisioanele din swap-urile realizate se duc în liquidity reserve și se distribuie în mod proportional către toți Liquidity Providerii la retragerea lichidității în funcție de perioadă și cotă parte din pool.

Riscul asociat unui swap se numește Price Slippage și se intamplă atunci când prețul afișat este diferit față de prețul la care este executat trade-ul. Cu cât lichiditatea din pool este mai mică raportată la swap, cu atât Price Slippage-ul este mai mare deoarece prețul afișat putem practic să-l privim ca pe cea mai bună ofertă pentru o unitate, iar cu cât vrem să schimbăm mai multe unități, cu atât trebuie să plătim din ce în ce mai mult pentru fiecare unitate în plus. De asemenea, Price Slippage-ul poate apărea și din cauza latenței. Din momentul în care confirmăm tranzacția și până când este validată de către noduri există posibilitatea ca alte trade-uri să se efectueze în timpul acesta și să modifice prețul.

Majoritatea AMM-urilor însă, vin cu opțiunea de a seta Slippage-ul maxim pe care îl dorim pentru swap-uri si putem să evităm în prealabil situațiile mai puțin dorite.

Din explicațiile anterioare putem să observăm importanța lichidității (sau Total Value Locked - TVL), fiind practic catalizatorul într-un astfel de sistem. Un nivel al TVL ridicat atrage mai mult trading volume datorită riscului mai mic de a fi impactat de Price Slippage, generând mai multe fee-uri care sunt adaugate în lichiditatea pool-ului și împărțite mai departe către Liquidity Providers în mod proporțional. Astfel, având un revenue ridicat sunt atrași noi Liquidity Providers și acest ciclu sănătos continuă.

Ca Liqiduity Provider trebuie ținut cont de modul în care se face un depozit pentru a oferi lichiditate. În majoritatea pool-urilor depozitul constă în 2 părți egale ca valoare a celor 2 tokeni. De exemplu, dacă 1 EGLD = 200 BUSD depozitul tău trebuie să păstreze această proporție (i.e 3.5 EGLD = 700 BUSD). În urma depozitului primești un token care atestă faptul că tu deții un procent din pool și pe baza acestuia primești cota ta parte din fee-uri. De asemenea, în cele mai multe cazuri token-ul poate fi pus și la stake având pe lângă câștigurile provenite din fee-uri si posibilitatea de a genera alte venituri din block rewards.

Până acum totul sună bine, oferim lichiditate și primim atât rewards, cât și un procent din fee-urile generate, dar totuși, există vreun risc? După cum am văzut, AMM-urile funcționează pe baza unei formule matematice care calculează rația între tokenii din pool. În timp ce această formulă permite market-ului să funcționeze ea este responsabilă și de Impermanent Loss.

Impermanent Loss: este atât de rău pe cât sună?

La prima vedere denumirea de Impermanent Loss nu sună atât de rău, fiind vorba despre o pierdere temporară care poate dispărea între timp, dar în realitate lucrurile sunt puțin mai complicate. IL este de fapt costul de oportunitate între 2 strategii, LP și buy & hold, dar este o raportare destul de eronată fiindcă pleacă de la premisa că ai fi făcut hold pe toată perioada în care ai făcut LP, ceea ce se întâmplă destul de rar, fiind mult mai tentați să vindem sau să facem trade pentru a acumula mai mult, iar rezultatele cu siguranță diferă. Mai mult de atât, în aceasta comparație de cele mai multe ori se ia în calcul doar profitul și nu și alți parametrii precum riscul, care este poate la fel de important.

Cel mai simplu mod prin care putem să observăm cum ne poate influența IL este să analizăm un exemplu practic al unui pool EGLD/ BUSD pe Maiar Exchange, unde Liquidity Providers trebuie să depoziteze aceeași valoare în $ de EGLD și BUSD, iar in calcule o să neglijăm fee-urile.

Să spunem că un Liquidity Provider tocmai a depozitat 10 EGLD + 1 000 BUSD (50–50 ca valoare) în pool-ul EGLD/ BUSD și are 1% din lichiditatea pool-ului (1 000 EGLD + 100 000) → prețul 1 EGLD = 100 BUSD. Ca să avem un punct de plecare haide să vedem cum arată formula de bază din modelul x y k.

Unde x este numărul de EGLD din pool, y numărul de BUSD din pool, iar k este produsul dintre x și y care rămâne constant și nu se schimbă în urma trade-urilor. (k-ul se schimbă doar în momentul în care se adaugă/ retrage lichiditate din pool, dar în exemplul nostru o sa păstrăm k-ul constant)

După ceva timp prețul EGLD pe Binance are o creștere de 10% ajungând 110 BUSD. În acest moment intervine o oportunitate de a face profit din arbitraj prin a cumpăra EGLD din pool și a vinde mai departe pe Binance. Haide să vedem cât anume trebuie să cumpere cel care face arbitraj ca să corespundă prețul din pool cu cel din Binance.

De aici rezultă că oportunitatea de arbitraj constă în cumpărarea a 46,5375 EGLD (1 000 - 953,4625) la un cost de 4 880,8848 BUSD (104 880,8848 - 100 000), iar profitul este 238,2402$ (46,5375 * 110 - 4 880,8848). Tradus într-o explicație mai simplificată, utilizatorul a cumpărat ~46 EGLD la un preț mediu de 105 BUSD per EGLD și i-a vândut la 110 BUSD pe Binance.

Comparând acum cele 2 strategii, LP și buy & hold, am ajunge la următoarele rezultate dacă acel Liquidity Provider din exemplu ar vrea să retragă lichiditatea în acest moment:

LP: 1% din 953.4625 și 104,880.8848 = 9.5346 EGLD și 1048.8088 BUSD. Transformând EGLD în BUSD ca să fie mai evidentă diferența ajungem la un total de 2 097.61 BUSD

HOLD: 10 EGLD si 1 000 BUSD rezultând un total de 2 100 BUSD

Diferența de 2.39 $ este pierderea relativă a LP față de buy & hold cauzată de Impermanent Loss.

Desigur, dacă Liquidity Provider-ul nu ar retrage lichiditatea în acel moment, iar prețul ar reveni la valoarea inițială din momentul depozitului, pierderea ar dispărea. Această pierdere se concretizează doar în momentul în care Liquidity Provider-ul retrage lichiditatea și există o divergență de preț între depozit și retragere.

Având această diferență și creșterea de 10% (100 →110) în minte, haide să vedem care este formula Impermanent loss ratio pentru a putea calcula aceasta pierdere relativă la diferite divergențe de preț.

Ce este interesant de observat din exemplul anterior este că la momentul retragerii o să avem mai puțini tokeni din cel care s-a apreciat mai mult și mai mulți tokeni din cel care s-a apreciat mai puțin.

Dacă luăm în considerare doar un singur parametru, și anume profitul, analizând formula de mai sus putem să observăm că indiferent de direcția în care evoluează prețul Impermanent loss ratio este mereu >0 și cu alte cuvinte, strategia LP în cazul în care există o divergenta de preț o să fie mereu într-o pierdere relativă față de HOLD. Așadar, de ce ar alege cineva o strategie care are rezultate mai slabe ca buy & hold în ambele direcții? Ei bine, aici intervin câștigurile provenite din fee-uri și block rewards care ar trebui să acopere riscurile cauzate de Impermanent Loss.

Pe de altă parte, când luăm în calcul și celălalt parametru, riscul, așteptările și rezultatele pot să difere. În strategia buy & hold în timp ce un asset începe să se aprecieze față de celălalt în aceeași măsură și riscul unei astfel de poziții începe să crească. În cazul LP, impactul volatilității rămâne constant deoarece valoarea în $ a fiecărui token rămâne și ea constantă. Sau cu alte cuvinte, impactul Impermanent Loss poate fi privit mult mai simplu - în timp ce un asset se apreciază față de celălalt se marchează automat din profit, iar la partea opusă, într-o scădere se acumulează la prețuri mai joase. De fapt, acest concept este familiar tuturor traderilor fiind practic rezultatul pe care majoritatea și-l doresc, Buy low & Sell high.

Tips & tricks.

1. Trebuie să privești mai departe de APR-ul oferit ca passive yield în momentul în care alegi pool-ul în care vrei sa oferi lichiditate.

Pool-urile care au în pereche asset-uri corelate din punct de vedere al volatilității reduc riscul de a avea Impermanent Loss, iar cele care conțin asset-uri volatile — stable în mod garantat o sa conducă la Impermanent Loss.

2. Dinainte să participi într-un Liquidity Pool trebuie să ai în vedere faptul că în momentul retragerii o să ai mai mult din token-ul care a performat mai putin și mai puțin din token-ul care a performat mai mult.

3. Ajutându-ne de punctul 2 putem spune că timing-ul la care facem depozitul contează. Dacă rezultatul pe care ți-l dorești este acela de a iți mări balanța unui token poți face depozitul într-un pool în care token-ul dorit este deja la un high relativ față de celălalt token din pool.

4. Impermanent Loss nu crește liniar, mereu trebuie să pui în balanță câștigurile generate față de IL și de aceea este important să alegi AMM-uri si pool-uri bune, care prin return să acopere riscul IL. E.g: o apreciere în valoare de 400% (5x) cauzează un IL de 25%, iar o apreciere în valoare de 900% (10x) , cauzează un IL de 45%.

Notă: Articolul este realizat înainte de lansarea Maiar Exchange și interfața exchange-ului, cât și detaliile tehnice prezentate pot să difere la lansarea exchange-ului.

Mulțumiri speciale următoarelor articole pentru inspirație:

https://vitalik.ca/general/2017/06/22/marketmakers.html

https://coinmarketcap.com/alexandria/article/hedging-against-impermanent-loss-a-deep-dive-with-finnexus-options#toc-how-to-hedge-against-impermanent-loss-with-options

https://pintail.medium.com/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2

Ne găsești și pe

--

--

--

We are a highly motivated, technology focused team with more than 11 years experience in the IT Industry, focusing right now on the growth of the Elrond Network ecosystem and to provide staking services for the most advanced blockchain protocol in the world.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
MGStaking

MGStaking

mgstaking.com - Secure staking for a blockchain world!

More from Medium

Privacy Coins: What is Navcoin?

Prosper Integrates Chainlink Keepers

Saber launches second Soluna pool, solUST-USDH on Solana!

Proof of Work (POW)