Майнінг

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Стійка з блоками майнінгу Ares256 в дата-центрі компанії HashCoins OÜ

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

Принцип роботи[ред.ред. код]

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

Кількість нулів у хеші вибирається таким чином, щоб кожен блок з'являвся приблизно раз на 6-10 хвилин.

Виглядає це приблизно так:

"Hello, world!0" => 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
"Hello, world!1" => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
"Hello, world!2" => ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7
...
"Hello, world!4248" => 6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965
"Hello, world!4249" => c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6
"Hello, world!4250" => 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

Майнінг біткойнів[ред.ред. код]

GPU майнінг ріг, 2012

Система Біткойн передбачає тільки одну можливість для додаткової емісії — нові біткойни отримує як винагороду той, хто створив черговий блок. Отриману винагороду за блоки можна використовувати після отримання 120 підтверджень (тобто, мережа дозволяє витрачати винагороду приблизно через 20 годин).

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

Особливість задачі майнінгу дозволяла застосувати максимальне розпаралелювання обчислень. В силу специфіки будови, для цього добре підійшли графічні процесори (GPU) з невеликою додатковою програмою[1] (в сотні разів продуктивніше CPU[2]) і плати з FPGA (продуктивність порівнянна з відеокартами, але перевершують їх по енергоефективності). Після цього майнінг за допомогою центрального процесора, що використовувався в стандартному клієнті, виявився недоцільним через занадто малу ймовірність отримати винагороду, і кнопку прибрали. Потім почався випуск спеціалізованих процесорів (ASIC), що виконують виключно обчислення хешів для мережі Біткойн, більш продуктивних та енергоефективних, ніж GPU і FPGA, і тим більше CPU. Приблизно з 2012[3]-2013 року майнінг поширених криптовалют на чому-небудь крім спеціалізованих чіпів, в тому числі на відеокартах став невигідним — вартість споживаної електроенергії перевищує середній результат. Наприклад, до початку 2015 року складність майнінгу найбільш відомою криптовалюти Bitcoin зросла в 10 тисяч разів[4].

Десятки стартапів розробляли власні реалізації ASIC-майнерів, при цьому нові, більш продуктивні покоління чіпів могли виходити кожні півроку (зазвичай щільність розміщення транзисторів в логічних схемах подвоюється за 2 роки).

Майнінг «Ферма» в Ісландії

З переходом майнінгу на ASIC стали з'являтися компанії, які займаються майнінгом в промислових масштабах, які розміщують великі установки майнінгу в місцях з дешевою електроенергією та, іноді, не надто високою температурою навколишнього повітря, зокрема у Внутрішній Монголії (Китай). Деякі з подібних компаній позиціонують себе «хмарними», продаючи частину своїх ресурсів в оренду, хоча серед подібних пропозицій, за свідченням директора Genesis Mining, високий рівень шахрайства (деякі продавці взагалі не мали майнінгові потужності)[5].

На початок 2015 року загальне споживання електрики світовими майнерами Біткойн оцінювалася як мінімум в 1,46 ТВт·год щорічно (за умови використання всіма найбільш енергоефективних ASIC), що відповідає середній потужності 160 МВт.

Пули[ред.ред. код]

Для зменшення впливу фактора успіху і більш рівномірного і передбачуваного отримання біткойнів майнери використовують спеціалізовані веб-служби — пули[6] (від англ. pool — загальний фонд). Користувачі надають пулу свої обчислювальні потужності. Особливість задачі дозволяє застосувати максимальне розпаралелювання обчислень, коли кожен учасник шукає свій варіант розв'язання без ув'язки його результатів з рішеннями інших. Часто виплати майнеру розраховуються виходячи з надісланих їм пулу шар (shares) (блоків з хешем, який підійшов би при складності що дорівнює одиниці). В середньому потрібно 232 операцій хешування для знаходження однієї шари[7].

У свою чергу, пул, здійснюючи соло-майнінг, розподіляє отримані ним біткойни між користувачами, у відповідності з встановленими власником пулу правилами. Існують 3 основних виду нарахування нагород[8]:

  • Proportional — Після знаходження пулом блоку нагорода ділиться пропорційно внеску кожного учасника.
  • PPS (Pay per share) — Винагороджується кожна надіслана шара. Оцінюється як поточна винагорода за блок, поділені на поточну складність.
  • Score — Оціночна система винагороди шар, алгоритм визначається організатором пулу.

У цих типів нарахування є такі популярні варіанти:

  • SMPPS (Shared Maximum Pay Per Share) — Аналогічно PPS, але пул ніколи не передає користувачам більше, ніж реально отримав сам. Різниця між реальним отриманням нагороди пулом і винагородою шари в PPS, якщо така є, компенсується поступово.
  • ESMPPS (Equalized SMPPS)— Аналогічно SMPPS, але зрівнює пріоритети винагороди постійним та новим учасникам пулу.
  • RSMPPS (Recent Shared Maximum Pay Per Share) — Аналогічно SMPPS, але першими в черзі на винагороду ставляться нові користувачі.
  • PPLNS (Pay per last N shares) — Аналогічно Proportional, але поділ нагороди здійснюється пропорційно вкладу в останню складність надісланих на пул шар, помноженому на N, де N зазвичай дорівнює 2.

Станом на 2016 рік більшість великих пулів майнінгу Bitcoin знаходяться в КНР: за станом на березень 2016 року більше половини потужності мережі розділена між трьома великими китайськими пулами[9][10][11][12], четверте місце займає пул компанії BitFury — одного з перших виробників майнінгових чіпів і заснований вихідцями з пострадянського простору.

Емісія[ред.ред. код]

