
Jedną z cech charakterystycznych Web3 jest zapewnienie użytkownikom pełnej kontroli nad prywatnością i sposobem interakcji z platformami. Dowiedz się, jak zarządzać zatwierdzeniami i uprawnieniami w MetaMask.
Nawet jeśli Twoje doświadczenie w interakcji z łańcuchami bloków, takimi jak Ethereum, ogranicza się do wysyłania prostych transakcji między portfelami, zatwierdzisz, autoryzowasz lub podpiszesz swoją transakcję. Oznacza to po prostu, że potwierdzasz przesłanie go do łańcucha bloków.
Ten sam proces odnosi się w równym stopniu do interakcji z dappami w Web3: jest mnóstwo elementów, na które można wyrazić zgodę, zatwierdzić i zezwolić. Ale co tak naprawdę kryje się w zatwierdzeniu MetaMask?
Aby odpowiedzieć na to pytanie, musimy najpierw omówić niektóre podstawowe aspekty kryptografii.
Klucze i kryptografia: czym jest zatwierdzenie?
Cała Twoja aktywność kryptograficzna opiera się na kryptografii klucza publicznego. Zasadniczo każdy portfel ma pasujący „klucz” publiczny i prywatny wygenerowany podczas tworzenia portfela. Wyobraź sobie drzwi, do których należy odblokować rygiel i przekręcić zatrzask, a do każdego z nich potrzebny jest inny klucz. Posiadanie jednego klucza do niczego nie prowadzi – potrzebujesz pary.
Chociaż jest to nadmierne uproszczenie, możemy podjąć wyzwanie związane z tymi hipotetycznymi drzwiami i zastosować podobną logikę do Twojego portfela kryptowalutowego. Do przeprowadzenia transakcji niezbędne są zarówno klucze prywatny, jak i publiczny: klucz prywatny, aby wykazać, że zainicjowałeś transakcję, oraz klucz publiczny, aby odbiorca mógł zweryfikować pochodzenie. Oto jak to działa:
Decydujesz się wysłać tokeny do kontaktu.
Znając adres portfela odbiorcy, przechowujesz jego klucz publiczny – pierwszy jest po prostu zaszyfrowaną (zaszyfrowaną) wersją drugiego. Klucz publiczny służy do szyfrowania transakcji.
Odbiorca będący posiadaczem klucza prywatnego otrzymuje transakcję. Ponieważ ich klucze należą do siebie, tylko odpowiedni klucz prywatny – który tylko oni posiadają – może odszyfrować transakcję wysłaną przez ich klucz publiczny.
Jak na razie wszystko w porządku: ustaliliśmy, w jaki sposób pary kluczy prywatnych i publicznych oddziałują na siebie, wspierając transakcje blockchain. Aby jednak zastosować tę wiedzę do zatwierdzeń/podpisów, odwracamy role kluczy: zamiast tego nadawca szyfruje wiadomość swoim kluczem prywatnym. Ponieważ inni mogą łatwo znaleźć klucz publiczny nadawcy (adres portfela), klucze mogą zostać połączone w celu odszyfrowania wiadomości, weryfikując tożsamość nadawcy. Tylko pasująca para kluczy ujawni treść wiadomości, co oznacza, że nikt nie może kwestionować jej pochodzenia.
Naniesienie swego rodzaju podpisu na każdą transakcję gwarantuje niezmienność, dzięki której nikt inny niż Ty – posiadacz Twojego klucza prywatnego – nie będzie w stanie Cię oszukańczo naśladować
Uprawnienia Dappa
Pierwszym z dwóch głównych typów zatwierdzeń, z którymi się spotkasz, jest połączenie portfela z dappem po raz pierwszy – czy to DeFi, usługą taką jak Etherscan, czy rynkiem NFT.
Wiąże się to z udzieleniem dappowi pozwolenia na odzyskanie adresu portfela i jest warunkiem wstępnym interakcji z platformą. Wyjaśnia to również, dlaczego będzie to określane jako „pozwolenie” lub „uprawnienia”; rzeczowniki, które dokładnie opisują to, co robisz. W niektórych przypadkach dapps automatycznie monitują o udzielenie pozwolenia; inne wymagają kliknięcia przycisków oznaczonych „połącz” lub podobnych.
Udzielenie zgody będzie w naszym przypadku wyglądać mniej więcej tak:

Zatwierdzenie tokena
Niezależnie od tego, czy jesteś doświadczonym użytkownikiem kryptowalut, czy też jesteś całkowicie początkującym, aby wchodzić w interakcję z dowolnym inteligentnym kontraktem – takim, który obsługuje dapps (w tym DeFi, gry blockchain, zakupy NFT) – musisz zatwierdzić jego dostęp do swoich tokenów.
Proces ten jest różnie określany, co nie jest zaskakujące, jako zatwierdzanie symboliczne. To, co tutaj robisz, to:
Zezwolenie inteligentnej umowie na dostęp do salda tokena. Pomyśl o tym jako o „etapie inteligentnej umowy”. MetaMask wyraźnie wskaże w tym momencie, ile dostępu dajesz: niektóre dappy mogą określić skończoną liczbę tokenów, podczas gdy inne żądają nieograniczonego dostępu.
Potwierdzenie, że chcesz sfinalizować daną transakcję: tj. „etap blockchain”, w którym pozwalasz inteligentnemu kontraktowi przesłać transakcję do sieci w Twoim imieniu.
Załóżmy, że chcesz przeprowadzić wymianę tokenów na Uniswap, największej zdecentralizowanej giełdzie (DEX) pod względem wolumenu obrotu. Kiedy po raz pierwszy inicjujesz zamianę pary tokenów, zostaniesz poproszony o zatwierdzenie inteligentnych kontraktów dla pary tokenów ERC-20, którą handlujesz (chociaż nie dla samej ETH, która nie wymaga zatwierdzenia). Chociaż ma to miejsce tylko przy pierwszym handlu tą parą, następny krok – tj. krok drugi powyżej – będzie wymagany za każdym razem i oznacza, że protokoły Uniswap wykonają Twoją transakcję na żądanie.
Ten proces będzie podobny do poniższego:
Najpierw zostaniesz poproszony przez platformę o zatwierdzenie tokena. Kliknij monit, a MetaMask zacznie działać.
MetaMask wyświetli adres umowy tokena, potwierdzając, że żąda on możliwości dostępu i przenoszenia środków. Aby mieć pewność, że zezwalasz na zawarcie właściwej umowy, warto porównać adres tokena z adresem podanym na stronie internetowej dapp – zwykle można go znaleźć w jego centrum pomocy, bazie wiedzy lub dokumentach. Masz nawet możliwość określenia, jak daleko chcesz, aby to uprawnienie sięgało – aby to zrobić, kliknij „Edytuj uprawnienia”.
Ta opcja pozwala dokładnie sprawdzić, na jaki poziom dostępu zezwalasz. W tym przypadku Uniswap chce dostępu do praktycznie nieograniczonej ilości stETH (1.1659), ale w razie potrzeby możemy ograniczyć to zezwolenie, korzystając z pola „Niestandardowy limit wydatków”.
Dzięki tej funkcji MetaMask zapewnia Ci kontrolę nad zatwierdzeniami tokenów – nigdy nie musisz ślepo pozwalać dappowi na dostęp do więcej, niż chcesz, ani podejmować niepożądanego ryzyka w celu wypróbowania nowej platformy.
W samym zleceniu transakcji pojawia się para kluczy: podpisujesz transakcję swoim kluczem prywatnym. Pomyśl o podpisaniu się długopisem na linii przerywanej; chociaż w przypadku kryptografii klucza publicznego ryzyko oszustwa dotyczącego tożsamości jest znikome. W naszym przykładzie zgoda oznacza, że autoryzowałeś inteligentną umowę Uniswap do przenoszenia tego tokena do i z Twojego portfela w Twoim imieniu. Za każdym razem, gdy próbujesz zainicjować wymianę, inteligentny kontrakt jest w stanie sprawdzić Twoją „wiadomość” – tj. instrukcję wykonania zamiany – i zweryfikować, czy jako jedyna osoba mająca dostęp do Twojego klucza prywatnego jesteś inicjatorem.
Jak mogę zarządzać zatwierdzeniami i uprawnieniami?
Jedną z cech charakterystycznych Web3 jest zapewnienie użytkownikom pełnej kontroli nad prywatnością i sposobem interakcji z platformami. Odzwierciedla to nieizolujący projekt MetaMask. Jednak jego zasady rozciągają się na inne funkcje; Wśród nich znajduje się możliwość przeglądania i zarządzania zatwierdzeniami dapp i inteligentnych kontraktów.
Przeglądanie połączonych witryn w MetaMask
MetaMask zawiera natywną funkcję sprawdzania, z którymi witrynami jest połączony Twój portfel. Nazywa się to „Witrynami połączonymi” (jak zapewne wiesz, nie lubimy nadmiernie komplikować). Podobnie prosta jest metoda ich usunięcia.
Wyświetlanie zatwierdzeń tokenów
Firma Etherscan niedawno wdrożyła narzędzie do sprawdzania zatwierdzeń tokenów, które umożliwia przeglądanie i cofanie, cóż… zatwierdzeń tokenów.
Lista zatwierdzeń tokenów zostanie wyświetlona po podłączeniu MetaMask i przyznaniu Etherscan pozwolenia na przeglądanie Twojego portfela – znasz? Możesz wtedy sprawdzić ich aktualność i odpowiednio odwołać. Przydatnie możesz także wyświetlić konkretny zasób, którego zatwierdziłeś (np. który dapp, wymieniony z nazwy) oraz liczbę tokenów, do których zatwierdziłeś dostęp.

