Języki programowania uniemożliwiają główny nurt DeFi

Zdecentralizowane finanse (DeFi) szybko rośnie. Całkowita zablokowana wartość, miara pieniędzy zarządzana przez protokoły DeFi, wzrosła z 10 miliardów dolarów do nieco ponad 40 miliardów dolarów w ciągu ostatnich dwóch lat po osiągnięciu szczytowego poziomu 180 miliardów dolarów.

Całkowita wartość zablokowana w DeFi według stanu na listopad 2022 r. Źródło: DefiLlama

Słoń w pokoju? Było ponad 10 miliardów dolarów utracone z powodu włamań i exploitów tylko w 2021 r. Nakarmić tego słonia: Dzisiejsze języki programowania inteligentnych kontraktów nie zapewniają odpowiednich funkcji do tworzenia zasobów i zarządzania nimi — znanych również jako „tokeny”. Aby DeFi stało się głównym nurtem, języki programowania muszą zapewniać funkcje zorientowane na zasoby, aby tworzenie inteligentnych kontraktów DeFi było bezpieczniejsze i bardziej intuicyjne.

Obecne języki programowania DeFi nie mają pojęcia aktywów

Rozwiązania, które mogą pomóc w ograniczeniu wieloletnich włamań DeFi, obejmują audytowanie kodu. Do pewnego stopnia audyty działają. Spośród 10 największych włamań DeFi w historii (dać lub brać), dziewięć projektów nie zostało skontrolowanych. Ale poświęcenie większej ilości zasobów na problem jest jak umieszczenie większej liczby silników w samochodzie z kwadratowymi kołami: może jechać trochę szybciej, ale istnieje podstawowy problem.

Problem: Języki programowania używane obecnie w DeFi, takie jak Solidność, nie mają pojęcia, czym jest zasób. Aktywa, takie jak tokeny i tokeny niezamienne (NFT), istnieją tylko jako zmienna (liczby, które mogą się zmieniać) w inteligentnym kontrakcie, takim jak ERC-20 firmy Ethereum. Zabezpieczenia i walidacje, które określają, jak zmienna powinna się zachowywać, np., że nie powinna być wydana dwukrotnie, nie powinna być drenowana przez nieautoryzowanego użytkownika, że ​​transfery zawsze powinny się bilansować i wyzerować — wszystko musi być realizowane przez dewelopera od podstaw, dla każdego inteligentnego kontraktu.

Związane z: Deweloperzy mogliby zapobiec włamaniom do kryptowalut w 2022 roku, gdyby podjęli podstawowe środki bezpieczeństwa

Inteligentne kontrakty stają się coraz bardziej złożone, podobnie jak wymagane zabezpieczenia i walidacje. Ludzie są ludźmi. Błędy się zdarzają. Błędy się zdarzają. Pieniądze się gubią.

Przykład: Compound, jeden z najbardziej zaawansowanych protokołów DeFi, został wykorzystany we wrześniu 80 r. na kwotę 2021 milionów dolarów. Dlaczego? Inteligentna umowa zawierała „>” zamiast „>=”.

Efekt domina

Aby inteligentne kontrakty mogły wchodzić ze sobą w interakcje, na przykład gdy użytkownik wymienia token na inny, do każdego z inteligentnych kontraktów wysyłane są komunikaty w celu zaktualizowania ich listy zmiennych wewnętrznych.

Rezultatem jest złożony akt równoważenia. Zapewnienie prawidłowej obsługi wszystkich interakcji z inteligentnym kontraktem spoczywa całkowicie na deweloperze DeFi. Ponieważ Solidity i maszyna wirtualna Ethereum (EVM) nie mają wbudowanych barier ochronnych, programiści DeFi muszą sami zaprojektować i wdrożyć wszystkie wymagane zabezpieczenia i walidacje.

Związane z: Deweloperzy muszą powstrzymać hakerów kryptograficznych lub stawić czoła regulacjom w 2023 r

