Как мне хранить Биткоин? Заводим кошелек.

jaxx_wallets— Как хранить?
— Нужно завести криптовалютный кошелек!
— Где и как это сделать?
— Давайте разбираться!

Удивительно, что такие важные вопросы очень плохо освещаются в интернете. Даже при поиске, например, «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

Имея приватный ключ вы можете получить публичный ключ и адрес, а вот обратно схема не работает. Зная адрес, публичный ключ не найти, а уж приватный подавно.

Ниже приведена схема генерации адреса из приватного ключа. Если вы хотите вникнуть в процесс генерации подробнее — прочитайте эту статью. Вдобавок к ней есть вот такой сервис, который рассчитает все промежуточные значения и, конечно, сам адрес, исходя из приватного ключа — очень удобно.

83ed35ffca62a8188c5d8cd511888d8d

Важно 1! Никогда и никому не показывайте свой приватный ключ. Завладев приватным ключом вашего кошелька, злоумышленник может перевести все ваши Биткоины куда-угодно (украсть).

Важно 2! Но совершенно не очевидно. Вы можете сгенерировать приватный ключ самостоятельно. Для этого надо взять монетку и подбросить ее 256 раз, записать нули и единички вместо орла и решки, преобразовать в шестнадцатеричное число и вуаля!

Важно 3! Неужели никто не может сгенерировать точно такой же приватный ключ, как и я? Может, но вероятность этого чудовищно мала. Такие вот они, БОЛЬШИЕ числа. Не верите? Читайте здесь и здесь. Единственный вариант получения одинаковых кошельков — глюк генератора случайных чисел (когда он выдает неслучайные числа). Давайте посмотрим на сайт https://www.bitaddress.org/ — он генерирует приватный ключ и адрес. Кнопка «Generate new address» делает новую пару. Парадокс в том, что этот адрес, что вы видите сейчас, никто никогда не видел до вас! Вы можете сгенерировать хоть сотню новых адресов, но их никто никогда раньше не встречал! Можете забить в гугл и проверить, кстати.

generate_new

Кошелек

Что же такое сам кошелек? Кошелек — файл, в котором хранится приватный и публичный ключи. Таких пар у одного кошелька может быть много, также как и адресов.

Вы могли обратить внимание, что, например, к каждому Bitcoin-кошельку можно получить много разных адресов. Рекомендуется вообще использовать новый адрес каждый раз для новой транзакции:

receiving_address


Обычно кошелек защищают паролем, настоятельно рекомендуем вам это сделать.

Бывает холодный, бывает горячий…

Кошельки обычно классифицируют так:

  1. толстые/тонкие (есть или нет полная копия блокчейна)
  2. холодные/горячие (есть или нет доступ к интернету)
  3. бумажные
  4. аппаратные
  5. онлайн
  6. биржа

Рассмотрим подробнее что все это значит, например понятие холодного кошелька сильно разнится в разных источниках. Некоторые считают холодным официальный Bitcoin Core, другие txt-файл на компьютере без доступа к интернету.

Толстый и тонкий

По первоначальной задумке каждый пользователь криптовалюты должен иметь на своем компьютере полную копию блокчейна, это называется узлом сети или нодой (Подробнее). Во времена зарождения Биткоина так и было. Очень удачно написано в Популярной Механике:

Никому не доверяй

База данных в Bitcoin — блокчейн — не имеет централизованного контроля, она открыта любому участнику сети и хранится на их собственных жестких дисках. За неприкосновенность записей в ней не отвечает никто, но она жестко задается самой архитектурой распределенной базы данных. Блокчейн существует в огромном множестве копий, и чтобы изменить какую-то запись, придется скрытно проникнуть если не в каждый, то в большинство компьютеров. Эта задача практически невыполнима даже для самого алчного и технически грамотного преступника. Блокчейн — распределенная база данных, и число ее копий в Blockchain сейчас достигло многих тысяч.

Толстым клиентом называется кошелек, у которого есть полная нода. Такой кошелек может сам проверить транзакцию, определить что у Маши, действительно, есть 1 BTC на счету, отследив полный путь Биткоинов до машиного адреса. Основной толстый клиент для Биткоин — Bitcoin Core, хотя есть и другие: Bitcoin Knots, BTCD, Libbitcoin.

bitcoin_core_wallet

Тонкие клиенты (их еще называет легкими) не хранят блокчейн. Они обращаются на свои серверы. Так, например, у кошелька Electrum, который существует с 2011 года, специальные сервера, которые индексируют весь блокчейн по адресам. Клиент связывается с 10 разными, случайно выбранными серверами, соединение защищено c помощью SSL.

