tradingview

Audyt

Audyt (ang. audit) to niezależna, systematyczna ocena sprawozdań, systemów lub kodu pod kątem poprawności, bezpieczeństwa i zgodności z zasadami. W finansach tradycyjnych najczęściej chodzi o badanie sprawozdania finansowego przez biegłego rewidenta. W kryptowalutach – o audyt smart kontraktów i o dowód rezerw giełdy. W każdym przypadku audyt zmniejsza ryzyko, ale go nie eliminuje.

Rodzaje audytu

Rodzaj Co sprawdza Kto wykonuje
Audyt finansowy czy sprawozdanie rzetelnie przedstawia sytuację spółki (MSSF, US GAAP, polskie przepisy) biegły rewident, firma audytorska
Audyt IT i bezpieczeństwa konfigurację systemów, uprawnienia, odporność na ataki (testy penetracyjne) zespoły bezpieczeństwa, audytorzy zewnętrzni
Audyt zgodności przestrzeganie przepisów, np. AML, i wewnętrznych procedur działy compliance, firmy zewnętrzne
Audyt smart kontraktu kod protokołu: błędy logiczne, podatności, ryzyka ekonomiczne wyspecjalizowane firmy, np. Trail of Bits, OpenZeppelin, Spearbit
Dowód rezerw czy giełda ma aktywa pokrywające salda klientów giełda, często z firmą audytorską

W spółkach giełdowych audyt finansowy jest obowiązkowy. Opinia biegłego może być bez zastrzeżeń, z zastrzeżeniami, negatywna albo może nastąpić odmowa wydania opinii – każda poza pierwszą to sygnał ostrzegawczy.

Jak czytać raport z audytu smart kontraktu

  1. Zakres – sprawdź, które kontrakty i która wersja kodu (numer commita) były badane. Audyt starej wersji nie obejmuje późniejszych zmian.
  2. Data – raport sprzed roku, przy często aktualizowanym protokole, mówi niewiele o obecnym kodzie.
  3. Klasyfikacja ustaleń – zwykle od krytycznych, przez wysokie i średnie, po niskie i informacyjne.
  4. Status poprawek – „naprawione” (resolved), „przyjęte do wiadomości” (acknowledged) albo brak reakcji. Przyjęte, ale nienaprawione ryzyko nadal istnieje.
  5. Założenia – audytor często zakłada np. uczciwe klucze administratora czy poprawne działanie wyroczni cenowej. Te założenia to ryzyka poza audytem.

Dlaczego audyt nie gwarantuje bezpieczeństwa

Audyt to przegląd w ograniczonym czasie, a nie dowód poprawności kodu. Historia DeFi zna wiele ataków na protokoły audytowane. Euler Finance stracił w marcu 2023 roku około 197 mln USD przez błąd w funkcji dodanej w jednej z aktualizacji – mimo że protokół przeszedł wiele audytów. Most Nomad został w sierpniu 2022 roku opróżniony na około 190 mln USD po aktualizacji, która wprowadziła błąd w weryfikacji wiadomości. Typowe przyczyny to zmiany kodu po audycie, błędy w integracji z innymi protokołami, manipulacja wyrocznią przez flash loan i przejęcie kluczy administratora – tego ostatniego audyt kodu w ogóle nie obejmuje.

Dowód rezerw

Dowód rezerw (ang. proof of reserves, PoR) to potwierdzenie, że giełda posiada aktywa co najmniej równe saldom klientów. Po upadku FTX w 2022 roku wiele giełd zaczęło publikować takie zestawienia. Zwykle składają się z listy adresów z aktywami oraz drzewa Merkle, w którym każdy klient może sprawdzić, że jego saldo zostało uwzględnione. Ograniczenia: migawka z jednego dnia, brak pełnego obrazu zobowiązań poza saldami klientów i możliwość chwilowego pożyczenia aktywów na czas weryfikacji.

Przykład: raport i dowód rezerw w liczbach

Załóżmy, że raport z audytu protokołu pożyczkowego wymienia 1 ustalenie krytyczne, 3 wysokie i 7 średnich. Krytyczne i 2 wysokie zostały naprawione, 1 wysokie ma status „przyjęte do wiadomości”. Oznacza to, że w kodzie produkcyjnym zostało co najmniej jedno poważne ryzyko, o którym zespół wie.

Załóżmy też, że giełda publikuje dowód rezerw: 10 500 BTC na swoich adresach wobec 10 000 BTC sald klientów. Wskaźnik pokrycia to 105%. Jeśli jednak 800 BTC z tych adresów zostało pożyczone od podmiotu powiązanego tuż przed migawką, realne pokrycie spada do 9 700 BTC, czyli 97% – a tego z samej migawki nie zobaczysz.

Najczęstsze błędy

  • Traktowanie słowa „audytowany” jak gwarancji bezpieczeństwa.
  • Nieczytanie, której wersji kodu dotyczy raport.
  • Ignorowanie ustaleń oznaczonych jako „przyjęte do wiadomości”.
  • Uznawanie dowodu rezerw za pełny audyt finansowy giełdy.
  • Pomijanie ryzyka kluczy administratora i aktualizowalnych kontraktów.

Perspektywa tradera

Audyt jest warunkiem koniecznym, a nie wystarczającym. Przed wpłatą do protokołu sprawdź datę i zakres raportu, liczbę niezależnych audytów, program nagród za wykryte błędy i to, kto może zmienić kod. Dziel kapitał między protokoły i giełdy, tak aby utrata jednego miejsca nie przekreślała rachunku. Na giełdach trzymaj tylko środki potrzebne do handlu – dowód rezerw zmniejsza, ale nie usuwa ryzyka kontrahenta.

Najczęstsze pytania

Czy audytowany protokół może zostać zhakowany?

Tak. Audyt obejmuje określoną wersję kodu w określonym czasie i nie wyklucza błędów, zmian po audycie ani ataków na klucze administratora.

Czym różni się audyt od dowodu rezerw?

Audyt ocenia kod, systemy lub sprawozdania. Dowód rezerw potwierdza tylko, że w danym momencie giełda miała aktywa pokrywające salda klientów.

Kto przeprowadza audyt finansowy spółki w Polsce?

Biegły rewident lub firma audytorska wpisana na listę prowadzoną przez Polską Agencję Nadzoru Audytowego.

Ile audytów powinien mieć protokół?

Nie ma jednej liczby. Kilka niezależnych audytów, aktualny zakres i program nagród za błędy to lepszy sygnał niż jeden raport.

Co oznacza opinia z zastrzeżeniami?

Że biegły rewident nie zgadza się z częścią sprawozdania lub nie mógł jej zweryfikować. Warto przeczytać uzasadnienie.

Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.

Zaktualizowano: