Czym jest WalletConnect i jak działa z SSP

·7 min czytania·Autor: SSP Editorial Team
Kod QR WalletConnect łączący rozszerzenie przeglądarki SSP Wallet i aplikację mobilną SSP Key z dApp.

Czym jest WalletConnect i jak działa z SSP

Jeśli kiedykolwiek otworzyłeś zdecentralizowaną giełdę, marketplace NFT lub aplikację pożyczkową i zobaczyłeś przycisk "Connect Wallet" obok kodu QR, już spotkałeś WalletConnect. To cicha hydraulika łącząca portfele samodzielnej kustodii z aplikacjami, których ludzie naprawdę używają. Dla użytkownika SSP pytanie nie brzmi tylko "czym jest WalletConnect", ale "co się zmienia w moim bezpieczeństwie, gdy go używam, a co pozostaje takie samo?"

Krótka odpowiedź: WalletConnect to drzwi. Twoje klucze i ochrona 2-of-2 SSP zostają dokładnie tam, gdzie były.

Czym tak naprawdę jest WalletConnect

WalletConnect to otwarty protokół do przekazywania żądań podpisu między zdecentralizowaną aplikacją (dApp) a portfelem. To nie jest kustodian. Nie przechowuje środków. Nie widzi ani twojej frazy seed, ani kluczy prywatnych. Gdy portfel i dApp łączą się przez WalletConnect, oba punkty końcowe ustanawiają zaszyfrowaną sesję poprzez sieć relayów, a wiadomości krążą tam i z powrotem w obrębie tej sesji. Relay widzi jedynie zaszyfrowane bloki; odczytać je mogą tylko dwa punkty końcowe.

Jest używany niemal wszędzie w ekosystemie i właśnie dlatego jeden przepływ po stronie portfela przeprowadza cię przez setki aplikacji bez konieczności uczenia się nowego scenariusza za każdym razem. Protokół jest otwarcie udokumentowany na docs.walletconnect.com, a obszerny katalog aplikacji kompatybilnych z WalletConnect znajdziesz na ethereum.org/en/dapps.

Podstawowy przebieg, krok po kroku

Rytuał połączenia jest prawie zawsze taki sam, niezależnie od używanej dApp.

  1. dApp pokazuje opcję "Connect Wallet" i prezentuje kod QR lub — jeśli jesteś na telefonie — deep link.
  2. Otwierasz SSP, wybierasz połączenie z dApp i skanujesz kod QR (lub klikasz link).
  3. SSP pokazuje, o co prosi dApp: o sesję, twój adres, łańcuch, na którym się łączysz.
  4. Zatwierdzasz sesję. Między SSP a dApp jest teraz otwarty zaszyfrowany kanał.
  5. Gdy wykonujesz w dApp jakąkolwiek czynność wymagającą podpisu — swap, zatwierdzenie tokenów, depozyt — dApp wysyła żądanie podpisu przez kanał. SSP pokazuje dokładnie, o co jesteś proszony.
  6. Decydujesz. Jeśli zatwierdzisz, proces podpisywania uruchamia się w SSP, a podpisana transakcja wraca do dApp, która ją rozsyła.
  7. Gdy skończysz, rozłączasz sesję.

Najważniejsza rzecz do zauważenia: dApp nigdy nie prosi o twoje klucze prywatne. Prosi o podpisy. Każdy podpis to osobna decyzja, którą podejmujesz w portfelu.

Jak model podpisu przekłada się na SSP

To miejsce, w którym SSP zmienia obraz w sposób, którego większość portfeli nie potrafi powtórzyć. W typowym portfelu z pojedynczym podpisem każde żądanie podpisu to jedno zatwierdzenie w UI portfela — szybkie, ale też pojedynczy punkt awarii. Jeśli to jedno urządzenie zostanie skompromitowane lub stukniesz "zatwierdź" przy wrogim żądaniu, podpis się wykona.

SSP to portfel multisig 2-of-2. Klucz 1 mieszka w rozszerzeniu przeglądarki SSP Wallet. Klucz 2 mieszka w twoim telefonie w aplikacji mobilnej SSP Key. Każda transakcja potrzebuje obu kluczy, za każdym razem. Ten model nie znika, gdy używasz WalletConnect — rozszerza się na niego.

Gdy dApp wysyła żądanie podpisu przez WalletConnect:

  • Żądanie trafia najpierw do rozszerzenia SSP Wallet w twoim komputerze.
  • Przeglądasz to, o co dApp prosi, byś podpisał — kontrakt, kwotę, łańcuch, calldata gdy wybierzesz jego wyświetlenie.
  • Zatwierdzasz w rozszerzeniu. Rozszerzenie wytwarza swoją część podpisu.
  • Żądanie zostaje wysłane do SSP Key na twoim telefonie w celu wspólnego podpisu. Widzisz tam te same szczegóły.
  • Zatwierdzasz w telefonie. SSP Key wytwarza swoją część.
  • Obie części łączą się w jeden poprawny podpis, który wraca do dApp.

Na łańcuchach UTXO dzieje się to jako podpis multisig BIP-48; na łańcuchach EVM (Ethereum, Polygon, Base, BNB Smart Chain, Avalanche) jest to podpis 2-of-2 agregowany Schnorrem, weryfikowany przez smart account ERC-4337. Inna kryptografia, ta sama właściwość: dwa urządzenia, dwie aprobaty, jedna transakcja. Jeśli chcesz głębiej zajrzeć w stronę EVM, zobacz architekturę account abstraction w SSP, a po fundamentalne pojęcie — czym jest multisig 2-of-2.

