Portfele kryptowalutowe – Twój prywatny sejf

Przemek/ 14 lipca, 2022

W tradycyjnym świecie portfel służy do przechowywania gotówki. Jeśli go zgubisz lub ktoś Ci go ukradnie, stracisz jedynie jego zawartość i na tym sprawa się zakończy. Chyba że przechowujesz w nim także dokumenty, to czeka Cię jeszcze trochę niedogodności przy ponownym ich wyrabianiu. Niestety w blockchainowym świecie utrata dostępu do portfela jest zdecydowanie bardziej problematyczna, szczególnie wtedy, gdy jesteś twórcą smart kontraktów. W tym poście dowiesz się nieco więcej na ten temat, a na końcu założymy wspólnie nowy adres na blockchainie :).

Czym jest portfel?

W poście pt. “Web 3.0 – nowy Internet (część 2)” wyjaśniłem, czym jest klucz publiczny, klucz pyrwatny oraz adres na blockchainie. Znasz już ten wpis? Jeśli nie, to rzuć na niego okiem, ponieważ tamta wiedza będzie pomocna w zrozumieniu obecnego tematu. Wolisz formę wideo i nie masz problemu z językiem angielskim? Możesz też obejrzeć animację, która również porusza ten sam temat.

Przechodzę już do dzisiejszego zagadnienia. Portfel kryptowalutowy, to najprościej mówiąc aplikacja, która przechowuje informacje o Twoim kluczu prywatnym i pozwala Ci dokonywać różnego rodzaju transakcji na blockchainie. Chociaż, jak przekonasz się w dalszej części wpisu, może to być również kartka papieru.

Jedną z oczywistych funkcji portfela jest przechowywanie kryptowalut. Ważne jest, żebyś zrozumiał, że środki nie znajdują się w aplikacji. Portfel jedynie daje do nich dostęp, a wszystkie dane zapisane są na blockchainie. Gdy w aplikacji widzisz, ile i jakie posiadasz kryptowaluty, oznacza to jedynie, że do Twojego adresu na blockchainie przypisane są te wartości. Ponieważ większość kryptowalut to odpowiednio napisane smart kontrakty, portfel taki “uderza” pod konkretny adres kontraktu i pyta go o stan Twojego konta, po czym wyświetla tę informację. 

Jeżeli portfel kryptowalutowy nie jest dla Ciebie nowością, to wiesz, że najpierw musisz  wprowadzić informację o adresie danego tokena, a potem dopiero możesz sprawdzić jego ilość u siebie na koncie. Jest to niezbędne, ponieważ w innych wypadku aplikacja nie wiedziałaby, gdzie ma wysłać zapytanie. Chociaż można spotkać się z portfelami, które są w stanie “odgadnąć” to, co posiadasz. Nieco inaczej wygląda sprawa w przypadku natywnych monet, jakim jest np. ether. Wartość tego typu kryptowalut nie jest sczytywana z żadnego smart kontraktu, a pobiera się ją bezpośrednio ze stanu blockchaina.

Przechowywanie kryptowalut to bardzo istotna rola, jednak nie jest to jedyne, do czego służy portfel. Dzięki takiej aplikacji jesteśmy w stanie w łatwy sposób dokonać każdej transakcji na blockchainie. Innymi słowy portfel pozwala nam na interakcję ze smart kontraktami. W związku z tym, że zna on nasz  klucz prywatny, to jest w stanie podpisywać wiadomości w naszym imieniu.

Czy bez portfeli krypto można by było sobie poradzić? Owszem, ale po co, skoro używanie ich to ogromna wygoda. Nie wyobrażam sobie, żeby każdy tworzył manualnie wiadomość, następnie podpisywał ją swoim kluczem prywatnym, żeby ostatecznie wysłać ją do jednego z węzłów blockchaina i to wszystko z pomocą jedynie terminala. Jak widzisz jest to możliwe, ale gdyby tak wyglądał blockchainowy świat, to dzisiaj prawie nikt by go nie używał. Na szczęście portfel robi to wszystko za nas.

