Standards, Composability, Interoperability - componente cheie pentru DeFi

MGStaking
MGStaking
Published in
12 min readSep 6, 2021

DeFi, sau Decentralized Finance, însumează aplicațiile financiare construite pe rețele publice blockchain. Dacă te întrebi de ce în ultimul timp auzi din ce în ce mai des acest termen, atunci acest articol ți-ar putea fi de folos. O să discutăm despre cele mai interesante și promițătoare avantaje pe care le aduce DeFi și despre cum se poziționează rețeaua Elrond în fața acestui concept relativ nou.

Înainte de a discuta despre eventuale soluții, precum DeFi, cel mai bine ar fi să aducem în discuție problemele pe care le întâmpinăm în viața de zi cu zi în prezent. În zilele noastre cei mai mulți oameni sunt limitați în ceea ce privește accesul la servicii financiare și din această cauză se rezumă doar la a-și plăti taxele, a cheltui și a economisi, fără a avea posibilitatea de a genera alte venituri. La nivel global situația stă cu atat mai rău cu cat în unele state cetățenii nu își pot deschide un cont bancar, ceea ce conduce la imposibilitatea de a se angaja, a avea un venit stabil în schimbul activităților pe care le prestează și de a avea acces la un mediu de stocare a valorii.

Majoritatea serviciilor financiare disponibile, inclusiv cele bancare, vin la pachet cu diverse probleme, cele mai importante fiind custodia și accesul limitat la propriile fonduri. Trebuie să ai încredere în diverse companii că o să iți gestioneze fondurile într-un mod responsabil, dar fără a avea acces la un istoric cu privire la trasabilitatea lor. Dacă cumva te hotărăști să îți accesezi propriile fonduri sau un împrumut, e posibil să fii nevoit să porți o discuție de câteva ore la telefon și să aștepti câteva săptămâni până ți se aprobă dosarele. Toate astea, desigur, respectând intervalul orar în care angajații companiei/ instituției lucrează.

Problema cea mai mare, de fapt, nu este la bănci sau la celelalte companii și instituții cu care trebuie să luăm contact, ele fiind nevoite să respecte regulamente și să fie în conformitate cu legislația, ci la întreg sistemul financiar pe care îl avem de zeci de ani și care este construit în așa fel incât să se opună schimbării și să ofere acces la instrumente financiare doar celor care probabil au cea mai puțină nevoie. Luând în considerare imposibilitatea de adaptare și de a avansa odată cu tehnologia, nevoia de schimbare este tot mai mare și DeFi, prin schimbările fundamentale pe care le aduce, începe să devină o alegere evidentă și o oportunitate pentru mulți oameni.

Deodată, prin natura permissionless a unui blockchain public, oricine cu acces la internet are posibilitatea de a deține și a transfera orice tip de valoare respectând doar regulile de consens ale rețelei care sunt publice și pot fi verificate de oricine. Puterea, care până nu de mult era în mâinile a câtorva persoane, a devenit dispersată către toți utilizatorii rețelei. Fără o autoritate centrală, fără restricții impuse subiectiv și fără sa fii nevoit să ai încredere în intermediari, totul desfășurându-se transparent.

Puterea conceptului permissionless se reflectă și în valul de inovație și creativitate prezent în ziua de azi în spațiul blockchain. Sistemele permissionless permit oricui să construiască și să integreze tehnologia, indiferent de cât de nebune sau folositoare ar părea la prima vedere ideile propuse. Cele mai multe o să eșueze, dar o să fie destule care o să reușească. Poate cea care o să schimbe lumea în următorii ani o să plece chiar din dormitorul unui adolescent, atras de tehnologie și de aplicabilitatea în multitudinea de domenii.

Punctul de inflexiune în ceea ce privește dezvoltarea aplicațiilor pe blockchain a apărut odată cu integrarea Smart Contracts (SCs), acestea fiind programe software care folosesc blockchain-ul pentru a își stoca datele codului si în cazul în care condițiile codului sunt îndeplinite SC-ul execută seturile de instrucțiuni pentru care a fost scris. Spre deosebire de contractele convenționale, SCs funcționează într-un mod automat, fără a fi nevoie de un intermediar sau de o autoritate centrală și mai ales de foarte multe documente. Aceste diferențe aduc îmbunătățiri în ceea ce privește viteza de execuție, costuri, dar și transparență - oricine poate verifica și monitoriza 24/24 codul si toate request-urile către acel SC.

Avand tehnologia disponibilă, următorul pas care trebuie făcut în direcția adopției este de a oferi dezvoltatorilor posibilitatea de a trece de la nivelul de idee la execuție imediat. Acest lucru se poate realiza oferind posibilitatea de a scrie SCs în limbaje de programare populare în rândul dezvoltatorilor.

