Безопасность в криптовалюте.
Что такое приватный ключ?
У вашего крипто-кошелька есть приватный ключ, это как пин-код для вашего банковского счёта, который должны знать только вы. Он обеспечивает доступ к вашему кошельку и позволяет переводить и получать монеты.
Часто такое бывает, что люди попросту теряют свои приватные ключи и это приводит к крупным потерям. Яркий тому пример — Джеймс Хауэллс который потерял приватный ключ от биткоин-кошелька, на котором лежало 7500 биткоинов (сейчас эта сумма оценивается в ~$500 000 000.) Но к счастью теперь есть решение для этой проблемы!
Seed-фраза позволяет восстановить средства в случае потери приватного ключа.
Что такое Seed-фраза?
Seed-фраза (мнемоническая фраза) — это список случайных слов (12, 18 или 24 слова), используемых для получения доступа к криптокошельку в случае потери пароля от вашего приложения или устройства, на котором он установлен.
Seed-фраза генерируется при настройке/создании вашего крипто-кошелька.
Примеры seed-фраз:
1. figure absorb there excite turtle impose board item idle tilt silly unique first cover afford finger perfect resemble ranch warm honey rack across fiscal
2. attitude lava welcome idea tray race trophy wife cost churn domain flush place mobile bulb chicken ugly naive rapid build answer occur flock early
Seed-фраза не привязана к конкретной валюте. Так что, одна фраза может фактически использоваться для восстановления всего портфеля монет и токенов.
Как создаётся Seed-фраза?
Как она создаётся?
Генераторы случайных чисел создают уникальную последовательность, а псевдослучайные числа вычисляются с использованием алгоритма. В словаре, с помощью которого генерируется сид-фраза, существует 2048 слов. У каждого слова есть свой порядковый номер, тем самым Seed-фраза превращается в число и на этой основе генерируются все фразы для этого кошелька.
Например Seed-фраза: машина листья браузер
машина = 2, листья = 5, браузер = 6Seed = 2+5+6 = 13
После того как вы получили эту фразу, вам необходимо её каким-то образом сохранить. Запоминать её не лучшая идея. Желательно, если это ваш основной кошелёк, записать на листочке и спрятать в очень надёжном месте.
Давайте теперь с технической части посмотрим.
При генерации Seed-фразы, система проводит 3 шага:
1. Генерация случайного числа
2. Перевод этого числа в слова
3. Создаётся seed-фраза из слов
Генерация случайного числа
Случайное число, которое создаётся, должен быть размером от 128 до 256 бит, это обязательное условие. Оно существует для того, чтобы 2 и более человека не смогли сгенерировать одно и то же число.
Случайное число, которое генерируется, также называют энтропией. Энтропия — это огромное случайное число, которое прежде не генерировался и не будет сгенерирован в будущем никем.
Те, кто помнят информатику в школе, могут представить это случайное число в виде последовательности битов (10011010010001). Энтропия обязательно должна быть кратна 32 битам, чтобы разделить на чётное число и создать фразу.
Перевод случайного числа в слова
После генерации энтропии нам предстоит закодировать её в слова, но, не без добавления контрольной суммы. Она обязательна для создания фразы, ибо не будет хватать последнего важного слова.
Контрольная сумма создаётся путём хеширования случайного числа через алгоритм SHA256. После этого берётся 1 бит из хеша контрольной суммы на каждые 32 бита энтропии и добавляется в конец случайного числа (энтропии).
После этих действий, число разбивается на группы по 11 битов, переводится в десятичное число и берутся слова из словаря, которая состоит из 2048 слов, соответствующие этим числам.
Создание Seed-фразы из слов
После двух шагов у нас имеется код из слов, который надо преобразовать в seed-фразу.
Для этого нам понадобится функция PBKDF2. С помощью код хешируется столько раз, пока на выходе не получается 256 битовый (64 байтовый) результат.
Результат на выходе размером в 64 байта является вашей Seed-фразой, которая может быть использована для создания мастер-ключа, а после для приватного и публичного ключа.
Итого получается такой путь: Seed-Фраза → Мастер-ключ → Приватный ключ → Публичный ключ (адрес)
Как работает Seed фраза?
Операции, выполняемые при создании и работе Seed-фразы можно представить в виде простых шагов. Давайте разберём механизм.
- Разработчики определённых кошельков реализуют функциональность SEED-фразы в соответствии со стандартом BIP-39 или его производной. BIP-39 создан для того, чтобы предложить нам возможность генерации приватных ключей с использованием ряда мнемонических слов, заранее записанных в базу.
- BIP-39 выбирает слова наугад (в частности из английского языка, но и другой язык может использоваться) и создает из них длинное предложение (от 12 до 24 слов). Здесь чем больше количество слов, тем выше безопасность получаемого предложения.
- Слова выбраны из длинных словарей с хорошей случайностью, так что гарантируется наилучшая возможная безопасность. Подобрать мнемоническую фразу вашего кошелька просто невозможно.
Как правильно хранить Seed-фразу?
Многие пользователи пренебрегают базовыми правилами безопасности в области хранения seed-фраз из-за чего в дальнейшем теряют доступ к своим активам. Мы же очень дорожим своими данными и ниже покажем правильные и неправильные варианты хранения мнемоники.
Безопасность
Вы можете просто записать фразу в блокнот, на бумажку, на карточку (на начальных этапах это оптимальный вариант, так как специальные устройства имеют приличную цену с учетом доставки, но в будущем обязательно приобретите себе их, ведь чем больше баланс, тем аккуратнее надо к ним относиться).
Возможно бумага и не самый безопасный материал, но при хранении в нормальном, сухом месте — становится хорошим вариантом. Также бумагу можно заламинировать. Но всё же это не обезопасит нашу фразу на 100%, бумага может выцвести, её можно сжечь и тп.
- Выгравировать фразу на металлической пластине
Металл намного безопаснее бумаги, но всё же это не самый лучший способ хранения. Также можно заказать устройство Cryptosteel— оно позволит нам создать нашу фразу из металлических букв, и достаточно хорошо обезопасить.
- Наверное самый безопасный способ — аппаратный кошелёк. В наше время уже достаточно большое количество специальных устройств для хранения мнемоники (seed-фраз). Например, Ledger или Trezor. Данные устройства помогут вам не потерять свою фразу в случае наводнения, пожара или какого-то другого стихийного бедствия, потери доступа к девайсам и т.д. Сделаны они из стали и имеют невероятную прочность, но и стоят тоже недешево.
Такой способ нельзя назвать безопасным на 100%, поскольку данное устройство можно потерять или сломать. Но, оно хранит фразу в автономном режиме и благодаря этому злоумышленник не сможет получить доступ к нашей фразе не имея это устройство при себе.
- Несколько копий мнемоники.
Обязательно храните несколько копий! Но они не должны храниться в одном месте (географически). Одну у себя дома, вторую у бабушки, третью ещё где-то. Такие жёсткие условия хранения отлично подходят тем людям, у которых хороший баланс в крипте.
Место хранения
Даже специальные устройства не помогут вам сохранить фразу, если они лежат на тумбочке в коридоре. Поэтому нужно с умом подходить к выбору места хранения.
Хорошим местом является сейф у вас дома, а ещё лучше банковская ячейка, но это уже при больших объёмах денег! Если же у вас нет такой возможности, то нужно просто спрятать в неочевидном месте, например, у родителей дома, если вы живете отдельно или на дне стаканчика для канцелярских принадлежностей. Но если вы прячете сид фразу у себя дома, то не забудьте разделить ее на несколько частей и спрятать их в разных местах. Таким образом будет гораздо сложнее найти обе части для доступа к вашему кошельку.
Не забывайте о том, что с вами может что-то случиться, ведь никто ни от чего не застрахован. И в таком случае ваши деньги могут просто пропасть навсегда. Поэтому желательно посвятить кого-то из очень близких и доверенных людей в своё дело, объяснить что это за фраза, как её использовать и так далее.
Как НЕ надо хранить Seed-фразу?
- Хранить фразу в мессенджере в диалоге с самим собой или на электронной почте нельзя ни в коем случае.
- Хранить фразу на облачных сервисах по типу: Google Диск, Яндекс Диск и тп.
- Хранить фразу в текстовом документе на своём компьютере, поскольку нельзя на 100% обезопасить себя от вредоносного ПО, которое злоумышленник может загрузить на ваш компьютер, если вы скачаете и установите какую-нибудь программу с подозрительного сайта.
- Самый небезопасный способ хранения Seed-фразы, на онлайн-кошельке. Эти кошельки хранят ваши данные на серверах, случаев взлома достаточно крупных серверов предостаточно, один из них:
Однажды Sony имела наглость подать судебный иск на известного хакера Джорджа Хоца (George Hotz), который взломал PlayStation 3. Предположительно, в отместку за этот «непацанский» поступок Anonymous организовали масштабную атаку на PlayStation Network и Qriocity. Хакеры получили доступ к данным 77 миллионов пользователей, включая номера их кредитных карт.
- Не хранить в виде фотографий.
- Не хранить на обычной USB-флешке.
- Не хранить в заметках.
- Не носить с собой в кошельке/кармане/под чехлом телефона и тд.
- Не отправлять кому-то в сообщениях, даже если вы их потом удалите
Заключение
Надеюсь мы смогли донести до вас информацию, о том, что Seed-фраза играет ключевую роль в безопасности ваших цифровых монет и поэтому она должна быть всегда в безопасности, и знать где она хранится должны только вы и люди которым вы доверяете.
Если же случится такое, что вы потеряете доступ к устройству с крипто-кошельком, Seed-фраза вам в помощь! Благодаря ней вы сможете с лёгкостью восстановить свои средства.
И напоследок хочу попросить вас, чтобы вы не рассказывали всем подряд в реальной жизни про то, что вы занимаетесь криптовалютой, это только привлечёт лишнее внимание на вас и в опасности окажетесь только вы, особенно, если у вас большие объёмы. Работайте тихо и зарабатывайте деньги, они любят тишину.