Trezor kontra Ledger Nano S
Na rynku dostępnych jest kilka portfeli sprzętowych, lecz na dobrą sprawę liczą się dwa - Trezor i Ledger Nano S. Który jest lepszy? Tego ci nie powiem. Zamiast tego omówię oba urządzenia, a decyzję zostawię tobie.
Szybki wstęp dla świeżaków
Jeśli czytasz ten artykuł, prawdopodobnie masz już jakieś pojęcie o kryptowalutach i wiesz, czym są portfele sprzętowe (z ang. hardware wallet). W takim wypadku możesz przejść do kolejnego punktu.
Portfel sprzętowy to urządzenie przechowujące klucze prywatne. Działa jak przenośny komputer, który może komunikować się jedynie przez kabel USB. Klucze prywatne nigdy nie opuszczają urządzenia. Proces wykonania transakcji przebiega w następujący sposób:
- Użytkownik żąda wykonania transakcji.
- Urządzenie prosi o potwierdzenie, przedstawiając adres odbiorcy i wartość transakcji.
- Jeśli wszystko się zgadza, użytkownik fizycznie potwierdza przyciskiem.
- Urządzenie podpisuje transakcję kluczem prywatnym.
- Podpisana transakcja przekazywana jest z powrotem do komputera (lub telefonu) i idzie w świat.
Klucze prywatne generowane są na podstawie seeda, czyli 24 angielskich słów. Urządzenie losuje seed podczas pierwszego uruchomienia, a naszym zadaniem jest go zanotować i schować w bezpiecznym miejscu. W przypadku kradzieży/zniszczenia portfela/zapomnienia PINu tylko dzięki niemu możemy odzyskać dostęp do naszych środków.
Wygląd i budowa
Oba urządzenia mają obudowę z plastiku. Ledger dodatkowo schowany jest w lśniącej, metalowej ramce, która chroni korpus przed zarysowaniem. Oprócz logo znajdziemy na nim napis vires in numeris (z łac. „siła liczb”).
Przyciski w Nano S wydają się nieco tandetne w porównaniu do konkurenta, jednak nie miałem z nimi jakichś większych problemów (raz tylko się zacięły, gdy wcisnąłem oba jednocześnie, ale nie udało mi się tego powtórzyć). Portfele są dobrze sprasowane, nic w nich nie trzeszczy. Nie sprawdzałem ich wytrzymałości, ale jeśli wierzyć testom na Youtube, nie ma powodu do narzekań (Ledger Nano S, Trezor). Oba urządzenia mają zbliżoną wysokość, Trezor jest trochę szerszy z powodu większego ekranu.
Gdy pokażesz przeciętnej osobie Ledgera i zapytasz, na co jej to wygląda, najprawdopodobniej padnie odpowiedź: „pendrive”. Uważam to za jego największą zaletę - nie rzuca się w oczy. Trezor natomiast wygląda jak efekt zabawy dziecka z drukarką 3D.
Wspierane kryptowaluty i wygoda użytkowania
Na początek zaznaczę, że nie uwzględniam tutaj kryptowalut obsługiwanych przez nieoficjalne oprogramowanie (tzw. custom firmware).Twórcy pierwszego sprzętowego portfela nie rozpieszczają swoich klientów. Do wyboru jest tylko kilka najpopularniejszych coinów. Niedawno dołączył do nich NEM, ale ma on oddzielny portfel. Ethereum, podobnie jak tokeny ERC20, obsługiwane są za pośrednictwem MyEtherWallet (MEW).
Ledger wspiera znacznie więcej kryptowalut, a dodatkowo ma dedykowany portfel dla Ethereum. Niestety jest on dość ubogi - znajdziemy w nim jedynie możliwość wysłania i odbioru Etheru, a po obsługę tokenów ERC20 i podpisywanie wiadomości musimy udać się do MEW. Niedługo do tej pokaźnej listy dołączy Monero.
Trezorem zarządzamy za pośrednictwem dedykowanej strony internetowej. Jest to bardzo wygodne rozwiązanie. W każdej chwili możemy przełączać się między portfelami wszystkich obsługiwanych kryptowalut. Urządzenie zabezpiecza PIN, który wprowadzamy przy każdorazowym odpaleniu portfela. Ekran wyświetla cyfry od 1 do 9 w losowej kolejności, dzięki czemu użytkownik nie musi się obawiać np. malware śledzącego ruch myszy czy nagrywającego ekran.
W Ledgerze wygląda to zupełnie inaczej - portfele instalowane są na urządzeniu oraz na komputerze (obecnie jako aplikacje Chrome, niedługo jako samodzielne programy). Z powodu małej ilości pamięci w urządzeniu jednocześnie możemy zainstalować jedynie 4-5 aplikacji. Potem będziemy zmuszeni usunąć jedną z nich albo naszym oczom ukaże się taki komunikat:
Po odblokowaniu urządzenia należy wejść w zainstalowaną aplikację zarówno w Nano S, jak i na komputerze/telefonie. Jeśli chcemy skorzystać z MEW, w opcjach portfela Ethereum na urządzeniu musimy włączyć „browse support” oraz „contract support”.
Wprowadzanie seeda wygląda podobnie:
Trezor - przeglądarka, Ledger - na urządzeniu. I szczerze mówiąc w tym drugim przypadku jest to męczarnia. Ale po kolei.
Odzyskiwanie seeda w Trezorze zajęło mi niespełna 2 minuty. Procedura wygląda w ten sposób, że w przeglądarce wpisujemy nasze 24 słowa, ale w losowej kolejności. Kolejność podaje urządzenie, dlatego znowu - malware nagrywające pulpit na nic się nie zda. Nawet znając same słowa, kombinacji jest zbyt wiele, by atak brute-force (tzn. próbowanie wszystkim kombinacji po kolei) miał sens.
W Ledgerze zajęło mi to 3 minuty 35 sekund, ale nie to jest najgorsze. KLIKANIE. Każde słowo musimy wprowadzić po kolei poprzez wybieranie literek dwoma przyciskami. Wprawdzie po kilku wprowadzonych znakach urządzenie podpowiada nam możliwe do wyboru słowa, ale niewielka to pomoc. Osobiście jest to dla mnie chyba największa wada Ledgera.
Bezpieczeństwo
Obie firmy cechuje całkowicie odmienne podejście do oprogramowania. Trezor stawia na w pełni otwarte firmware, dzięki czemu można zweryfikować jego działanie. Niestety ułatwia to również pisanie exploitów. Skutkiem tego jest fakt, że Trezor został do tej pory złamany już 2 razy! Trzeba jednak zaznaczyć, że w obu przypadkach wymagany był fizyczny dostęp do urządzenia.
Pierwszy raz dokonał tego Jochen Hoenicke w 2015 roku. Gdy twórcy portfela się o tym dowiedzieli, postanowili go zatrudnić :) Luka została załatana w wersji 1.3.3. Drugi raz miał miejsce w 2017 roku, a exploit Saleem Rashida załatano w wersji 1.5.2. Trzeba zaznaczyć, że exploity były bezużyteczne, jeśli ustawiło się passphrase (o czym nieco dalej).Ledger, w przeciwieństwie do Trezora, ma w środku dwa mikrokontrolery. Jeden z nich - ST31H320 Secure Element - ma częściowo zamknięte firmware (na marginesie: ta sama technologia wykorzystywana jest w bankowości). Nano S wykorzystuje ten chip do przechowywania kluczy prywatnych, dlatego ataki zastosowane w Trezorze tutaj nie działają. Rok temu CTO Ledgera napisał, że planują wprowadzić zmiany, dzięki którym nadal nie będzie możliwe sprawdzenie, co robi ten mikrokontroler, ale będzie dało się sprawdzić, czy robi tylko to, co zapisano w dokumentacji. Niestety nie wiem, czy wcielono to w życie.
Portfele umożliwiają ustawienie tak zwanego „passphrase”, czyli 25. słowa seedu. Może to być dowolne wybrane przez nas słowo. Jest to bardzo przydatna funkcja z dwóch powodów. Po pierwsze jeśli nasz seed wpadnie w niepowołane ręce, nasze środki nadal będą bezpieczne (chyba że ustawimy bardzo krótkie passphrase, co umożliwi atak brute-force). Po drugie włączenie tej opcji daje nam dostęp do więcej niż jednego konta. Na jednym koncie (tym niezabezpieczonym passphrase) możemy trzymać jakieś drobniaki, a na drugim resztę naszych monet. Zabezpiecza nas to przed sytuacją, w której ktoś siłą zmusza nas do odblokowania urządzenia.
Obie firmy zrobiły to trochę inaczej. W Ledgerze passphrase przypisywane jest do nowego PINu. Niestety możemy w ten sposób utworzyć tylko jedno „schowane konto”. Ponieważ PIN jest wymagany do odblokowania portfela, potencjalny złodziej nie wie, czy włączyliśmy wcześniej tę opcję. Trezor wypada tutaj trochę gorzej. Domyślnie passphrase wpisujemy po podaniu PINu.
Czytelnikom powinna się zapalić teraz lampka - „zaraz, a czy keylogger nie może przechwycić naszego passphrase?”. Otóż niestety - może. Ale to nie wszystko. Gdy złodziej zobaczy to okno, od razu będzie wiedział, że ustawiliśmy passphrase. Możemy wyłączyć tę opcję, ale wtedy wchodzenie do ukrytego konta będzie wyglądać następująco:
- Odblokowanie zwykłego konta samym PINem.
- Włączenie opcji passphrase.
- Odłączenie i ponowne podłączenie urządzenia.
- Wpisanie PINu i passphrase.
- Po wykonaniu transakcji ponowne wyłączenie tej opcji.
Podejście do forków
CTO Ledgera, mimo że również popiera zespół Core, zachowuje w tej kwestii profesjonalizm.
Kompatybilność z telefonem
Od razu uprzedzam, że nie wiem, jak to wygląda na urządzeniach z iOS, gdyż takowego nie posiadam. Jeśli nie masz telefonu z Androidem, możesz pominąć ten punkt.
Obu portfeli sprzętowych można używać z telefonem - kwestia implementacji przez developerów apek. Do Bitcoina polecam Mycelium. Wspiera on zarówno Trezora, jak i Ledgera. Jeśli chodzi o Bitcoin Cash, to teoretycznie można by użyć portfela Copay, ale z jakiegoś powodu aplikacja przy integracji z portfelem sprzętowym prosi mnie o podanie seeda (sic!). Co do Ethereum, to istnieje całkiem niezły WALLETH, ale na tę chwilę wspiera on jedynie Trezora (jednak Nano S jest w planach). Póki co combo Ethereum + Ledger Nano S można obsłużyć jedynie przez przeglądarkę Chrome.
SatoshiLabs stworzyło oficjalną aplikację do zarządzania Trezorem. Dzięki temu nie potrzebujemy komputera, by wgrać aktualizację oprogramowania czy zmienić PIN. Ledger takiej apki niestety nie posiada.
Menadżer haseł i inne funkcje dodatkowe
- Menadżer haseł,
- Agent SSH/PGP,
- U2F,
- Trezor Connect.
A w przypadku Ledgera:
- Menadżer haseł (wersja alpha),
- Agent SSH/PGP (wersja alpha),
- U2F,
- Windows Hello,
- OpenPGP (wersja alpha).
Korzystałem jedynie z menadżera haseł i Trezor Connect (nawet nie wiem, do czego służą niektóre rzeczy z tej listy), dlatego tylko je omówię. Zacznę od Ledgera. Próbowałem używać ich menadżera, ale niestety jest jeszcze nieużywalny. Część leżąca po stronie urządzenia zdaje się być na wykończeniu, więc może za jakiś czas ujrzymy pełnoprawną aplikację. Póki co Trezor nie ma pod tym względem konkurencji.
Trezor wykorzystuje konto Google Drive lub Dropboxa - plik z zaszyfrowanymi hasłami zapisywany jest w chmurze, a portfel sprzętowy odpowiada za jego deszyfrację. Nie powtarzajcie mojego błędu i nie wyrzucajcie seeda, którego używaliście podczas pierwszego logowania do menadżera - utracicie w ten sposób dostęp do haseł. Trzeba mieć też na uwadze, że menadżer haseł Trezora nie chroni nas przed malware.
Z menadżera możemy skorzystać również na telefonie.Bardzo spodobała mi się funkcja Trezor Connect. Umożliwia ona logowanie z wykorzystaniem Trezora. Jedyne, co musimy zrobić, to nacisnąć przycisk. Użytkownik identyfikowany jest, jak sądzę, po kluczu publicznym. Niestety wygląda na to, że obecnie tę opcję wspiera jedynie coinmap.org
Kilka rad of autora
- Włącz passphrase (a w przypadku Ledgera również Shuffle PIN).
- Przetestuj opcję odzyskiwania portfela, zanim przelejesz na niego wszystkie środki.
- Pamiętaj, że portfel sprzętowy nie uchroni cię przed wirusem podmieniającym adres portfela na ekranie twojego monitora.
AKTUALIZACJA 07.03.2018
Firmware 1.4.1 pozwoliło na zmieszczenie większej liczby portfeli. Poprzednio było to 4-5, obecnie średnio ok. 10-12 (teoretyczne maksimum to 18 portfeli, jeśli wybierzemy tylko takie kryptowaluty, których kod oparty jest w dużej mierze na kodzie Bitcoina (np. Dogecoin, Litecoin).
Super porównanie, ale dla mnie brakuje jednej kwestii, albo gdzieś nie doczytałem - ceny.
Cenę każdy może sprawdzić w 10 sekund, więc stwierdziłem, że nie ma sensu o tym pisać :P
Skoro to tylko 10 sekund to warto było jednak o tym wspomnieć, nadal możesz edytować. ;)
Proszę ;)
https://shop.trezor.io/
https://www.ledgerwallet.com/products/ledger-nano-s
Takie rzeczy powinny znaleźć się na tagu #pl-artykuly (czyli dobry tekst, zdjęcia autorskie, wartość edukacyjna i tego typu rzeczy)
Dzięki, tag dodany :)
Nie ogarniam jeszcze Steema.
Spoko :P Trzeba było na następny raz. Ogólnie zgłosiłem to do kuratorów i może jakieś drobne spłyną dodatkowe.
pl-artykuly ma zbierać posty wysokiej jakości (ale zarazem być trochę surowym). Wiadomo, w polish mogą być memy i różne takie, a tu nie :D
Congratulations @mido! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You got your First payout
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
"Trezor natomiast wygląda jak efekt zabawy dziecka z drukarką 3D"
Tak!