Dapp
Aplikacja zdecentralizowana, czyli aplikacja używająca smart kontraktów, portfela i danych onchain do wykonywania części swojej logiki.
Czym jest aplikacja zdecentralizowana
Dapp to skrót od decentralized application. W polskim tekście najlepiej myśleć o nim jako o aplikacji zdecentralizowanej, choć w branży często używa się krótkiego zapisu dapp.
Dla użytkownika dapp zwykle wygląda jak zwykła strona albo aplikacja webowa. Różnica pojawia się przy działaniu: użytkownik łączy portfel, podpisuje transakcje, a część operacji wykonują smart kontrakty.
Przykłady dappów to Uniswap, Aave, aplikacje DAO, NFT marketplace’y i onchainowe gry. Każdy z nich może mieć inny poziom decentralizacji pod spodem.
Z czego składa się dapp
- Frontend
- Interfejs użytkownika, zwykle strona webowa, która pokazuje dane i przygotowuje transakcje.
- Smart kontrakty
- Logika onchain odpowiedzialna za swap, pożyczkę, mint, głosowanie albo inną operację.
- Portfel
- Narzędzie użytkownika do podpisywania transakcji i wiadomości.
- RPC
- Infrastruktura, przez którą aplikacja czyta stan blockchaina i wysyła transakcje.
- Indexer
- Warstwa indeksująca dane, która przyspiesza wyświetlanie historii, pozycji i statystyk.
Jak wygląda użycie dappu
Użytkownik wchodzi na stronę aplikacji i łączy portfel. Portfel staje się sposobem identyfikacji oraz narzędziem do autoryzowania działań.
Gdy wykonujesz swap, depozyt albo mint, frontend przygotowuje transakcję. Portfel pokazuje szczegóły, a użytkownik decyduje, czy ją podpisać.
Po podpisaniu transakcja trafia do sieci. Smart kontrakt wykonuje logikę zgodnie z kodem i aktualnym stanem blockchaina.
Frontend i kontrakt to różne warstwy
Frontend dappu może być hostowany na zwykłym serwerze, przez IPFS albo inną infrastrukturę. Zespół projektu może zmienić frontend szybciej niż smart kontrakty.
Smart kontrakty działają onchain. Jeśli są niezmienne, ich kod pozostaje taki sam po wdrożeniu. Jeśli są upgradeowalne, administrator albo governance może zmienić logikę zgodnie z uprawnieniami systemu.
Dlatego przy większych kwotach liczy się nie tylko domena strony. Ważny jest adres kontraktu, uprawnienia adminów, historia audytów i sposób aktualizacji.
Co sprawdzić przed użyciem dappu
Dapp może wyglądać prosto w interfejsie, a pod spodem korzystać z kilku warstw infrastruktury.
- Czy domena i link pochodzą z oficjalnego źródła projektu.
- Jaki smart kontrakt będzie otrzymywał twoje approvale albo środki.
- Czy kontrakty są zweryfikowane w block explorerze.
- Czy projekt ma admin keys, pause function albo możliwość upgrade’u.
- Czy aplikacja korzysta z oracle, indexera albo zewnętrznego RPC.
- Jakie ryzyko niesie podpis, który pokazuje portfel.
Przykład użycia Uniswap
- Wchodzisz na oficjalny frontend Uniswap.
- Łączysz portfel z aplikacją.
- Wybierasz parę tokenów i kwotę swapu.
- Portfel pokazuje transakcję do podpisu.
- Po podpisaniu smart kontrakt wykonuje swap onchain.
Najczęstsze błędne założenia
- Dapp może mieć scentralizowany frontend, mimo że używa smart kontraktów.
- Połączenie portfela ze stroną zwykle pozwala stronie zobaczyć adres portfela. Approval albo podpis transakcji może stworzyć realne ryzyko dla środków.
- Zweryfikowany kontrakt w explorerze pomaga w analizie. Bezpieczeństwo nadal zależy od kodu, uprawnień adminów, oracle, upgrade’ów i tego, co podpisujesz.
- Aplikacja może zależeć od RPC, indexera, oracle i admin keys.
- Fałszywy frontend może kierować użytkownika do złośliwego kontraktu.
Największe ryzyko często zaczyna się w interfejsie
Przed podpisaniem sprawdź, co portfel faktycznie pokazuje: adres kontraktu, typ operacji, kwotę, token i uprawnienia. Phishing często kopiuje wygląd prawdziwego dappu, a różnica pojawia się dopiero w podpisywanej transakcji.
