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

Что такое криптография

Криптография (от др.-греч. κρυπτός «скрытый» + γράφω «пишу») — это наука, изучающая методы и способы защиты данных от изменений и неавторизованного вмешательства при их передаче, обработке и хранении. До появления компьютеров данные шифровали в ручном режиме с помощью определенных правил (например, заменяя буквы в тексте на числа, обозначающие номер буквы в алфавите). Сейчас же криптография построена вокруг компьютерных алгоритмов, которые с помощью сложных методов математических преобразований перестраивают информацию в неупорядоченную и лишенную содержания последовательность символов. Чтобы прочесть зашифрованные таким образом данные, нужно произвести дешифрование — обратное преобразование зашифрованных данных в читабельный текст. 

Пример самых простых методов криптографии текста
 Пример двух самых простых и потому самых популярных методов криптографии текста — подстановка (слева) и перестановка (справа). Источник

Криптография в блокчейне

Если правила, по которым происходит преобразование доступной для прочтения информации в неупорядоченный набор символов, скрываются, то такой алгоритм шифрования считается закрытым. Если же эти правила известны всем, то алгоритм считается открытым. Секретность процедуры в открытых алгоритмах шифрования обеспечивают так называемые криптографические «ключи» — слова, числа и / или наборы символов, на основе которых информация шифруется таким образом, чтобы ее можно было расшифровать только с помощью криптографического ключа.

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

Симметричное шифрование
В симметричном методе для шифрования и дешифрования используется один и тот же ключ. Источник

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

Асимметричное шифрование
В ассиметричном методе для зашифровки данных используют один ключ, а для расшифровки – другой (отсюда и название – асимметричные). Источник

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

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

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

     

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

  • Это криптографический ключ, который дешифрует все сообщения, отправленные на адрес (публичный ключ) владельца приватного ключа.
  • Это буквально пароль, который позволяет пользователю управлять его учетной записью в блокчейне: покупать, продавать и отправлять криптовалюту; запускать смарт-контракты: участвовать в DeFi-проектах и прочее.   

     

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

Как сгенерировать приватный и публичный ключи

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

  1. Скачать и установить криптовалютный кошелек, поддерживающий работу с блокчейном Эфириума, например браузерный кошелек MetaMask.

Скачивание MetaMask 

  1. Открыть криптовалютный кошелек и выбрать опцию создания нового кошелька.

Создание кошелька MetaMask 

  1. Придумать пароль для входа в криптовалютный кошелек.

Создание пароля в MetaMask  

  1. Записать и сохранить seed-фразу, которая нужна для восстановления доступа к аккаунту в случае, если вы забудете пароль.

Запись seed-фразы в MetaMask 

  1. Дальше система попросит вас указать в правильном порядке слова seed-фразы, чтобы удостовериться, что вы действительно ее сохранили.

Проверка seed-фразы в MetaMask 

  1. После подтверждения того, что вы сохранили seed-фразу, кошелек создаст вашу учетную запись и тем самым сгенерирует ваш публичный и приватный ключ. Узнать приватный ключ можно, скопировав его в буфер обмена, кликнув по его сокращению вверху экрана.

 

  1. Чтобы узнать приватный ключ, кликните на три точки справа вверху экрана, выберите реквизиты счета и затем экспорт приватного ключа.

Реквизиты счета в MetaMask

  1. Дальше выберите «Экспорт закрытого ключа», укажите свой пароль для MetaMask и нажмите «Подтвердить».

 

 Подтверждение пароля в MetaMask

  1. После этого система покажет вам закрытый ключ вашего аккаунта.

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

Где хранятся приватные ключи

Место хранения приватного ключа зависит от того, какой кошелек или биржу (приложение) вы используете. Если это кастодиальные криптокошельки, такие как BitGo, Gemini и Coinbase Custody, то приватные ключи хранятся у вас и на стороне поставщика программного обеспечения (кастодиана). Если это некастодиальные кошельки, такие как Exodus, MetaMask, Jaxx или Trust Wallet, то приватные ключи хранятся только у вас, поставщик ПО не хранит их и не имеет к ним доступа.

При этом где именно на вашем устройстве хранятся приватные ключи в криптовалютном кошельке, зависит от конкретного ПО. Так, Exodus, MetaMask, Trust Wallet и другие некастодиальные кошельки (компьютерные программы, браузерные расширения и мобильные приложения) хранят ключи в зашифрованном виде на устройстве пользователя (дистрибутиве криптовалютного кошелька).

Кастодиальные кошельки и приложения обычно хранят закрытые ключи пользователей на защищенных локальных или облачных серверах своей компании.

Аппаратные кошельки, такие как Trezor, Ledger, KeepKey и ColdCard, хранят приватные ключи внутри устройств флеш-памяти.

Заключительные мысли

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