Як криптовалюти використовують криптографію?

За Kraken Learn team
11 мін.
28 травня 2025 р.

Посібник для початківців з криптографії

Коли протокол Bitcoin запрацював у 2009 році, світу було представлено новий тип валютної системи, яка захищена та випускається абсолютно іншим способом, ніж традиційні гроші.

Фіатні валюти, такі як долар США або японська єна, захищені довірою до застарілої банківської системи та випускаються відповідним центральним банком кожної країни. Будь-яка нова валюта надходить в обіг на основі гнучкої монетарної політики, визначеної урядом кожної країни. У певному сенсі, фіатні валюти підтримуються довірою до фінансової могутності окремих країн та військових, які захищають цю могутність.

З іншого боку, Bitcoin, а згодом і всі криптовалюти, створені після запуску Bitcoin, захищені та випускаються за допомогою наукової практики «криптографії». 

Зрештою, Bitcoin працює за заздалегідь визначеною, комп'ютерно-контрольованою монетарною політикою, яку не може змінити жодна окрема особа, компанія чи уряд. Замість того, щоб довіряти уряду чи установам, користувачі Bitcoin довіряють криптографії та прозорому набору правил протоколу, які дозволяють йому надійно працювати незалежно від його ринкової ціни чи ринкових настроїв.

Image for how cryptocurrencies use cryptography

Що таке криптографія?

Криптографія — це наука про шифрування та дешифрування інформації. Коротко кажучи, це практика зміни повідомлення таким чином, щоб його могли зрозуміти лише відправник та передбачуваний одержувач або одержувачі.

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

Один з найдавніших прикладів криптографії датується 7 століттям до нашої ери, коли стародавні греки обмотували шкіряні смужки з таємними повідомленнями навколо палиць — метод шифрування, відомий як скітала. Після розмотування шкіряна смужка мала б на собі набір літер, який могла розшифрувати лише людина з подібною палицею такого ж діаметра.

Під час війни криптографія відігравала життєво важливу роль у забезпеченні безпеки зв'язку, який міг бути перехоплений між розподіленими силами. У Другій світовій війні використання криптографії для розшифровки зашифрованих нацистських радіопередач з шифрувальної машини Enigma виявилося ключовим у припиненні вторгнення в Європу.

Перенесемося в сьогодення, і криптографія тепер відіграє фундаментальну роль у безпеці та випуску криптовалют, таких як біткойн

Криптографія є важливим компонентом криптовалют, що використовується для: 

  • Створення пар ключів криптогаманця
  • Випуску нових біткойнів через процес майнінгу
  • Цифрового підписання транзакційних повідомлень

Як Bitcoin використовує криптографію?

Безпека мережі

Загальна сума обчислювальних ресурсів, спрямованих на майнінг біткойнів, допомагає захистити мережу від кібератак. Це колективно відомо як «хешрейт» мережі. Чим більше майнерів у мережі, тим вищий хешрейт і тим більша кількість обчислювальної потужності потрібна для перевантаження мережі більшістю в 51%.

Атака 51% є однією з найбільших загроз для публічних блокчейн-мереж. Зловмисники, які можуть об'єднати достатньо ресурсів для контролю щонайменше 51% хешрейту блокчейну, отримують можливість блокувати вхідні транзакції, змінювати порядок транзакцій та подвійно витрачати кошти. Однак, роблячи процес обчислювально складним, мережа біткойнів запобігає захопленню мережі зловмисниками.

Незмінність

Хешування SHA-256 також відповідає за забезпечення незмінності транзакцій на основі блокчейну. 

Після того, як транзакції об'єднуються в нові блоки та перевіряються всіма іншими добровольцями в мережі, кожне транзакційне повідомлення хешується за допомогою криптографічного алгоритму SHA-256. 

Ці вже хешовані транзакції потім систематично хешуються попарно для створення так званого «дерева Меркла». Пари транзакцій хешуються разом, доки зрештою всі транзакції в блоці не будуть представлені одним хеш-значенням. Це єдине значення стає коренем Меркла та зберігається в заголовку блоку.

Оскільки хеші є детермінованими — тобто той самий вхід завжди створюватиме те саме унікальне вихідне значення — будь-яка спроба зловмисників змінити блок транзакцій призведе до абсолютно нового значення кореня Меркла. Інші добровольці в системі зможуть побачити змінений корінь Меркла порівняно з дійсним блоком і відхилити його, одностайно запобігаючи корупції.

Бездовірні операції

Детермінована природа криптографічних алгоритмів дозволяє користувачам мережі здійснювати транзакції біткойнів без необхідності довіреного посередника для перевірки та обробки платежів.