Istnieje również kilka alternatyw, w tym zatwierdzony.zone, Revoke i narzędzie do sprawdzania uprawnień do tokenów (TAC).
Nie idź prosto
Agencja osobista oferująca zarządzanie portfelem nieposiadającym nadzoru, takim jak MetaMask, to miecz obosieczny. Tak jak zabezpieczenie hasła umożliwiającego odzyskanie sekretu jest Twoją osobistą odpowiedzialnością i wymaga czujności wobec oszustów, tak tylko Ty możesz zarządzać uprawnieniami dapp i zatwierdzeniami inteligentnych kontraktów. Jeśli dodać do tego łatwość utworzenia nowego tokena ERC-20 – w chwili pisania tego tekstu było ich około 485 000 – ryzyko stanie się bardzo widoczne. Chociaż większość zostanie stworzona w dobrej wierze, każdy może zostać stworzony przez złego aktora.
Zatwierdzenia tokenów są stosunkowo częstym wektorem ataku w przypadku oszustw – wystarczy sprawdzić rekt.news, aby zapoznać się ze skalą, oraz ten artykuł Finematics, aby zapoznać się z metodami. Jak wspomniano wcześniej, dapps muszą określić, do ilu tokenów chcą uzyskać dostęp. MetaMask na przykład zadba o to, aby informacja ta została wyświetlona na ekranie zatwierdzania przed potwierdzeniem, co daje wyraźniejszy obraz tego, na co się rejestrujesz.
Żądania dostępu od dappów mogą różnić się od konkretnych, ograniczonych ilości aż po całkowicie nielimitowane, gdzie inteligentny kontrakt może pobierać z Twojego portfela tyle, ile chce. Zasadniczo nieograniczony dostęp sam w sobie nie stanowi problemu ani czerwonej flagi – wiele renomowanych platform, takich jak główne DEX, robi to, aby oszczędzić Ci bólu związanego z częstym ponownym zatwierdzaniem, jeśli regularnie korzystasz z dapp. Problem pojawia się w przypadku dappów, które żądają nieograniczonego dostępu do Twoich tokenów z wyraźnym zamiarem kradzieży.
Przed zatwierdzeniem dostępu inteligentnego kontraktu do dowolnej ilości tokenów powinieneś przejrzeć w myślach listę kontrolną, aby ocenić ryzyko. Często w Internecie można spotkać się z akronimem „DYOR”: zdecydowanie dobrym nawykiem jest przeprowadzenie własnych badań przed zezwoleniem na dostęp. Na przykład:
Jak znany jest projekt?
Jak długo to już trwa?
Czy ma aktywny kanał społecznościowy na Discordzie, Telegramie lub Twitterze?
Czy twórcy/właściciele dapp są przejrzyści i publicznie dostępni, np. na Twitterze lub Discordzie?
Czy ostatnio doszło do naruszenia bezpieczeństwa? Warto tu szukać.
Czy przeszli zewnętrzny audyt inteligentnych kontraktów?
Sprawdź adres umowy w eksploratorze bloków. Niektóre eksploratory, takie jak Etherscan, posiadają mechanizm raportowania oparty na użytkownikach, który oznacza fałszywe adresy (umowy lub portfele). Nawet jeśli nie są oznaczone, sprawdź, czy nie występują podejrzane działania, takie jak duże wpływy lub wypływy środków pieniężnych w krótkich okresach czasu.
Podsumowując:
Zamiast tylko symbolicznego gestu wskazującego zgodę, tokenowe zatwierdzenia są przyziemnym, istotnym aspektem interakcji z Web3. Kilka kluczowych punktów:
Kryptografia klucza publicznego służy do uwierzytelniania Twoich uprawnień podczas interakcji z dappami.
Uprawnienia Dapp obejmują zezwolenie dappom na przeglądanie salda portfela.
Zatwierdzanie tokenów obejmuje zezwolenie inteligentnej umowie dapp na dostęp do określonego tokena w portfelu i jego przeniesienie.
Zawsze sprawdzaj referencje dappa i upewnij się, że jest godny zaufania, zanim zatwierdzisz jego inteligentną umowę.