dApp phishingowa, która oszuka rozszerzenie, wciąż musi przebrnąć przez twój telefon. O to właśnie chodzi.

Konsekwencje bezpieczeństwa, które warto znać

WalletConnect nie osłabia twojego bezpieczeństwa; zmienia to, na co musisz uważać. Poniższe ryzyka nie są wyłącznie WalletConnectowe, ale podłączona dApp to częste miejsce, w którym się je spotyka.

dAppy phishingowe. Każdy może zbudować stronę przypominającą popularny protokół i poprosić cię o połączenie. Portfel nie ma jak rozpoznać, która jest prawdziwa. Zawsze przed połączeniem potwierdź, że jesteś na właściwej domenie. Dodawaj używane aplikacje do zakładek; nie wchodź na nie przez reklamy w wyszukiwarce ani linki na czatach.

Złośliwe żądania podpisu. Gdy sesja jest otwarta, dApp może prosić o dowolne podpisy. Interfejs swapu może podsunąć ci zatwierdzenie tokenów dające nieznanemu kontraktowi pozwolenie na opróżnienie salda tokena. Czytaj to, co pokazuje SSP. Jeśli żądanie podpisu wygląda obco — kontrakt, którego nie rozpoznajesz, nieograniczone zatwierdzenie, przelew na adres, który nie jest twój — odrzuć je. Przegląd 2-of-2 w telefonie to twoja druga szansa, by to wychwycić.

Ślepe podpisywanie. Czasem podpisywane dane są nieprzejrzyste — długi ciąg hex, który nie dekoduje się do czytelnych pól. Traktuj ślepe żądania podpisu z nieufnością. Wybieraj aplikacje, które pokazują czytelną intencję tego, co podpisujesz.

Mylenie linku z aplikacją. WalletConnect to protokół. Wiele portfeli go implementuje. Strona, która mówi "Use WalletConnect", nie jest markowym sygnałem zaufania — to standard hydrauliczny. Nie myl "dApp używa WalletConnect" z "dApp jest bezpieczny".

Uprawnienia o ograniczonym zakresie. Sesja może być ograniczona do konkretnych łańcuchów i metod. Gdy SSP pokazuje ci żądanie sesji, zobacz, o co jest pytane. Nie szkodzi odrzucenie sesji, która prosi o więcej, niż aplikacja faktycznie potrzebuje.

Zapomniane sesje. Sesja, o której zapomniałeś, wciąż jest sesją. Jeśli frontend dApp zostanie później skompromitowany, aktywna sesja to przyczółek. Wyrób sobie nawyk rozłączania po skończonej pracy.

Konkretne nawyki, które sprawiają, że to działa

Kilka drobnych dyscyplin utrzymuje twoje korzystanie z WalletConnect w czystości.

  • Sprawdź adres URL dAppa przed zeskanowaniem QR-a połączenia. Wpisuj nazwy domen, zamiast klikać linki z czatów albo reklam.
  • Czytaj każde żądanie podpisu. Jaki kontrakt jest wywoływany? Na jakim łańcuchu? Jaka kwota? Nieograniczone zatwierdzenie tokenów to coś innego niż zatwierdzenie o stałej kwocie — oba mogą być legalne, ale musisz wiedzieć, które podpisujesz.
  • Traktuj potwierdzenie w telefonie jako drugie spojrzenie. Jeśli żądanie wyglądało dobrze w komputerze, ale źle w telefonie, odrzuć je. Dwa urządzenia oznaczają dwie okazje, by zauważyć.
  • Rozłączaj sesje po zakończeniu. SSP daje ci listę sesji; traktuj ją jak listę otwartych drzwi.
  • Wybieraj aplikacje o dobrej reputacji z historią audytów. Skłaniaj się ku protokołom, które są od dłuższego czasu, publikują audyty i nie wymagają logowania poza standardowym handshake'em WalletConnect.
  • Trzymaj frazę seed z dala od każdego przepływu dAppa. Żadna legalna dApp nigdy nie potrzebuje twojej frazy seed. Żądania podpisu to sposób, w jaki dAppy rozmawiają z portfelem; wszystko, co prosi o seed, to oszustwo. Zobacz dobre praktyki dotyczące frazy seed, by zgłębić temat.
  • Jeśli łączysz się na Ethereum, obowiązują te same zasady specyficzne dla łańcucha dotyczące gas, nonce i interakcji z kontraktami — Ethereum w SSP omawia szczegóły po stronie łańcucha.

Wiążąc wszystko razem

WalletConnect to drzwi między SSP a ekosystemem dApp. Jest zaszyfrowany, open source i używany przez większość portfeli i protokołów, jakie napotkasz. Nie zmienia tego, gdzie żyją twoje klucze, i nie osłabia modelu 2-of-2 SSP. Każda transakcja, o którą prosi dApp, wciąż musi przejść zarówno przez rozszerzenie przeglądarki, jak i twój telefon — to ta właściwość bezpieczeństwa, którą zyskałeś, wybierając SSP, i podróżuje z tobą przez każdą dApp, z którą się łączysz.

Klucze zostają z tobą. Drzwi są otwarte tylko na czas, gdy przez nie przechodzisz.

Udostępnij ten artykuł

Powiązane artykuły