Що таке алгоритм майнінгу CryptoNight та як він працює?

Розуміння алгоритмів майнінгу

Алгоритми майнінгу є основою блокчейн-мереж, таких як Bitcoin та інші протоколи. 

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

Proof-of-Work (PoW) – це відомий алгоритм консенсусу, що використовується в Bitcoin та інших криптовалютах. У PoW майнери змагаються, використовуючи обчислювальну потужність, щоб знайти певне хеш-значення, яке дозволить їм створити новий блок. Для того щоб бути конкурентоспроможними в цьому енергоємному процесі, майнерам необхідне спеціалізоване обладнання — ASIC (спеціалізовані інтегральні схеми). До появи ASIC, користувачі використовували менш потужне обладнання, таке як процесори (CPU) та графічні процесори (GPU), працюючи вдома.

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

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

Вибір алгоритму майнінгу є надзвичайно важливим рішенням для криптовалютного проєкту, адже він визначає правила і вимоги для створення та захисту блокчейн-мережі, а також спосіб винагородження учасників новими монетами. Прикладами популярних алгоритмів майнінгу є Ethash (використаний у мережі Ethereum) та CryptoNight (використаний у мережі Monero). 

Що таке алгоритм CryptoNight?

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

CryptoNight – це PoW-алгоритм майнінгу, що підходить для CPU та GPU і спроектований для стійкості до ASIC, щоб запобігти централізації майнінгу. Він дозволяє користувачам ефективніше майнити, використовуючи комбінацію хеш-функцій, включаючи CryptoNight і Keccak. 

Його криптографічна хеш-функція заснована на стандарті Advanced Encryption Standard (AES), військовому рівні алгоритму для забезпечення надзвичайно високого рівня безпеки, що робить CryptoNight алгоритмом майнінгу з акцентом на безпеку. З моменту, коли Monero почала використовувати CryptoNight як хеш-алгоритм для свого консенсусу блокчейну, його репутація в світі криптовалют як захищеного алгоритму тільки зміцніла.

Створення алгоритму CryptoNight є доволі вражаючим і нагадує історію створення Bitcoin. Його творець, відомий під вигаданим ім’ям Ніколас ван Саберхаген (Nicolas van Saberhagen), зник у невідомість, подібно до легендарного Сатоші Накамото. 

Через схожість багато хто вважає, що обидва творці — одна й та ж особа. Додаткову загадковість до цієї історії додає “містична” дата випуску протоколу CryptoNote – 12 грудня 2012 року (12.12.2012). CryptoNote був створений як безпековий протокол і інструмент приватності, що підтримував конфіденційність транзакцій, їхню ненаслідуваність та використовував кільцеві підписи.

Як працює алгоритм майнінгу CryptoNight?

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

CryptoNight дружній до GPU-майнінгу, проте його характеристики роблять його ідеальним для CPU-майнінгу. Архітектура CPU виявляється надзвичайно ефективною завдяки набору 64-бітних швидких множників для максимальної швидкості; до того ж, широкий доступ до кешу CPU забезпечує найкращу продуктивність.

Процес роботи включає три основних етапи:

Створення “scratchpad” 

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

Шифрувальна трансформація

Потім береться перші 31 байт цього хешу Keccak-1600 та перетворюється на ключ шифрування для алгоритму AES-256 — найпотужнішого представника родини AES.

Фінальний хеш

CryptoNight бере весь набір даних, створений функціями AES-256 та Keccak на попередньому етапі, і пропускає через решту хеш-функцій. У результаті з’являється фінальний хеш із доказової роботи CryptoNight. Результатом є 256-бітне значення, або 64 символи загалом.

Чому алгоритм CryptoNight важливий?

CryptoNight був спроєктований для забезпечення рівних можливостей майнінгу на CPU та GPU, зводячи до мінімуму використання ASIC-майнерів.

CryptoNight важливий через три основні причини: він забезпечує сильнішу приватність завдяки непроникним транзакціям, має ASIC-резистентність і гарантує масштабованість. Більшість криптовалют, включаючи Bitcoin, майже не є анонімними, оскільки транзакції чи баланс можна легко простежити через публічну адресу у відкритому блокчейні. 

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

Однією з основних мотивацій розвитку CryptoNight було протидія зростаючим побоюванням щодо централізації криптовалют через використання ASIC. Розробники шукали спосіб боротьби з домінуванням ASIC та створили систему, де GPU та CPU могли продовжувати конкурувати у майнінгові. 

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

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

Bytecoin – перша криптовалюта, що застосувала протокол CryptoNote у своєму блокчейні, однак популярність CryptoNight значно зросла завдяки Monero.

Кілька криптовалют інтегрували алгоритм CryptoNight, першим прикладом якого є CryptoNoteCoin, що прямо відсилає до проєкту CryptoNight. 

Bytecoin 

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

Monero

Хоч Monero більше не використовує CryptoNight, він був одним із найпотужніших його захисників через позицію проти сили ASIC. Monero інтегрував CryptoNight як свій PoW у 2014 році, дещо модифікувавши його згодом у CryptoNight-R для порушення сумісності з ASIC. 

Однак у 2017 році ASIC-сумісний CryptoNight створила компанія Bitmain, і до 2018 року ASIC-майнери повернулися у мережу Monero. У 2019 році Monero змінив свій алгоритм майнінгу на RandomX із фокусом на CPU-майнінгу.

Electroneum (ETN) 

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

Інші менш відомі проєкти, які реалізували алгоритм CryptoNight, включають Boolberry, Dashcoin, DigitalNote, DarkNetCoin та Pebblecoin. Проте ці проекти зазнали злочинних атак у 2017 році, що породило занепокоєння щодо безпеки їхніх мереж та надійності алгоритму CryptoNight.

Існують різні варіації алгоритму CryptoNight, зокрема CryptoNight Heavy, який застосовує низка криптовалютних проєктів, включаючи Ryo Currency, Sumokoin та Loki. 

Однак через те, що CryptoNight Heavy покладається на мережу без довіри (trustless peer-to-peer network), це може спричиняти серйозні вразливості. Оскільки вузли повинні перевіряти PoW кожного нового блоку і витрачати значний час на оцінку кожного хешу, вони стають більш уразливими до атак типу DDoS, тобто атак із розподіленою відмовою в обслуговуванні.

Що чекає на алгоритм CryptoNight у майбутньому?

Із моменту свого створення у 2012 році алгоритм CryptoNight зазнав значних змін, оновлень та модифікацій, щоб відповідати вимогам різних криптопроєктів, до кінцевої версії CryptoNight-R, створеної Monero.

Чи залишається CryptoNight дійсним алгоритмом майнінгу, чи він зазнав невдачі у спробі стати інструментом рівноправності? Усі його різновиди мали одну спільну мету: стійкість до ASIC і протидію їхньому подальшому домінуванню у криптомайнингу. 

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

Однак інші вважають, що CryptoNight добре впорався зі стримуванням корпоративного домінування ASIC. Він народився як алгоритм рівності, який міг забезпечити рівні права для майнінгу не лише корпораціям, а й звичайним людям. 

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