🇵🇱 Cardano może zapewnić stabilność i niezawodność w świecie DeFi

Zdecentralizowane finanse (DeFi) to obecnie najgorętsza rzecz w całym świecie kryptowalut. Jest dla wielu synonimem wysokich zysków, ale i wysokiego ryzyka. To nie jest taka dobra rzecz. DeFi musi być przede wszystkim stabilną i niezawodną przestrzenią.

Artykuł to tłumaczenie wpisu @Cardanians.io Cardano can bring stability and reliability to the World of DeFi | Cardanians z małymi dodatkami.

Co to jest DeFi i dlaczego go potrzebujemy

Jak sama nazwa wskazuje, zdecentralizowane finanse to ruch mający na celu odtworzenie tradycyjnych usług finansowych i bankowych bez scentralizowanych technologii. To naturalna kontynuacja sukcesu Bitcoina. Ogólnie rzecz biorąc, blockchain to niezależna technologia, która może pełnić rolę zaufanej strony trzeciej, jednocześnie nie będąc realnie „stroną”. W tradycyjnym świecie ufamy wielu stronom trzecim, takim jak banki, które są reprezentowane przez ludzi. Cała przestrzeń kryptowalut dąży do przekazania zaufania rozproszonym rejestrom. Mówiąc dokładniej, na „zaufanie” zasługują kody źródłowe rozproszonych protokołów i infrastruktur, które są utrzymywane przez wielu niezależnych ludzi. Siła i wpływ jednostek są osłabiane przez ustanowienie grup walidatorów, które automatycznie wykonują wszystkie prawidłowe operacje użytkownika, w zależności od konsensusu.

DeFi potrzebuje więcej funkcji niż tylko wysyłanie transakcji między dwoma adresami. Smart kontrakty pozwalają zdefiniować zestaw reguł i warunków oraz automatycznie je realizować w oparciu o rzeczywisty rozwój oczekiwanych zdarzeń. Alicja będzie skłonna wysłać Bobowi wartość tylko w przypadku, gdy go zna lub jest w stanie zmotywowac go do spełnienia warunków. Gdyby Alicja w ogóle nie znała Boba i odwrotnie, trudno byłoby im wymienić się tokenami. Dlaczego? Dlatego, że DeFi jest oczywiście usługą globalną bez KYC. Obie strony mogą pozostać anonimowe, jeśli chcą. Albo Alicja, albo Bob musieliby wysłać token jako pierwsze. Jest to ryzykowne, ponieważ druga osoba z pary może nie wysłać tokena do kontrahenta i zatrzymać oba. Czysto zdecentralizowany system transakcyjny nie jest w stanie zbudować zaufania w tak prostym scenariuszu.

Mogą tu pomóc tylko inteligentne umowy – smart kontrakty. Musi istnieć możliwość skonfigurowania warunków początkowych, a następnie umożliwienia sieci odgrywania roli strony trzeciej, której obie strony ufają. Obie strony mogą samodzielnie sprawdzić warunki przed wysłaniem tokenów, ponieważ kod może być publicznie dostępny. Inteligentna umowa będzie niejako stanowić krótkoterminową usługą powierniczą (jak escrow). Jeśli Alicja wyśle ​​token jako pierwsza, smart kontrakt zablokuje go i będzie czekał na token od Boba. Jeśli Bob wyśle ​​swój token na czas, smart kontrakt zamieni tokeny i wyśle ​​je do Alicji i Boba w tym samym czasie. Jeśli Bob nie wyśle ​​swojego tokena, inteligentny kontrakt odeśle go z powrotem do Alicji. Jak widać, Alicja i Bob potrzebują tej „zaufanej strony trzeciej”, ponieważ nie ufają sobie nawzajem.

Jest jednak pewien haczyk. Większość użytkowników nigdy nie będzie w stanie sprawdzić kodu źródłowego smart kontraktów. Czy to jest realny problem? Ludzie nie są w stanie zweryfikować kodu źródłowego protokołów transakcyjnych i ich mechanizmów konsensusu. Mimo to powoli zaczynają im ufać. Podobnie ludzie będą ufać zdecentralizowanym aplikacjom i usługom w najbliższej przyszłości. Przyzwyczajenie się do tego to kwestia czasu.

Jakie zdecentralizowane usługi możemy zbudować? Cóż, przyglądając się bliżej przykładowi z Alice i Bobem, zdać można sobie sprawę, że inteligentny kontrakt realizował podobną usługę, której oczekuje się od zdecentralizowanej giełdy kryptowalut (DEX). Zdecentralizowane giełdy będą miały więcej funkcji, ale w zasadzie będą łączyć podaż z popytem. Gospodarka opiera się na transakcjach i wymianie wartości. Przestrzeń kryptowalut zdecydowanie potrzebuje takich usług. Bez nich będziemy musieli polegać na tradycyjnych scentralizowanych giełdach. Prawdziwy biznes potrzebuje również pożyczek i zdolności do obsługi długu. Budowanie takich usług jest możliwe tylko dzięki inteligentnym kontraktom. Strony muszą określić warunki, zasady i kary. DeFi często współpracuje z pożyczkami zabezpieczonymi. Zabezpieczenie to sytuacja, w której pożyczkobiorca zastawia aktywa (kryptowaluty, stablecoiny) jako sposób na zrekompensowanie przez pożyczkodawcę swojego kapitału w przypadku, gdy pożyczkobiorca nie spłaci zadłużenia. Jeżeli pożyczkobiorca stale nie spłaca długu przez dłuższy okres czasu, własność proporcjonalnej części zabezpieczenia przechodzi na pożyczkodawcę. W tradycyjnym finansowaniu do najpowszechniejszych rodzajów zabezpieczenia kredytu należą nieruchomości, samochody, dzieła sztuki, biżuteria i papiery wartościowe.

Egzekwowanie długów byłoby trudne, a może wręcz niemożliwe, gdybyśmy musieli polegać na tak zmiennych aktywach. Zarówno pożyczkodawcy, jak i pożyczkobiorcy muszą dokładnie ocenić warunki umów i dokładnie wyliczyć, ile są w stanie regularnie spłacać. Zmienność kryptowalut nie może być tu problemem nie do przejścia. Dlatego konieczne jest wypracowanie pewnej formy stabilności, którą możemy znaleźć w tradycyjnym świecie finansów. Możliwe jest skorzystanie ze specjalnych usług zwanych wyroczniami (oracles), które są w stanie dostarczać smart kontraktom informacje z rzeczywistego świata. Dzięki wyroczni smart kontrakty są w stanie pracować z realną ceną walut fiducjarnych (tradycyjnych, jak złotówka czy dolar) i tworzyć wiele form stabilnych kryptowalut – tzw. stablecoinów. To tylko skrawek świata DeFi i jest więcej usług i pomysłów, które czekają na realizację.

Niektórzy ludzie często zapominają, dlaczego technologia blockchain jest tak kluczowym wynalazkiem. Chodzi głównie o umiejętność zaufania między dwiema stronami, które nie ufają sobie. Im więcej spraw i usług będziemy w stanie w ten sposób załatwić, tym większą wartość przyniesiemy światu. Inteligentne kontrakty są naturalną kontynuacją wysiłku i wydaje się, że jest to większe wyzwanie, niż się początkowo spodziewano. Przyjrzyjmy się teraz, z jakimi problemami zmaga się dzisiejszy świat DeFi i co musimy poprawić.

Twórcy platform i deweloperzy DeFi to dwie oddzielne grupy

