# Portfele HD

## 1. Wprowadzenie i definicja. <a href="#id-1-wprowadzenie-i-definicja" id="id-1-wprowadzenie-i-definicja"></a>

W typowym portfelu kryptograficznym para adresów prywatnych / publicznych (lub kluczy) jest losowana przypadkowo. Wymaga to wykonania kopii zapasowej za każdym razem, gdy tworzysz nową parę adresów.

Na początku może się jednak wydawać, że proces ten jest prosty w użyciu, aczkolwiek z biegiem czasu operacja ta będzie coraz bardziej skomplikowana i kłopotliwa podczas śledzenia / tworzenia kopii zapasowych wielu adresów prywatnych / publicznych w miarę wzrostu jej liczby transakcji.

&#x20;Ponadto, jeśli jesteś osobą, która dba o prywatność finansową i dokonuje częstych transakcji, może być koniecznym generowanie dużej ilości prywatnych / publicznych par adresów (lub kluczy).

*Co oznaczać będzie - Więcej kopii zapasowych!*

Z drugiej strony niektóre portfele wykorzystują ten sam adres do wszystkich transakcji, aby uniknąć strat, które ***mogą wystąpić*** w wyniku utraty kopii zapasowej. Nie jest to bardzo praktyktyczne i może zagrozić twojej prywatności finansowe&#x6A;*,* w związku z tym zostały opracowane portfele HD pod BIP 32 (aka [Bitcoin Improvement Proposal 32](https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals) )

### Czym są portfele HD? <a href="#czym-sa-portfele-hd" id="czym-sa-portfele-hd"></a>

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2eli7jJ78iylZXAid1%2FHD_Wallets.jpg?alt=media\&token=d2673b22-5ec8-42dd-9402-ac4c28590522)

Wyobraź sobie, jak łatwo byłoby, gdyby istniał mechanizm generowania wzorców kluczy publicznych / prywatnych, których nie można odgadnąć i które nie wymagają skomplikowanej kopii zapasowej.

&#x20;Taka możliwość istnieje!

Takie portfele nazywane są **portfelami HD.**

HD pochodzi od skrótu **H**ierarchical **D**eterministic. Wszystkie portfele HD używają 12-stu głównych słów kluczy podstawowych. Za każdym razem, gdy to ziarno (seed) łączy sie przez licznik na ich końcu, wtedy posłóża on do uzyskiwania pozornie nieograniczonych nowych adresów portfeli w sposób hierarchiczny i sekwencyjny.

Ponieważ wszystkie adresy pochodzą z jednego głównego wzorca, musisz się tylko martwić o utworzenie kopii zapasowej. Stąd nazwa **H**ierarchical **D**eterministic.

#### Co dzieje sie w portfelu HD? <a href="#co-dzieje-sie-w-portfelu-hd" id="co-dzieje-sie-w-portfelu-hd"></a>

Portfele HD generują hierarchiczną, drzewiastą strukturę kluczy, które zaczynają się od głównego klucza głównego na podstawie [BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki). Po przywróceniu portfela HD za pomocą klucza podstawowego, portfel idzie naprzód i napędza wszystkie prywatne klucze drzewa za pomocą BIP 32.

Gdy tylko skanowanie kluczy w sieci zostanie zakończone, wówczas twoje środki zostaną odzyskane!

Podczas korzystania z portfela HD tworzenie kopii zapasowej klucza początkowego jest **obowiązkowe** i powinno być bezpieczne, aby można było przywrócić portfel na wypadek zgubienia lub uszkodzenia urządzenia.

Oto całe piękno portfeli HD. Wykonanie tylko raz kopii zapasowej oznacza, iż ​​wszystkie kolejne adresy można łatwo odtworzyć matematycznie z algorytmu. Portfele HD używają jednokierunkowego algorytmu skrótu SHA-256, który wytwarza to drzewo kluczy bez żadnego błędu, jeśli wejściowy (lub klucz początkowy) jest taki sam.

#### Zalety portfeli HD <a href="#zalety-portfeli-hd" id="zalety-portfeli-hd"></a>

* Musisz wykonać kopię zapasową tylko jednego klucza (tzn. „Klucza początkowego”). Jest to jedyna potrzebna kopia zapasowa.
* Za każdym razem, gdy otrzymujesz monety, możesz wygenerować wiele adresów odbiorczych.
* Możesz chronić swoją prywatność finansową.
* Mylić nowych użytkowników, ponieważ adres odbiorcy zmienia się za każdym razem.

