Майнінг – один із ключових елементів роботи блокчейнів, оскільки саме він відповідає за приєднання до ланцюжка нових блоків. А також – за перевірку достовірності транзакцій та видобуток нових монет. Принаймні – у системах, які працюють на основі алгоритму консенсусу Proof of Work.
Спочатку майнери збирають додані до мережі транзакції. Оскільки ця інформація розходиться по всіх вузлах, то всі учасники працюють з однаковим набором даних. І цей набір проходить процедуру хешування. Спочатку – кожна транзакція окремо, потім – отримані хеші по парах і так доти, доки не вийде одне значення – кореневий хеш. Важливе уточнення – у російській немає чіткого визначення, як правильно писати: хеш чи хеш, отже використовуються обидва варіанти.
Потім цей хеш комбінується з хеш попереднього блоку і з випадковим числом (саме воно і підбирається майнерами в процесі роботи), щоб отримати заголовок блоку. Який, потім, знову хешується і перетворюється на ідентифікатор.
Якщо випадкове число підібрано правильно, то ідентифікатор, що вийшов, буде відповідати вимогам системи, і завдання буде вважатися вирішеною. Будь-який бажаючий зможе повторити це обчислення, тому перевірка результатів майнінгу набагато простіше, ніж сам цей процес.
В результаті до блокчейну додається новий блок, в якому на першому місці йде «транзакція-нагорода» - coinbase, яка виплачується тому, хто за це відповідає. Так би мовити – нагорода за витрачений час та ресурси – крім частини загальної суми комісій за транзакції. Втім, розмір цієї премії з часом зменшується, аж до повної відсутності.
Також можлива ситуація, коли два майнери одночасно знайдуть рішення хешу. І до ланцюжка додасться 2 однакові і повністю достовірні блоки, тільки з різним розподілом нагороди. Однак це суперечить правилам роботи, тому залишиться лише одна гілка – та, яку почнуть добудовувати першою. Друга ж – скасовується, разом із нагородою тому, хто її створив.
Майнінг - дуже ресурсомісткий процес, проте цю роботу можна розподілити між декількома комп'ютерами, підключеними до однієї мережі - так званому "майнінг-пулу". І коли такий пул випередить інших у справі додавання нового блоку (а шанси на це великі, оскільки сумарна обчислювальна потужність вища), кожен його учасник отримає частку, пропорційну до його вкладу в роботу.
0 Комментарии