Audyt inteligentnego kontraktu to obszerne metodyczne badanie i analiza kodu inteligentnego kontraktu, ktory jest uzywany do interakcji z kryptowaluta lub blockchainem. Proces ten jest przeprowadzany w celu odkrycia bledow, problemow i luk bezpieczenstwa w kodzie, aby zasugerowac ulepszenia i sposoby ich naprawy. Ogolnie rzecz biorac, audyty inteligentnych kontraktow sa konieczne, poniewaz wiekszosc umow dotyczy aktywow finansowych i / lub cennych przedmiotow.
Takie kontrole sa zlozone, poniewaz inteligentne kontrakty czesto wchodza ze soba w interakcje, a wszelkie integracje z systemami stron trzecich moga rowniez spowodowac, ze system stanie sie podatny na ataki. Z tego powodu kontrole sa czesto rozszerzane na inne inteligentne kontrakty biorace udzial w jakichkolwiek interakcjach, a nawet te, z ktorymi wchodza w interakcje. Takie kontrole obejmuja zwykle zarowno testy biezace, jak i reczna analize kodu.
Inteligentne kontrakty czesto zarzadzaja ogromnymi ilosciami srodkow finansowych, a pojedynczy blad lub podatnosc moze spowodowac ogromne straty. Dokladniej, uzytkownicy i interesariusze danej zdecentralizowanej aplikacji moga stracic wszystkie aktywa bedace czescia ekosystemu.
Zalecenia audytorow sa z wyprzedzeniem przekazywane zespolowi projektowemu, a ich dzialania w odpowiedzi sa odnotowywane w raporcie koncowym. Jest on traktowany jako znak autentycznosci i integralnosci projektu. Z tego powodu zespolom zalezy na uzyskaniu audytu, aby zdobyc zaufanie uzytkownikow i podniesc wiarygodnosc projektu. Audyty te sa zazwyczaj przeprowadzane w kilku etapach.
Pierwszym krokiem jest uzgodnienie przez zespol i grupe audytujaca zakresu i specyfikacji audytu. Oznacza to, ze projekt, cel, architektura i inne szczegoly inteligentnego kontraktu sa przekazywane audytorom. Nastepna jest faza testowania, w ktorej audytorzy testuja poszczegolne funkcje (testy jednostkowe), a nastepnie wieksze czesci (testy integracyjne).
Wykorzystywane sa rowniez zautomatyzowane narzedzia do wykrywania i analizy bledow w celu poszukiwania powszechnie znanych podatnosci w kontraktach. Wreszcie, audytorzy recznie sprawdzaja kod, aby zrozumiec intencje dewelopera i w tym kontekscie interpretowac wyniki badan. Na koniec wydawany jest raport z ustaleniami i zastosowanymi przez zespol poprawkami.
Znaczenie audytow inteligentnego kodu mozna ocenic na podstawie faktu, ze rozlam lancucha Ethereum w 2016 r. nastapil z powodu luki w kodzie, ktora wykorzystal atakujacy, narazajac na ryzyko srodki finansowe o wartosci milionow dolarow. Blad "recursive call bug" pozwolil atakujacemu oproznic zdemokratyzowany fundusz hedgingowy "DAO" z milionow dolarow ETH. Kolejne dzialania spolecznosci nad tym, czy przymusowo zwrocic srodki, spowodowaly spory i hard fork.
Audyty inteligentnych kodow sa coraz wazniejsze w rozwijajacej sie branzy DeFi, gdzie wypelnione bledami inteligentne kontrakty sa czesto pospiesznie realizowane, aby sprostac zapotrzebowaniu inwestorow. Doprowadzilo to do szeregu kosztownych hackow w 2020 roku o lacznej wartosci milionow, w szczegolnosci Harvest, Yam Finance, bZx, Balancer i Eminence.
Artykul pochodzi ze strony KryptoBiblia.pl -
encyklopedia blockchain