Portfele cyfrowe
Portfel cyfrowy to system, który pozwala użytkownikom przechowywać, śledzić, przelewać i otrzymywać pieniądze cyfrowo. Jego walutą mogą być aktywa cyfrowe, takie jak Bitcoin, Doug itp., lub cyfrowe waluty fiducjarne, takie jak dolary amerykańskie i euro.
Ten portfel nie jest fizycznym portfelem w tradycyjnym rozumieniu – jest aplikacją programową. Jest połączony z siecią blockchain, umożliwiając użytkownikom śledzenie swoich walut, dokonywanie transakcji i prowadzenie operacji blockchain.
Typowy portfel cyfrowy zawiera dwa rodzaje "kluczy" – klucz publiczny, czyli adres portfela, na który inni mogą wysyłać walutę. Istnieje także klucz prywatny, czyli hasło do odszyfrowania informacji o transakcji, znane tylko posiadaczowi portfela. Ściśle mówiąc, mówiąc "trzymać" walutę cyfrową, mamy tak naprawdę klucze prywatne, które ją kontrolują.
Opanowanie klucza prywatnego jest równoważne opanowaniu waluty cyfrowej w środku, dlatego szczególnie ważne jest chronienie bezpieczeństwa klucza prywatnego. Po utracie lub kradzieży klucza prywatnego, odpowiednia waluta cyfrowa stanie się trwale nieużyteczna. To bardzo różni się od korzystania z tradycyjnego konta finansowego, które bank może przywrócić lub zastąpić.
Portfel HD
Portfel HD, pełna nazwa to hierarchical deterministic wallet (Hierarchiczny Portfel Deterministyczny), to portfel używany do generowania dużej liczby par kluczy publiczno-prywatnych.
Portfele HD działają na podstawie jednego, początkowo wygenerowanego seedu. Jeden lub więcej głównych kluczy prywatnych może być generowanych przez seed, a każdy klucz prywatny główny może generować wiele unikalnych kluczy prywatnych potomnych. Te podprywatne klucze mogą być dalej wykorzystywane do generowania kluczy prywatnych wnuków i tak dalej, tworząc hierarchiczną strukturę kluczy. Wszystko to można odtworzyć przez oryginalne nasiona. Dlatego dopóki to seed jest zabezpieczone, wszystkie wygenerowane adresy i klucze prywatne w portfelu mogą zostać odzyskane.
Aby zwiększyć prywatność portfela, HD Wallet może generować nowy adres dla każdej transakcji, ponieważ wszystkie adresy są eksportowane z tego samego seedu, co pozwala uniknąć problemów z prywatnością wynikających z wielokrotnego używania tego samego adresu.
Wśród nich portfele HD zostały ustandaryzowane i zastosowane w Bitcoin BIP32, BIP44, BIP39 oraz innych propozycjach. BIP39 określa metodę generowania seion, które można reprezentować za pomocą fraz seed o długości 12, 18 lub 24 słów wybranych z ustalonego słownika. Pozwala to użytkownikom zapamiętywać lub robić kopie zapasowe tych fraz seed tylko podczas tworzenia kopii zapasowych portfeli, zamiast używać skomplikowanych kluczy prywatnych, co znacznie zmniejsza trudność obsługi.
Portfele HD to bardziej zaawansowany rodzaj portfela cyfrowego, który wprowadza nowy sposób generowania nieskończonej liczby kluczy prywatnych i odpowiadających im adresów portfeli z jednego seedu (po prostu ciągu danych).
Główną zaletą HD Wallet jest to, że znacznie ułatwia tworzenie kopii zapasowej portfela. Użytkownicy muszą jedynie zapamiętać lub zapisać ten seed (zwykle konkretny ciąg słów, zwany frazą seed), aby odzyskać wszystkie adresy portfela i klucze prywatne. Oznacza to, że nawet jeśli urządzenie użytkownika zostanie utracone, dopóki seed nie zostanie utracony, jego zasoby mogą zostać odzyskane poprzez import seed.
Dodatkowo portfele HD oferują większą prywatność. Ponieważ przy każdej transakcji generowany jest nowy adres, trudno jest śledzić wszystkie transakcje i status aktywów danej osoby w łańcuchu wyłącznie na podstawie adresu portfela.
Dlatego portfel HD można uznać za rodzaj portfela cyfrowego, który nadal służy jako narzędzie do zarządzania i kontroli walut cyfrowych, tylko z dodatkowymi funkcjami.
BIP32、BIP44、BIP39
BIP to skrót od Bitcoin Improvement Proposal, czyli standardu generowanego przez deweloperów Bitcoina w celu proponowania nowych funkcji lub ulepszeń protokołu, klienta lub środowiska Bitcoina. Każdy BIP będzie miał numer, taki jak BIP-32, BIP-44 itd., które są standardami projektowania portfeli dla Bitcoina.
Istnieją trzy główne typy BIP:
Standaryzowany BIP: Ten typ BIP odpowiada za dodawanie nowych funkcji do sieci, blockchaina lub protokołu. Informacyjne BIP-y: Te BIPy nie obejmują zmian w protokole Bitcoina, lecz są przede wszystkim zaprojektowane do tworzenia pytań, wytycznych lub dostarczania ogólnych informacji społeczności bitcoinowej. BIP procesu: Ten BIP opisuje zmianę w procesie lub środowisku, ale nie jest dodawany do specyfikacji technicznej BIP. Wszystkie BIP-y zaczynają się jako propozycja, która po dokładnej dyskusji i modyfikacjach przez społeczność może zostać zaimportowana do standardu protokołu Bitcoin, jeśli otrzyma wystarczające wsparcie.
Standardowy adres:Logowanie do linku jest widoczne.
BIP32
BIP32, pełna nazwa Bitcoin Improvement Proposal 32, chińska, jest standardem w tej propozycji.
W przeszłości portfele Bitcoin były realizowane poprzez generowanie nowego klucza publicznego i odpowiadającego mu adresu Bitcoin za każdym razem, gdy generowano nowy klucz prywatny, który był przechowywany w pliku portfela. Problem z tym podejściem polega na tym, że za każdym razem, gdy generowany jest nowy klucz prywatny i adres Bitcoin, trzeba wygenerować nową kopię zapasową portfela. Narodziny BIP32 rozwiązują ten problem, tworząc nowy sposób generowania kluczy prywatnych i publicznych, z jednym seedem, do nieograniczonej liczby kluczy prywatnych i publicznych w strukturze drzewa.
Główne cechy BIP32 to:
Pojedynczy klucz prywatny wspiera generowanie nieograniczonych par kluczy: generuj pary klucza publicznego i prywatnego z seedu oraz tworz całe drzewo kluczy z jedynie znanym seedem. To rozwiązuje problem kopii zapasowej, ponieważ cały portfel można przywrócić tylko przez wykonanie kopii zapasowej tego seedu. Hierarchiczne zarządzanie portfelem: BIP32 określa strukturę portfela, która pozwala użytkownikom zarządzać portfelami warstwami według celu, biznesu, konta itp. Wyprowadzenie klucza publicznego: BIP32 pozwala na wyprowadzenie klucza podpublicznego z znanym kluczem publicznym i kodem łańcuchowym węzła. Ta funkcja pozwala na wyprowadzenie kluczy publicznych bez znajomości klucza prywatnego, co zwiększa bezpieczeństwo. Poprawa prywatności: Podczas gdy tradycyjne portfele używają losowo generowanych unikalnych adresów, portfele BIP32 generują partię kluczy na podstawie tego samego seedu, co pozwala na używanie nowych adresów dla każdej transakcji i poprawia prywatność. Krótko mówiąc, BIP32 głównie usprawnia tradycyjną metodę kopii zapasowej portfela, czyniąc ją prostą, efektywną i bardziej prywatną.
BIP39
BIP39 to nazwa specyfikacji używanej do generowania nasion BIP32.
BIP39, pełna nazwa Bitcoin Development Proposal 39, to chińska nazwa metody generowania fraz seed (seed phrase), która jest propozycją ulepszenia dla Bitcoina.
BIP39 jest powszechnie używany do generowania nasion BIP32. Określa, jak przekształcić losowe liczby w zestaw zapamiętanych słów, czyli zestaw fraz, które często widzimy jako zapasowe frazy zalążkowe o 12-24 słowach. Gdy użytkownik generuje portfel lub otwiera aplikację portfela po raz pierwszy, tworzy się taki zestaw słów. BIP39 jest szeroko stosowany w większości nowoczesnych portfeli kryptowalutowych.
Wygeneruj frazę mnemotyczną, jak pokazano poniżej:
Seed pochodzi z frazy mnemotechnicznej, jak pokazano na poniższym rysunku:
Główne zastosowanie BIP39 Seed: BIP39 Seed to stałe dane binarne o stałej długości (512-bitowe, 64-bajtowe) generowane z mnemotechniki i opcjonalnej hasła. Jego główną rolą jest służenie jako podstawowe tajne dane portfela, które służą do wyprowadzenia wszystkich kolejnych kluczy prywatnych, kluczy publicznych i adresów.
Oto bardziej szczegółowe wprowadzenie do BIP39:
Metoda generowania: Fraza zalążkowa składa się z zestawu angielskich słów pochodzących z ustalonej listy słów (Łącznie 2 048) w. Najpierw generowana jest losowa liczba na podstawie losowych działań użytkownika (np. ruchy myszką, szybkość pisania na klawiaturze itp.), a następnie ta liczba jest przekształcana w zestaw słów. Proces ten jest odwracalny, a oryginalną liczbę losową można przywrócić, o ile zestaw słów jest zapamiętany. Odzyskiwanie kluczy: W metodzie generowania fraz seed BIP39 użytkownicy mogą odzyskać cały portfel, zapamiętując po prostu 12-24 proste słowa. To znacznie upraszcza kopię zapasową i odzyskiwanie kluczy prywatnych portfela, poprawiając dostępność portfela. Funkcja hasła: Funkcja hasła określona w BIP39 może zwiększyć trudność odzyskania klucza prywatnego, utrudniając innym odzyskanie klucza prywatnego za pomocą frazy seed. Po ustawieniu hasła BIP39 portfel musi zostać przywrócony przez frazę seed + hasło. Kompatybilność między portfelami: Ponieważ BIP39 jest otwartym standardem, istnieje wysoki poziom kompatybilności między dostawcami portfeli, co oznacza, że można importować frazy seed z jednego portfela do innego, co jest bardzo wygodne dla użytkowników. BIP39 to bardzo ważny standard w portfelach Bitcoin, który upraszcza złożone kwestie zarządzania kluczami prywatnymi poprzez frazy seed, ułatwiając użytkownikom korzystanie z Bitcoina.
Przypisy do słownika:Logowanie do linku jest widoczne. O kodzie implementacyjnym .NET dla BIP-39:Logowanie do linku jest widoczne.
BIP44
BIP44, pełna nazwa to Bitcoin Improvement Proposal 44, chińska nazwa to multi-currency and multi-account specification, co jest propozycją dla Bitcoina.
Na podstawie seedów (generowanych przez BIP39) i ścieżek BIP32, BIP44 definiuje logiczną hierarchię dla portfeli deterministycznych, a na tym samym określi pięciowarstwową ścieżkę drzewa. BIP44 umożliwia tworzenie i zarządzanie wieloma walutami oraz wieloma kontami, z których każde ma własny adres odbiorczy i zmieniający się.
Zgodnie z tą specyfikacją, HD Wallet może generować zróżnicowany system portfela oparty na seed, czyli możesz użyć ziarna klucza prywatnego do generowania i zarządzania kontami oraz adresami w różnych walutach.
Struktura ścieżek zdefiniowana przez BIP44 to:m / cel' / coin_type' / konto' / zmiana / address_index:
Cel: W BIP44 cel jest zawsze ustawiony na 44'. Typ monety: Ta warstwa służy do rozróżnienia różnych walut cyfrowych, takich jak 0 dla Bitcoina, 1 dla Testnet Bitcoin, 60 dla Ethereum itd. Pełna lista monet znajduje się tutaj. Konto: Oddzielne adresy kont dla lepszego zarządzania środkami. Ta warstwa pozwala użytkownikom generować i zarządzać wieloma oddzielnymi kontami w tym samym oprogramowaniu, dzięki czemu rejestr jest przezroczysty, a nie mieszany ze sobą. Change: Służy do rozróżnienia adresu zmiany od adresu odbiorcy. Zazwyczaj 0 oznacza adres zewnętrzny, a 1 adres zmiany Indeks adresowy: Zidentyfikuj n-ty wygenerowany adres. Zaletą korzystania z BIP44 jest to, że możesz generować i odzyskiwać monety i adresy, którymi musisz zarządzać na dowolnym portfelu zgodnym z BIP44, mając na uwadze tę definicję ścieżki dla seedów i BIP44.
C# generuje portfele HD
Po pierwsze, projekt wprowadza bibliotekę Nethereum.HdWallet z następującym kodem:
Jak pokazano poniżej:
Internetowy konwerter kodu mnemotechnicznego:Logowanie do linku jest widoczne. Źródło:Logowanie do linku jest widoczne.
Recenzja:
Odniesienie:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
(Koniec) |