3 месяца назад

Приватный ключ: основа защиты криптоактивов

Приватный ключ
Приватный ключ

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

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

Что такое приватный ключ

Приватный ключ (еще его называют закрытым ключом) — это особая комбинация символов, которая предоставляет доступ к хранящимся на счету криптовалютам. Только человек, который знает ключ, может перемещать и тратить монеты.

В самом простом случае (подробнее об этом ниже) система сама генерирует приватный ключ, после чего на его основе создается публичный (открытый) ключ. Публичный и приватный ключ представляют собой буквенно-цифровые комбинации, которые связаны друг с другом. При этом это однонаправленная связь — зная приватный ключ, можно узнать публичный, однако зная публичный ключ, приватный узнать нельзя.

Связь публичного и приватного ключей
Связь публичного и приватного ключей

Приватный ключ — это сложная криптограмма, созданная путем применения алгоритма шифрования; она также служит своего рода подписью при отправке транзакций.      

В видео ниже наглядно показано, как работают приватные и публичные ключи:

Асимметричное шифрование

Как выглядит приватный ключ

Давайте посмотрим на примере биткоина, как выглядит приватный ключ. В основе Bitcoin лежит алгоритм шифрования SHA-256, который создает 256-битное число, состоящее из нуля и единицы.

Однако пользоваться таким длинным набором очень неудобно и, к тому же, ключ должен быть зашифрован. Поэтому приватный ключ от биткоин-аккаунта создается в виде 32-байтного числа, который состоит из 64 символов. На каждый символ приходится два значения (ноль или единица) из вышеназванного 256-битного числа. При этом используются цифры от 1 до 9 и буквенные символы от A до F.

Пример приватного ключа:

B4653223363AA61F20BD08FC233AC37262  

Угадать или подобрать методом «brute force» приватный ключ практически невозможно. По сути он представляет собой число в диапазоне от 1 до 10 в 77-ой степени . Если представить, что у человека появилась возможность перебирать один триллион чисел в секунду, то на поиск одного приватного ключа ушло бы как минимум миллион возрастов существования планеты Земля.

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

Также стоит сказать, что с развитием криптосферы, появились разные форматы для хранения приватных ключей. Это альтернативные форматы, которые называются «Форматом Импорта Кошелька». Их три:

  1. Hex: 1E99674A4CA27608A45A1813ABB0E9E52CFA330AC563EDBB32C8AAC6A964AECA.
  2. WIF: 5J3nBbAG58CuQ346RNLpPUA
  3. WIF-сжатый: KxFC1jnghCoACiATWZ3oXa748VN6ac3TYzGkd7YbsqGLY

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

Для чего нужен

Отправка криптовалютных транзакций
Отправка криптовалютных транзакций

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

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

Как создать надежный приватный ключ  

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

Автоматическая генерация

Это простой способ, в котором система сделает все за вас. Сгенерировать приватный ключ можно при помощи нескольких сервисов.

Бумажные кошельки

Преимущество этого способа в том, что ключи хранятся в оффлайне. Одним из проверенных сервисом, при помощи которого создать приватный ключ под силу даже новичку, является сервис bitaddress.org. Нужно выполнить три простых действия:

Шаг 1. Перейдите по ссылке выше. На экране появится окно с набором рандомных буквенных и числовых символов. Двигайте мышкой по экрану до тех пор, пока процент случайности не достигнет 100%:

Процесс генерации приватного ключа
Процесс генерации приватного ключа

Шаг 2. Когда показатель достигнет 100%, на экране появится QR-код и хеш приватного ключа:

Завершение процесса генерации закрытого ключа
Завершение процесса генерации закрытого ключа

Шаг 3 Распечатайте новосозданные ключи или можно также переписать ключ на бумагу.

Распечатка ключей
Распечатка ключей

Декстопные кошельки

Процесс генерации ключа в декстопных кошельках очень простой. Самые популярные — кошелек Exodus, Electrum, Jaxx. Ключ будет создан в полностью автоматическом режиме.  

Рассмотрим этот процесс на примере кошелька Exodus:

  1. Зайдите в меню разработчика и выберите создание кошелька для биткоина.
  2. Выберите раздел «Экспорт». Система покажет предупреждение о том, что при копировании и экспорте приватного ключа есть риск его утери и использовании третьими лицами. Согласитесь с экспортом.
  3. Приватный ключ будет сохранен в папке на рабочем столе.
Экспорт приватного ключа из кошелька Exodus
Экспорт приватного ключа из кошелька Exodus

Для надежности файл с ключом скопируйте на носитель, к которому нет интернет-доступа, например, на флешку. Также можно переписать ключ на лист бумаги.  

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

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

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

Например, таким сервисом является Bitcoin Wallet Blockchain.

Раньше в этом сервисе можно было получить ключи автоматически, однако с недавних пор эту опцию убрали. Теперь это можно сделать путем создания мнемонической фразы. Мнемоническая фраза — это особый список слов, которые впоследствии преобразовываются в хеш приватного ключа. В кошельке Blockchain мнемоническая фраза состоит из 12 слов.

Процесс генерации приватного ключа
Процесс генерации приватного ключа

Чтобы получить приватный ключ, нужно сделать следующее:

  1. Перейти в раздел «Хранилище — Настройки — Безопасность — Создание резервной фразы».
  2. Система предложить в несколько этапов выбрать 12 слов из рандомного набора. Нужно выбрать и запомнить. Для надежности можно записать эти слова на листе бумаге, который рекомендуется хранить в надежном месте, к которому нет доступа третьим лицам.
  3. Кошелек предложить проверить, насколько хорошо вы запомнили выбранные слова — нужно ввести любые четыре из двенадцати.
  4. Далее перейдите по ссылке iancoleman.io/bip39/. Обратите внимание, чтобы ссылка выглядела именно так, иначе есть риск стать жертвой фишинговой атаки.
  5. Следующий этап очень важный: отключитесь от сети, чтобы обеспечить максимальную безопасность.
  6. Перейдя на сайт, нужно выбрать язык мнемонической фразы, количество слов, ввести сами слова. Еще раз проверьте, правильно ли вы ввели слова — из-за ошибке в одной букве можно потерять все свои криптоактивы!