Usługi DeFi są wdrażane za pośrednictwem smart kontraktów, które są pisane przez programistów DeFi. Użytkownicy zwykle uzyskują dostęp do usług DeFi za pośrednictwem zdecentralizowanych aplikacji (dApps). Programiści DeFi wykorzystują sieci blockchain i ich zasoby, które stanowią podstawowe elementy każdej platformy inteligentnych kontraktów. Jeśli spojrzymy na to z punktu widzenia zaufania i niezawodności, można uprościć, że użytkownicy muszą ufać programistom DeFi, a programiści DeFi muszą polegać na platformie. Jeśli platforma ulegnie awarii, wpłynie to na dAppy (zdecentralizowane aplikacje), a tym samym również ucierpi użytkownik końcowy. Dlatego użytkownicy zasadniczo ufają platformom stworzonym przez deweloperów platform i inteligentnym umowom, które są tworzone przez deweloperów DeFi. Dlaczego dokonujemy rozróżnienia między platformami a dAppami? Cóż, platforma może być niezawodna, stabilna i dobrze przygotowana do pisania dobrych aplikacji dApp, ale jakość dAppów zawsze zależy od umiejętności programistów DeFi. Innymi słowy, twórcy platformy są odpowiedzialni tylko za jakość platformy, czyli zaplecza. Są więc odpowiedzialni za blockchain, mechanizm konsensusu i budowanie języków smart kontraktów, niezbędne narzędzia i infrastrukturę, których programiści DeFi mogą używać do pisania swoich dAppów. Zespół platformy nie może bezpośrednio wpływać na jakość zdecentralizowanych aplikacji, które są tworzone przez programistów DeFi. Jeśli programiści DeFi niepoprawnie piszą swoje aplikacje, robią błąd lub nie testują poprawnie inteligentnej umowy, to tylko ich wina, jeśli dojdzie do awarii czy kradzieży.

Większość obecnych usług DeFi jest zbudowana na blockchainie Ethereum i widzimy tu dwa główne problemy. Po pierwsze, widzieliśmy wiele niepowodzeń smart kontraktów, które skutkowały ogromnymi stratami finansowymi. Błędy zostały popełnione głównie przez programistów DeFi. Należy jednak zauważyć, że programiści DeFi mogą popełniać wiele błędów z powodu problemów w samym języku smart kontraktów. Przykład poniżej.

Po drugie, opłaty transakcyjne są zbyt wysokie dla zwykłych użytkowników. Jest to problem, który powinni rozwiązać twórcy platformy, a deweloperzy DeFi niewiele z tym mogą zrobić.

Jak Cardano może ulepszyć pisanie inteligentnych kontraktów

Najpierw omówmy pierwszą kwestię. Smart kontrakty na Ethereum napisane w Solidity są pełne luk w zabezpieczeniach, które zostały wykorzystane w wielu szeroko nagłośnionych atakach. Powodem, dla którego Solidity jest uważane za nieprzyjazne do pisania inteligentnych kontraktów, jest fakt, że język powstał z dużym wpływem JavaScript i C ++. Niedoświadczeni programiści sieci web lub tradycyjnych aplikacji szukają podobieństw między Solidity a tymi językami, nawet jeśli faktycznie ich nie ma. Aby móc pisać bezpieczne smart kontrakty w Solidity, konieczne jest dobre zrozumienie podstawowego systemu Ethereum i jego różnych subtelności. Przyjrzyjmy się kilku problemom związanym z Solidity.

Jednym z wielu problemów związanych z Solidity jest „ponowne wejście”, ang. reentrancy. Ponowne wejście ma miejsce, gdy zewnętrzne wywołania umowy mogą wykonywać nowe wywołania umowy przed zakończeniem początkowej realizacji. Oznacza to, że stan umowy może ulec zmianie w połowie jej realizacji w wyniku zwrócenia się do niezaufanej umowy lub wykorzystania funkcji niskopoziomowej z adresem zewnętrznym. Otwiera to kontrakt na ryzyko, a w niektórych przypadkach całe saldo tokenów może zostać wyczyszczone, jak to miało miejsce, gdy TheDAO zostało zhakowane i utracono 3,6 mln ETH. Przepełnienia i niedomiarowe liczby nie są nową klasą podatności w tradycyjnym świecie programowania, ale są szczególnie niebezpieczne w inteligentnych kontraktach. Ta luka pozwoliła atakującym na kradzież ogromnych ilości ETH. Analizujący bezpieczeństwo badacze odkryli, że co najmniej kilkanaście tokenów ERC-20 było podatnych na ten sam atak.

Okazało się, że trzeba stworzyć język, który jest znacznie łatwiejszy i bardziej nadaje się do pisania smart kontraktów. Dobry język do pisania inteligentnych kontraktów powinien uniemożliwić programistom celowe pisanie wprowadzającego w błąd lub złośliwego kodu, a także chronić programistów przed niezamierzonym pozostawieniem luk w kodzie ich smart kontraktu. Cardano może wnieść nowy poziom jakości w zakresie pisania inteligentnych umów. Zespół wynalazł inteligentny język kontraktów Plutus, który został zainspirowany językiem funkcyjnym Haskell.