Zimny, ciepły, a może papierowy – podział portfeli

Rysunek 2. Ciepło czy zimno
(źródło: https://www.baamboozle.com/index.php/slideshow/810205)

Przemierzając blockchainowe stepy, natkniesz się na różnego rodzaju portfele. Niektóre z nich będą do siebie podobne, inne będą się mocno różniły. Wspólną ich cechą jest dostęp do Twojego klucza prywatnego, a reszta rzeczy może od siebie bardzo odbiegać. Z tego powodu portfele możemy podzielić na kilka kategorii.

Pierwsza z nich, to tzw. zimne portfele (ang. cold wallets) i nie ma to nic wspólnego z ich temperaturą :). Chodzi o portfele, które nie są podłączone do Internetu. Możesz spotkać się też z nazwą offline. Żeby nie było zbyt prosto, to portfele z tej kategorii dzielą się również na dwa typy: papierowe (ang. paper wallet) oraz sprzętowe (ang. hardware). 

Paper wallet, jak sama nazwa wskazuje, to portfel, który jest kartką papieru. Z tego względu, jako jedyny z całej listy, nie posiada możliwości podpisywania transakcji. Jak zatem stworzyć taki portfel? Bierzesz kartkę, zapisujesz na niej swój klucz prywatny i gotowe. Jeśli myślisz, że właśnie Cię wkręcam, to się mylisz, bo mówię całkowicie poważnie :). Możesz równie dobrze stworzyć QR kod, w którym umieścisz swój klucz, a następnie wydrukujesz go na kartce. Wtedy, przynajmniej na pierwszy rzut oka, nikt nie zobaczy, co tam się znajduje.

Plusem takiego rozwiązania jest całkowite odcięcie klucza prywatnego od sieci. Oznacza to, że jedynie w momencie, gdy ktoś będzie miał fizyczny dostęp do Twojej kartki, to środki zgromadzone na tym adresie będą w niebezpieczeństwie. Z drugiej strony największym minusem tego rozwiązania może być to, że kiedy zgubisz taką kartkę, a wcześniej nie zapamiętałeś klucza lub nie zrobiłeś kopii zapasowej, to bezpowrotnie utracisz dostęp do swojego konta.

Portfel typu hardware przechowuje Twoje klucze na fizycznym urządzeniu. Zazwyczaj przypomina on coś w rodzaju pendrive’a. Jeżeli chciałbyś nabyć taki portfel, to polecam od firmy Ledger, który jest najprawdopodobniej obecnie najbezpieczniejszym rozwiązaniem na rynku. Upewnij się tylko, że zamawiasz go z oficjalnego źródła.

W porównaniu do papierowego portfela, ten sprzętowy pozwala nam podpisywać wiadomości. Zazwyczaj dołączona do niego jest aplikacja mobilna lub desktopowa, przy pomocy której możesz “wyklikać” transakcję, a następnie zatwierdzić ją na urządzeniu. Dodatkowo bardzo często portfel sprzętowy możesz “spiąć” z innego rodzaju aplikacjami. Spowoduje to, że każda transakcja dokonywana za ich pomocą, będzie wymagała dodatkowego potwierdzenia na fizycznym urządzeniu. Nawet jeśli ktoś uzyska dostęp do samej aplikacji, ale nie będzie posiadał Twojego urządzenia, to nie będzie w stanie nic tam namieszać.

Kolejną zaletą portfeli sprzętowych, w odróżnieniu od papierowych, jest możliwość odtworzenia klucza prywatnego w przypadku zniszczenia bądź zagubienia urządzenia. Jednak nie licz na to, że pomoże Ci w tym firma stojąca za produktem. Podczas konfiguracji urządzenia masz możliwość utworzenia nowego konta na blockchainie. Wtedy też poznasz słowa, które służą do utworzenia klucza prywatnego, a noszą nazwę seed phrase. Jeżeli kiedykolwiek straciłbyś dostęp do urządzenia, to przy ich pomocy jesteś w stanie go odzyskać. Będzie Ci  jednak potrzebne nowe, fizyczne urządzenie. Teoretycznie da się to też zrobić bez niego, ale jest to o wiele trudniejsza sprawa, ale wykonalna. Problem pojawi się dopiero w momencie, gdy całkowicie stracisz dostęp do swojej frazy. Dlatego musisz pamiętać, żeby przede wszystkim przechowywać ją w bezpiecznym miejscu. Jeżeli chcesz mieć pewność, że nikt do niej nie będzie miał dostępu, możesz ją po prostu zapamiętać. W przypadku Ledgera są to 24 słowa, które możesz wykuć na pamięć.

