Складність шари на пулі
24/01/2023
Основні поняття
Share (шара, з англ. “частка”) — це робота, яку майнер має виконати, відправити на пул, та за яку отримує гроші. Шари, як і будь-яка робота, мають складність.
Difficulty або Diff — це складність шари. Кількість хешей, яку має перебрати майнер, щоб знайти рішення (шари).
- Наприклад, якщо складність сягає 2000 MH, для знаходження шари майнер повинен перебрати в середньому 2000 000 000 хешей.
Hashrate — кількість хешів на секунду, які перебирає майнер. Якщо хешрейт 30 MH/s, то майнер перебирає 30 000 000 хешів за секунду. Це швидкість, з якою працює відеокарта.
Хеш (Hash) — результат хеш-функції.
- Хеш-функція — це алгоритм перетворення початкових даних, за допомогою особливих математичних формул, на хеш.
- Хеш — результат роботи алгоритму. Відображення даних у вигляді рядка, унікального для вихідного набору інформації.
Як працює майнінг на пулі?
Завдання майнера знайти криптовалютний блок.
Самотужки майнеру знаходити блоки занадто важко, тому майнери поєднують зусилля за допомогою майнінг-пулів. Майнінг пул допомагає розділити задачу з пошуку блоку між майнерами.
Нагорода за знайдені блоки розподіляється між майнерами, пропорційно до їхнього вкладу в роботу з пошуку блоку — кожен отримує стільки, скільки він вклав зусиль для пошуку блоку.
Майнери вирішують завдання, знаходять рішення (sol, solution), чи шари (share).
Якщо рішення вище за складність всієї мережі (підходить для підпису блоку) — рішення стає блоком. Цим рішенням блок підписується та додається до блокчейну.
Якщо рішення нижче за складність мережі, але вище за складність майнінг пулу — воно ні чим не стає. Але пул знає, що ви сумлінно намагалися знайти відповідне рішення. До блокчейну враховується лише знайдений блок, а прийняті пулом шари потрібні для справедливого розподілу винагороди між майнерами.
Якщо рішення нижче за складність пулу, або хеш рішення несправжній, результат неправильний — рішення невалідне (share invalid).
Винагорода, яку майнер отримує від пула, визначається кількістю шар, яку майнер знайшов, відправив пулу, вони були прийняті та зараховані пулом — share accepted.
Прийнята шара (accepted share) — доказ коректної роботи відеокарти. Чим більше шар (рішень) знаходить майнер — тим більшу нагороду за свою участь у пошуку блоку він отримує.
🤔Якось складно… Зробимо ремонт!
Уявіть собі багатоповерхівку, у якій йде ремонт (блокчейн).
Одному робітнику (користувачу майнеру) занадто довго і складно зробити ремонт у всій квартирі (знайти блок поодинці складно).
Робітники (майнери) об'єднуються у команди під керівництвом начальника (пул), щоб зробити ремонт у квартирі та отримати зарплатню (добути блок).
- Уявімо, робітник — Супермен! Неймовірно сильний, швидкий, досвідчений. Він сам, один, у встановлені терміни, якісно робить ремонт у всій квартирі. За це він отримує велику зарплату з файним бонусом (майнер самостійно знайшов блок).
- Тепер уявімо команду робітників під керівництвом начальника. Кожен має свою кімнату, свою роботу. Хтось клеїть шпалери, хтось фарбує стелю, хтось налагоджує сантехніку (надсилають шари). Усі разом, у встановлений термін, вони здають квартиру та отримують за це гроші (пул знаходить блок). Начальник перевіряє поклеєні шпалери: шпалери поклеєні правильно, рівно, якісно — робота приймається (share accepted). Начальник оцінює та розподіляє зарплату за чесну роботу (пул розподіляє нагороду майнерам).
- Тепер уявімо таку саму команду та начальника. Так само роблять ремонт у квартирі. Ось тільки робітник, якому доручили поклеїти шпалери, поклеїв на стіну газети! Так, він працював, але ви б прийняли у робітників таку квартиру, з газетами на стіні замість шпалер? Ось і начальник не прийняв — така робота не зараховується і грошей за неї робітник не отримає (share invalid).
Під час будівництва начальник оцінює роботу за зрозумілими йому критеріями, тоді як пул оцінює витрачені майнером зусилля за допомогою такого показника, як складність шари — share difficulty.
Навіщо потрібна складність шари?
- Складність шари потрібна для того, щоб чесно порахувати та оцінити роботу майнера.
- Складність шари для майнінгу підбирається кожним пулом індивідуально.
- Чим складність шари нижча — тим краще для майнера. Майнер може підключати будь-яке обладнання, навіть не надто потужне. Шари будуть йти швидше, користувач швидше оцінить прибутковість.
- Усі шари, усі рішення, уся робота, яку виконують майнери, перевіряється пулом — комп'ютером. Щоб комп'ютер не завис від мільярда дрібних обчислень, пул піднімає складність, щоб шари знаходилися рідше.
- Багато пулів, особливо PPLNS, ставлять високу складність шар, щоб заощадити на потужних серверах. Потужні сервери, які здатні обробити велику кількість шар, коштують дорого.
Якщо складність занадто висока, деякі слабкіші відеокарти підключити не вийде, або навпаки — якщо складність занадто низька, пул буде перевантажений перевіркою простих обчислень.
Деякі пули підбирають складність шари автоматично, залежно від потужності обладнання, на деяких пулах складність шари фіксована.
Чи впливає складність шари на прибуток майнера?
Ні, складність шари на пулі на прибуток майнера не впливає!
- Від складності шар не залежить кількість блоків, які знаходить пул.
- Складність шари не впливає на вдачу майнера або на його прибуток за майнінг.
- Складність шар не впливає на кількість відхилених stale шар.
Чим складність шари нижча — тим шара дешевша, вона частіше знаходиться відеокартою, і навіть слабка відеокарта зможе її знайти.
Чим складність шари вища — тим шара дорожче, вона рідше знаходиться відеокартою, і для її пошуку потрібна потужніша відеокарта.
Все одно складно? Пояснимо ще простіше — усі на велике будівництво!👨🏭
Уявіть собі будівництво.
На будівництві у двох купах лежать мішки із цементом.
У першій купі лежить 10 мішків по 10 кг (висока складність).
У другій купі лежить 100 мішків по 1 кг (низька складність).
Що у першій, що у другій купі однаково 100 кг (обсяг роботи однаковий).
На будівництво прийшли 2 вантажники, зарплата у них однакова — 500 гривень за перенесення однієї купи. Перший вантажник досвідчений — з візком (майнер з потужною фермою або АСІКом), а другий новачок — взяв тільки рукавиці (майнер з однією відеокартою GTX 1060).
- Для того, щоб перенести мішки по 10 кг потрібний візок, а мішки по 1 кг можна перенести і руками. (Якщо складність шари дуже висока — слабка відеокарта з роботою не впорається, потрібна потужна ферма).
- Вантажникам платять за те, щоб вони перенесли мішки, але не за швидкість перенесення. Час, за який вони їх перенесуть, на зарплатню не впливає. (Майнерам платять за знайдені шари, а не за швидкість їхнього знаходження).
- Начальнику все одно: хто, як і скільки мішків перенесе. Важливо, щоб робота була виконана! (Нагорода за знайдений блок одна й та сама).
Для начальника вигідніше, щоб мішки були більші — їх простіше рахувати.
Якщо найняти вантажника з візком, він швидко перенесе всі мішки.
Великі мішки рахувати легко, вистачить пальців двох рук!
А ось 100 мішків по 1 кг рахувати — можна і збитися.
Але що робити вантажнику без візка? (майнеру зі слабкою відеокартою) Йому залишається або повільно тягати мішки, надриваючи поперек (якщо взагалі зможе підняти), або шукати іншу роботу, яку він зможе зробити.
Вантажнику з візком все одно. (майнер з потужною фермою) Йому що 1 мішок на 10 кг везти, що 10 мішків по 1 кг. Кількість ходок не змінюється, час витратить той самий, гроші отримає ті самі.
Виходить, що незалежно від сили вантажника та його обладнання, для всіх вантажників краще те будівництво, де мішки менші та легші, щоб усі могли отримати роботу.
А рахувати мішки — це вже робота начальника 😉
А тепер уявіть, що будівництво — це пул, тільки мішків нескінченна кількість.
Вони будуть весь час, і не закінчаться, тільки встигай носити!
Яке будівництво (пул) ви оберете?
- 👎 Той, де беруть лише досвідчених вантажників, щоб було менше мішків, адже начальник може збитися…
або
- 👍 Той, де усім раді, начальник розумний та досвідчений, ніколи не помиляється, всім дає роботу, платить чесно та ще й новачкам допомагає!
Другу? Ми так і думали! Ласкаво просимо на пул Криптексу!
Криптекс радий усім вантажникам майнерам, і не важливо чи є у них візок потужна відеокарта.
Даємо роботу всім і всім платимо чесно! А наші найрозумніші найпотужніші начальники сервери швидко і чітко порахують усі мішки шари 😎
😤Для найстійкіших — пояснюємо на практиці
Наприклад, розглянемо майнінг монети ETC на пулі Криптексу.
Умова:
- Складність шари на пулі — DIFF: 2.000 GH = 2000 MH
- 2 відеокарти RTX 3060
- Майнер — NBMiner
- За 15 хвилин майнінгу на пулі, перша карта (ID 0 — 49.65 Mh\s) знайшла 20 шар.
- За 15 хвилин майнінгу на пулі, друга карта (ID 1 — 48.91 Mh\s) знайшла 18 шар.
Як дізнатися, багато це, чи мало? Можна перевірити коректність роботи відеокарти!
Перевірка коректності роботи відеокарти
Знаючи складність шари на пулі та потужність обладнання (хешрейт) можна розрахувати середній час знаходження шари на пулі.
Навіщо? Щоб зрозуміти, чи правильно працює наша відеокарта. Для цього нам потрібно:
- Завдання 1. Знайти середній час знаходження шари — складність шар потрібно розділити на хешрейт відеокарти.
- Завдання 2. Визначити розрахункову кількість шар, яку наша відеокарта має знайти з поточним хешрейтом, за поточної складності, за увесь час майнінгу.
Чим довший час безперервного майнінгу — тим точніше буде розрахункова і фактична кількість шар, знайдених відеокартою.
- Рішення 1. 2000 MH / 49.6 Mh\s = 40.3 секунди = 0.67 хвилин — середній час, за який має знаходитися шара.
Це середнє значення, виходячи із заданої складності пулу, і воно є актуальним для певного проміжку часу. Спочатку шари можуть йти часто, наприклад, кожні 5-10-20 секунд, а потім повільніше, кожні 1-2-5 хвилин. У середньому, отримаємо близько 0.67 хвилини.
Це тому, що складність кожної окремої шари може бути різною. Залежить від "вдачі обладнання" (відеокарти, АСІКа), на скільки швидко воно змогло знайти шари.
Отже, ми знаємо середній час, за який знаходиться шари на пулі із заданою складністю. У нашому випадку вийшло 0,67 хвилини.
Знаючи наш аптайм (час безперервного майнінгу), ми можемо визначити приблизну кількість шар, які знайде наше обладнання.
З умови — майнер пропрацював 15 хвилин.
- Рішення 2. 15 хвилин (аптайм) / 0.67 хвилини (середній час знаходження шари) = 22 шари
Наша перша карта (ID 0 — 49.65 Mh\s) знайшла 20 шар. Наша друга карта (ID 1 — 48.91 Mh\s) була менш вдалою, знайшла 18 шар, але і хешрейт у неї трохи нижчий.
У статистиці пула користувач може спостерігати хешрейт більший, або менший, ніж той, що показує його вікно майнера. Пул сам вираховує хешрейт виходячи з прийнятих шар за певний проміжок часу (6 годин, 12 годин, 24 години…), а не дивиться на хешрейт з вікна майнера.
Чим довший час безперервного майнінгу — тим меншою буде різниця розрахункової та фактичної кількості шар.
Особливість майнінгу така, що порівнювати розрахункову та фактичну прибутковість потрібно на великому проміжку часу, та лише при роботі в режимі 24/7. Обчислення носять імовірнісний характер, а прибутковість — маточкування випадкової величини. Тому вони сходяться лише на великому проміжку часу.
Важливо намагатись відстежити прибутковість на дальній дистанції. Чим довше — тим точніше показник.
- Для пулів типу PPS (Pay Per Share — оплата за кожну шару), особливо з низькою складністю шари — буде достатньо 24 годин.
- Для пулів типу PPLNS (Pay Per Last (luck) N Share — оплата за останню (вдачу пула) N шару), особливо з високою складністю шари, знадобиться 3-7-10 днів. Більше — краще.
Пули PPS краще для майнінгу — ви точніше прогнозуєте ваш прибуток, ви не залежите від успіху пулу. Саме тому Криптекс використовує PPS пули для майнінгу з низькою складністю.
А що, якби…
- А що, якби ми за тієї ж складності, при тому ж аптаймі і тому ж хешрейті отримали не 20, а 5 шар?
- Складність на пулі — статична, 2 GH.
- Пул успішно прийняв 5 рішень.
- Значить наша відеокарта не майне із зазначеним хешрейтом! Програма-майнер помиляється, або відеокарта "сипле" поганими шарами (клеїть газети замість шпалер). Потрібно шукати проблеми на нашій фермі.
- А що, якби складність не була 2 GH, а 8 GH? Ми б отримали більше грошей? Давайте порахуємо!
- Карта майне 49.65 Mh\s
- Аптайм — 15 хвилин
- Складність — 8 GH = 8000 MH
- 8000 MH / 49.65 Mh\s = 161.13 секунд = 2.69 хвилин — середній час знаходження шари. 15 хвилин (аптайм) / 2.69 хвилин = 5.6 шар
- Це означає, що зі складністю шари 8 GH, наша відеокарта знайшла б 5-6 шар, а не 20, як при складності 2 GH.
Згадаймо будівництво: що 20 шар зі складністю 2 GH, що 5 шар зі складністю 8 GH коштуватимуть майнеру однаково.
- Або ви перенесете 10 мішків по 1 кг у руках за 5 ходок.
- Або ви перенесете 1 мішок на 10 кг у візку за 1 ходку.
Що за одну, що за другу роботу вам заплатять однаково!