Ogólnie rzecz biorąc, istnieją dwie główne rodziny języków programowania. Imperatywne i funkcyjne. Solidity, ale także C ++ czy Java to przykłady imperatywnych języków programowania. Kiedy programista chce napisać prosty program lub inteligentny kontrakt, konieczne jest odtworzenie wszystkich kroków, które musi wykonać komputer, aby osiągnąć oczekiwany cel. Ten rodzaj podejścia do programowania jest również nazywany programowaniem algorytmicznym. Jeśli programista chce dodać dwie liczby, do osiągnięcia celu potrzeba wielu kroków. Każdy krok nieustannie zmienia stan programu. Kroki są przetwarzane indywidualnie w kolejności ustalonej przez dewelopera na etapie rozwoju. Spójrzmy na przykład:

int liczbaA = 100;

int liczbaB = 200;

int wynik;

wynik = liczbaA + liczbaB;

Deweloper musiał zadeklarować 3 zmienne, przypisać wartość dwóm z nich, mieć trzecią zmienną do przechowywania wyniku i wykonać dodawanie.

Funkcyjne języki programowania, takie jak Haskell i Plutus, zostały stworzone w celu zbudowania funkcjonalnego podejścia do rozwiązywania problemów. Ten rodzaj podejścia do programowania jest również nazywany programowaniem deklaratywnym. Jest to paradygmat programowania, który wyraża logikę obliczania (co należy zrobić) bez konieczności opisywania precyzyjnego „sterowania” (jak to zrobić). Programowanie deklaratywne próbuje zatrzeć różnicę między programem - zbiorem instrukcji a programem - stwierdzeniem o pożądanej odpowiedzi.

Obliczanie jest traktowane jako ocena funkcji matematycznych i unika danych zmiennych. Podkreśla zastosowanie funkcji, w przeciwieństwie do imperatywnego stylu programowania, który kładzie nacisk na zmiany stanu. W czysto funkcyjnym języku, takim jak Haskell i Plutus, wszystkie funkcje nie mają działań pobocznych, a zmiany stanu są przedstawiane tylko jako funkcje, które przekształcają ten stan.

Załóżmy, że istnieje funkcja f(x), której programista chce użyć do obliczenia funkcji g(x). Następnie chce tego użyć do pracy z funkcją h(x). Zamiast rozwiązywać wszystkie te czynności w sekwencji, można połączyć wszystkie funkcje w jedną funkcję, taką jak ta:

h(g(f(x)))

Takie podejście umożliwia programistom rozważanie problemów w sposób matematyczny. Programy funkcyjne mają być bezpieczniejszym podejściem do tworzenia smart kontraktów. Pomaga to również w prostszej weryfikacji formalnej, co w zasadzie oznacza, że ​​łatwiej jest matematycznie udowodnić, co robi program i jak działa. Daje to Cardano właściwość „kodu wysokiej wiarygodności”. To również bardzo pomaga w prostszej weryfikacji formalnej, co w zasadzie oznacza, że ​​łatwiej jest matematycznie udowodnić, co program będzie robił i jak będzie się zachowywał we wszystkich możliwych warunkach. Daje to sieci Cardano, ale także wszelkim smart kontrakty napisanym w języku Plutus, własności High Assurance Code – kod wysokiej wiarygodności.

Solidity było pierwszym językiem do pisania inteligentnych kontraktów i można się było spodziewać problemów. Z drugiej strony możemy powiedzieć, że zespół nie docenił złożoności i zdolności programistów do bezpiecznego posługiwania się językiem. Nawet doświadczeni programiści twierdzą, że wciąż czują duży respekt, pisząc smart kontrakt w Solidity. Na pewno zajmie im trochę czasu, aby nauczyć się Plutusa, ale wysiłek zostanie nagrodzony. DeFi potrzebuje bezpiecznych i niezawodnych inteligentnych kontraktów bez nieoczekiwanych działań ubocznych lub słabych punktów, które można łatwo wykorzystać ze stratą dla użytkownika. Nie jest możliwe wdrożenie inteligentnego kontraktu, który można zhakować dosłownie w ciągu kilku dni. Widzieliśmy takie problemy i na pewno nie przyciągnie to więcej ludzi do przestrzeni DeFi. Nie potrzebujemy projektów, które oferują wysokie wynagrodzenie za podjęcie wysokiego ryzyka. Potrzebujemy projektów, które będą miały trwałe modele ekonomiczne lub motywacyjne, a przede wszystkim będą niezawodne, stabilne, szybkie i przyjazne dla użytkownika.

