Zelcore
Z
Zelcore TeamMulti-Asset Crypto Wallet & Web3 Ecosystem

Problem przechowywania aktywów w wielu sieciach — jedna fraza seed, wiele rejestrów

8 min czytania
Problem przechowywania aktywów w wielu sieciach — jedna fraza seed, wiele rejestrów

Tworzysz kopię zapasową jednej kartki z dwunastoma lub dwudziestoma czterema słowami i odchodzisz z przekonaniem, że Twoje kryptowaluty są bezpieczne. Ta kartka nie chroni jednak jednego konta. Chroni każde konto we wszystkich blockchainach obsługiwanych przez Twój portfel. W Zelcore oznacza to jednoczesną obsługę ponad 80 sieci. Zrozumienie, dlaczego tak jest i co to oznacza dla decyzji dotyczących przechowywania aktywów, stanowi podstawę całej wiedzy o bezpieczeństwie samodzielnego przechowywania.

Jak fraza seed koduje cały wszechświat kluczy

Fraza seed wygląda jak zestaw przypadkowych słów, ale w rzeczywistości precyzyjnie koduje surową entropię. BIP-39 — propozycja ulepszenia Bitcoin, która ustandaryzowała ten format — określa listę dokładnie 2048 angielskich słów. Każde słowo koduje 11 bitów informacji, więc żadne nie jest ozdobnikiem: każde słowo we frazie niesie konkretne dane. Fraza składająca się z 12 słów koduje 128 bitów entropii, a fraza z 24 słów — 256 bitów.

Sama fraza mnemoniczna nie jest seedem kryptograficznym. Zanim portfel wygeneruje jakiekolwiek klucze, przetwarza frazę za pomocą PBKDF2-HMAC-SHA512 — wymagającej obliczeniowo funkcji wzmacniającej klucz — wykonując 2048 iteracji. Wynikiem jest 512-bitowa wartość binarna: właściwy seed. To wzmocnienie sprawia, że ataki siłowe są niepraktyczne, nawet jeśli atakujący odgadnie część słów.

Ważna konsekwencja: jeśli dodasz opcjonalne hasło (nazywane czasem 25. słowem), funkcja PBKDF2 uwzględni je, tworząc zupełnie inny seed o długości 512 bitów. Te same dwanaście słów z innym hasłem otwiera całkowicie odrębny portfel. Nie łączy ich nic — a jeśli zapomnisz hasła, środki przepadną bezpowrotnie.

Drzewo wyprowadzania: jeden seed, nieskończenie wiele kont

Seed o długości 512 bitów jest korzeniem hierarchicznego portfela deterministycznego (HD), zdefiniowanego w BIP-32. Portfel przekazuje bajty seeda do HMAC-SHA512 (używając dosłownego ciągu znaków "Bitcoin seed" jako klucza), a następnie dzieli 512-bitowy wynik na dwie równe części: 256-bitowy główny klucz prywatny i 256-bitowy główny kod łańcucha. Każdy klucz potomny, klucz kolejnego poziomu i adres w portfelu powstają z tych dwóch wartości w wyniku kolejnych operacji HMAC-SHA512.

BIP-44 standaryzuje sposób poruszania się po drzewie, określając ścieżkę wyprowadzania w formacie m/purpose'/coin_type'/account'/change/index. Każdy segment pełni określoną funkcję:

Apostrofy oznaczają wyprowadzanie wzmocnione — jednokierunkową operację, która matematycznie uniemożliwia użycie przejętego klucza potomnego do wyprowadzenia kluczy rodzeństwa lub klucza nadrzędnego. Dlatego klucze do Twojego konta Ethereum nie mogą ujawnić kluczy do konta Bitcoin, mimo że oba pochodzą z tego samego klucza głównego.

W Zelcore jedna fraza seed jednocześnie kontroluje BTC, ETH, SOL, ADA i dziesiątki innych aktywów — każde z nich znajduje się we własnym poddrzewie coin_type i jest deterministycznie wyprowadzane z tego samego 512-bitowego korzenia.