splash_electrum_gui

Jaxx, о котором мы говорили, тоже тонкий клиент.

Считается, что толстые клиенты с полной копией блокчейна надежнее!

Основной их минус — размер загружаемых данных. Сейчас для Bitcoin это уже 148 ГБ. Неслабо. Альтернатива — доверять серверам легких кошельков.

Онлайн-кошелек

Онлайн-кошелек хранит у себя ваш приватный ключ. Вы заходите в онлайн кошелек с помощью логина/пароля + двухфакторной аутентификации. Кошельки заявляют, что все защищено, зашифровано и т.п., но так ли это? На наш взгляд, довольно опасный вариант. Вы доверяете интернет-сервису свой приватный ключ. А если сервис ломанут?

Один из самых известных онлайн-кошельков — BitGo. Да, его рекомендуют многие пользователи. Да, он даже находится в списке кошельков на сайте bitcoin.org:

wallets

Но, все равно, как-то страшновато хранить там большие суммы.

Холодный или горячий

Все вышеперечисленные кошельки — горячие. Т.е. они имеют доступ к интернету, чисто теоретически, ваш приватный ключ кто-то может украсть, например, если вы будете ходить на всякие нехорошие сайты и кликать по нехорошим ссылкам.

Холодный кошелек установлен на компьютере без доступа к интернету. Можно ли так работать? Да, вполне. Вы можете на оффлайн компьютере подписать транзакцию о переводе Маше 1 BTC, скопировать текст транзакции на флешку, перенести на компьютер с доступом к интернету и отправить транзакцию в сеть. Звучит сложно (на самом деле это делается просто), но безопасность стоит того. Инструкция на английском как создать кошелек Electrum на двух компьютерах, один — оффлайн с приватным ключом, другой — онлайн, без приватного ключа.

Бумажный

Можно зайти на сайт https://www.bitaddress.org/ или другой сервис для генерации ключей. Создать ключи. Записать приватный ключ и Биткоин адрес в txt-файл. Сохранить на 3 флешки. Зашифровать. Одну флешку закопать в огороде, другую положить в карман, третью положить в банковскую ячейку…

Боитесь, что bitadress может запомнить ваш приватный ключ? Вполне может быть и такое. Тогда можно, опять же, пойти на оффлайн компьютер, поставить там Electrum и сгенерировать ключи.

Что делать если вы совсем параноик? Можно подбросить монетку 256 раз, установить на оффлайн компьютер все необходимые программы для вычисления хешей. Сгенерировать адрес. Дальше флешка, огород и т.д.

Не доверяете флешкам? Распечатайте ключи на бумаге, но эту бумагу надо как-то сохранить, и кто ее подсмотрит — получит доступ ко всему. Опасно.

Биржа

bitcoin-address-bittrex

На криптовалютных биржах можно создать кошелек, практически для любой криптовалюты, за одну секунду. У вас не будет доступа к ключам, да вообще ни к чему не будет. Только адрес. Для чего можно использовать? Только для того, чтобы его пополнить, обменять Биткоины на другую криптовалюту и вывести ее.

Настоятельно не рекомендуем хранить какие-либо средства на бирже!

Как сказал Andreas Antonopoulos: «Как я могу доверить свои деньги стартапу из шести человек, который существует 3 месяца?» Кстати, классный дядька, у него много видео с ликбезом по Биткоину: https://www.youtube.com/user/aantonop/featured

Аппаратный кошелек

product5_large_8b8d0ef3-e8a6-4a46-b796-8dcd8881ee5c_large

Аппаратный кошелек — это «флешка», которая играет роль оффлайн-компьютера с вашим приватным ключом. Такие кошельки можно использовать не только для Биткоина, но и для некоторых других популярных криптовалют. По сути — это идеальный вариант хранения ключей. Даже если вы подключите аппаратный кошелек к компьютеру, благодаря продуманной защите, никто не сможет украсть ваш приватный ключ. Кошелек защищен пин-кодом, если злоумышленник его украдет, он ничего не сможет сделать. Считается, что такие кошельки самые безопасные, но есть одно НО:

У аппаратного кошелька существует механизм восстановления на тот случай, если кошелек сломается или потеряется. Для восстановления генерируется специальный набор слов (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

В комплекте с кошельком даже идет специальная книжечка, чтобы записать фразу для восстановления:

security

Так вот, любой, кто стырит у вас этот набор слов, может получить все ваши средства. А если потерять их и сломать кошелек — прощай биточки. Такая вот фигня. Можно татуху набить, конечно, но и ее могут посмотреть…

Основные 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.