Jak Cardano może poprawić komfort użytkowania

Wysokie opłaty to zdecydowanie niepożądana cecha. Jeszcze bardziej dotkliwa, jeśli zapłaciłeś niewielką opłatę, gdy zacząłeś korzystać z niektórych usług DeFi, a następnie musisz zapłacić znacznie wyższą opłatę, aby swoje kryptowaluty odzyskać czy przenieść w inne miejsce. W chwili pisania artykułu pojedyncza opłata za skorzystanie ze smart kontraktu giełdy Uniswap to 3-4 dolary – za pojedynczą transakcję w sieci Ethereum. Niektórzy twierdzili, że aby szybko zamknąć pozycję, muszą okresowo zapłacić nawet kilkadziesiąt złotych opłaty. Opłata dla niektórych smart kontraktów może być wyższa niż zysk osiągnięty przez użytkowników. Niektórzy ludzie nie chcą ponosić tak wysokich kosztów i raczej decydują się pozostawić pozycję i środki, nawet jeśli plan był inny. W wielu przypadkach pokrywanie tak wysokich opłat nie jest ekonomicznie rozsądne.

Ethereum nadal działa na Proof of Work i to nie jest optymalny mechanizm konsensusu pod względem możliwości skalowalnia. Każda sieć blockchain ma limit liczby transakcji, które jest w stanie przetworzyć w danym czasie. Po przekroczeniu limitu niektóre transakcje muszą czekać dłużej na przetworzenie. Górnicy wybierają transakcje według wielkości opłat transakcyjnych i preferują te o wyższych opłatach. Użytkownicy mogą samodzielnie ustalać opłaty transakcyjne. Gdy sieć jest zatkana, użytkownicy muszą ustawić wyższą opłatę i mieć nadzieję, że ich transakcje będą dzięki temu przetwarzane szybciej. Starsze transakcje z niższymi opłatami mogą czekać w tzw. mem poolu – poczekalni transakcji przez bardzo długi czas, ponieważ nowsze transakcje z wyższymi opłatami po prostu je wyprzedzają.

W chwili pisania tego tekstu średni czas tworzenia bloku Ethereum wynosił 13 sekund, a sieć była w stanie przetworzyć około 13 transakcji na sekundę. W mem poolu było ponad 150 000 oczekujących transakcji. Dało się zaobserwować transakcje czekające dłużej niż 12 dni, gdyż nadawca ustalił zbyt niską opłatę. Nowsze transakcje miały około 80 razy wyższe opłaty. Doświadczenie użytkownika i pozostałe po transakcji wrażenie nie jest dobre, gdy warunki zmieniają się tak dramatycznie w krótkim czasie. Gdy sieć przetwarza transakcję tanio w ciągu kilku sekund i nagle zajmuje to kilka dni i trzeba zapłacić znacznie wyższą opłatę, użytkownicy prawdopodobnie będą bardzo niezadowoleni.

Zdecydowanie dobrze, że ludzie interesują się kryptowalutami i przestrzenią DeFi. Wysokie opłaty transakcyjne i długi czas potrzebny do przetwarzania transakcji nie mogą stanowić przeszkody dla nowoprzybyłych w korzystaniu ze zdecentralizowanych usług. Nowi klienci nigdy nie zbudują u siebie zaufania do zdecentralizowanych usług, jeśli doświadczenie użytkownika będzie rzeczywiście gorsze niż oferują tradycyjne usługi. Banki były i często nadal są toporne, powolne i ludzie muszą płacić dość duże opłaty. Kryptowaluty są tutaj nie tylko po to, aby świadczyć zdecentralizowane usługi, ale także po to, aby były szybsze i tańsze.

