Публичные и приватные ключи в крипте
С публичными и приватными ключами постоянно сталкиваются все трейдеры или ходлеры, когда покупают, хранят или обменивают криптовалюты. Под каждый новый актив все время генерируется отдельная пара публичного и приватного ключей, выполняющих свои важные функции.
Биткоин и другие криптовалюты основаны на криптографических алгоритмах с открытым исходным кодом и всегда используют пары ключей: публичные (открытые, используемые для идентификации) и приватные (конфиденциальные, которые используют для аутентификации и шифрования данных).
Основное предназначение публичного и приватного ключей
Процедура передачи данных через блокчейн имеет следующий алгоритм:
- Генерация пары "публичный/приватный ключ" с использованием определенного алгоритма (для каждой криптовалюты он разный), а также SEED-фразы для восстановления доступа к кошельку.
- Создание электронной подписи и её проверка. Для подписания сообщения используется приватный ключ, а публичный имеет функцию проверки достоверности подписи.
- Шифровка и дешифровка сообщений. Сообщение зашифровывается с помощью публичного ключа, а дешифрование происходит с использованием приватного.
Перевод криптовалюты
Когда необходимо осуществить перевод монет, например биткоина, отправитель запрашивает у получателя публичный ключ от его BTC-кошелька. Публичный ключ — это еще и платежный реквизит, являющийся адресом кошелька и используемый для получения переводов. Его также удобно передавать в виде QR-кода. После этого отправитель вписывает публичный ключ (чаще благодаря копипасту) в поле «Адрес получателя», указывает сумму перевода и комиссии, подписывает транзакцию своим приватным ключом и отправляет перевод.
В поле «Адрес» необходимо прописать публичный ключ получателя
Адрес кошелька
Как банки используют номера счетов для контроля остатков на них, также используются и адреса кошельков в публичной блокчейн-среде.
Адрес биткоин-кошелька состоит из длинной строки букв и цифр длиной от 26 до 35 символов, обычно начинающихся с 1, 3 или bc1. Формат адресов у других криптовалют отличается — у каждой монеты он генерируется по уникальному алгоритму.
Формат публичного и приватного ключа
Формат публичных и приватных ключей состоит из рандомно сгенерированного набора букв и цифр, формируемого по соответствующему алгоритму для безопасного обмена монет между двумя сторонами.
Приватный ключ длиннее и его наложение легитимизирует транзакцию и верифицирует право отправителя на активы. Эта подпись используется для подтверждения обработки транзакции, устраняя возможность внесения изменений после ее отправки.
С кастодиальными кошельками процедура перевода активов немного проще. Все кастодианы (например, централизованные биржи) генерируют и хранят приватные ключи у себя. Когда пользователь переводит монеты из такого кошелька, платежный сценарий подписывает транзакцию его приватным ключом по умолчанию (без фактического раскрытия владельцу), таким образом, "информируя" сеть о том, что этот пользователь имеет полномочия на перевод средств.
Следует всегда помнить, что приватный ключ – это доступ к вашим средствам, поэтому в целях безопасности никогда не разглашайте его посторонним лицам!
Приватный ключ используют для математического определения публичного ключа, который (вместе с информацией о сети и контрольной сумме) затем преобразуется с помощью хэш-функции в адрес, доступный другим пользователям. Пользователь получает монеты от отправителя, являющиеся результатом хеширования публичного ключа.
Вероятно, у вас возникает логичный вопрос: если публичный ключ получен из приватного, не может ли кто-то создать обратный генератор, чтобы таким образом вычислить приватный ключ и стащить активы?
Криптовалюты решают эту проблему благодаря применению сложного математического алгоритма. Несмотря на то, что система позволяет легко генерировать публичные ключи из приватных, создать алгоритм для достижения обратного результата практически невозможно.
Механизм выполнения обратного процесса настолько сложен, что даже самому мощному компьютеру в мире понадобится более 4 трлн лет, чтобы выполнить такой расчет.
Вывод
Очевидно, при использовании публичных и приватных ключей действуют единые правила безопасности для всех криптовалют:
- SEED-фраза никогда не отправляется в блокчейн;
- приватный ключ никогда не отправляется по сети;
- практически невозможно вычислить приватный ключ из публичного;
- внедрена система алгоритмической устойчивости.
Многие владельцы криптовалют не уделяют должного внимания защите своих приватных ключей и SEED-фраз, преимущественно полагаясь на пароль к кошельку или аккаунту. Но не стоит забывать, что много компьютерных вирусов создается именно для краж приватных ключей, поэтому не рекомендуется хранить их на компьютерах или смартфонах.
Для безопасного хранения криптографических ключей наиболее предпочтительным вариантом являются специализированные устройства типа аппаратных кошельков или защищенной флешки, на которой информация хранится в зашифрованном виде.
Не забывайте, что только владелец активов отвечает за них, поэтому будьте осторожны и бдительны!