Майнінг
Передумови
Щоб краще зрозуміти цю сторінку, ми рекомендуємо спочатку прочитати про транзакції, блоки та доказ виконання роботи (PoW).
Що таке майнінг в Етеріумі?
Майнінг — це процес створення блоку транзакцій для додавання до блокчейну Етеріуму в нині застарілій архітектурі доказу виконання роботи (PoW).
Слово «майнінг» походить з контексту аналогії криптовалют із золотом. Золото або дорогоцінні метали є дефіцитними, як і цифрові токени, і єдиний спосіб збільшити їхній загальний обсяг у системі доказу виконання роботи — це майнінг. В Етеріумі на базі доказу виконання роботи єдиним способом емісії був майнінг. Однак, на відміну від золота чи дорогоцінних металів, майнінг в Етеріумі також був способом захисту мережі шляхом створення, перевірки, публікації та поширення блоків у блокчейні.
Майнінг етеру = Захист мережі
Майнінг — це джерело життєвої сили будь-якого блокчейну на базі доказу виконання роботи. Майнери Етеріуму — комп'ютери, на яких працює програмне забезпечення, — використовували свій час та обчислювальні потужності для обробки транзакцій і створення блоків до переходу на доказ частки (PoS).
Навіщо існують майнери?
У децентралізованих системах, таких як Етеріум, нам потрібно переконатися, що всі згодні з порядком транзакцій. Майнери допомагали в цьому, вирішуючи обчислювально складні головоломки для створення блоків, захищаючи мережу від атак.
Більше про доказ виконання роботи
Раніше будь-хто міг займатися майнінгом у мережі Етеріум за допомогою свого комп'ютера. Однак не всі могли майнити етер (ETH) прибутково. У більшості випадків майнерам доводилося купувати спеціалізоване комп'ютерне обладнання та мати доступ до недорогих джерел енергії. Звичайний комп'ютер навряд чи міг би заробити достатньо винагород за блок, щоб покрити пов'язані з майнінгом витрати.
Вартість майнінгу
- Потенційні витрати на обладнання, необхідне для створення та обслуговування майнінгової ферми
- Витрати на електроенергію для живлення майнінгової ферми
- Якщо ви майнили в пулі, ці пули зазвичай стягували фіксовану комісію у відсотках з кожного блоку, згенерованого пулом
- Потенційні витрати на обладнання для підтримки майнінгової ферми (вентиляція, моніторинг енергії, електропроводка тощо)
Щоб детальніше дослідити прибутковість майнінгу, скористайтеся калькулятором майнінгу, наприклад, тим, який надає Etherscan (opens in a new tab).
Як майнилися транзакції в Етеріумі
Нижче наведено огляд того, як транзакції майнилися в Етеріумі на базі доказу виконання роботи (PoW). Аналогічний опис цього процесу для Етеріуму на базі доказу частки (PoS) можна знайти тут.
- Користувач створює та підписує запит на транзакцію за допомогою приватного ключа певного акаунта.
- Користувач транслює запит на транзакцію усій мережі Етеріум з певного вузла.
- Дізнавшись про новий запит на транзакцію, кожен вузол у мережі Етеріум додає цей запит до свого локального мемпулу — списку всіх запитів на транзакції, про які вони дізналися, але які ще не були зафіксовані в блокчейні у вигляді блоку.
- У певний момент майнінговий вузол об'єднує кілька десятків або сотень запитів на транзакції в потенційний блок таким чином, щоб максимізувати комісії за транзакції, які він заробляє, залишаючись при цьому в межах ліміту газу блоку. Після цього майнінговий вузол:
- Перевіряє дійсність кожного запиту на транзакцію (тобто, що ніхто не намагається переказати етер з акаунта, для якого не було створено підпис, що запит не є пошкодженим тощо), а потім виконує код запиту, змінюючи стан своєї локальної копії EVM. Майнер нараховує комісію за транзакцію для кожного такого запиту на свій власний акаунт.
- Починає процес створення «сертифіката легітимності» доказу виконання роботи для потенційного блоку, щойно всі запити на транзакції в блоці будуть перевірені та виконані на локальній копії EVM.
- Зрештою, майнер завершить створення сертифіката для блоку, який містить наш конкретний запит на транзакцію. Потім майнер транслює завершений блок, який включає сертифікат і контрольну суму заявленого нового стану EVM.
- Інші вузли дізнаються про новий блок. Вони перевіряють сертифікат, самостійно виконують усі транзакції в блоці (включно з транзакцією, яку спочатку транслював наш користувач) і перевіряють, чи збігається контрольна сума їхнього нового стану EVM після виконання всіх транзакцій із контрольною сумою стану, заявленою в блоці майнера. Лише після цього ці вузли додають цей блок у кінець свого блокчейну та приймають новий стан EVM як канонічний стан.
- Кожен вузол видаляє всі транзакції в новому блоці зі свого локального мемпулу невиконаних запитів на транзакції.
- Нові вузли, що приєднуються до мережі, завантажують усі блоки послідовно, включно з блоком, що містить транзакцію, яка нас цікавить. Вони ініціалізують локальну копію EVM (яка починається як EVM з порожнім станом), а потім проходять процес виконання кожної транзакції в кожному блоці поверх своєї локальної копії EVM, перевіряючи контрольні суми стану на кожному блоці під час цього процесу.
Кожна транзакція майниться (включається в новий блок і поширюється вперше) один раз, але виконується та перевіряється кожним учасником у процесі просування канонічного стану EVM. Це підкреслює одну з головних мантр блокчейну: Не довіряй, перевіряй.
Оммер-блоки (анкл-блоки)
Майнінг блоків на базі доказу виконання роботи був імовірнісним, що означає, що іноді два дійсних блоки публікувалися одночасно через затримку в мережі. У цьому випадку протокол мав визначити найдовший (і, отже, найбільш «дійсний») ланцюг, забезпечуючи при цьому справедливість щодо майнерів шляхом часткової винагороди за запропонований, але не включений дійсний блок. Це сприяло подальшій децентралізації мережі, оскільки менші майнери, які могли стикатися з більшою затримкою, все одно могли отримувати прибуток через винагороди за .
Термін «оммер» є кращим гендерно-нейтральним терміном для спорідненого блоку батьківського блоку, але його також іноді називають «анкл» (дядько). Після переходу Етеріуму на доказ частки (PoS) оммер-блоки більше не майняться, оскільки в кожному слоті обирається лише один пропонувальник. Ви можете побачити цю зміну, переглянувши історичний графік (opens in a new tab) видобутих оммер-блоків.
Візуальна демонстрація
Подивіться, як Остін розповідає про майнінг і блокчейн на базі доказу виконання роботи.
Алгоритм майнінгу
Головна мережа Ethereum завжди використовувала лише один алгоритм майнінгу — «Етхеш». Етхеш був наступником оригінального науково-дослідного алгоритму, відомого як Dagger-Hashimoto.
Більше про алгоритми майнінгу.