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
- Zakres – sprawdź, które kontrakty i która wersja kodu (numer commita) były badane. Audyt starej wersji nie obejmuje późniejszych zmian.
- Data – raport sprzed roku, przy często aktualizowanym protokole, mówi niewiele o obecnym kodzie.
- Klasyfikacja ustaleń – zwykle od krytycznych, przez wysokie i średnie, po niskie i informacyjne.
- Status poprawek – „naprawione” (resolved), „przyjęte do wiadomości” (acknowledged) albo brak reakcji. Przyjęte, ale nienaprawione ryzyko nadal istnieje.
- 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.


