Streszczenie
Audyty bezpieczeństwa inteligentnych kontraktów mogą również przeprowadzić szczegółową analizę inteligentnych kontraktów projektu. Środki te są bardzo ważne, aby chronić środki zainwestowane w kontrakt. Ponieważ wszystkie transakcje na blockchainie są ostateczne, po kradzieży środków nie można ich odzyskać. Zwykle audytor sprawdza kod inteligentnej umowy, generuje raport i przekazuje go zespołowi projektowemu. Następnie generowany jest raport końcowy, zawierający szczegółowe informacje na temat wszystkich pozostałych błędów i pracy wykonanej w celu rozwiązania problemów z wydajnością lub bezpieczeństwem.
Wstęp
Audyty bezpieczeństwa inteligentnych kontraktów są powszechne w ekosystemie zdecentralizowanych finansów (DeFi). Jeśli inwestujesz w projekt typu blockchain, na Twoją decyzję może częściowo wpłynąć przegląd kodu inteligentnego kontraktu.
Chociaż większość ludzi rozumie znaczenie audytu dla bezpieczeństwa sieci, niewielu zagłębia się w poszczególne wiersze kodu. Przyjrzyjmy się metodom, narzędziom i wynikom powszechnie stosowanym w audytach bezpieczeństwa inteligentnych kontraktów, które pomogą Ci podejmować bardziej świadome decyzje.
Czym jest audyt inteligentnych kontraktów?
Audyt bezpieczeństwa inteligentnych kontraktów sprawdzi i skomentuje kod inteligentnego kontraktu projektu. Zazwyczaj umowy te są pisane w języku programowania Solidity i dostarczane przez GitHub. Audyty bezpieczeństwa są szczególnie cenne, jeśli projekt DeFi przetwarza transakcje typu blockchain o wartości milionów dolarów lub z dużą liczbą uczestników. Audyty zazwyczaj składają się z czterech następujących kroków:
1. Dostarcz inteligentny kontrakt zespołowi audytowemu do wstępnej analizy.
2. Zespół audytowy przedstawia swoje ustalenia zespołowi projektowemu w celu podjęcia działań.
3. Zespół projektowy dokonuje modyfikacji w oparciu o wykryte problemy.
4. Zespół audytowy uwzględni nowe poprawki i nierozwiązane błędy przed wydaniem raportu końcowego.
Dla wielu użytkowników kryptowalut audyty inteligentnych kontraktów są niezbędne przy inwestowaniu w nowe projekty DeFi. Stało się standardem w przypadku ważnych projektów. Niektóre firmy audytorskie stały się także liderami branży, zwiększając wartość swojej pracy audytorskiej w oczach inwestorów.
Dlaczego potrzebujemy inteligentnego audytu kontraktów?
Duża część wartości jest sprzedawana lub zamykana w inteligentnych kontraktach, co czyni je łatwym celem dla hakerów. Nawet drobne błędy w kodowaniu mogą prowadzić do kradzieży ogromnych sum pieniędzy. Na przykład włamanie DAO na blockchain Ethereum zabrało eter o wartości około 60 milionów dolarów, a nawet doprowadziło do hard forku sieci Ethereum.
Ponieważ transakcji blockchain nie można cofnąć, zapewnienie bezpieczeństwa kodu projektu jest kluczowe. Wysoki poziom bezpieczeństwa technologii blockchain utrudnia odzyskanie środków i rozwiązywanie problemów po fakcie, dlatego najlepiej za wszelką cenę zapobiegać ewentualnym podatnościom.
Jak działa inteligentny audyt kontraktów?
Proces audytu inteligentnych kontraktów jest dość standardowy wśród instytucji audytujących. Chociaż podejście każdego audytora może się nieco różnić, ogólny proces wygląda następująco:
1. Ustal zakres audytu. Inteligentne kontrakty i specyfikacje projektu są definiowane przez projekt (jego przeznaczenie) i ogólną architekturę. Specyfikacje projektu pomagają zespołowi audytującemu zrozumieć cele projektu podczas pisania i używania kodu.
2. Podaj wstępną wycenę w oparciu o ilość wymaganej pracy.
3. Uruchom test. Jego dokładny charakter będzie się różnić w zależności od grupy audytowej, stosowanych przez nią narzędzi i metod analitycznych. Zwykle stosuje się dwie metody testowania, ręczną i automatyczną.
4. Utwórz pierwszą wersję raportu zawierającą znalezione błędy i przekaż ją zespołowi projektowemu w celu uzyskania informacji zwrotnej i późniejszych poprawek.
5. Rozważ działania podjęte przez zespół w celu rozwiązania zgłoszonych problemów i sporządź raport końcowy.
Inteligentny audyt kontraktu
efektywność paliwowa
Audyty inteligentnych kontraktów nie skupiają się tylko na bezpieczeństwie blockchain, ale także na wydajności i optymalizacji. Niektóre umowy realizują swoje zamierzone funkcje poprzez złożoną serię transakcji. Ponieważ opłaty za gaz są stosunkowo wysokie w sieciach takich jak Ethereum, wydajne umowy mogą zaoszczędzić wiele kosztów transakcyjnych.
Optymalizacja jego wydajności jest również wskaźnikiem umiejętności programisty. Nieefektywne kroki spowodują więcej punktów awarii i należy ich unikać w miarę możliwości. Inteligentne kontrakty mogą nie zostać zrealizowane, gdy koszty paliwa są wysokie, zwłaszcza w przypadku stosowania ograniczeń związanych z tanim paliwem.
Luki w umowach
Duża część pracy audytu polega na sprawdzeniu umów pod kątem luk w zabezpieczeniach. Chociaż niektóre problemy są łatwe do zauważenia, wiele exploitów wykorzystuje zaawansowane techniki i strategie w celu drenażu środków. Na przykład manipulację na rynku można połączyć ze słabymi inteligentnymi kontraktami w celu przeprowadzenia ataków w postaci pożyczek błyskawicznych. Aby odkryć te problemy, audytorzy rozpoczną proces testowania odszyfrowania, który symuluje złośliwe ataki na inteligentne kontrakty. Typowe luki obejmują:
1. Problem ponownego wejścia: gdy inteligentny kontrakt wywołuje zewnętrzne połączenie z innym kontraktem zewnętrznym, zanim jakikolwiek wpływ zostanie rozwiązany. Następnie, ponieważ saldo pierwotnej umowy nie zostało zaktualizowane, umowa zewnętrzna może rekurencyjnie wywoływać pierwotną inteligentną umowę i wchodzić z nią w interakcję w sposób, w jaki nie powinien.
2. Przepełnienie i niedomiar liczb całkowitych: Kiedy inteligentny kontrakt wykonuje operacje arytmetyczne, ale dane wyjściowe przekraczają pojemność pamięci (zwykle 18 miejsc po przecinku). Może to prowadzić do błędów w obliczaniu kwot.
Możliwości handlu z wywłaszczeniem: źle skonstruowany kod może zapewnić wczesne ostrzeżenie o kupnie lub sprzedaży na rynku. To z kolei umożliwia innym wykorzystanie tych informacji do przeprowadzania transakcji na własną korzyść.
Luki w zabezpieczeniach platformy
Większość audytów obejmuje sprawdzenie sieci obsługującej umowę, a nawet interfejsów API używanych do interakcji z DApp. Jeśli projekt jest potencjalnie podatny na atak DDoS lub interfejs jego witryny internetowej został naruszony, oznacza to, że użytkownicy faktycznie będą łączyć swoje portfele ze złośliwymi aplikacjami typu blockchain.
Co to jest raport z audytu?
Raport z audytu to raport wydawany na zakończenie audytu. Aby zwiększyć przejrzystość, zespół projektowy powinien podzielić się swoimi ustaleniami ze społecznością. Większość raportów kategoryzuje problemy według wagi, np. krytyczne, poważne, drobne itp. W raporcie wyszczególniony jest także status problemów, ponieważ projekt będzie miał jeszcze czas na ich rozwiązanie przed publikacją raportu końcowego.
Oprócz podsumowania standardowy raport będzie zawierał zalecenia, zbędne przykłady kodu i pełne szczegóły dotyczące miejsc wystąpienia błędów w kodowaniu. Projekt ma czas na podjęcie działań w oparciu o ustalenia zawarte w raporcie, zanim opublikowana zostanie ostateczna wersja.
Gdzie dostępne są audyty inteligentnych kontraktów?
Wiele agencji usługowych zajmujących się audytem inteligentnych umów zyskało reputację firmy oferującej wyjątkowe usługi. Dwa cieszą się szczególną popularnością i uzyskanie od nich audytu będzie wymagało przedstawienia wstępnej wyceny i informacji o przekazaniu.
CertiK
CertiK jest liderem w branży, jeśli chodzi o inteligentny audyt kontraktów. Za ich pośrednictwem skontrolowano inteligentne kontrakty setek projektów. Jednym z przykładów jest PancakeSwap, największy zautomatyzowany animator rynku (AMM) firmy BSC. Poniżej znajduje się zrzut ekranu audytu przeprowadzonego przez Certik dla PancakeSwap.

Dodatkowo zdecydowana większość projektów wspieranych przez Binance Labs ma swoje umowy audytowane przez CertiK. CertiK publikuje ranking projektów audytowych wraz z wynikami bezpieczeństwa, dzięki czemu można porównać każdy projekt. Należy pamiętać, że oprócz Ethereum CertiK realizuje również projekty BSC i Polygon.

ConsenSys Staranność
ConsenSys, prowadzony przez współzałożyciela Ethereum Josepha Lubina, jest jedną z największych marek branży kryptowalut w rozwoju blockchain. W ConsenSys Diligence firma oferuje audyty inteligentnych kontraktów Ethereum. Zapewniają również zautomatyzowane usługi sprawdzania typowych błędów w umowach Ethereum Virtual Machine (EVM).
Ile kosztuje audyt inteligentnej umowy?
Dokładna opłata za audyt zależy od liczby inteligentnych kontraktów, które należy sprawdzić. Zazwyczaj opłaty za audyt idą w tysiące dolarów. W przypadku niektórych dużych projektów koszt może z łatwością przekroczyć 10 000 USD. Firma audytorska przeprowadzająca audyt i jej reputacja również będą miały wpływ na wysokość zapłaty.
Podsumować
Na szczęście dla inwestorów i użytkowników inteligentny audyt kontraktów stał się złotym standardem. Gdyby jednak każdy projekt miał audyt inteligentnej umowy, nie byłby to już prosty wyznacznik wartości. Dlatego ważne jest, aby samodzielnie nauczyć się czytać audyty. Nawet jeśli nie masz wiedzy technicznej, pomocne może być przejrzenie recenzji i powagi potencjalnego problemu.
Kiedy spotykasz się z audytem, powinno być przynajmniej łatwiej zrozumieć, czego dotyczy. Jak zawsze, przy podejmowaniu decyzji inwestycyjnych należy spojrzeć na całość z szerszej perspektywy i wziąć pod uwagę wszystkie informacje.




