Блокчейн стал одной из самых крупных инноваций благодаря трем технологиям — децентрализованному реестру, механизму консенсуса и криптографии. В этой статье мы расскажем, как работает криптография в блокчейне и какой она бывает, а также что такое приватные и публичные ключи и где именно они хранятся.
Что такое криптография
Криптография (от др.-греч. κρυπτός «скрытый» + γράφω «пишу») — это наука, изучающая методы и способы защиты данных от изменений и неавторизованного вмешательства при их передаче, обработке и хранении. До появления компьютеров данные шифровали в ручном режиме с помощью определенных правил (например, заменяя буквы в тексте на числа, обозначающие номер буквы в алфавите). Сейчас же криптография построена вокруг компьютерных алгоритмов, которые с помощью сложных методов математических преобразований перестраивают информацию в неупорядоченную и лишенную содержания последовательность символов. Чтобы прочесть зашифрованные таким образом данные, нужно произвести дешифрование — обратное преобразование зашифрованных данных в читабельный текст.
Криптография в блокчейне
Если правила, по которым происходит преобразование доступной для прочтения информации в неупорядоченный набор символов, скрываются, то такой алгоритм шифрования считается закрытым. Если же эти правила известны всем, то алгоритм считается открытым. Секретность процедуры в открытых алгоритмах шифрования обеспечивают так называемые криптографические «ключи» — слова, числа и / или наборы символов, на основе которых информация шифруется таким образом, чтобы ее можно было расшифровать только с помощью криптографического ключа.
Симметричное шифрование. Если для шифрования и дешифрования информации используется один криптографический ключ, то такой метод криптографии называют симметричным шифрованием. Яркий пример этого метода — переносная машина шифрования Энигма, которую во время Второй мировой войны использовал Третий рейх для обеспечения секретности текстовых и радиосообщений. Энигму удалось взломать благодаря тому, что союзники смогли получить такую машину (то есть узнать метод шифрования) и подобрать ключ к шифру.
Асимметричное шифрование. Более продвинутый метод шифрования предполагает использование двух связанных друг с другом криптографических ключей: один для шифрования, второй для дешифрования. Именно этот метод шифрования используется в большинстве блокчейнов, в том числе в Биткоине.
Что такое публичный и приватный ключ
Публичный ключ. В мире блокчейна публичный, или открытый ключ — это уникальный набор символов, который обычно состоит из набора букв и цифр в количестве от 26 до 34 символов и служит для двух целей:
- Во-первых, это асимметричный криптографический ключ, который используется для преобразования сообщений в нечитабельный формат.
- Во-вторых, это своего рода адрес электронной почты и вместе с этим банковский счет, который можно использовать для отправки и получения сообщений и / или получения и передачи виртуальных токенов.
Приватный ключ. Его еще называют закрытым ключем. Это буквенно-цифровой пароль, который может быть представлен в разных формах в зависимости от конкретного блокчейна и криптовалютного кошелька (программы, которые позволяют управлять учетной записью в блокчейне). Как и в случае с публичным ключом, приватный ключ в блокчейне выполняет сразу две функции:
- Это криптографический ключ, который дешифрует все сообщения, отправленные на адрес (публичный ключ) владельца приватного ключа.
- Это буквально пароль, который позволяет пользователю управлять его учетной записью в блокчейне: покупать, продавать и отправлять криптовалюту; запускать смарт-контракты: участвовать в DeFi-проектах и прочее.
Публичный ключ можно показывать кому угодно и публиковать где угодно, и это никак не отразится на безопасности вашей учетной записи. Тогда как раскрытие приватного ключа, скорее всего, приведет к потере всех ваших денег.
Как сгенерировать приватный и публичный ключи
Генерация публичного и приватного ключа в блокчейне происходит во время создания учетной записи. Например, если вы хотите сгенерировать эти ключи в блокчейне Эфириума, то вам нужно произвести следующие действия:
- Скачать и установить криптовалютный кошелек, поддерживающий работу с блокчейном Эфириума, например браузерный кошелек MetaMask.
- Открыть криптовалютный кошелек и выбрать опцию создания нового кошелька.
- Придумать пароль для входа в криптовалютный кошелек.
- Записать и сохранить seed-фразу, которая нужна для восстановления доступа к аккаунту в случае, если вы забудете пароль.
- Дальше система попросит вас указать в правильном порядке слова seed-фразы, чтобы удостовериться, что вы действительно ее сохранили.
- После подтверждения того, что вы сохранили seed-фразу, кошелек создаст вашу учетную запись и тем самым сгенерирует ваш публичный и приватный ключ. Узнать приватный ключ можно, скопировав его в буфер обмена, кликнув по его сокращению вверху экрана.
- Чтобы узнать приватный ключ, кликните на три точки справа вверху экрана, выберите реквизиты счета и затем экспорт приватного ключа.
- Дальше выберите «Экспорт закрытого ключа», укажите свой пароль для MetaMask и нажмите «Подтвердить».
- После этого система покажет вам закрытый ключ вашего аккаунта.
Где хранятся приватные ключи
Место хранения приватного ключа зависит от того, какой кошелек или биржу (приложение) вы используете. Если это кастодиальные криптокошельки, такие как BitGo, Gemini и Coinbase Custody, то приватные ключи хранятся у вас и на стороне поставщика программного обеспечения (кастодиана). Если это некастодиальные кошельки, такие как Exodus, MetaMask, Jaxx или Trust Wallet, то приватные ключи хранятся только у вас, поставщик ПО не хранит их и не имеет к ним доступа.
При этом где именно на вашем устройстве хранятся приватные ключи в криптовалютном кошельке, зависит от конкретного ПО. Так, Exodus, MetaMask, Trust Wallet и другие некастодиальные кошельки (компьютерные программы, браузерные расширения и мобильные приложения) хранят ключи в зашифрованном виде на устройстве пользователя (дистрибутиве криптовалютного кошелька).
Кастодиальные кошельки и приложения обычно хранят закрытые ключи пользователей на защищенных локальных или облачных серверах своей компании.
Аппаратные кошельки, такие как Trezor, Ledger, KeepKey и ColdCard, хранят приватные ключи внутри устройств флеш-памяти.
Заключительные мысли
Асимметричная криптография — важнейший компонент блокчейна и, следовательно, криптовалют. Ее использование позволило обеспечить высокий уровень безопасности там, где это необходимо, гарантируя конфиденциальность данных и безопасность денежных переводов — две из трех особенностей (третья — децентрализация), позволивших блокчейну и криптовалютам стать настолько популярными.