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