W jaki sposób audyty inteligentnych kontraktów DAO pomagają we wzmocnieniu bezpieczeństwa? Analiza danych PlatoBlockchain. Wyszukiwanie pionowe. Aj.

W jaki sposób audyty inteligentnych kontraktów DAO pomagają we wzmocnieniu bezpieczeństwa?

Czas czytania: 6 minuty

Tworzenie DAO jest unikalne dla web3, które wykorzystuje kompetencje blockchain w zarządzaniu protokołami bez angażowania scentralizowanych podmiotów.  

DAO jest mocno skoncentrowane na dwóch aspektach - szyfrowaniu i rozproszonej pamięci masowej. Daje im to możliwość działania w oparciu o zbiorową decyzję członków społeczności.

Podobnie jak w przypadku każdego protokołu Web3, kwestie bezpieczeństwa dotyczą również protokołów DAO. 

Ten artykuł ma na celu przedstawienie podstawowej infrastruktury DAO i wskazówek dotyczących improwizacji zabezpieczeń inteligentnych kontraktów w celu przetrwania ataków.   

Cel DAO

Ethereum zawsze jest uznawany za pierwszy w historii programowalny łańcuch bloków. Odgrywa ogromną rolę w zapewnianiu prawdziwej decentralizacji, umożliwiając programistom zabawę z kodem.

W związku z tym Inteligentne kontrakty DAO mają na celu wychowanie Zarządzanie w łańcuchu

Zarządzanie w łańcuchu jest środkiem, za pomocą którego zmiany są wdrażane w projektach blockchain. Reguły są zakodowane w protokołach, a programiści proponują zmiany poprzez aktualizacje kodu. Proponowana zmiana jest realizowana na podstawie głosów członków/uczestników społeczności.

” data-gt-translate-attributes=”[{„attribute”:”data-cmtooltip”, „format”:”html”}]”>on-chain governance uzasadniające fakt, że społeczności obsługują wyłącznie blockchain. 

Podobnie jak inne inteligentne kontrakty, kontrakty DAO są zasadniczo zaprojektowane do automatyzacji procesu i wykonywania działań, gdy zostaną spełnione z góry określone warunki. 

Aby zilustrować to przykładem, rozważmy kontrakt na token ERC-20. Jest tworzony w oparciu o standardy ERC-20 z informacjami takimi jak adres umowy, dostawa tokena, nazwa tokena, warunki transferu tokena itp. 

Operacja tokena jest wykonywana po spełnieniu ustalonych reguł. Podobnie umowa DAO jest zakodowana w celu dyktowania pracy organizacji, na przykład decydowania o podziale funduszy zgodnie z propozycjami głosowania członków. 

Na przykład DAO ma wbudowane skarbce. Środki z nich są wydawane po zatwierdzeniu przez grupę, a żadna pojedyncza władza nie ma dostępu do realizacji jakiegokolwiek planu. 

Propozycje głosowania dotyczące podejmowania krytycznych decyzji związanych z projektem zapewniają, że głos każdego uczestnika zostanie wysłuchany, co prowadzi do większego zaufania i przejrzystości działań w łańcuchu. 

Prawa rządzące działalnością organizacji różnią się w zależności od protokołu i jest to czysto subiektywne w zależności od tego, jak odbywa się kodowanie DAO. Dlatego ważne jest, aby zwrócić uwagę na prawa użytkowników do protokołu przed zarejestrowaniem się w jakichkolwiek DAO. 

Kroki związane z konfiguracją inteligentnych kontraktów DAO

Mechanika Zarządzanie w łańcuchu

Zarządzanie w łańcuchu jest środkiem, za pomocą którego zmiany są wdrażane w projektach blockchain. Reguły są zakodowane w protokołach, a programiści proponują zmiany poprzez aktualizacje kodu. Proponowana zmiana jest realizowana na podstawie głosów członków/uczestników społeczności.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>on-chain governance są realizowane poprzez zestaw kontraktów – token, zarządca i blokada czasowa . Poznajmy rolę każdego z nich. 

Token: Tokeny określają siłę głosu członków społeczności, w których mają uczestniczyć Zarządzanie w łańcuchu

Zarządzanie w łańcuchu jest środkiem, za pomocą którego zmiany są wdrażane w projektach blockchain. Reguły są zakodowane w protokołach, a programiści proponują zmiany poprzez aktualizacje kodu. Proponowana zmiana jest realizowana na podstawie głosów członków/uczestników społeczności.

” data-gt-translate-attributes=”[{„attribute”:”data-cmtooltip”, „format”:”html”}]”>nadzór nad łańcuchem. Umowa tokena zapewnia weryfikację salda w celu odzyskania mocy i umożliwienia uczestnikom wyrażenia swojego wyboru w sprawie propozycji zarządzania. 