Випуск нових біткойнів децентралізований, не залежить від будь-яких регулюючого органу, обсяг емісії відомий заздалегідь (див. графік кількості біткойнів до 2033 року). Стандартну порцію нових біткойнів як винагороду отримує той, хто додав черговий блок до бази транзакцій. Ймовірність успіху пропорційна частці задіяної обчислювальної потужності у сумарній потужності мережі Біткойн, але результат у конкретний момент носить випадковий характер. Після формування кожних 210 000 блоків (приблизно раз у 4 роки) запрограмовано розмір винагороди зменшувати вдвічі, тобто його значення є спадною геометричною прогресією. Загальний обсяг емісії біткойнів обмежений як сума членів спадної геометричної прогресії і не перевищить 21 мільйон. На травень 2014 року в обігу перебувало 12,7 мільйонів біткойнів.

Спочатку розмір емісії при створенні блоку становив 50 біткойнів. 28 листопада 2012 року відбулося перше зменшення емісійної нагороди з 50 до 25 біткойнів[13]. Наступне зменшення в два рази відбулося 9 липня 2016 року. В 2131 році емісія буде припинена (розмір винагороди 50 → 25 → 12.5 → … → 0).[14] Формування блоків продовжиться і далі, але за них вже не буде нараховуватися винагорода новими біткойнами. Передбачається, що поступово основним джерелом винагороди за формування нових блоків стануть комісійні збори[15].

Отриману винагорода за блоки можна використовувати після отримання 120 підтверджень (тобто, система дозволяє витрачати винагороду приблизно через 20 годин).

Прихований майнінг[ред.ред. код]

Для генерації криптовалют, зокрема біткойнів (до масової появи майнінгу на ASIC — спеціалізованих процесорах), було можливе приховане використання чужих ресурсів, наприклад запуск майнера працівниками на корпоративних серверах, або впровадження майнера до складу вірусів і троянів для отримання прибутку від зараження комп'ютерів.

У червні 2011 року Symantec заявила, що майнінг може бути запущений на ботнетах. У звіті за другий квартал 2011 року Лабораторія Касперського повідомила про троянський модуль, який займався прихованим майнінгом.

У квітні 2013 була зафіксована велика епідемія вірусного розповсюдження через текстові повідомлення на Skype троянських програм, мета яких-пошук і крадіжка файлів wallet.dat і прихований майнінг на CPU.

При установці торент-клієнта μTorrent (версія 3.4.2 build 28913 і пізніше) пропонується встановити додаткову програму EpicScale, яка дозволяє використовувати ресурси комп'ютера під час простою для розподілених обчислень. Представники μTorrent запевняють, що в даний час мережа EpicScale використовується для майнінгу криптовалюти (без уточнення назви), частина отриманих коштів йдуть на фінансування компанії, частина — на благодійність[16]. Згідно з деякими публікаціями, EpicScale майнить біткойни[17]. В інших публікаціях повідомляється про майнінг Litecoin[18][19][20][21].

Нерівність між ранніми і пізніми майнерами[ред.ред. код]

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

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. http://www.theregister.co.uk/2011/08/16/gpu_bitcoin_brute_forcing/ «the idea of GPGPU extremely attractive for the purpose of bitcoin mining»
  2. http://arstechnica.com/tech-policy/news/2011/08/symantec-spots-malware-that-uses-your-gpu-to-mine-bitcoins.ars "estimates that GPUs can compute hashes up to 750 times as quickly as a typical CPU.
  3. http://www.economist.com/news/technology-quarterly/21590766-virtual-currency-it-mathematically-elegant-increasingly-popular-and-highly
  4. The magic of mining (en). The Economist. Jan 10th 2015. Процитовано 2015-12-22. 
  5. US investigators are accusing a bitcoin entrepeneur of running a $20 million Ponzi scheme (en). Business Insider. Dec. 2, 2015. Процитовано 2015-12-22. «Speaking to Business Insider earlier this year, Marco Streng — CEO of Genesis Mining, another cloud mining company — said that fraud was a problem within the industry. "Cloud mining has a major trust issue ... [fraudulent companies] don’t ever even own their own mining facilities.» 
  6. Pooled Mining //Bitcoin wiki
  7. Reward systems //Bitcoin wiki
  8. Mining pool reward FAQ //Bitcoin wiki
  9. Bitcoin Hashrate Distribution — Blockchain.info
  10. 帮助与支持 — 蚂蚁矿池
  11. F2Pool — 比特币矿池
  12. BTCC矿池 — 保护比特币网络
  13. Block 210000, Bitcoin Block Explorer
  14. [1] (англ.)
  15. «Bitcoin: Peer-To-Peer Electronic Cash System» раздел № 6 «Incentive»
  16. What is Epic Scale? (англ.)
  17. http://thehackernews.com/2015/03/beware-torrent-silently-installing.html BEWARE!
  18. Shaun Nichols, Litecoin-mining code found in BitTorrent app, freeloaders hit the roof // The Register, 7 Mar 2015: «But it mostly mines Litecoin.»
  19. Russell Brandom, uTorrent's latest update installs a cryptocurrency miner // The Verge, 2015-03-16: «uses the computer's processor to mine a bitcoin variant called Litecoin»
  20. Chris Merriman, BitTorrent puts freeze on uTorrent bundleware after user fury // The Inquirer, Mar 09 2015: «However, it's also mining litecoin digital currency for the owners»
  21. Popular torrent client can steal your CPU cycles to mine bitcoins Popular torrent client can steal your CPU cycles to mine bitcoins // Engadget, 2015-03-06 "use your computer as part of a bitcoin farm (Litecoin, to be exact) "

Посилання[ред.ред. код]