Jak działa ten atak: jeden punkt awarii dla każdej sieci

Ponieważ wyprowadzanie kluczy jest deterministyczne i ustandaryzowane, każdy, kto ma Twoją frazę seed, może odtworzyć każdy klucz prywatny we wszystkich obsługiwanych sieciach. To nie wada projektu — tak właśnie ma działać ten system. Model bezpieczeństwa zakłada, że nikt poza Tobą nigdy nie zobaczy frazy seed.

Konsekwencje są poważne. Ujawniona fraza seed daje dostęp nie tylko do Twoich Bitcoinów. Atakujący może wyprowadzić Twój adres Ethereum, Solana, Cardano i adresy wszystkich pozostałych aktywów — jednocześnie. Twoje środki w Solanie są zagrożone w chwili, gdy ktoś sfotografuje Twoją frazę odzyskiwania Bitcoin. Atakujący może nawet nie wiedzieć, że masz SOL.

Utrata frazy seed prowadzi do przeciwnego problemu: nie ma osobnej metody odzyskiwania dla każdej sieci, odzyskiwania konta ani możliwości eskalacji sprawy do obsługi klienta. Entropii, z której powstał seed, nie da się matematycznie odwrócić. Utrata kartki oznacza utratę dostępu do wszystkich sieci naraz.

Dlatego portfele sprzętowe generują frazę seed w bezpiecznym elemencie i nigdy nie udostępniają jej podłączonemu komputerowi. Seed powstaje offline i pozostaje na urządzeniu.

Dane specyficzne dla sieci, których seed nie zachowuje

Odtworzenie portfela z frazy seed pozwala ponownie wygenerować klucze prywatne i standardowe ścieżki wyprowadzania, ale nie przywraca wszystkich danych. Kilka kategorii informacji pozostaje poza zasięgiem tego, co można odtworzyć z seeda:

W praktyce warto zapisać nie tylko frazę seed, ale również nazwę używanego oprogramowania portfela i zastosowane ścieżki wyprowadzania. Sama fraza seed nie zawsze wystarczy, by odtworzyć portfel po kilku miesiącach lub latach.

Ponowne używanie adresów i tożsamość w różnych sieciach

Podział na coin_type w BIP-44 oznacza, że adres Bitcoin i adres Ethereum wyprowadzone z tego samego seeda są matematycznie niezależne — mają wspólny korzeń, ale nie wspólny klucz publiczny. Jednak sieci zgodne z EVM — Ethereum, BNB Chain, Polygon, Avalanche C-Chain, Base i inne — współdzielą coin_type = 60. Dlatego ten sam adres 0x... pojawia się w każdej sieci EVM.

To celowe rozwiązanie, które jednak tworzy powiązanie tożsamości między sieciami. Każdy, kto zna Twój adres Ethereum, może sprawdzić Twoją aktywność we wszystkich sieciach EVM, korzystając z tego samego adresu. Jeśli zależy Ci na prywatności, warto to zrozumieć przed konsolidacją aktywów.

Model UTXO w Bitcoin tradycyjnie zachęca do generowania nowego adresu dla każdej transakcji — portfele HD robią to automatycznie. Model kont Ethereum sprawia, że zmiana adresu jest rzadkością; większość użytkowników bezterminowo korzysta z jednego adresu na konto. Wielokrotne używanie tego samego adresu Bitcoin osłabia prywatność, ponieważ ułatwia powiązanie danych wejściowych ze wspólnym właścicielem.

W przypadku przechowywania aktywów o dużej wartości rozważ ich rozdzielenie według seeda: użyj osobnej frazy seed do ryzykownych transakcji i innej do długoterminowego przechowywania albo przechowuj większe zasoby na urządzeniu odizolowanym od sieci (które nigdy nie było podłączone do komputera z dostępem do internetu).

