Удивительно, что такие важные вопросы очень плохо освещаются в интернете. Даже при поиске, например, «bitcoin wallets comparison» выдаются совершенно идиотские сайты, а-ля 20+ Best Bitcoin Wallets to Store Bitcoins (читай скачать бесплатно, без смс), чаще всего, со странным сравнением кошельков и рекламой какого-то одно из них.
В статье Как купить криптовалюту? мы уже говорили о мультивалютном кошельке Jaxx. Он поддерживает массу монет (BTC, ETH, DASH, ETC, REP, LTC, ZEC, RSK, DGE, ICN, GNT, GNO, DGD, BCAP) и прекрасно подойдет для начала работы с криптой, если вы не собираетесь сразу вкладывать в Биткоины большие деньги.
Содержание
Какие ключи бывают у кошелька?
Рассмотрим кошелек в криптовалюте Bitcoin, у него есть:
Приватный ключ: генерируется случайным образом. Это 256-битное число. Обычно его записывают в шестнадцатеричном формате, например:
E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262
Публичный ключ: генерируется из приватного ключа (решается криптографическое эллиптическое уравнение). Это 512-битное число. Обычно его записывают в шестнадцатеричном формате, например:
0499B4B0FB28848277DCF15C5EB78B80D9E560D55770EA897CFBEC7E85B8B62C8F8685F4211DF935A5DE20664A7F596358ED25D74FB95E53B3FAE6F49F6700DB3B
Адрес: генерируется из публичного ключа с использованием функций хеширования. Состоит из 27-34 латинских букв или цифр (да-да, он может быть разной длины), например:
14qViLJfdGaP4EeHnDyJbEGQysnCpwn1gZ
Имея приватный ключ вы можете получить публичный ключ и адрес, а вот обратно схема не работает. Зная адрес, публичный ключ не найти, а уж приватный подавно.
Ниже приведена схема генерации адреса из приватного ключа. Если вы хотите вникнуть в процесс генерации подробнее — прочитайте эту статью. Вдобавок к ней есть вот такой сервис, который рассчитает все промежуточные значения и, конечно, сам адрес, исходя из приватного ключа — очень удобно.
Важно 1! Никогда и никому не показывайте свой приватный ключ. Завладев приватным ключом вашего кошелька, злоумышленник может перевести все ваши Биткоины куда-угодно (украсть).
Важно 2! Но совершенно не очевидно. Вы можете сгенерировать приватный ключ самостоятельно. Для этого надо взять монетку и подбросить ее 256 раз, записать нули и единички вместо орла и решки, преобразовать в шестнадцатеричное число и вуаля!
Важно 3! Неужели никто не может сгенерировать точно такой же приватный ключ, как и я? Может, но вероятность этого чудовищно мала. Такие вот они, БОЛЬШИЕ числа. Не верите? Читайте здесь и здесь. Единственный вариант получения одинаковых кошельков — глюк генератора случайных чисел (когда он выдает неслучайные числа). Давайте посмотрим на сайт https://www.bitaddress.org/ — он генерирует приватный ключ и адрес. Кнопка «Generate new address» делает новую пару. Парадокс в том, что этот адрес, что вы видите сейчас, никто никогда не видел до вас! Вы можете сгенерировать хоть сотню новых адресов, но их никто никогда раньше не встречал! Можете забить в гугл и проверить, кстати.
Кошелек
Что же такое сам кошелек? Кошелек — файл, в котором хранится приватный и публичный ключи. Таких пар у одного кошелька может быть много, также как и адресов.
Вы могли обратить внимание, что, например, к каждому Bitcoin-кошельку можно получить много разных адресов. Рекомендуется вообще использовать новый адрес каждый раз для новой транзакции:
Обычно кошелек защищают паролем, настоятельно рекомендуем вам это сделать.
Бывает холодный, бывает горячий…
Кошельки обычно классифицируют так:
- толстые/тонкие (есть или нет полная копия блокчейна)
- холодные/горячие (есть или нет доступ к интернету)
- бумажные
- аппаратные
- онлайн
- биржа
Рассмотрим подробнее что все это значит, например понятие холодного кошелька сильно разнится в разных источниках. Некоторые считают холодным официальный Bitcoin Core, другие txt-файл на компьютере без доступа к интернету.
Толстый и тонкий
По первоначальной задумке каждый пользователь криптовалюты должен иметь на своем компьютере полную копию блокчейна, это называется узлом сети или нодой (Подробнее). Во времена зарождения Биткоина так и было. Очень удачно написано в Популярной Механике:
Никому не доверяй
База данных в Bitcoin — блокчейн — не имеет централизованного контроля, она открыта любому участнику сети и хранится на их собственных жестких дисках. За неприкосновенность записей в ней не отвечает никто, но она жестко задается самой архитектурой распределенной базы данных. Блокчейн существует в огромном множестве копий, и чтобы изменить какую-то запись, придется скрытно проникнуть если не в каждый, то в большинство компьютеров. Эта задача практически невыполнима даже для самого алчного и технически грамотного преступника. Блокчейн — распределенная база данных, и число ее копий в Blockchain сейчас достигло многих тысяч.
Толстым клиентом называется кошелек, у которого есть полная нода. Такой кошелек может сам проверить транзакцию, определить что у Маши, действительно, есть 1 BTC на счету, отследив полный путь Биткоинов до машиного адреса. Основной толстый клиент для Биткоин — Bitcoin Core, хотя есть и другие: Bitcoin Knots, BTCD, Libbitcoin.
Тонкие клиенты (их еще называет легкими) не хранят блокчейн. Они обращаются на свои серверы. Так, например, у кошелька Electrum, который существует с 2011 года, специальные сервера, которые индексируют весь блокчейн по адресам. Клиент связывается с 10 разными, случайно выбранными серверами, соединение защищено c помощью SSL.
Jaxx, о котором мы говорили, тоже тонкий клиент.
Считается, что толстые клиенты с полной копией блокчейна надежнее!
Основной их минус — размер загружаемых данных. Сейчас для Bitcoin это уже 148 ГБ. Неслабо. Альтернатива — доверять серверам легких кошельков.
Онлайн-кошелек
Онлайн-кошелек хранит у себя ваш приватный ключ. Вы заходите в онлайн кошелек с помощью логина/пароля + двухфакторной аутентификации. Кошельки заявляют, что все защищено, зашифровано и т.п., но так ли это? На наш взгляд, довольно опасный вариант. Вы доверяете интернет-сервису свой приватный ключ. А если сервис ломанут?
Один из самых известных онлайн-кошельков — BitGo. Да, его рекомендуют многие пользователи. Да, он даже находится в списке кошельков на сайте bitcoin.org:
Но, все равно, как-то страшновато хранить там большие суммы.
Холодный или горячий
Все вышеперечисленные кошельки — горячие. Т.е. они имеют доступ к интернету, чисто теоретически, ваш приватный ключ кто-то может украсть, например, если вы будете ходить на всякие нехорошие сайты и кликать по нехорошим ссылкам.
Холодный кошелек установлен на компьютере без доступа к интернету. Можно ли так работать? Да, вполне. Вы можете на оффлайн компьютере подписать транзакцию о переводе Маше 1 BTC, скопировать текст транзакции на флешку, перенести на компьютер с доступом к интернету и отправить транзакцию в сеть. Звучит сложно (на самом деле это делается просто), но безопасность стоит того. Инструкция на английском как создать кошелек Electrum на двух компьютерах, один — оффлайн с приватным ключом, другой — онлайн, без приватного ключа.
Бумажный
Можно зайти на сайт https://www.bitaddress.org/ или другой сервис для генерации ключей. Создать ключи. Записать приватный ключ и Биткоин адрес в txt-файл. Сохранить на 3 флешки. Зашифровать. Одну флешку закопать в огороде, другую положить в карман, третью положить в банковскую ячейку…
Боитесь, что bitadress может запомнить ваш приватный ключ? Вполне может быть и такое. Тогда можно, опять же, пойти на оффлайн компьютер, поставить там Electrum и сгенерировать ключи.
Что делать если вы совсем параноик? Можно подбросить монетку 256 раз, установить на оффлайн компьютер все необходимые программы для вычисления хешей. Сгенерировать адрес. Дальше флешка, огород и т.д.
Не доверяете флешкам? Распечатайте ключи на бумаге, но эту бумагу надо как-то сохранить, и кто ее подсмотрит — получит доступ ко всему. Опасно.
Биржа
На криптовалютных биржах можно создать кошелек, практически для любой криптовалюты, за одну секунду. У вас не будет доступа к ключам, да вообще ни к чему не будет. Только адрес. Для чего можно использовать? Только для того, чтобы его пополнить, обменять Биткоины на другую криптовалюту и вывести ее.
Настоятельно не рекомендуем хранить какие-либо средства на бирже!
Как сказал Andreas Antonopoulos: «Как я могу доверить свои деньги стартапу из шести человек, который существует 3 месяца?» Кстати, классный дядька, у него много видео с ликбезом по Биткоину: https://www.youtube.com/user/aantonop/featured
Аппаратный кошелек
Аппаратный кошелек — это «флешка», которая играет роль оффлайн-компьютера с вашим приватным ключом. Такие кошельки можно использовать не только для Биткоина, но и для некоторых других популярных криптовалют. По сути — это идеальный вариант хранения ключей. Даже если вы подключите аппаратный кошелек к компьютеру, благодаря продуманной защите, никто не сможет украсть ваш приватный ключ. Кошелек защищен пин-кодом, если злоумышленник его украдет, он ничего не сможет сделать. Считается, что такие кошельки самые безопасные, но есть одно НО:
У аппаратного кошелька существует механизм восстановления на тот случай, если кошелек сломается или потеряется. Для восстановления генерируется специальный набор слов (seed), например:
constant forest adore false green weave stop guy fur freeze giggle clock sympathy interesno kto eto chitaet swing bless napishite nam vchat pleasure possess
В комплекте с кошельком даже идет специальная книжечка, чтобы записать фразу для восстановления:
Так вот, любой, кто стырит у вас этот набор слов, может получить все ваши средства. А если потерять их и сломать кошелек — прощай биточки. Такая вот фигня. Можно татуху набить, конечно, но и ее могут посмотреть…
Основные 3 конкурирующих продукта на рынке: Trezor — 90$, Ledger Nano S — 80$ и KeepKey -130$.
АААА, столько информации, что мне делать то?
Предположим, вы решили «жить в крипте».
1. Ваши сбережения (на машину, квартиру, черный день) стоит хранить на максимально защищенном кошельке: аппаратный кошелек, оффлайн-компьютер, зашифрованная флешка. Ссылок не будет, вам надо самим прочитать статью целиком и внимательно разобраться как это сделать.
2. Средства для переводов друзьям/родственникам/сотрудникам, оплаты личных счетов, счетов фирмы, получения средств за товары/услуги и т.п. мы рекомендуем хранить на локальном кошельке. Есть нормальный интернет и 150GB свободного места — Bitcoin Core. Нет — ставьте легкий, зарекомендовавший себя, Electrum. При установке обязательно проверьте контрольную сумму установочного файла (Что это?).
3. Для повседневных расходов (Пятерочка, кафе, SPA-салон) маленькую часть средств можно держать на онлайн-кошельке (BitGo, Blockchain.info) или легком кошельке на мобильном телефоне (Mycelium, Airbitz, Bread).
P.S. Чтобы не раздувать статью, опустили вопросы связанные с восстановлением кошельков, комиссиями на транзакции и пр. Если сами не разберетесь — спрашивайте в нашем чате. И, разумеется, подписывайтесь на наш канал в Telegram.