Kompozabilnost: Kako DeFi slaže kockice?
“Ako i vidim malo dalje, to je zato što stojim na plećima divova.”
Verovatno ste već čuli za ovaj citat. Najčešće se pripisuje Njutnu, iako njegovo poreklo seže dosta dublje u prošlost. U svakom slučaju, istina je da Njutn baš ovu rečenicu iskoristio u pismu još jednom slavnom fizičaru Robertu Huku. Njom Njutn metaforički objašnjava da razlog uspeha njegovog naučnog rada leži u naslanjanju na rezultate i unapređivanju otkrića i teorija brojnih drugih velikih umova pre njega.
I kakve sve ovo veze ima sa kompozabilnošću i DeFi-jem?
Može da bude blisko. Hajde prvo da vidimo šta predstavlja kompozabilnost. Suva definicija kaže da je kompozabilnost princip dizajna sistema koji se bavi međusobnim odnosima komponenti. Elementi visoko kompozabilnih sistema mogu se birati i kombinovati tako da odgovaraju specifičnim potrebama korisnika.
Kako bismo to preslikali u DeFi?
Kompozabilnost u DeFi-ju označava mogućnost da protokoli i aplikacije komuniciraju slobodno (permissionless) omogućavajući da se njihovi elementi kombinuju i integrišu, kreirajući nove funkcionalnosti. Ili slikovitije, nešto poput seta lego kockica, gde po svojoj zamisli možete praviti bezbroj figura kombinujući pojedinačne delove.
Zašto je kompozabilnost toliko bitna u DeFi-ju?
Za odgovor na ovo pitanje valja malo iskočiti iz uobičajene perspektive i načina kako funkcioniše svet, pre svega proizvodi koje svakodnevno koristimo.
Većina proizvoda s kojima interagujemo svakodnevno su izolovani sistemi. Tek se u manjoj meri može govoriti o nekakvoj kompatibilnosti proizvoda dok je mogućnost njihovog komponovanja gotovo nepostojeća.
Nama je potpuno logično i prihvatljivo da proizvođač automobila X i proizvođač automobila Y, iako recimo iste klase, nemaju nijedan od ~30 000 delova koji se može koristiti u oba slučaja. Izuzetak su u nekim slučajevima gume. Slični primeri fragmentisanosti su svuda oko nas, čak i za mnogo jednostavnije proizvode od automobila.
No, u svetu fizičkih proizvoda je zaista teško postići kompatibilnost, uzevši u obzir tradiciju, dominantan “sam protiv svih” način borbe na tržištu i filozofiju da se znanje ljubomorno čuva ili skupo prodaje. Ne deli se.
Sa softverima i onlajn platformama je valjda drugačije? Ili bi tako bar trebalo da bude. Rani dani interneta su istinski zamišljeni kao otvoreni poligon za nesebično deljenje dragocenih informacija i znanja. CERN je recimo čitavom svetu dao pristup softveru za World Wide Web.
A opet, dvadesetak godina kasnije, Web2 je značajno fragmentisao internet. Softverski giganti poput Mete, Alfabeta, Epla, Majkrosofta imaju veću korist ukoliko svoje korisnike drže zaključanim unutar svojih ekosistema a međukomunikaciju naplaćuju ili novcem ili lošim korisničkim iskustvom. Kad pages dokument (na Meku) pošaljete nekom sa Windows operativnim sistemom, on će vrlo verovatno taj fajl videti nešto drugačije u Wordu. Tabele se razlete po papiru, font nedostaje - formatiranje propo. To smo takođe prihvatili kao normu.
Mogućnost da se putem gugl/fejsbuk naloga možete logovati na određenom broju platformi i servisa bez potrebe za otvaranjem novih naloga je eto, tek možda blaga satisfakcija i primer koliko bi kompatibilnost i kompozabilnost zapravo mogle da budu svrsishodne na velikoj skali.
Blokčejn a naročito DeFi počivaju na potpuno drugačijoj filozofiji. Ono što je za ostatak sveta kompetetivna prednost (izolovan sistem, oslanjanje na sopstvena rešenja, strogo čuvanje intelektualne svojine), to bi za DeFi bila smrtna presuda.
Da bi preživeo DeFi mora da se razvija deljenjem znanja i rešenja, saradnjom svih članova ekosistema i kreiranjem prozivoda koji moraju biti uklopivi u druge. Rečju, kompozabilnost je katalizator rasta i razvoja DeFi-ja.
Uzmimo primera radi fleš pozajmice (flash loans) gde svako ima mogućnost da kratkotrajno pozajmi milionske iznose. Tako nešto u tradicionalnim zatvorenim sistemima je potpuno nemoguće, što DeFi-ju daje mogućnosti da stvara finansijske alate koji će lako da nadmaše one koje pružaju tradicionalni igrači.
Za kompozabilnost se može reći da je u određenoj meri bila prisuta u domenu softvera, ako govorimo o open source community-ju ili na primer Linuxu. Međutim to nikako nije slučaj kod tradicionalnih finansijskih igrača gde osim motivacije nije bilo ni potrebne infrastrukture za tako nešto. Stoga je sasvim razumljiva aktuelna DeFi revolucija koja se desila kad su se za to stekli infrastrukturni uslovi (blokčejn, Ethereum, dovoljno razvijen tooling, itd).
Sada je vreme da raščlanimo tu famoznu kompozabilnost.
Osnovni elementi kompozabilnosti
Pametni ugovori na blokčejnu, koji su principijelno samoizvršavajući, osnov su funkcionisanja decentralizovanih aplikacija. Upravo interakcije između pametnih ugovora formiraju osnovni sloj na kom počiva DeFi kompozabilnost. Najpoznatiji token standardi na Ethereumu (ERC-20 i ERC-721) koji omogućavaju interoperabilnost i kompatibilnost, primera radi, pružaju mogućnost da se tokeni različitih projekata jednostavno koriste unutar čitavog DeFi-ja.
Naredni vid lego oblika bi bile različite vrste DeFi protokola, tzv. lending platforme i decentralizovane menjačnice, dakle sva ona mesta gde ljudi mogu pozajmljivati, stejkovati ili razmenjivati različite vrste aseta. Kombinujući ovakve platforme mogu nastati oblici koji korisnicima omogućavaju da izvršavaju naprednije finansijske opcije poput yield farminga, fleš pozajmica i slično.
Još jedan vid u lego setu bi bili SDK-ovi (software development kit) i API-ji koji omogućavaju jednostavniju komunikaciju i interoperabilnost, ali i olakšavaju inovacije, time ubrzavajući razvoj čitavog ekosistema.
Budući da DeFi počiva na otvorenom kodu, programeri mogu slobodno koristiti već izgrađene alate i kombinovati sa svojim potrebama bez potrebe da se stvari grade od nule.
Karakteristike kompozabilnih sistema
Da bi se neki sistem ocenio kompozabilnim, on mora da zadovolji tri kriterijuma:
Modularnost — Svaki element sistema ima jednu funkcionalnost.
Autonomija — Svaki element može da funkcioniše nezavisno od drugih elementa.
Dostupnost — Svaki element je javan i drugi ga mogu koristiti
Vrste kompozabilnosti
Kada pričamo o kompozabilnosti uočavamo tri pristupa ovom pitanju: morfološku, sintaksičku i atomsku kompozabilnost.
Morfološka kompozabilnost: Kapacitet elemenata ili modula da se povezuju čineći sadržajnije strukture a u isto vreme čuvajući jedinstvene karakteristike i funkcionalnosti gradivnih elemenata. To su na primer DeFi protokoli koji integracijom dobijaju nove sposobnosti zadržavajući svoje osnovne karakteristike. Primer morfološke kompozabilnosti je možda najlakše objasniti na negativnom primeru — hipotetičkim setom lego kockica koje iako imaju svoju primarnu ulogu, međusobno se ne uklapaju i tako ne mogu stvoriti nove elemente.
Sintaksička kompozabilnost: Ovaj vid se fokusira na interoperabilnost i kompatibilnost između pametnih ugovora ili protokola. Omogućava da su interfejsi i komunikacija među komponentama standardizovani i kao takvi jednostavno interaguju što u krajnjoj meri omogućava protokolima da razmenjuju informacije i funkcionalnosti. Treba napomenuti da sintaksička kompozabilnost daje najbolje rezultate ako već postoji morfološka kompozabilnost. Najveća razlika ova dva vida je u tome što se morfološka kompozabinost fokusira na ponovnu upotrebu elemenata (reananžiranje) dok sintaksička dovodi do kreiranja potpuno novih struktura višeg reda.
Ethereum je valjan primer sintaksičke kompozabilnosti. Na samom sajtu Ethereuma piše:
“Pametni ugovori su javni na Ethereumu i mogu se smatrati otvorenim API-jima. Ne morate da pišete sopstveni pametni ugovor da biste postali developer decentralizovanih aplikacija, jedino morate da znate kako da komunicirate sa njima. Na primer, možete koristiti postojeće pametne ugovore decentralizovane menjačnice Uniswap da baratate logikom razmene tokena unutar vaše aplikacije; ne morate da počinjete od nule.”
Atomična kompozabilnost: Ovaj vid kompozabilnosti je nešto drugačiji. U kontekstu blokčejna, atomičnost je osobina kombinovanja više akcija koje je izvršavaju odjednom samo u slučaju ako svaka pojedinačna akcija validna. S tim u vezi, atomska kompozabilnost bi označavala mogućnost da se više softverskih elemenata spoje u jedan. Tipičan primer atomične kompozabilnosti su fleš pozajmice u kojima se pozajmica, investicija i vraćanje duga obavljaju unutar samo jedne transakcije i validne su tek ako su sva tri elementa unutar te tranakcije validna.
Benefiti kompozabilnosti su veći od problema koje stvaraju
Kompozabilnost nije svemoguća i nije bez mana. Naivno bi bilo shvatati DeFi utopijski. Ne dele ljudi znanje jer su altruisti, već znaju da to pre svega i njima doprinosi na duži period. Takođe, kompetetivnost možda nije bitna odlika DeFi-ja, ali je itekako postojeća. Te stoga, pitanja intelektualne svojine bi vrlo lako moglo da dođu pod lupu i postanu itekako bitna kada se ulozi još više podignu.
Takođe, kompozabilnost može negativno da utiče na bezbednost. Razvojem nad postojećim sistemima nasleđujemo sve njegove prednosti, ali i mane. Primera radi, eksterno pozivanje pametnih ugovora nosi sa sobom određene rizike i može dovesti do exploit-a budući da je svaki sistem bezbedan samo onoliko koliko i njegov najmanje osiguran deo.
Kako je DeFi još uvek mali i mlad ekosistem, sasvim je sigurno da neke mane kompozabilne prirode još uvek nisu tako uočljive. Standardizaciju je, na primer neupredivo teže očuvati u velikim sistemima.
Ipak, kompozabilnost je omogućila DeFi-ju da za svega nekoliko godina postane zdrav, respektabilan i plodan ekosistem. Nekad je zaista pravo čudo šta može da nastane od jednog običnog seta lego kockica, malo mašte i mnogo truda.
I uvek se vredi podsetiti. Da nije bilo divova pre Njutna ne bi bilo ni njegove teorije gravitacije. Bez teorije gravitacije ne bi bilo ni teorije relativnosti. Bez teorije relativnosti ne bi funkcionisao GPS. A bez GPS-a ne bismo mogli da budemo sigurni da li dostavljač hrane stiže za 5 ili 15 minuta. U današnjem svetu tu je zaista strašno.