Blog
Jak odzyskać brakujące słowo we frazie seed (1–4 słowa)
W skrócie
Brakujące słowa BIP-39 można czasem odtworzyć, sprawdzając kandydatów z listy 2048 słów. Suma kontrolna odrzuca część kombinacji, lecz nie rozpoznaje Państwa portfela. Wynik trzeba potwierdzić starym adresem odbiorczym, xpub lub innymi odpowiednimi danymi.
Należy zachować pozostałe słowa, ich pozycje i czytelne fragmenty. Każde całkowicie nieznane słowo na znanej pozycji ma 2048 kandydatów; kilka luk lub niepewna kolejność znacznie zwiększają zakres poszukiwań. Crypto Recovers ocenia przypadki z maksymalnie czterema brakującymi słowami, lecz wykonalność zależy również od wskazówek i danych do weryfikacji. BTCRecover może prowadzić poszukiwania offline przy właściwych ustawieniach portfela. Nie wolno wpisywać częściowej frazy na stronie oferującej odzyskiwanie. Po odzyskaniu dostępu z ujawnioną frazą należy przenieść kryptowaluty do portfela z nową frazą.

We frazie odzyskiwania jest luka. Papier się podarł, atrament wyblakł albo zapisanych zostało tylko jedenaście z dwunastu słów. Luka nie zmienia niczego w tym, co jest zapisane w łańcuchu bloków: monety pozostają na miejscu i czekają, aż odbudują Państwo drogę dostępu. To, jak realna jest ta odbudowa, sprowadza się do arytmetyki, a liczby warto zrozumieć przed pierwszą próbą.
Dlaczego lukę w ogóle można wypełnić
Każde słowo frazy pochodzi ze stałej listy 2048 możliwości. Właśnie dlatego brakujące słowo we frazie odzyskiwania da się znaleźć: to nie zgadywanie na oślep, tylko jeden z 2048 znanych kandydatów na każde puste miejsce. Fraza ma też wplecioną w słowa sumę kontrolną (jak działa i dlaczego portfele odrzucają błędne frazy, wyjaśnia nasz przewodnik po nieprawidłowych frazach odzyskiwania). Tutaj działa ona po cichu: odrzuca większość kandydatów, zanim cokolwiek zostanie przetestowane. W przypadku frazy 12-wyrazowej z jednym pustym miejscem weryfikację sumy kontrolnej przechodzi tylko około 128 z 2048 kandydatów; w przypadku frazy 24-wyrazowej – około 8. Liczby te wynikają ze standardu BIP-39, który we frazie 12-wyrazowej przeznacza na sumę kontrolną 4 bity, a w 24-wyrazowej 8.
Ostatnim elementem jest jeden ze starych adresów odbiorczych. Każdy kandydat, który przejdzie weryfikację sumy kontrolnej, otwiera inny portfel; dopiero adres wskazuje, który z tych portfeli należy do Państwa. Szukanie, filtrowanie i potwierdzenie: na tym polega cała metoda.
Przed pierwszym testem
Warto zapisać wszystko, co jeszcze pozostało, zanim pamięć się zatrze: ocalałe słowa na swoich pozycjach, długość frazy, puste pozycje i pochodzenie frazy. Podarty lub wyblakły oryginał należy zabezpieczyć i jak najmniej go dotykać. Fraza powinna pozostać offline; nie należy fotografować jej telefonem ani aparatem, który może synchronizować zdjęcia z internetem. Częściowo czytelne słowo zawęża pozycję z 2048 kandydatów do kilku, a ten fragment warto chronić. Następnie trzeba odszukać jeden stary adres odbiorczy – w rejestrze transakcji, w historii wypłat z giełdy lub na starym zrzucie ekranu portfela. Znany adres pomaga, ale nie jest jedynym punktem odniesienia: kandydatów można też sprawdzać przy użyciu xpub lub, w obsługiwanych sieciach, bazy adresów blockchain.
Jeśli fraza pochodzi z urządzenia Ledger lub Trezor, sytuacje specyficzne dla danej marki opisujemy osobno: w przewodniku po frazie odzyskiwania Ledgera i w przewodniku po frazie odzyskiwania Trezora.
Ile kosztują poszukiwania, w zależności od liczby brakujących słów
Jedno brakujące słowo: rozwiązane w kilka sekund. Kandydatów jest 2048; większość odpada przy weryfikacji sumy kontrolnej, a o reszcie rozstrzyga adres. To najlepsza możliwa sytuacja i zwykle da się ją rozwiązać samodzielnie, narzędziem opisanym poniżej.
Dwa brakujące słowa: wciąż szybko. Około 4,2 miliona kombinacji. Zwykły komputer przeliczy je w kilka minut, jeśli jest adres, z którym można je porównać.
Trzy brakujące słowa: ciężko, ale realnie. Około 8,6 miliarda kombinacji. To już wykracza poza możliwości laptopa i wymaga oprogramowania opartego na GPU, które testuje setki tysięcy kombinacji na sekundę; trwa to od kilku godzin do kilku dni.
Cztery brakujące słowa: praktyczna granica. Około 17,6 biliona kombinacji przed filtrowaniem. Wykonalne przy mocnym sprzęcie i odpowiednim czasie, a każde dodatkowe ograniczenie (częściowo czytelne słowo, znana pierwsza litera) drastycznie zmniejsza przestrzeń poszukiwań. Na czterech wyznaczamy własną granicę roboczą: Crypto Recovers pracuje z frazami, w których brakuje do czterech słów.
Pięć lub więcej: nierealne. Przestrzeń poszukiwań rośnie 2048-krotnie z każdym kolejnym pustym miejscem, więc poszukiwania tej skali są w praktyce niewykonalne, chyba że inne wskazówki mocno je zawężą, na przykład częściowo czytelne litery albo krótka lista kandydatów na daną pozycję. Żaden serwis nie zmieni tej arytmetyki, a ten, kto mimo to obiecuje wynik, nie jest wobec Państwa uczciwy.
Samodzielne odzyskanie jednego brakującego słowa
Narzędzie do odzyskiwania fraz nie szuka na ślepo. Fraza BIP-39 ma sumę kontrolną, a każde słowo pochodzi z tej samej listy 2048 słów. Dlatego luka jednego słowa oznacza ograniczone poszukiwania: narzędzie łączy znane słowa z każdym kandydatem z listy, zostawia tylko kombinacje, które przechodzą sumę kontrolną, i weryfikuje wynik względem jednego ze starych adresów odbiorczych. Przy jednym brakującym słowie to szybkie, zawężone wyszukiwanie, a nie brute force.
Do samodzielnej pracy służy BTCRecover – narzędzie open source stworzone z myślą o niekompletnych frazach. Za odzyskiwanie fraz odpowiada w nim seedrecover.py:
- Proszę pobrać BTCRecover z oficjalnego repozytorium na GitHubie i upewnić się, że to prawdziwa strona projektu, a nie kopia o podobnej nazwie. Instalację opisuje dokumentacja narzędzia.
- Narzędzie należy skopiować na komputer, a potem odłączyć ten komputer od internetu i pozostawić go offline przez całą sesję.
- Proszę uruchomić seedrecover.py; po dwukrotnym kliknięciu pojawia się krótka seria pytań. Pytanie o plik portfela można pominąć, chyba że mają Państwo plik portfela Electrum; następnie należy wybrać typ portfela, z którego pochodzi fraza.
- Pytanie o główny klucz publiczny (master public key) również można pominąć, jeśli nie mają go Państwo. Gdy narzędzie poprosi o adresy, proszę wpisać jeden lub kilka starych adresów odbiorczych, najlepiej tych najwcześniejszych, oraz limit generowania adresów, który je obejmuje: 10, jeśli były wśród pierwszych dziesięciu adresów utworzonych przez portfel. To z nimi narzędzie porównuje kandydatów.
- Proszę wpisać najlepsze przybliżenie frazy: posiadane słowa we właściwej kolejności, z pominięciem brakującego.
- Pozostaje poczekać na wynik. Przy jednym pustym miejscu narzędzie szybko sprawdza pozostałych kandydatów i wyświetla uzupełnioną frazę, gdy któryś z nich pasuje do adresu.
Uzupełnioną frazę należy przywrócić bezpośrednio w aplikacji portfela na własnym urządzeniu. Nigdy nie wolno wpisywać frazy odzyskiwania, nawet częściowej, na żadnej stronie internetowej: frazę, która trafiła do formularza online, trzeba uznać za ujawnioną, niezależnie od tego, czy była kompletna.
Kilka brakujących słów lub niepewne pozycje
BTCRecover radzi sobie też z lukami obejmującymi kilka słów, w tym z trudniejszym przypadkiem, gdy słowa są znane, ale nie wiadomo, które pozycje są puste. Warto jednak uczciwie ocenić, gdzie leży granica: konfigurowanie wyszukiwań GPU na miliardach kombinacji to praca w wierszu poleceń, a błędna konfiguracja potrafi zmarnować całe dni, nie dając przy tym żadnego oczywistego sygnału błędu. Jeśli brakuje dwóch lub więcej słów, a takie narzędzia to nie Państwa świat, to właśnie moment, w którym warto przekazać sprawę – zamiast po tygodniu nieudanych prób.
Kiedy rekonstrukcja nie jest możliwa
Pięć lub więcej brakujących słów wykracza poza naszą granicę roboczą czterech słów: poszukiwania tej skali nie są realne, chyba że dodatkowe wskazówki znacznie zawężą liczbę kandydatów. Bez znanego adresu lub innych wiarygodnych danych do weryfikacji nie ma z czym porównać wyniku: kandydaci, którzy przechodzą weryfikację sumy kontrolnej, są wszyscy jednakowo prawdopodobni, więc nawet małe poszukiwania nie wskażą, która odpowiedź jest właściwa. Całkowicie utraconej frazy – bez słów, bez adresu, bez pliku portfela – nie odtworzy nikt, a płacenie komuś za próbę dokłada tylko drugą stratę do pierwszej.
Po odbudowie: zamknięcie luki na dobre
Fraza, która raz straciła słowa, straci je ponownie w ten sam sposób. Gdy dostęp wróci, wszystko trzeba przenieść do portfela ze świeżo wygenerowaną frazą i wykonać jej pełną kopię zapasową: wszystkie pozycje, ponumerowane, z zapisaną liczbą słów. Nie należy dalej korzystać z załatanej oryginalnej frazy. Na czym ją zapisać i gdzie przechowywać, wyjaśnia nasz przewodnik po kopiach zapasowych.
Potrzebna pomoc w odzyskaniu brakujących słów?
Jeśli we frazie brakuje do czterech słów i mogą Państwo wskazać jeden ze starych adresów, Crypto Recovers przeprowadzi bezpłatną ocenę i uczciwie powie, czy poszukiwania są realne, zanim dojdzie do jakiegokolwiek zobowiązania. Bez odzyskania, bez opłaty, a umowę podpisuje się przed rozpoczęciem jakiejkolwiek pracy. Przekazanie w razie sukcesu pozostaje celowo proste: Państwo, ponownie otwarty portfel i nowy portfel pod Państwa wyłączną kontrolą. Monety przenoszą Państwo samodzielnie i w tej samej sesji, w obecności obu stron, rozliczają opłatę za sukces. Państwa monety ani przez chwilę nie trafiają do nas: nie trzymamy ich, nie przechowujemy i nie zarządzamy nimi.
FAQ: odzyskiwanie brakującego słowa
Czy brakujące słowo frazy odzyskiwania da się odnaleźć?
Zwykle tak, jeśli znany jest co najmniej jeden adres z portfela. Każde brakujące miejsce to poszukiwanie na liście BIP-39 liczącej 2048 słów, a suma kontrolna usuwa większość kandydatów jeszcze przed testowaniem. Im trudniejsza luka (więcej brakujących słów, brak adresu), tym więcej kosztują poszukiwania, ale pojedyncze brakujące słowo zwykle udaje się znaleźć w ciągu kilku sekund lub minut. Crypto Recovers pracuje z frazami, w których brakuje do czterech słów.
Ile czasu zajmuje znalezienie brakującego słowa?
Jedno brakujące słowo: od kilku sekund do kilku minut na zwykłym komputerze. Dwa: od minut do godzin. Trzy: od godzin do dni z oprogramowaniem opartym na GPU. Cztery: od dni do tygodni przy mocnym sprzęcie i każdym dodatkowym ograniczeniu, które da się podać. Uczciwa odpowiedź dla konkretnej sprawy zależy od tego, ile słów brakuje i co jeszcze pozostało.
Co, jeśli nie mam starego adresu odbiorczego?
Bez adresu lub innych wiarygodnych danych do weryfikacji sama suma kontrolna nie pozwala ustalić, który kandydat należy do Państwa portfela. Adres z rejestru transakcji, z historii wypłat z giełdy lub ze starego zrzutu ekranu portfela to punkt zaczepienia dla potwierdzenia: znalezienie takiego adresu jest zwykle najbardziej użytecznym krokiem.
Czy sama suma kontrolna może odzyskać brakujące słowo?
Suma kontrolna zawęża pojedyncze brakujące słowo z 2048 kandydatów do bardzo małego zbioru (około 128 dla frazy 12-wyrazowej, około 8 dla 24-wyrazowej), ale nie wskaże, który kandydat jest właściwy. Do potwierdzenia nadal potrzebny jest adres lub inne wiarygodne dane do weryfikacji.
Brakujące słowo jest ostatnie. Czy to nie jest po prostu suma kontrolna, którą da się obliczyć?
Tylko częściowo. Ostatnie słowo zawiera sumę kontrolną, ale niesie też fragment samego klucza, więc nie ma jednej odpowiedzi do wyliczenia: we frazie 12-wyrazowej na tę pozycję pozostaje 128 prawidłowych kandydatów, w 24-wyrazowej – 8. To krótkie listy, ale wciąż listy, a właściwego kandydata wskazuje stary adres. Ręczne sprawdzanie wszystkich 2048 słów marnuje większość wysiłku na kandydatów, których matematyka już wykluczyła.
Jak odzyskać brakujące słowo z Ledgera lub Trezora?
Metoda jest taka sama jak przy każdym portfelu BIP-39: narzędziu takiemu jak BTCRecover należy podać posiadane słowa, z pominięciem brakującego, oraz jeden ze starych adresów odbiorczych, a następnie przywrócić uzupełnioną frazę na urządzeniu. Samo urządzenie nie jest potrzebne aż do ponownego wprowadzenia pełnej frazy. Sytuacje specyficzne dla Ledgera i Trezora opisujemy w przewodniku po frazie odzyskiwania Ledgera i w przewodniku po frazie odzyskiwania Trezora.
Mam wszystkie 12 słów, ale nie znam ich kolejności. Czy portfel nadal można odzyskać?
Zwykle tak, o ile znany jest stary adres odbiorczy. Dwanaście znanych słów w nieznanej kolejności daje 479 001 600 możliwych ułożeń (12 × 11 × 10 … × 1, czyli silnia z 12): zdecydowanie za dużo, by sprawdzać je ręcznie, ale ograniczone zadanie dla oprogramowania. Weryfikacja sumy kontrolnej odrzuca większość ułożeń, zanim cokolwiek zostanie przetestowane, a adres potwierdza właściwe. BTCRecover wykonuje to offline jako wyszukiwanie typu token list (z GPU trwa ono jeszcze krócej), a każda pozycja, którą da się ustalić na pewno, wyraźnie zmniejsza liczbę możliwości.
Ktoś mógł zobaczyć 8 z moich 12 słów. Czy portfel jest nadal bezpieczny?
Nie. Osiem znanych słów pozostawia tylko cztery nieznane, czyli 2048⁴ (około 17,6 biliona) kandydatów: to samo wyszukiwanie, które ten przewodnik opisuje jako wykonalne przy mocnym sprzęcie i odpowiednim czasie. Atakujący nie potrzebuje adresu, bo każdego kandydata może sprawdzić bezpośrednio w łańcuchu bloków. Wszystko należy teraz przenieść do portfela ze świeżo wygenerowaną frazą.