Процесс генерации приватного ключа
Процесс генерации приватного ключа

Система сгенерирует приватный ключ, который вы найдете в нижней части окна в разделе «Derivation Path»:  

Brain Wallet («мозговой кошелек»)

Этот способ считается более надежным, так как создателем своего ключа является сам пользователь. Однако он подойдет более продвинутым пользователям.

Этот метод называется Brain Wallet, т.е. «мозговой кошелек», так как ключ генерируется мозговыми усилиями владельца будущего ключа, и заключается в том, что пользователь должен придумать любую фразу или число и зашифровать его через алгоритм SHA-256.   

Создавая ключ этим способом, нужно помнить всего одно правило: чем сложнее будет фраза/число, тем надежнее будет приватный ключ.

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

Хешем числа 1 в системе SHA-256 является следующее значение:

1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm    

Если вы пройдете по ссылке, то увидите, что за последние несколько лет этот ключ использовался в более чем 1200 транзакциях и на нем было совершено операций почти на 5 BTC:

Пример небезопасного приватного ключа
Пример небезопасного приватного ключа

Аналогичную ситуацию можно наблюдать и при использовании известной фразы «Быть или не быть» в качестве приватного ключа:

1J3m4nneGFppRjx6qv92qyz7EsMVdLfr8R

Смотрите сами:

Еще один пример выбора популярной фразы в качестве приватного ключа
Еще один пример выбора популярной фразы в качестве приватного ключа

Эти примеры показывают, что выбор надежного приватного ключа — этап, к которому нужно отнестись максимально серьезно.   

Некоторые сервисы предоставляют опцию создания «мозгового кошелька», например, тот же bitaddress.org.  

Чтобы воспользоваться этой функцией, нужно перейти по вкладке «Умный кошелек»:

Выбор функции создания Brain Wallet
Выбор функции создания Brain Wallet

Далее нужно ввести фразу (обратите внимание, что ее должно быть невозможно или как минимум трудно угадать), подтвердить еще раз и нажать на кнопку «Просмотр». Сайт сгенерирует приватный ключ, который можно распечатать или переписать на бумагу:

Создание приватного адреса в Brain Wallet
Создание приватного адреса в Brain Wallet

Плюс этого способа в том, что даже потеряв приватный адрес, его можно восстановить, если преобразовать ее через стандартный алгоритм SHA-256 — такие конвертеры легко найти в интернете, например, этот.   

Приватный ключ можно вообще не записывать, если вы уверены, что запомнили фразу, а адрес нужно записать, чтобы на него можно было перевести биткоины.

Но если вы все еще очень боитесь, что кто-то сможет узнать ваш даже супер-сложный ключ, то есть еще один способ создания приватного ключа, который обеспечит 1000% безопасности. Возьмите монетку, подбрасывайте ее 160 раз подряд и записывайте «0», если выпала решка и «1», если выпал орел. После этого полученное число можно преобразовать в алгоритме SHA-256, и вы получите очень надежный приватный ключ, так как вряд ли кто-то сможет подбросить монету так же как вы.    

Как правильно хранить приватные ключи

Хранение приватных ключей
Хранение приватных ключей

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

А теперь расскажем, какие есть варианты хранения:

  • На бумаге или металле. Этот способ больше всего актуален для бумажных кошельков, однако так можно хранить приватный ключ, созданный любым методом — нужно просто переписать его. Однако такое хранение не безопасно: вы можете потерять лист, он может сгореть или размокнуть. Для большей прочности его можно заламинировать или сделать копию из металла.      
  • На флешке. Это один из самых надежных способов. Нужно использовать отдельную флешку (желательно новую и проверенную на отсутствие вирусов) и выполнять все операции в оффлайн-режиме. Есть несколько вариантов хранения: в виде текстового документа, скриншота или оригинального файла в формате wallet.dat. Также обязательно нужно поставить на флешку пароль.  
  • На компьютере. Это также достаточно надежный вариант хранения, если устройство не подключено к интернету и исправно работает. В противном случае он или может стать жертвой злоумышленников, или «полететь». Также рекомендуется поставить надежный пароль на сам файл с ключом и на компьютер.
  • В памяти. Это, пожалуй, самый безопасный способ хранения приватного ключа. Однако он подойдет только в том случае, если вы использовали мнемоническую фразу в качестве приватного ключа. Потому что запомнить набор из рандомных чисел и букв просто нереально.  

Перенос приватных ключей (свиппинг)

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

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

Использовать свиппинг стоит в таких случаях:

  • Если копия приватного ключа может находиться еще у кого-то;
  • Если вы потеряли ключ, но помните мнемоническую фразу;
  • Если вы решили воспользоваться средствами, и ваши ключи хранятся на бумажном носителе.    

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


Читайте также:

Технология блокчейн: как работает и где применяется

Книги о криптовалютах и блокчейне: наш ТОП-10

Хардфорк: зачем он нужен и как подготовиться к этому событию


© Coin Post, 2017–2019. Все материалы данного сайта являются объектами авторского права. Запрещается копирование, распространение (в том числе, путем копирования на другие сайты и ресурсы в Интернете с указанием источника) или любое иное использование информации без предварительного согласия правообладателя.