Ponieważ istnieją zimne portfele, to mamy również i te “gorące” zwane z ang. hot wallets. Są to różnego rodzaju aplikacje mobilne, desktopowe oraz webowe. Jednym z najbardziej znanych portfeli tego typu jest Metamask. Występuje on jako wtyczka do przeglądarki oraz aplikacja mobilna, przy czym pierwsza z metod jest zdecydowanie popularniejsza i bardziej przydatna w codziennym życiu.Wspierany jest przez Google Chrome, Firefox, Brave Browser oraz Microsoft Edge. Fani Safari muszą obejść się smakiem. 

Podobnie jak Ledger, Metamask również pozwala na utworzenie nowego adresu. Jednak może on być wykorzystany jedynie do dokonywania transakcji na blockchainach z grupy EVM. W tym przypadku fraza, która służy do utworzenia klucza prywatnego, wynosi 12 słów.

Należy tutaj dodać jeszcze jedną rzecz. Frazy dostarczone, czy to przez Ledgera, czy Metamaska, pozwalają tak naprawdę na utworzenie wielu kluczy prywatnych. Uzyskane wartości można otrzymać jedynie przy pomocy tej samej frazy. Dlatego nie ma żadnej obawy, że ktoś może z innych wyrazów utworzyć nasz klucz prywatny. Powoduje to, że zapamiętując tylko jeden seed phrase, możesz mieć dostęp do wielu adresów.

Nie Twój klucz, nie Twoje pieniądze

