720 подписчиков

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

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

Публичный ключ блокчейна

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

Если мы вспомним, что такое хэш транзакции и представим себе этот набор цифр, то он для нас будет абракадаброй

0x64266eD6B6eDAAFE4d1E4613ed5DC152CcEF6635

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

В Ethereum (и Binance Smart Chain как хард-форка Ethereum) открытый ключ получается на основе закрытого ключа и состоит из 128 шестнадцатеричных символов. Затем берётся хэш этого по алгоритму “SHA3” (Keccak-256) (он состоит из 64 символов), берутся последние 40 символов и добавляете в начало 0x, что дает вам адрес из 42 символов.

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

И выглядит адрес в сети BSC вот так (это то же самое что счёт или аккаунт):

0xB8F1dB13B36dD64A7fcCD22222Bd9a4444Be2e66

Тут символы 0x + 40 шестнадцатеричных символов (всего 42 символа).

Иногда используют ENS-домены (
Ethereum Name Service) - это платный сервис, который позволяет присвоить данному адресу человекопонятное имя и даже аватар. В этом случае будет работать и 42-значный адрес и адрес типа yourname.eth. Аналогичные доменные имена сегодня есть практически во всех блокчейнах, но работают они пока только в блокчейне эфира

ENS-домен - привязывается к открытому ключу
ENS-домен - привязывается к открытому ключу

С помощью публичного ключа и адреса можно раскодировать транзакцию

Расшифровка транзакции с помощью публичного ключа
Расшифровка транзакции с помощью публичного ключа

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

Публичный ключ - адрес
Публичный ключ - адрес

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

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

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

afdfd9c3d5555ef696594f6aaaaaa59e72dcd697e2a7521b1578140422a4f890

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

Итак, что мы имеем:

  • пара ключей - публичный и приватный ключ. Они генерируются при создании счета и служат для доступа к нему
  • адрес в сети (или открытый профиль владельца счета). Генерируется из публичного ключа

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

Это как доступ в личный кабинет брокера или банка, например
Для доступа у вас есть логин/профиль, электронная почта и пароль для доступа. Логин в данном ваше имя и оно публично доступно всем. Это как адрес в блокчейне

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

И есть пароль для входа в профиль, без которого не войдёшь даже с почтой. Это закрытый ключ

Можно настроить и более безопасные способы входа в личный кабинет - например, одноразовые пароли или двухфакторная аутентификация. У механизма доступа к блокчейн-счету тоже есть продвинутые способы

Как происходит подписание транзакции
Как происходит подписание транзакции

Не забываем 👍

И подписаться на наш телеграм-канал https://t.me/alphahunterss