Jak udowodnić, że portfel kryptowalut należy do ciebie
Aktualizacja:
Najprostszy dowód to podpisanie kluczem portfela krótkiej wiadomości tekstowej, którą każdy może potem sprawdzić. Drugi sposób to mały przelew z adresu w kwocie ustalonej przez giełdę lub innego dostawcę usług. Nigdy nie musisz podawać frazy odzyskiwania (seed) ani klucza prywatnego.
Kiedy ktoś pyta, czy portfel jest twój
Od 30 grudnia 2024 r. w całej UE stosuje się rozporządzenie (UE) 2023/1113 w sprawie informacji towarzyszących transferom środków pieniężnych i niektórych kryptoaktywów. Polska wersja używa pojęcia „adres niehostowany”. To adres rozproszonego rejestru niepowiązany z dostawcą usług w zakresie kryptoaktywów ani z podobnym podmiotem spoza UE (art. 3 pkt 20), czyli w praktyce portfel, którym zarządzasz sam.
Rozporządzenie nakłada obowiązki na dostawców usług w zakresie kryptoaktywów:
- Wypłata na twój portfel (art. 14 ust. 5). Przy transferze kwoty przekraczającej 1000 EUR na adres niehostowany dostawca obsługujący inicjatora podejmuje odpowiednie środki, by ocenić, czy adres jest własnością inicjatora lub jest przez niego kontrolowany.
- Wpłata z twojego portfela (art. 16 ust. 2). Przy transferze kwoty przekraczającej 1000 EUR z adresu niehostowanego dostawca obsługujący beneficjenta ocenia, czy adres jest własnością beneficjenta lub jest przez niego kontrolowany.
Europejski Urząd Nadzoru Bankowego w wytycznych EBA/GL/2024/11 (pkt 83) wymienia metody takiej oceny, m.in.:
- przesłanie z adresu i na adres określonej kwoty, ustalonej przez dostawcę, najlepiej najmniejszej jednostki danego kryptoaktywa;
- podpisanie przez klienta określonej wiadomości kluczem odpowiadającym temu adresowi.
Jeśli jedna metoda nie wystarcza, dostawca łączy kilka (pkt 85). Potwierdzony adres może trafić na listę zaufanych adresów i wtedy nie trzeba powtarzać sprawdzenia przy kolejnych transakcjach (pkt 86).
Podobne pytanie zadaje bank, który bada źródło środków. Coinbase pisze, że przy portfelach samodzielnie przechowywanych może poprosić o dodatkowe informacje, by sprawdzić, że kontrolujesz portfel.
Podpis wiadomości w sieciach EVM (EIP-191)
W Ethereum i sieciach zgodnych z EVM (Base, Arbitrum, Optimism, Polygon) portfele podpisują wiadomości według standardu ERC-191 (EIP-191). Metoda personal_sign dodaje przed treścią prefiks \x19Ethereum Signed Message:\n i długość wiadomości.
Prefiks ma konkretny cel. Bajt 0x19 na początku sprawia, że podpisane dane nie są poprawnym kodowaniem RLP, więc nie mogą być transakcją Ethereum. Podpis zwykłej wiadomości nie przelewa środków.
Jak to wygląda w praktyce:
- Odbiorca podaje treść wiadomości albo ty ją proponujesz.
- Wiadomość zawiera twój adres, datę i cel, np. „Potwierdzam, że kontroluję adres 0x… Wniosek z 7.11.2026 dla banku X”.
- W portfelu wybierasz podpisanie wiadomości i sprawdzasz, że okno pokazuje dokładnie ten tekst.
- Wysyłasz odbiorcy adres, treść wiadomości i podpis.
Podpis wiadomości w Bitcoinie (signmessage, BIP-322)
Bitcoin Core ma polecenie signmessage, które podpisuje wiadomość kluczem prywatnym adresu. Drugą stronę sprawdza polecenie verifymessage.
Starszy format podpisu obsługuje tylko adresy P2PKH, czyli zaczynające się od „1”. BIP-322 opisuje ogólny format podpisanych wiadomości dla wszystkich typów skryptów, także dla nowszych adresów. Wiadomość ma postać podobną do transakcji, ale z nieprawidłowym wejściem, więc nie da się jej rozgłosić w sieci. Sprawdź, czy twój portfel obsługuje BIP-322.
BIP-322 wskazuje też ograniczenie. Podpis pokazuje, że podpisujący kontrolował środki w chwili podpisu. Nie dowodzi, że nadal je ma, ani że wysłał wcześniejszą transakcję.
Test małym przelewem
Gdy podpis nie wchodzi w grę, na przykład dlatego, że portfel nie obsługuje podpisywania wiadomości, zostaje test przelewem. Dostawca ustala kwotę, a ty wysyłasz ją z adresu, który chcesz potwierdzić. Wytyczne EBA opisują to jako przesłanie określonej kwoty z adresu i na adres, najlepiej w najmniejszej jednostce danego kryptoaktywa. W przeciwieństwie do podpisu taki przelew jest transakcją w sieci.
Jak sprawdzić podpis
Dla adresów EVM możesz użyć strony etherscan.io/verifiedSignatures. W formularzu „Verify Signature” wpisujesz adres, wiadomość i podpis. Wybierz „Signature Verification only (not published)”, jeśli nie chcesz publikować podpisu. Opcja „Verify & publish” dodaje go do publicznej listy.
Podpis Bitcoin w starszym formacie sprawdza polecenie verifymessage w Bitcoin Core; przykład jest w dokumentacji signmessage. Sprawdzenie samodzielnie przed wysłaniem oszczędza jedną rundę pytań.
Czego nigdy nie robić
- Nie podawaj frazy seed ani klucza prywatnego. Ethereum.org pisze: „Never, for any reason, share your recovery phrase or private keys!”. Dodaje, że żadna legalna usługa, pracownik wsparcia ani strona nie poprosi cię o nie.
- Nie podpisuj tego, czego nie rozumiesz. Ethereum.org zaleca przeczytać treść transakcji przed podpisaniem. Jeśli zamiast zwykłego tekstu portfel pokazuje przelew, zgodę na wydawanie tokenów albo nieczytelne dane, przerwij.
- Nie instaluj oprogramowania „do weryfikacji” od nieznanych osób. Podpis zrobisz w swoim portfelu, a sprawdzisz go w publicznym narzędziu.
- Nie podpisuj wiadomości bez daty i celu. Taki podpis można pokazać w innej sprawie.
Lista kontrolna
- Ustal, kto pyta i dlaczego: bank, giełda czy notariusz.
- Zapytaj, jaką metodę przyjmuje: podpis wiadomości, test przelewem czy obie.
- Przygotuj wiadomość z adresem, datą i celem.
- Podpisz ją w portfelu, sprawdzając, że okno pokazuje zwykły tekst.
- Sprawdź podpis samodzielnie przed wysłaniem.
- Wyślij adres, treść wiadomości i podpis kanałem wskazanym przez odbiorcę.
- Jeśli chodzi o źródło środków, dołącz historię transakcji z hashami. Zobacz bank pyta o pochodzenie środków z kryptowalut i zablokowane konto na giełdzie.
Jak pomaga Fundsheet
W Fundsheet by Mintward kontrolę nad adresem EVM potwierdzasz, podpisując w portfelu zwykłą wiadomość tekstową (personal_sign, EIP-191). Taki podpis nie autoryzuje żadnej transakcji. Dla Bitcoina możesz wkleić podpisaną wiadomość. Raport PDF łączy to z historią transakcji, sekcją „skąd przyszły środki” i stroną weryfikacji, na której bank sprawdzi po skrócie SHA-256, że PDF nie był zmieniany. Podgląd jest bezpłatny, a pełny PDF kosztuje 15 USDC, bez konta i bez cookies: fundsheet.mintward.xyz/pl.
Ten poradnik to zestawienie informacji, a nie porada prawna ani podatkowa. Zapytaj swój bank, jakie dokumenty przyjmuje.
Źródła
- Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2023/1113 z dnia 31 maja 2023 r. w sprawie informacji towarzyszących transferom środków pieniężnych i niektórych kryptoaktywów – EUR-Lex, Unia Europejska
- Guidelines on information requirements in relation to transfers of funds and certain crypto-assets transfers under Regulation (EU) 2023/1113 (EBA/GL/2024/11) – Europejski Urząd Nadzoru Bankowego (EBA)
- ERC-191: Signed Data Standard – Ethereum Improvement Proposals
- BIP-322: Generic Signed Message Format – Bitcoin Improvement Proposals
- signmessage (RPC) – Bitcoin Developer Documentation
- View, Sign & Verify Message Signatures – Etherscan
- Ethereum security – ethereum.org
- Provide information for an account review – Coinbase Help