## 2. Jak korzystać z portfela HD - Kopia zapasowa / odzyskiwanie. <a href="#id-2-jak-korzystac-z-portfela-hd-kopia-zapasowa-odzyskiwanie" id="id-2-jak-korzystac-z-portfela-hd-kopia-zapasowa-odzyskiwanie"></a>

W portfelach TWINS i FIX obsługa HD jest domyślnie wyłączona. Aby go włączyć, portfel należy uruchomić z parametrem wiersza polecenia „-usehd = 1”, jak na zdjęciu poniżej:

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2esU3kmWhYWOzHGAB6%2Fimage.png?alt=media\&token=6782079d-9e8e-490a-a679-b892e1fa4d5e)

Alternatywnie, wiersz „usehd = 1” może zostać dołączony do pliku konfiguracyjnego w następujący sposób:

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2esf-IzSY9wNUZNnCp%2Fimage%20\(1\).png?alt=media\&token=831eda3b-0e6a-4bbb-b2fb-6b562c2fb184)

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2esjEX4G12Ee4H5aDk%2Fimage%20\(2\).png?alt=media\&token=08d88724-905a-4aa5-a4e0-9eb144b833b1)

W takim przypadku musisz zapisać plik conf i ponownie uruchomić portfel. ***Uwaga: Po utworzeniu portfela nie można go zmienić na / z formatu HD / starszego typu***. Jeśli chcesz przeprowadzić migrację z jednego formatu do drugiego, musisz utworzyć nowy portfel (usunąć wallet.dat z folderu) i przenieść wszystkie środki. Dla nowych portfeli wygenerowane zostaną losowe 24-y słowa mnemonic seed, które można wyświetlić za pomocą komendy „dumphdinfo” / komendy CLI w następujący sposób:

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2etKWjSCzC_Yn1Kq5R%2Fimage%20\(3\).png?alt=media\&token=5e38e60f-277e-4ea6-a022-bacaf9c32095)

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2etOO9aGk6CAbu4sSV%2Fimage%20\(4\).png?alt=media\&token=48143141-d9da-45ff-ba8f-63a398c71715)

Aby utworzyć nowy portfel HD poprzez przywrócenie istniejącej frazy seed / mnemonic, portfel należy uruchomić z następującymi opcjami:

```
-usehd=1 -mnemonic="my mnemonic phrase here" -mnemonicpassphrase="Optional passphrase"
```

Przykład:

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2etmY3S9vYV3riUQPT%2Fimage%20\(5\).png?alt=media\&token=8ae6bda1-7d87-48fb-8bf5-19c244ed081d)

bądź,

```
-usehd=1 -hdseed="_correct_hex_seed_"
```

Kolejny przykład:

![](https://gblobscdn.gitbook.com/assets%2F-LZaj2cq2eGKkSPlaRdy%2F-M2eiIIhxNbOR46oAILy%2F-M2eu4BoZyhCdJn1tdgA%2Fimage%20\(6\).png?alt=media\&token=3b3a8f25-91ad-4cf9-b085-e6a7129ad9bb)

Po przywróceniu portfel można uruchomić za pomocą parametru „usehd = 1”.

## Uwagi <a href="#uwagi" id="uwagi"></a>

* Polecenie *dumphdinfo* powinno zwrócić to samo wyjście przed i po odzyskaniu portfela. W ten sposób masz pewność, że portfel zostanie dobrze odzyskany.
* Komenda *dumphdinfo* zwraca poufne informacje prywatne o portfelu HD.Nigdy nie udostępniaj nikomu tych informacji!
* Jeśli pomimo powyższej kontroli środki nie pojawią się po odzyskaniu, przejdź do narzędzi / naprawy portfela i „ponownie zeskanuj pliki blockchain”. Porfel powinien ponownie przeskanować łańcuch bloków i odzyskać stare transakcje (jeśli takie istnieją). Wszystkie twoje fundusze powinny być widoczne w portfelu.
* Podczas przywracania portfela HD wcześniej otrzymany adres nie będzie widoczny w menu Plik -> Adres odbiorcy. Jednak nadal należą one do Twojego portfela i będziesz mógł ich używać na przykład w interfejsie CLI w konsoli debugowania.

​

​

​

​