Jak się chronić: zabezpieczenie pojedynczego punktu awarii

Fraza seed jest jednocześnie najpotężniejszym narzędziem odzyskiwania dostępu i najgroźniejszym pojedynczym punktem awarii. Oto konkretne sposoby, by ją chronić:

  1. Zapisz ją na metalu, nie na papierze. Stalowe lub tytanowe płytki do tworzenia kopii zapasowych są odporne na ogień i zalanie. Papier nie.
  2. Nigdy nie zapisuj jej w formie cyfrowej. Nie rób zrzutów ekranu, nie zapisuj jej w chmurze ani menedżerze haseł i nie twórz kopii wpisanych na klawiaturze. Gdy fraza seed trafi na urządzenie podłączone do sieci, obszar potencjalnego ataku znacznie się zwiększa.
  3. Sprawdź możliwość odzyskania dostępu, zanim wpłacisz znaczne środki. Przywróć portfel na nowym urządzeniu, używając wyłącznie frazy seed. Upewnij się, że działa i generuje oczekiwane adresy.
  4. Rozważ Shamir's Secret Sharing (SLIP-39). SLIP-39 to standard, który dzieli seed na N części. Do jego odtworzenia potrzeba M części. Dzięki temu można przechowywać je w różnych miejscach — jedną w domowym sejfie, jedną u zaufanej osoby, a jedną w skrytce bankowej — tak by w żadnym miejscu nie znajdował się cały sekret.
  5. Poznaj kompromis związany z dodatkowym hasłem. Silne dodatkowe hasło (25. słowo) zapewnia wiarygodne zaprzeczenie: portfel bez dodatkowego hasła może zawierać niewielką kwotę, a prawdziwe środki będą dostępne tylko po podaniu hasła. Ryzyko działa w obie strony — zapomnienie hasła jest równie nieodwracalne jak utrata samej frazy seed.

Dla użytkowników portfela kryptowalutowego, którzy przechowują aktywa w wielu sieciach w Zelcore, ten ostatni punkt ma szczególne znaczenie: podczas jednego testu odzyskiwania dostępu należy sprawdzić wszystkie używane sieci, a nie tylko tę najbardziej oczywistą.

Najważniejsze wnioski


Czytaj dalej

„Nie twoje klucze, nie twoje monety” — co naprawdę przechowuje giełda

„Nie twoje klucze, nie twoje monety” — co naprawdę przechowuje giełda

Wyjaśnia różnicę między saldem będącym zobowiązaniem giełdy a rzeczywistym posiadaniem środków w łańcuchu bloków. Na przykładach upadków FTX i Mt. Gox pokazuje, co w praktyce oznacza przechowywanie środków przez podmiot zewnętrzny.

6 min czytania
Frazy seed: główny klucz do wszystkich kont

Frazy seed: jak działają, jak je przechowywać i czego nie pozwalają odzyskać

Kompletny przewodnik po frazach seed: jak koduje je BIP-39, jak BIP-32/44 wyprowadzają z nich każdy klucz na każdym łańcuchu, jak bezpiecznie je przechowywać, co pozwalają odzyskać, a czego nie, oraz jakie problemy mogą ujawnić się dopiero podczas przywracania portfela.

12 min czytania
25. słowo: jak fraza hasła dodaje drugą warstwę

25. słowo: jak fraza hasła dodaje drugą warstwę

Jak frazy BIP-39 tworzą całkowicie odrębny, ukryty portfel, dlaczego są najsilniejszą ochroną przed fizyczną kradzieżą frazy seed, jakie mogą być dotkliwe skutki błędów i kiedy takie ryzyko naprawdę warto podjąć.

7 min czytania

Zapisz się do newslettera

Raz w miesiącu wyślemy Ci przyjazną wiadomość. Bez spamu, tylko najnowsze informacje o Zelcore.

Zapisz się do newslettera