Rysunek 3. Brak kontroli
(źródło: https://real-leaders.com/take-control-no-control/)

W przypadku Metamaska wszystkie informacje o kluczu przechowywane są lokalnie na Twoim urządzeniu. Jednak nie każdy portfel działa w ten sposób. Możesz spotkać się z rozwiązaniami, które przechowują wszystkie klucze prywatne na swoich serwerach. Niesie to za sobą kilka konsekwencji.

W razie utraty dostępu do klucza zawsze możesz zwrócić się do danej firmy z prośbą o przypomnienie go. W zasadzie nie różni się to niczym od sytuacji, w której zapomnisz hasła do banku. Zresztą bardzo często wygląda to w ten sposób, że Ty posługujesz się swoim loginem i hasłem, natomiast reszta dzieje się po stronie dostawcy.

Co prawda jest to wygodne rozwiązanie, ale sprawia, że tak naprawdę to nie Ty jesteś właścicielem swojego portfela. Nawet jeśli znasz klucz prywatny, co zazwyczaj nie ma miejsca, to firma stojąca za oprogramowaniem również ma o nim wiedzę, więc zawsze może zabrać Twoje środki. W większości przypadków dysponujesz jedynie loginem i hasłem, a kontrolę nad kluczem sprawuje jedynie dostawca. Wtedy wystarczy, że zablokuje Ci on dostęp do swojego portalu i stracisz doszczętnie wszystko, co było powiązane z Twoim adresem. 

Tego rodzaju portfele wykorzystywane są np. przez giełdy kryptowalutowe. Możesz się tam zalogować, dokonywać transakcji, czy to w obrębie giełdy, czy wysyłać środki poza nią, ale nie jesteś w stanie poznać klucza prywatnego do swoich kont. Oczywiście taki portfel nie pozwala Ci na dokonywanie dowolnej transakcji, chyba że dana firma zaimplementuje takie rozwiązanie.

Trzeba jednak szczerze powiedzieć, że w przyszłości większość użytkowników będzie prawdopodobnie korzystać z portfeli zarządzanych przez scentralizowane instytucje. Niestety cała masa osób przedkładają wygodę ponad bezpieczeństwo. Jednak Ty pamiętaj, żeby na co dzień korzystać z portfeli, do których tylko i wyłącznie Ty masz pełny dostęp, a z pozostałych jedynie wtedy, gdy konkretna sytuacja tego wymaga (np. zakup kryptowaluty na scentralizowanej giełdzie). 

Jeżeli zamierzasz tworzyć smart kontrakty, to uważne przechowywanie klucza jest jeszcze istotniejsze. To ważne, gdy zechcesz zaimplementować funkcjonalność, której wywołanie będzie możliwe tylko przez Ciebie. Utrata dostępu do swojego adresu będzie oznaczała, że cały kontrakt może stać się bezużyteczny. Wyobraź sobie, że użytkownicy dokonywali wpłat na Twój kontrakt, na którym zbierali fundusze na swój nowy projekt. W momencie utraty klucza, wszystko co było tam zgromadzone, przepadnie na wieki.

Chodzi lisek koło drogi – zakładamy nowy adres

Rysunek 4. Metamask
(źródło: https://en.wikipedia.org/wiki/MetaMask)

Zanim zakończę dzisiejszy wpis, chciałbym jeszcze przeprowadzić Cię przez proces zakładania nowego adresu przy pomocy Metamaska. Portfel ten będziemy wykorzystywać wielokrotnie przy okazji tworzenia różnych smart kontraktów, dlatego warto zrobić to już teraz. 

Potrzebujeszł do tego jednej z wcześniej wymienionych przeglądarek. Zakładanie portfela zacznij od pobrania wtyczki z oficjalnej strony Metamaska. Nawet jeśli korzystasz z mojego odnośnika, to upewnij się proszę, że przekierowuje Cię do oryginalnego źródła. Po pobraniu i zainstalowaniu wtyczki możesz zacząć konfigurować portfel. Z dostępnych opcji wybierz “Create a Wallet”, zatwierdź zgody, a następnie stwórz hasło dostępu do aplikacji. Nie jest to jeszcze nic związanego z kluczem prywatnym, a jedynie fraza, która będzie służyła do odblokowywania aplikacji. Jeżeli ją zapomnisz, to zawsze możesz przeinstalować wtyczkę i ustawić hasło na nowo.

Po obejrzeniu lub pominięciu krótkiego instruktażu przejdź do najważniejszego kroku, a mianowicie stworzenia klucza prywatnego. Zostanie wyświetlona Ci Twoja sekretna fraza składająca się z 12 słow. Jeżeli masz zamiar nacisnąć przycisk “Next”, to zapisz sobie najpierw swoją frazę, ponieważ zaraz podasz wyrazy w odpowiedniej kolejności. Możesz jednak pominąć ten krok, wciskając drugi przycisk. Frazę tę możesz też sprawdzić później w ustawieniach swojego konta. Pamiętaj jednak, że w przypadku jej całkowitego zagubienia, nie będziesz w stanie odzyskać dostępu do konta.

Jeżeli wszystko poszło jak należy, to jesteś właścicielem nowego adresu na blockchainach EVM. Co prawda nie znajdują się na nim żadne środki, ale w przyszłości coś na to zaradzimy :). 

Jak widzisz sam proces tworzenia nowego adresu na blockchainie jest dziecinnie prosty. Wystarczy kilka kliknięć i wszystko gotowe. Polecam Ci nieco poszperać w Metamasku i zapoznać się z jego interfejsem, ponieważ będziesz często z niego korzystać.

Do tego momentu przeszliśmy razem przez podstawowe zagadnienia związane z blockchainem oraz założyliśmy wspólnie konto, które możesz wykorzystywać w przyszłości do dokonywania transakcji. Dlatego w kolejnym poście przejdziemy do programistycznego “mięsa” i stworzymy wspólnie smart kontrakt:)

Share this Post
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments