Простыми словами, криптовалютный кошелек — это инструмент, который управляет вашими ключами и позволяет взаимодействовать с блокчейном. Кошельки можно разделить на три группы: программные, аппаратные и бумажные. В зависимости от механизма работы их также можно называть горячими или холодными.
Еще есть Custodial wallets. И речь идёт о том, что ключами управляет сторонний “доверенный” сервис. О них мы, к счастью, говорить не будем.
Примеры кошельков:
- Hardware Wallets: Trezor, Ledger;
- Desktop Wallets: GalleonWallet, Bitcoin Core, Electrum;
- Mobile Wallets: AirGap, TrustWallet, ZenGo;
- Web Wallets: ThanosWallet, TezBox, MagnumWallet, MetaMask, MyEtherWallet.
Hot или Cold Wallet?
Как уже упоминалось ранее, кошельки для хранения криптовалюты могут различаться в зависимости от способа работы на «горячие» и «холодные».
Cold Wallets
Холодные кошельки— те кошельки, устройства которых НЕ подключено к интернету. Это делает их более устойчивыми к взлому. К ним относятся:
- Hardware Wallets — отдельное физическое электронное устройства;
- CLI Wallets — console program;
- Paper Wallets — лист бумаги, на котором физически распечатаны открытый и закрытый ключи адреса криптовалюты. Эти ключи часто отображаются в виде QR-кодов вместе с соответствующими буквенно-цифровыми строками.
Hardware Wallet считается самым безопасным т.к. ваши ключи никогда не выйдут за пределы физического устойства. И подтверждение всех транзакций приходят прямо на устройстве ?.
Hot Wallets
В свою очередь Горячие кошельки имеют связь с интернетом. К ним относятся все остальные: Desktop, Mobile and Web wallets.
Desktop & Mobile Wallets похожи между собой. Это программное обеспечение, которое вы устанавливаете и используете на основном устройстве. Такая программа шифрует ключи паролем, и складывает в storage непосредственно на устройство. А в момент подписи транзакции: достаёт зашифрованную версию из хранилища, расшифровывает приватный ключ, подписывает транзакцию, отправляет, а потом “забывает” ключ (выгрузка из RAM).
Web Wallets
С Web кошельками всё не так однозначно. Есть кошельки в виде web-site or web-app(hosted under domain), далее — Web Wallet. А есть в виде Browser Extension(дополнение к браузеру). И это большая разница. Их механизмы под капотом отличаются.
Для начала разберём какие есть явные уязвимости у всех горячих кошельков:
- Storage. Данные, лежащие там — зашифрованы. Но это уже одна часть от “успеха”. Обычно, заполучить хранилище могут другие программы с повышенным уровнем доступа, установленные то же устройство что и кошелек — вирусы.
- Memory. Как минимум, в нём время от времени появляются все ключи. Так же, большинство кошельков хранит там ваш пароль или хэш пароля, чтоб не спрашивать его каждый раз перед любым действием. Обычно, доступ к памяти получают так же — вирусы.
Как видно, можно жить спокойно, если соблюдать правила “цифровой гигиены”. Но не всё так с Web Wallets.
Вы можете использовать Web Wallets для доступа к блокчейну через интерфейс браузера без необходимости загрузки или установки стороннего ПО. И у них, есть ряд downside’ов:
- Storage в Web Wallets — это browser localStorage. И он НЕ безопасный, так как находится в той же области видимости, что и любой JavaScript на web-страничке. Подробнее тут: https://dev.to/rdegges/please-stop-using-local-storage-1i04.
- Иногда ключи могут копироваться прямо в интерфейс. И это еще более сильная уязвисмоть. Многие Browser Extensions управляют вашей web-page, и могут случайно(или не случайно), забрать себе ключи.
- Fishing Attacks. Это мошеннические атаки, используемые для кражи личной информации, такой как имена пользователей и пароли. Это выглядит примерно так:
Джин работает на своем ноутбуке с несколькими вкладками, открытыми в его браузере. Он открывает свой кошелек MetaMask для совершения транзакции. Атакующий использует открытые вкладки, чтобы увидеть, что Джин использует MetaMask. Атакующий отправляет Джину всплывающее сообщение о том, что его транзакция не удалась. Это иногда случается, чтобы Джин не волновался. Он вводит свой пароль для повторной транзакции. Атакующий теперь имеет доступ к кошельку Джина.
- Browser access. Ваш браузер не будет иметь доступа к вашим личным ключам, но он может собирать информацию о том, когда и как вы используете приложение.
Why ThanosWallet more secure?
ThanosWallet — это Web(Browser) Extension. И он имеет другие механизмы под капотом, нежили online wallet’ы.
- Web Extension API has separated thread named Background Script. Это означает, что он изолирован от всех. Это отдельный процесс на вашем компьютере запущенный от имени браузера.
- Web Extensions имеет свой Storage, который невидим ни для кого, кроме самого Extension приложения.
- Интерфейс ThanosWallet так же изолирован от всех.
Еще одним плюсом нашего кошелька является наличие нового стандарта для взаимодействия с Decentralized Applications — tzip10. Он более защищенный от fishing атак. Больше об этом можно почитать тут: https://www.walletbeacon.io/
Таким образом, мы считаем что Thanos Wallet можно с натяжкой прировнять к Desktop и Mobile wallets.
Conclusion
- Hardware Wallets — самый безопасный способ.
- Web Wallets(online) — имеют более тяжелые уязвимости, чем другие hot wallets.
- Thanos Wallet — достаточно защищен.
Что нового ThanosWallet? (Development Update):
- ? Security improvement: новая стратегия шифрования и хранения. Вы вероятнее прочли об этом выше;
- ?? Новый интерфейс popup page(находится на панели инструментов браузера);
- ? Multi-accounting с разными типами аккаунтов: HD Account(генерируемые из одной сид фразы) и Imported Account ;
- ? Basic explore(home) page layout with account stats and control actions;
- ? Receive page с QR кодом;
- ?️ Settings page with wallet Seed Phrase revealing;
ThanosWallet находиться в стадии разработки. Мы готовим релиз alpha версии на конец марта.
OpenSource на Github: https://github.com/madfish-solutions/thanos-wallet
Не забывайте ставить звездочки!
If you want to read this article on English — Subscribe to our Medium!