Mașina Virtuală pe care o folosește Elrond, Arwen VM, oferă posibilitatea de a scrie SCs în limbaje de programare familiare dezvoltatorilor, cum ar fi Rust, C/C++, C#, Typescript, și de a compila codul în WASM. Practic trecerea la dezvoltare pe blockchain-ul Elrond se face foarte simplu, având aceeași paradigmă de programare (programarea funcțională aka functional programming).

În plus, cum probabil majoritatea celor care au luat contact cu o rețea blockchain știu deja, pentru a se apela un Smart Contract este necesar să plătești un fee rețelei, iar la Elrond 30% din fee-urile plătite pentru a interacționa cu un SC se duc către autorul SC-ului respectiv. Astfel, este o situație win-win atât pentru dezvoltatori, cât și pentru utilizatori. Dezvoltatorul nu mai este nevoit să apeleze la un developer fund, să aștepte aprobare și să treacă prin tot procesul greu și costisitor, iar utilizatorul la rândul lui o să plătească fee-uri mai mici, dezvoltatorul nemaifiind nevoit să adauge comisioane adiționale.

Acum că am văzut cât de ușor se poate face trecerea pentru cei care vor să dezvolte aplicații pe blockchain, am putea să discutăm și despre cum arată interacțiunea unui utilizator normal, care în prima faza, pentru a accelera adopția, nici nu ar trebui să știe că folosește tehnologia blockchain. Problema care intervine de cele mai multe ori în ecuația aceasta este că, așa cum am discutat și anterior, pentru fiecare acțiune executată pe blockchain trebuie plătit un comision rețelei. Cum ar putea utilizatorii sa interacționeze cu blockchain-ul dacă în prima fază sunt obligați să dețină un număr de monede, fie el cât de mic, pentru a folosi rețeaua? Să achiziționeze sau să primească de la cineva monedele necesare? Nu ar fi nici user-friendly și nici ușor de gestionat.

Elrond, prin meta tranzacții, dă posibilitatea unui relayer sa plătească aceste comisioane în locul utilizatorilor. Astfel, experiența utilizatorilor este îmbunătățită, iar use case-urile care se adresează unui număr foarte mare de utilizatori își găsesc în sfârșit locul pe blockchain.

Un exemplu practic, pe care probabil majoritatea dintre noi ni l-am dori, ar fi posibilitatea de a vota pe blockchain, astfel încat identitățile noastre unice să fie asociate anonim, imuabil și transparent, cu preferințele care ne reprezintă cel mai bine interesele. Utilizatorul ar apăsa câteva butoane, fără să știe că de fapt interacționează cu blockchain-ul, iar request-ul ar fi transformat într-o tranzacție la care comisionul este suportat de statul în cauză.

Cred că deja am stabilit în linii ce înseamnă DeFi și ți-am stârnit curiozitatea, dar ca să vedem cu adevărat îmbunătățirile aduse sistemelor actuale și să vedem de ce, dacă sunt atâtea avantaje, adopția se lasă așteptată, ar trebui să vedem ce piese din puzzle lipsesc în prezent și ce caracteristici ar trebui să aibă o platformă menită să găzduiască un ecosistem DeFi pregătit cu adevărat pentru sute de milioane sau chiar miliarde de utilizatori. Dincolo de discuțiile arhicunoscute despre scalabilitate, securitate și descentralizare, există alte 3 componente la fel de critice, dar mult mai puțin discutate: Standarde, Compozabilitate și Interoperabilitate.

Standarde

Un alt aspect foarte important, care stă în calea interacțiunii și compozabilitatii dintre aplicatii, îl reprezintă folosirea standardelor încă din faza de design, cel mai cunoscut fiind standardul pentru tokeni, specific fiecărui chain.

În primele zile ale creării și interactionarii de tokeni pe blockchain-ul Ethereum totul era un haos. Fiecare contract de token era scris într-o maniera diferită, nu exista compatibilitate și interacțiunea dintre SCs era aproape imposibilă. Nevoia unui standard care să definească cerințe și funcții clare era evidenta și astfel, standardele ERC-20 pentru tokeni fungible și cel ERC-721 pentru tokeni non-fungible au apărut. Dar un token creat pe Ethereum, de fapt, nu este tocmai un token în adevăratul sens al cuvantului, acesta nefiind altceva decat un Smart Contract care are cateva functii și tine evidenta balantelor holderilor în felul următor: Adresa A = 11, Adresa B = 21, etc.

Problema cu tokenii emiși si gestionați de un Smart Contract este aceea că de fiecare dată când vrei să transferi un token trebuie să apelezi Smart Contract-ul în cauză, ceea ce înseamnă ca tranzacția o să se proceseze mai greu decat în cazul unui transfer al monedei native ETH și necesită un gas fee mai ridicat.

Astfel, nevoia de tokeni care să nu depindă de un Smart Contract apare și soluția celor de la Elrond prin standardul ESDT este aceea de a avea tokeni built in protocol care pot fi transferați la aceleași costuri și viteza precum moneda nativă EGLD.

Pe lângă avantajele cu privire la procesarea și costul tranzacțiilor, având tokenii stocați direct la nivel de account, ownership-ul unui token, fie că vorbim de tokeni fungible (FTs) sau non-fungible (NFTs), este mult mai adecvat use case-urilor din realitate din punct de vedere legal. În loc ca un SC să spună că sunt proprietarul unui asset, eu aș avea cu adevărat drepturile de proprietate asupra acelui asset.

Compozabilitate

La fel cum fiecare participant nou adaugă plus valoare întregii rețele în aceeași maniera și fiecare aplicație construită pe un composability system reprezinta un nou tool în libraria tuturor dezvoltatorilor. Compozabilitatea permite developerilor sa se folosească de produsele deja existente sau de unele componente din acestea, nemaifiind nevoiți să construiască totul de la 0. Cu alte cuvinte, dacă ar fi să îi găsim un sinonim termenului de compozabilitate acesta cu siguranța ar fi inovație.

Aplicațiile DeFi sunt adesea numite și piese Lego datorită compozabilitatii lor. Având posibilitatea de a combina diferite produse și servicii într-o maniera permissionless este probabil una dintre cele mai mari inovații de la apariția internetului încoace. De la a aștepta săptămâni sau poate chiar luni pentru a accesa un împrumut, la a accesa împrumutul, a folosi fondurile pentru diferite oportunități și a plăti împrumutul, totul în cateva secunde si trecând prin două sau chiar mai multe aplicații. Un mediu în care doar creativitatea și execuția contează sunt acum posibile datorită compozabilitatii aplicațiilor DeFi.

Fiindcă am adus în discuție împrumuturile și diferitele oportunități pe care le putem accesa foarte ușor, trebuie să luăm în considerare și cazurile mai puțin favorabile în care una dintre tranzacțiile pe care vrem să le facem eșuează din varii motive și posibilitatea de a ramane expuși în asset-uri pe care nu vrem neapărat sa le deținem. De aceea, pentru a extinde și mai mult posibilitățile și use case-urile, aplicațiile DeFi trebuie sa se poată conecta instant, într-o singură tranzacție, al cărui rezultat să-l cunoaștem în prealabil, iar în cazul în care rezultatul nu este cel dorit totul să fie reverted. Această interacțiune instantanee între aplicații poartă numele de Compozabilitate atomică.

Compozabilitatea atomică este îmbinarea atât a atomicității, cât și a compozabilității. Este caracteristica care face posibilă combinarea oricărui număr de aplicații împreună, sub orice formă si toate aceste părți să fie combinate atomic intr-o singură tranzacție in care fie reusesc toate împreună, fie eșuează toate împreună.

Un astfel de exemplu este implementarea “flash loans” facuta de Elrond, care este cu totul disruptive si foarte sigura datorita design-ului blockchain-ului Elrond (proprietarul unui token ESDT este direct wallet-ul si nu un SC, totul se face in acelasi shard, iar tranzactia e impartita de fapt in mini subtranzactii care fac parte din aceeasi tranzactie).

Împrumuturile flash sunt fie acordate și rambursate cu dobândă, fie deloc acordate. Acestea sunt numite „flash”, deoarece întregul proces de acordare și rambursare a împrumutului este executat în unitatea unică de timp necesară pentru a produce un bloc. Cele mai cunoscute cazuri de utilizare a împrumuturilor flash sunt arbitrajul, schimbul de garanții, lichidările și reechilibrarea portofoliului.

Acum imaginați-vă cum va fi să faceți arbitraj cu implementarea de “flash loans” facută de Elrond în Maiar DEX. Pur și simplu nu puteți pierde bani, ori va funcționa și apelul se va termina cu arbitrajul dorit, ori pur și simplu nu se va executa (un flash loan call poate face revert la tot sub-tranzacțiile pentru a păstra starea inițială datorită caracteristii de atomicitate).

Foarte multe discuții sunt purtate și în zona de compozabilitate atomică pentru comunicarea dintre shard-uri. Prin atomic, majoritatea inginerilor software înțeleg “comunicare sincronă”, dar din motive evidente, comunicarea sincronă dintre diferite shard-uri nu este posibilă, asta ar însemna blocarea shard-urilor până se termină un API call (oricât de minimal ar fi acesta).

Pentru o comunicare eficientă între shard-uri, Elrond folosește call-uri asincrone folosind Async call cu locked state. Este alegerea developerului SC-ului dacă face lock state la tot contractul sau doar la un set de date. Asta e cea mai eficientă metodă pentru a nu bloca un shard (sau mai multe) ci doar să “protejezi” specific datele de care ai nevoie pentru a fi partajate între sharduri. Este același design și logică folosită ca în orice aplicație paralelă și distribuită.

Interoperabilitate

Interoperabilitatea, în cazul rețelelor blockchain, permite transferul de valoare și informație între diferite rețele. Fie că vorbim de Digital Identity, Supply Chains, Healthcare sau pur și simplu despre transferuri de valoare, interoperabilitatea joacă un rol cheie în ceea ce numim “decentralized Internet Web 3.0”.

În prezent în piața crypto, fiind o piață relativ nouă și in formare, vedem cum fiecare proiect, în încercarea de a castiga cât mai mult market share, participă la o bătălie constantă în cifre cu celelalte proiecte pornind aceeași competiție pe care o regăsim și în rețetele cu care ne-am obișnuit deja. Un exemplu potrivit pentru a înțelege mai bine fenomenul ar fi competiția continuă între rețelele de socializare, acestea fiind rețete închise atât pentru dezvoltatori în cele mai multe cazuri, dar mai ales pentru utilizatori. Un creator de conținut pe Facebook, dacă Twitter ar introduce o funcționalitate nouă și folositoare, nu ar putea beneficia de ea deoarece nu există comunicare între aceste platforme. Cei X followeri pe care îi ai pe Facebook nu îi poti importa pe Twitter sau invers, iar postările tale nu sunt disponibile și pe celelalte platforme. Fiecare platforma este un circuit închis în care eforturile nu sunt îndreptate înspre a crea un ecosistem fără bariere pentru utilizatori si developeri. Toate aceste platforme se lupta să atragă utilizatori noi, iar odată aduși, ar face orice ca să îi țină captivi pe platformele lor integrând toate produsele de succes de la competitori. Tot procesul acesta de dezvoltare și adopție este unul foarte lent, care omoară creativitatea și productivitatea. Din păcate, începem să asistăm din ce în cel mai mult la același proces și în randul rețelelor blockchain, unde fiecare rețea este de fapt o insula care nu poate comunica cu celelalte rețele.

De-a lungul timpului în industria crypto s-a construit o mentalitate de cel mai bun, acela cu siguranța o să câștige și de aceea vedem majoritatea proiectelor plecând de la ideea că dacă aduc o îmbunătățire, fie ea cât de mică, toată industria o să se mute la mine pe rețea, dar luând în considerare multitudinea de use case-uri, probleme și îmbunătățiri pe care le-ar putea aduce tehnologia sistemelor actuale, o singură soluție care să fie capabilă să rezolve toate problemele actuale nu există și probabil nici nu o să existe vreodată. Diferite rețele cu diferite caracteristici precum tipuri de tranzacții, hashing algorithms sau consensus models o sa îsi gaseasca locul în această industrie pe un anumit segment, iar potențialul tehnologiei blockchain o sa fie cu adevărat atins când aceste segmente o să poată să comunice fără bariere între ele, indiferent de rețeaua pe care rulează.

O metoda prin care se poate rezolva interoperabilitatea este aceea de a construi bridge-uri între diferite rețele pentru a permite transferul de asset-uri sau date între acestea. În prezent există diferite tipuri de implementări, unele mai centralizate, iar altele care funcționează în diferite spectre ale descentralizării. Deși termenul de bridge ne duce cu gândul la realizarea unui transfer, de fapt, în majoritatea cazurilor bridge-urile nu fac altceva decât să folosească un locking mechanism completat de mecanisme de mint & burn. De exemplu, dacă aș vrea să trimit BUSD din rețeaua Binance Smart Chain (BEP-20) către rețeaua Elrond printr-un bridge, ar trebui să blochez acești BUSD într-un Smart Contract de pe rețeaua BSC, iar un alt Smart Contract de pe rețeaua Elrond, comunicând cu primul Smart Contract, ar minta cantitatea de BUSD locked de către mine și ar trimite-o în adresa mea erd1 specificata.

În cazul în care după un timp as vrea sa mă întorc pe BSC aș parcurge același proces doar că în sens invers. Trimitand de data asta BUSD în format ESDT către SC-ul de pe Elrond, unde cantitatea de BUSD trimisă o să fie burned, iar cantitatea locked de pe BSC o să îmi fie trimisă înapoi în adresa de unde am apelat Smart Contract-ul inițial.

Așadar, avansând de la situația în care un utilizator ar avea acces doar la oportunitățile și funcționalitățile prezente doar pe o singură rețea la posibilitatea de a avea acces la absolut fiecare aplicație din tot spațiul crypto este exact ceea ce va debloca progresul DeFi, rezolvand în același timp și printre cele mai mari probleme din prezent, lichiditatea.

Resurse: Meta Tranzactii, ESDT - Token Standard, Elrond Virtual Machine - Arwen, Build on Elrond, Elrond DeFi 2.0, Flash Loans.

Ne găsești și pe

--

--