Gubernator: Kontrakt gubernatora jest zakodowany z warunkami przydziału władzy posiadaczom tokenów, akceptowalnym typem tokenów, liczeniem liczby głosów wymaganych na forum i tak dalej. Jednak programiści mogą kodować ze szczegółami funkcji, aby określić, w jaki sposób chcą wykonywać kontrakty. 

Poza tym kontrakt gubernatora obejmuje również opóźnienie głosowania i specyfikę propozycji głosowania w kodzie. Służy do udzielania instrukcji dotyczących tego, jak długo propozycja głosowania jest otwarta dla uczestników do głosowania. 

Blokada czasowa: Aspekt Timelock obejmuje konfigurację AcessControl dla proponowanej roli, roli wykonawcy i roli administratora. Zintegrowanie komponentu blokady czasowej z systemami zarządzania daje uczestnikom swobodę odejścia w przypadku braku zgody na decyzję. 

Widok wysokiego poziomu na obawy związane z bezpieczeństwem dla DAO. 

Poleganie DAO na inteligentnych kontraktach sprawia, że ​​są one odpowiedzialne za głosowanie w sprawie zarządzania i utrzymanie skarbca. A każdy z tych elementów ma swoje własne obawy dotyczące bezpieczeństwa; rozwińmy je poniżej. 

Względy bezpieczeństwa w inteligentnej umowie

Cofnijmy się trochę i przypomnijmy dobrze znany „upadek DAO”. Główną przyczyną był błąd w kodzie DAO. Haker był w stanie wykorzystać lukę i wyłudzić środki z kontraktu poprzez wykonanie Wywołania rekurencyjne

Wywołanie rekurencyjne to warunek, który może odwoływać się do siebie i ponownie je wywoływać w pętli. Funkcja rekurencyjna wykorzystuje przypadek podstawowy (if) i przypadek indukcyjny (else). Ataki ponownego wejścia są wykonywane przez wykorzystanie wywołań rekurencyjnych w kodzie.

” data-gt-translate-attributes=”[{„attribute”:”data-cmtooltip”, „format”:”html”}]”>wywołania rekurencyjne. 

Kontrakt obejmował 12.7 mln Ether, z czego haker ukradł 3.6 mln ETH, wykorzystując lukę w kontrakcie.

Ten incydent wyraźnie pokazuje potrzebę większego doświadczenia i eksperymentowania z bezpieczeństwem DAO. Chociaż DAO jest bardzo chwalony za swoją innowacyjność, jakość kodu spowodowała większe szkody.

Ponadto kodowanie inteligentnych kontraktów powinno być całkowicie przejrzyste, aby żadna funkcja nie stała się później błędem. 

Obawy dotyczące bezpieczeństwa w zarządzaniu

Istnieje wiele sposobów, w jakie hakerzy mogą ingerować w zarządzanie protokołem. Zacznijmy od tego, że zdecentralizowane powiadomienia to jeden ze sposobów, w jaki haker może blokować powiadomienia i wprowadzać złośliwe propozycje, które pozostają niezauważone przez innych członków DAO. 

Następna jest propozycja wymagająca transakcji multicall. Jeśli propozycja nie zostanie przejrzana ani skontrolowana przez DAO, osoba atakująca może ją wykorzystać do uzyskania złożonych wyników. 

Niewłaściwe progi i nieodpowiednie blokady czasowe prowadzą do możliwości złych działań. Pożyczki błyskawiczne to kolejny problem związany z bezpieczeństwem zarządzania. Atakujący mogą pożyczyć ogromną sumę tokenów, która daje im większość siły do ​​przeforsowania propozycji. 

Propozycje o złych intencjach budzą a poważne obawy dotyczące bezpieczeństwa nad zmianami wprowadzonymi do protokołu. AAVE i Compound ucierpiały z powodu tego typu ataków hakerskich w przeszłości. 

Obawy dotyczące bezpieczeństwa podczas wykonywania

Dobrze radził sobie MakerDAO, uruchomiony w sieci Ethereum w 2017 roku. Aż do krachu rynkowego w 2020 r., kiedy cena Etheru spadła nawet o 50%. Było to najważniejsze zabezpieczenie stosowane w MakerDAO, a krach cenowy wyzwolił ogromną płynność.

MakerDAO nie został zaprojektowany do obsługi tak ogromnej likwidacji, która spowodowała większe straty finansowe. Chociaż kodowanie było tutaj silne, błąd polegał na wykonaniu mechanizmu likwidacji. 

Od tego czasu wykonanie mechanizmu DAO zostało dodane do listy innych istniejących obaw związanych z bezpieczeństwem. 

Lista kontrolna dla audytów smart kontraktów DAO

Bezpieczeństwo jest dominującym aspektem w Zarządzanie w łańcuchu

Zarządzanie w łańcuchu jest środkiem, za pomocą którego zmiany są wdrażane w projektach blockchain. Reguły są zakodowane w protokołach, a programiści proponują zmiany poprzez aktualizacje kodu. Proponowana zmiana jest realizowana na podstawie głosów członków/uczestników społeczności.

” data-gt-translate-attributes=”[{„attribute”:”data-cmtooltip”, „format”:”html”}]”>zarządzanie łańcuchem, aby chronić władzę przed dostaniem się w złe ręce. Tak więc, z punktu widzenia bezpieczeństwa, znajdźmy wytyczne dotyczące tworzenia solidnych kontraktów DAO.

Połączenia niskiego poziomu: Wezwania do arbitralnych umów, które pobierają dowolne dane, należy traktować ostrożnie. 

Obsługa wywołań niskiego poziomu jest trudna, ponieważ może otworzyć szansę na wektory ataku ponownego wejścia. Dlatego zawsze dobrą praktyką jest weryfikacja warunku powodzenia wywołań, a następnie obsługa zwróconych danych. 

Zasoby ETH: W oparciu o ustalenia audytu, było wiele przypadków, w których ETH nie jest odpowiednio traktowane w umowach związanych z zarządzaniem. Sugeruje się więc zapewnienie sposobu wysyłania ETH, gdy umowy o zarządzanie wymagają obsługi ETH.

Innym środkiem ostrożności, którego należy przestrzegać, jest użycie msg.value, które zezwala na połączenia wsadowe. Istnieje prawdopodobieństwo, że ten wzór może się nie udać. 

Powstrzymaj się od exploitów Flash-loan: Wyzyskiwacze, którzy chcą wpłynąć na decyzje rządowe i przeprowadzić atak, polegają na pożyczkach błyskawicznych. Biorą błyskawiczne pożyczki i zabezpieczają głosy rządzące poprzez posiadanie tokenów, aby manipulować decyzją dotyczącą zarządzania. 

W związku z tym można uniknąć pomiaru siły głosu w bieżącym bloku, ponieważ pożyczka błyskawiczna zaciągnięta w celu uzyskania władzy zarządczej naraża system na ryzyko. 

Regularne aktualizacje: Nawet jeśli umowa niekoniecznie zawiera jakieś wady, zawsze powinieneś sprawdzić na rynku tokenów rządowych i odpowiednio dostosować próg. W przeciwnym razie umożliwiłoby to złośliwym podmiotom przejęcie decyzji.

Upewnij się, że zwracasz uwagę na szczegóły podczas migracji i aktualizacji systemu zarządzania. Zdarzały się przypadki, takie jak ten, który miał miejsce w przypadku Uniswap. Jego migracja do gubernatora Bravo zainicjowała błąd w kontrakcie, który tymczasowo wstrzymał decyzje dotyczące zarządzania. 

Uwzględnij opóźnienia za pomocą umowy z blokadą czasową: Działania opóźnione w czasie umożliwiają społeczności przejrzenie zmian w protokole, zanim wejdą one w życie. Te opóźnienia czasowe można realizować za pomocą kontraktów Timelock. 

Luki związane z protokołem: Oprogramowanie używane do kodowania protokołu działa na określonej logice biznesowej, która może się od siebie różnić. Podobnie jak problemy, które pojawiają się podczas wykonywania zmian w tym systemie. 

W rzeczywistości protokół Compound miał problem z powodu zatwierdzenia manipulacyjnej propozycji społeczności. Dlatego zawsze dobrze jest mieć gruntowną recenzję kodeksu przez rówieśników i niezależne strony, aby zapewnić siłę i solidność umowy.

QuillAudits Eminencja w audycie inteligentnych kontraktów DAO

W dzisiejszych czasach, aby system był całkowicie samoczynny, wiele projektów zastanawia się nad wprowadzeniem Zarządzanie w łańcuchu

Zarządzanie w łańcuchu jest środkiem, za pomocą którego zmiany są wdrażane w projektach blockchain. Reguły są zakodowane w protokołach, a programiści proponują zmiany poprzez aktualizacje kodu. Proponowana zmiana jest realizowana na podstawie głosów członków/uczestników społeczności.

” data-gt-translate-attributes=”[{„attribute”:”data-cmtooltip”, „format”:”html”}]”>nadzór nad łańcuchem. Tak więc dziedzina szybko się rozwija i rozkwita zgodnie z potrzebami społeczności. 

Ataki również stają się coraz bardziej skomplikowane, co jest zarówno trudne, jak i kosztowne. Dlatego konieczne jest zapewnienie, że procesy są na miejscu, a kodeks jest ściśle przestrzegany. QuillAudyty przeprowadza szeroko zakrojone badania i audyty kodu, aby wykluczyć potencjalne pułapki i zabezpieczyć projekt przed złośliwymi działaniami.

16 odwiedzajacy

Znak czasu:

Więcej z Quillhash