Залишаючись децентралізованими та усуваючи людський фактор, транзакції можуть оброблятися значно швидше, а комісії часто набагато дешевші, ніж традиційні банківські рішення.

Яку криптографію використовує Bitcoin?

Генерація приватних та публічних ключів

Bitcoin використовує криптографію на еліптичних кривих (ECC) та безпечний алгоритм хешування 256 (SHA-256) для генерації публічних ключів з відповідних приватних ключів.

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

Ви можете уявити приватний ключ як PIN-код вашого банку, а публічний ключ як номер вашого банківського рахунку. Хакеру потрібні обидва, щоб зробити щось небажане з вашими фінансами.

Приватний ключ є важливою частиною пари ключів і зберігається в криптогаманці. Технічно, криптогаманець зберігає доступ людини до її криптофондів, а не саму криптовалюту. Самі кошти є просто записами даних у блокчейні і можуть бути ідентифіковані та розблоковані за допомогою ключів, що зберігаються у вашому гаманці. 

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

ECC — це використання спеціальної математичної кривої, яка є горизонтально симетричною. Якщо провести будь-яку лінію через цю криву, вона перетне фігуру максимум тричі. ECC є важливою частиною криптовалюти і дозволяє користувачам генерувати публічний ключ.

Щоб згенерувати пару ключів Bitcoin, спочатку потрібно створити приватний ключ.