Aby pokonać te przeszkody, sieci blockchain muszą rozwiązać problem skalowalności. Zdecentralizowana sieć bez zapewniania dobrego doświadczenia użytkownika, niezawodności, stabilności i bezpieczeństwa nie przyniesie rewolucji., w tym rewolucji finansowej Ludziom właściwie nie zależy na decentralizacji i niewiele się to zmieni, dopóki zdecentralizowane usługi nie będą w stanie zaoferować naprawdę konkurencyjnych ofert. Cardano ma potencjał, aby wnieść te cechy do przestrzeni krypto i przyciągnąć ludzi do zdecentralizowanych usług, które nie będą miały problemów z pierwszą i drugą generacją blockchain. Sieć Cardano jest skonfigurowana tak, aby losowo wybierać lidera slotu (tworzącego blok) mniej więcej co 20 sekund. Może to być szybsze lub może zająć nieco więcej czasu. Gdy wybrany lider slotu nie tworzy bloku, slot może pozostać pusty. Oznacza to, że transakcje mogą być przetwarzane w następnym slocie. Jeśli chodzi o skalowalność, Cardano jest około 20 razy bardziej skalowalne niż Ethereum. To znakomity postęp technologiczny i wystarczy na pierwsze lata. Miejmy nadzieję, że kwestia wysokich opłat przejdzie do historii. Hydra to rozwiązanie drugiej warstwy dla Cardano, które po wdrożeniu użytkownicy na pewno docenią. Czas bloku może wynosić mniej więcej sekundę. W przeciwieństwie do innych rozwiązań drugiej warstwy, Hydra będzie mogła przetwarzać smart kontrakty i współpracować bezpośrednio z UTxO pierwszej warstwy (a właściwie z rozszerzoną wersją EUTxO). EUTxO zostanie przekazany z pierwszej warstwy do drugiej warstwy podczas otwierania kanałów, a następnie z powrotem z drugiej warstwy do pierwszej warstwy podczas zamykania kanałów. Zapewni to wysoki poziom bezpieczeństwa zdecentralizowanych usług. dAppy będą bardzo szybkie, ponieważ wykonanie smart kontraktów będzie również przetwarzane w Hydrze. Doświadczenie użytkownika będzie bardzo satysfakcjonujące.

Wnioski

Jakość zdecentralizowanych aplikacji zawsze będzie zależeć od jakości podstawowej technologii blockchain i infrastruktury dla inteligentnych kontraktów. Konsensus sieci pierwszej warstwy bezpośrednio wpływa na wrażenia użytkowników korzystających ze smart kontraktów. Użytkownicy w zasadzie chcą korzystać z bezpiecznych i niezawodnych usług, nie przejmując się szczegółami technicznymi. Użytkownicy chcą po prostu pobierać aplikacje na swoje smartfony czy PC i używać ich. Rozważą użyteczność, wartość dodaną i korzyści, jakie mogą zaoferować aplikacje. Nic więcej. Tylko usługi, które będą niezawodnie i sprawnie działały przez kilka lat, mogą zostać przyjęte przez masy. Zespół IOG dostarczy także konwerter tokenów ERC-20, który umożliwi umieszczenie istniejących tokenów sieci Ethereum w standardzie ERC-20 (najpopularniejszy standard tokenów) w sieci Cardano. Chyba wszyscy jesteśmy bardzo ciekawi, ile zespołów rozważy tę opcję zmiany. Byłoby to korzystne zarówno dla użytkowników, jak i całej przestrzeni DeFi.

//

Po więcej artykułów o Cardano po polsku zapraszamy do :poland: polskiej sekcji na forum Cardano . Serię filmów o historii Cardano, podstawach działania sieci i aktualizacjach opublikował Andrzej z kanału Dzienna Dawka Dyskomfortu. Chcesz porozmawiać, zapytać o Cardano po polsku? Odwiedź naszą :poland: społeczność na Telegramie, profil @CardanoPolska na Twitterze oraz Facebooku.

1 Like

Swietny art, dobre tlumaczenie, swietne wprowadzenie - chodz programowanie funkcjonalne nazwal bym programowaniem funkcyjnym. Dzieki!

2 Likes

dzięki :slight_smile: i dlatego też lubię robić tłumaczenia - zawsze dodatkowo można się podszkolić :wink:

1 Like