Dlatego programiści DeFi spędzają prawie cały swój czas na upewnianiu się, że ich kod jest bezpieczny. I podwójne sprawdzanie – i potrójne sprawdzanie – do tego stopnia, że ​​niektórzy programiści twierdzą, że spędzają do 90% swojego czasu na walidacji i testowaniu, a tylko 10% czasu na budowaniu funkcji i funkcjonalności.

Biorąc pod uwagę, że większość czasu programistów spędzana jest na walce z niezabezpieczonym kodem, w połączeniu z niedoborem programistów, w jaki sposób DeFi rozwinęło się tak szybko? Najwyraźniej istnieje zapotrzebowanie na samosuwerenne, niewymagające pozwolenia i zautomatyzowane formy programowalnych pieniędzy, pomimo wyzwań i zagrożeń związanych z ich dostarczaniem dzisiaj. Teraz wyobraź sobie, ile innowacji można by uwolnić, gdyby programiści DeFi mogli skoncentrować swoją produktywność na funkcjach, a nie na awariach. Rodzaj innowacji, który może pozwolić raczkującemu przemysłowi o wartości 46 miliardów dolarów zakłócić rozwój przemysłu tak dużego, jak 468 bilionów dolarów światowych finansów.

Suma aktywów światowych instytucji finansowych w latach 2002-2020. Źródło: Statista

Innowacyjność i bezpieczeństwo

Klucz do tego, aby DeFi był zarówno innowacyjny, jak i bezpieczny, pochodzi z tego samego źródła: Daj programistom łatwy sposób tworzenia zasobów i interakcji z nimi oraz uczyń zasoby i ich intuicyjne zachowanie funkcją natywną. Każdy utworzony składnik aktywów powinien zawsze zachowywać się w sposób przewidywalny i zgodny ze zdrowym rozsądkiem w zakresie finansów.

W paradygmacie programowania zorientowanego na zasoby utworzenie zasobu jest tak proste, jak wywołanie funkcji natywnej. Platforma wie, czym jest zasób: .initial_supply_fungible(1000) tworzy zamienny token ze stałą podażą wynoszącą 1000 (poza podażą dostępnych jest również wiele innych opcji konfiguracji tokenów), podczas gdy funkcje takie jak .take i .put pobierają skądś tokeny i umieść je gdzie indziej.

Zamiast programistów piszących złożoną logikę instruujących inteligentne kontrakty, aby aktualizowali listy zmiennych z całym sprawdzaniem błędów, które pociąga za sobą, w programowaniu zorientowanym na zasoby, operacje, które każdy intuicyjnie spodziewałby się jako fundamentalne dla DeFi, są natywnymi funkcjami języka. Tokenów nie można zgubić ani wyczerpać, ponieważ programowanie zorientowane na aktywa gwarantuje, że nie jest to możliwe.

W ten sposób uzyskujesz zarówno innowacyjność, jak i bezpieczeństwo w DeFi. I w ten sposób zmieniasz postrzeganie głównego nurtu opinii publicznej z takiego, w którym DeFi to dziki zachód, na takie, w którym DeFi jest miejscem, w którym musisz lokować swoje oszczędności, ponieważ w przeciwnym razie przegrywasz.

Bena Fara jest szefem ds. partnerstw w RDX Works, głównym twórcy protokołu Radix. Przed RDX Works zajmował stanowiska kierownicze w PwC i Deloitte, gdzie obsługiwał klientów w kwestiach związanych z ładem korporacyjnym, audytem, ​​zarządzaniem ryzykiem i regulacją technologii finansowej. Uzyskał tytuł licencjata w dziedzinie geografii i ekonomii oraz tytuł magistra oprogramowania do mapowania i analiz na Uniwersytecie w Leeds.

Autor, który ujawnił swoją tożsamość Cointelegraph, użył w tym artykule pseudonimu. Ten artykuł służy do ogólnych celów informacyjnych i nie ma na celu i nie powinien być traktowany jako porada prawna lub inwestycyjna. Poglądy, myśli i opinie wyrażone tutaj są wyłącznie autorem i niekoniecznie odzwierciedlają lub reprezentują poglądy i opinie Cointelegraph.

Źródło: https://cointelegraph.com/news/programming-languages-prevent-mainstream-defi