Приватний ключ Bitcoin — це випадково згенероване 256-бітове число (між 1 і 2²⁵⁶, або два в степені двісті п'ятдесят шість — неймовірно велике число!). На таких сервісах, як Kraken, це число створюється автоматично при налаштуванні нового криптогаманця.

Публічний ключ потім генерується з цього числа за допомогою множення на еліптичній кривій. Це передбачає взяття початкової точки на еліптичній кривій (відомої як точка-генератор) і множення її на випадкове число приватного ключа для отримання нової точки на кривій.

Ця нова точка стає публічним ключем з певними координатами x та y. Знайти приватний ключ, знаючи публічний ключ, майже неможливо через те, наскільки важко було б вгадати випадкове 256-бітове число. Існує приблизно один шанс зі 150 000 мільярдів мільярдів мільярдів мільярдів мільярдів мільярдів мільярдів мільярдів отримати його правильно.

Теоретично, квантовому комп'ютеру з більш ніж 13 000 000 фізичних кубітів знадобився б день, щоб знайти це число. На сьогоднішній день один з найсучасніших квантових комп'ютерів у світі, процесор IBM Eagle, має лише 127 кубітів (або 0,00097% від необхідної кількості кубітів).

Іншими словами, системи, що використовуються криптовалютами, принаймні наразі, є повністю безпечними.

SHA-256

Щоб створити адресу біткойн-гаманця, координати x та y пропускаються через алгоритм SHA-256. 

Ця криптографічна хеш-функція була розроблена та опублікована Агентством національної безпеки США (NSA) у 2001 році і, по суті, перетворює будь-який вхід (у цьому випадку, координати публічного ключа) на унікальний 256-бітовий код фіксованої довжини.

Цей код представлений у 64-символьному шістнадцятковому форматі, що містить суміш чисел від 0 до 9 та літер A-F.

Криптографічні функції ECC та SHA-256 відомі як «односторонні» або «детерміновані» функції. Це означає, що вони працюють лише в одному напрямку і не можуть бути обернені для виявлення вихідних даних.

Хоча можливо створити публічний ключ з приватного ключа, неможливо обернути процес і виявити приватний ключ. Те саме стосується спроби виявити, який публічний ключ був використаний для створення адреси біткойн-гаманця. Лише власник публічного ключа має цю інформацію і може використовувати її для підтвердження права власності на адресу біткойн-гаманця.

Потрібен кращий спосіб зрозуміти це? Уявіть, що хтось змішав різні кольорові фарби з вибору, як ми зазначали раніше, 150 000 мільярдів мільярдів мільярдів мільярдів мільярдів мільярдів мільярдів мільярдів варіантів, щоб створити один унікальний колір. 

Якби ви знали точні кількості правильних фарб, ви змогли б відтворити той самий колір. Але що, якби ви не знали? Спроба обернути процес була б майже неможливою. 

Це, по суті, те, як працюють ці односторонні криптографічні функції, і що дозволяє їхнім вхідним даним бути невпізнанними порівняно з вихідними.

Випуск нових біткойнів

Нові одиниці біткойнів надходять в обіг через процес, який називається майнінгом.

Майнінг є частиною механізму консенсусу Proof-of-Work, який використовується блокчейном Bitcoin для вибору чесних учасників для додавання нових блоків даних.

Це відбувається за допомогою хешування SHA-256. Тисячі мережевих добровольців — відомих як майнінгові вузли — змагаються один з одним, використовуючи комп'ютери, спеціально створені для генерації трильйонів хешів за секунду.

Майнери спочатку беруть заголовок блоку — частину, яка містить всю інформацію верхнього рівня про блок, включаючи його часову мітку, цільове значення, яке майнери повинні перевершити, та інші ключові компоненти — з найновішого блоку в ланцюжку та коригують число, яке називається nonce

Nonce — це мнемоніка, яка представляє число, що використовується лише один раз. Це частина заголовка блоку, яку можна змінити для створення нового хешованого значення.

Мета майнінгового змагання на основі криптографії проста. Майнери використовують свої машини для автоматичного коригування числа nonce в заголовку блоку та пропускають його через алгоритм хешування SHA-256 для отримання значення.

Той майнер, який отримає значення, що має таку ж або більшу кількість нулів на початку порівняно з цільовим значенням, виграє змагання. Якщо значення не перевершує цільове значення, майнери знову коригують число nonce, перехешовують заголовок блоку та отримують нове значення.

Цей процес повторюється, доки хтось не досягне успіху.

Новостворені біткойни присуджуються кожному успішному майнеру на основі фіксованого графіка випуску, попередньо запрограмованого в вихідний код Bitcoin його творцем, Сатоші Накамото. 

Криптографія відіграє життєво важливу роль в обробці транзакцій біткойнів та забезпеченні безпеки мережі через процес майнінгу. Ви можете ознайомитися зі статтею Kraken Learn Center Що таке майнінг біткойнів?, щоб дізнатися більше.

Цифрові підписи

Цифрові підписи мають вирішальне значення для того, щоб відправники могли довести, що вони володіють відповідним приватним ключем до певного публічного ключа, не розкриваючи свій приватний ключ нікому.

Bitcoin використовує алгоритм цифрового підпису на еліптичних кривих (ECDSA) для криптографічного схвалення та надсилання транзакцій з криптогаманця.

Це передбачає, що відправник бере хешоване повідомлення про транзакцію – яке містить адресу гаманця одержувача, суму BTC, що надсилається, будь-які комісії та джерело походження біткоїна – додає до нього свій приватний ключ і створює цифровий підпис за допомогою іншого одностороннього математичного процесу.

Більш конкретно, це передбачає процес, подібний до вищезгаданого створення публічного ключа з приватного ключа, з додаванням кількох додаткових кроків.

Створюється випадкове число (подібне до приватного ключа), яке потім множиться на ту саму точку-генератор, що використовується для створення публічного ключа гаманця, щоб створити нову точку на еліптичній кривій. Назвемо її Точка А. 

Координата X Точки А потім множиться на приватний ключ відправника та додається до хешованого повідомлення про транзакцію. Все це потім ділиться на випадкове число, згенероване на початку, щоб отримати нове значення. Це значення слугує цифровим підписом.

Щоб перевірити цифровий підпис, одержувач виводить дві точки на еліптичній кривій. Спочатку повідомлення ділиться на значення цифрового підпису, щоб отримати точку-генератор. Потім координата X точки-генератора ділиться на значення цифрового підпису, щоб виявити другу точку на кривій.

Нарешті, проведення лінії через ці дві точки дає третю та останню точку на еліптичній кривій. Ця кінцева точка повинна мати точно таку ж координату X, як і Точка А, тим самим доводячи, що цифровий підпис був створений за допомогою правильного відповідного приватного ключа.

На щастя, цифровий криптогаманець виконує весь цей процес перевірки автоматично, без будь-якого втручання з боку користувача.

Чому криптографія важлива?

Криптографія відіграє важливу роль не лише в захисті криптовалютних мереж від корупції, але й у наданні беззаперечного засобу підтвердження права власності на кошти, не змушуючи користувачів розкривати свою конфіденційну інформацію про приватний ключ.

Без неї криптовалютні мережі, ймовірно, були б змушені покладатися на довірених, централізованих посередників для захисту своєї інформації та полегшення платежів — що повністю суперечить децентралізованій природі публічних криптовалют на основі блокчейну.

Тепер, коли ви розумієте технологію, що лежить в основі криптовалют, настав час почати роботу з найбільш прозорою та надійною біржею цифрових активів.

Почніть користуватися Kraken

Готові зробити наступний крок у вашій криптовалютній подорожі з надійною та прозорою біржею? Натисніть кнопку нижче, щоб розпочати роботу із Kraken уже сьогодні!