Чи є проблема з пулами для майнінгу?

Чи є проблема з пулами для майнінгу?

Ретельний аналіз усієї екосистеми майнінгу, від «асіків» до майнінгових пулів, з урахуванням системних ризиків та проблем, які існують у всій галузі.

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

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

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

Активації форків

Як бачите, хешування для фактичного рішення блоку – це лише частина процесу. ASIC для майнінгу біткоїна також здатний лише до хешування. У нинішніх умовах решта аспектів майнінгу зазвичай делегуються майнінговим пулам. Це породило деяку плутанину. Наприклад, за будь-яких обставин, коли обговорюється активація софтфорків за допомогою зміни бітів версій у шаблонах блоків, цей процес називатиметься MASF – «софтфорк, активований майнером» – і завжди потрібно буде роз'яснювати, що ця відповідальність лежить виключно на пулах і що пули не є майнерами. Також можна сказати, що майнери, як і раніше, керують процесом, оскільки, якщо їм потрібен апгрейд, вони можуть просто змінити пул. (Для ясності, в частині цієї статті, що залишилася, я називатиму тих, хто бере участь тільки в хешуванні та залишає всі інші аспекти майнінгу пулам, «хешерами»).

Повертаючись до софтфорків: у нинішніх умовах, коли >99% блоків створюються однією і тією ж групою об'єктів, правильніше називати це «софтфорками, які активуються пулом», чого ніхто не робить, створюючи небезпечну ілюзію: майнінг може вважатися децентралізованим просто через розподіл хешрейту. Це твердження просто не є правдивим, оскільки весь хешрейт належить невеликій групі пулів, і, таким чином, вміст блокчейну Біткоїна в майбутньому зрештою не міститиме нічого, що ці небагато організацій вважають неприйнятним, а також низку інших проблем.

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

Пули та ринки простору блоків

Наслідки простого хешування та того, що пул робить все інше, виходять далеко за межі активації софтфорку. Наприклад, нині майнери зовсім не знають, як виглядатимуть блоки після їхнього вирішення, а це означає, що майнер виконує роботу, сліпо вірячи, що блок містить лише бажані транзакції. Але в блоках, подібних до цього, ця довіра явно порушується – це знаменитий блок, який започаткував божевілля з Ordinals. Зверніть увагу, що комісійні за транзакції, які майнери, які працювали над цим блоком, становили жалюгідні ~ 200 доларів у BTC, на відміну від блоків по обидва боки від нього, які в середньому становили ~ 5000 доларів у BTC.

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

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

Подальші наслідки того, що пули є централізованими конструкторами шаблонів блоків Біткоїна, випливають із того факту, що на фундаментальнішому рівні існує дванадцять «супервузлів» зі своїми власними «супермемпулами».

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

Відійдімо від цього аспекту майнінгу та зосередимо увагу на тому, як нині обробляються виплати.

Моделі виплат пулу

Багато пулів платять своїм хешерам через FPPS (Full Pay Per Share) або щось подібне. Єдиним винятком є ViaBTC з PPLNS на додаток до FPPS. Antpool також пропонує PPLNS, але хешери повинні втратити всі доходи від комісій за транзакції; по суті, FPPS – це не модель, яка добре працює у світі, де значення мають прибутки від комісій за транзакції, а не винагорода. Слід зазначити, що пул Braiins (раніше Slushpool) використовує систему, яка називається «бали», яка на практиці дуже схожа на PPLNS.

У чому причина такого інтересу до FPPS? Що стосується хешерів, їм платять незалежно від того, що відбувається в блокчейні. Це відповідає меті об'єднаного майнінгу – більша стабільність прибутків. FPPS пропонує більш стабільні виплати, оскільки пул платить на основі прогнозованого доходу та самостійно розраховується з блокчейном.

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

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

Наступна проблема пов'язана з тим, що в загальному сенсі пул FPPS є важливим посередником між хешерами та самою мережею. Ми вже встановили, що хешери не обізнані про те, як зрештою будуть виглядати блоки, над якими вони працюють, доки вони не будуть вирішені. FPPS означає, що це немає значення, знайдені блоки взагалі чи ні, це проблема пула. Ігноруючи підвищену передбачуваність виплат, ми повинні визнати необхідність компромісів, пов'язаних з цим.

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

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

Порівняно зі схемою виплат, такою як PPLNS, коли хешери допускають підвищену варіативність (удача пула стає удачею самого хешера), бачимо, що екосистема майнінгу переважною більшістю вирішила віддати пріоритет сталості виплат над можливістю перевіряти те, що отримано. Деякі хешери насправді надають перевагу такому варіанту, бажаючи представити себе урядовій владі як свого роду «службу хешування», повністю відірвану від Біткоїна, і деякі пишаються цим. Це пов'язано з тим, що FPPS настільки радикально відхиляється від ідеальної динаміки майнера/пула, що важко назвати те, що робить хешер, «майнінгом біткоїна».

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

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

Хто взагалі займається хешуванням?

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

Це означає економічну ірраціональність з погляду самої мережі, яка проявляється у такій діяльності, як майнінг блоків, що відповідають певним довільним стандартам. Коли це траплялося в минулому, воно тривало недовго через негативну реакцію спільноти та абсурдність спроб агресивно задовольнити схему регулювання юрисдикції, навіть без прохання зробити це. Але те що, що така опція існувала, свідчить про ризик централізованого створення шаблонів блоків. Чи намагатимуться майнери в одній юрисдикції заборонити або відмовитися обробляти транзакції, які надходять з іншої? Чи стануть майнери просто продовженням уряду або ж впливовим лиходієм? Є конкретні приклади того, як пули знижують комісію за транзакції задля отримання прибутку, а іноді просто для того, щоб підкоритись тиску регуляторів. Це знову здається економічно ірраціональним з погляду мережі.

Нещодавнім прикладом цього була комісія за транзакцію у розмірі 19 BTC, сплачена за транзакцію в блоці, який зрештою було знайдено F2Pool, нібито помилково. Пул FPPS став зберігачем комісії за майнінг у розмірі 19 BTC і вирішив повернути її тому, хто припустився помилки. Це чудово демонструє ціну розміщення надто великого посередника між вашим майнером та мережею Біткоїна. У пулі PPLNS це сталося б із меншою ймовірністю. Не тому, що пули PPLNS бездовірчі або некастодіальні, а тому що існує можливість відстежувати та перевіряти доходи від комісій саме в той момент, коли надходять блоки, тоді як пулу, можливо, було б важче це зробити, оскільки він, ймовірно, вже зарахував на рахунки майнерів частку коштів за майнінг, що спричинило б велику негативну реакцію. У принципі немає нічого особливого, поки ви не порівняєте те, що сталося б, якби пул робив виплати своїм майнерам у самій транзакції монетної бази/генерації. У цьому випадку гроші вже перебували б на зберіганні у майнера, і перехоплення комісійних доходів пулу було б неможливим. Таким чином, у цьому прикладі бажання пула здаватися щедрим і справедливим коштувало його майнерам 500 000 доларів у вигляді комісійних доходів за ухвалення рішення від їхнього імені, яке він не міг ухвалити.

Наступна проблема: 51% та інші атаки

Пояснити цю проблему досить просто: наразі всі знають, що таке атака 51%. Однак набагато менш зрозуміло, що 51% – це вимога, щоб така атака була гарантованою та мала постійний успіх, а не була просто руйнівною.

Насправді будь-який учасник, який володіє більш ніж 20% мережі, може спричинити проблеми через безліч атак, деякі з яких виконуються на власний розсуд і рідко обговорюються, про що я розповім пізніше. Але перш ніж ми це зробимо, ми можемо з жахом дивитися на мережу, в якій є два об'єкти із загальним хешрейтом, який перевищує 51%. Що ще гірше, один із найбільших пулів не надто ретельно приховує, що він відповідає за ще 10% блоків, знайдених через ще один великий пул, з яким материнська компанія підтримує стратегічне партнерство. Той факт, що така ситуація продовжується, не вселяє спокою.

На це є дві звичайні відповіді. По-перше, хешери можуть просто «голосувати ногами» і змінювати пули, якщо об'єднають сили для атаки 51%. По-друге, було б божевіллям для будь-якого пулу намагатися зробити це з тієї простої причини, що порушення в Біткоїні призведуть до падіння ціни, і ніхто з тих, хто інвестує в екосистему, цього не захоче. По-друге, людей ніколи не можна змусити поводитися деструктивно і тим самим викликати руйнування просто заради руйнування або інших мерзенних цілей. (Також не враховується той факт, що ринок часто не завжди є хорошим індикатором наявності проблем з Біткоїном, див. війни форків 2017 року.)

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

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

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

Таким чином ми отримуємо невідому картину мережі. 30% блоків можуть бути знайдені найбільшим пулом і прийнятні для всіх, у той час, як ще 10% загального хешрейту мережі, як і раніше, спрямовані на цей пул і просто таємно спрямовуються в один або кілька менших пулів. Хешери, відповідальні за ці 10%, навряд чи зрозуміють, що вони використовуються таким чином (а за допомогою stratumV2 їх стає складніше виявити – докладніше про це пізніше).

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

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

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

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

З погляду атакуючого пулу, припустимо, він становить 5% хешрейта пулу жертви. Це означає, що він, як і раніше, отримує 95% очікуваного доходу, а пул виглядає на 5% менш везучим, ніж очікувалося. Цього достатньо, щоб знищити пул, у той час як втрата 5% перенаправленого хешрейту матиме набагато менше значення для більшого пулу. Якщо це становить лише 1% від загальної хеш-потужності більшого пулу, то зловмисник втрачає лише 5% із 1% очікуваної винагороди – 0,05%. Це очевидна перевага для будь-якого шкідливого майнінг-пулу значного розміру, який просто готовий діяти неетично.

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

Чи є утримання блоку просто теоретичним? Точно ні. Декілька майнінг-пулів зазнали атак саме таким чином ще у 2015 році. Перешкоджати цьому вкрай складно, оскільки пул повинен контролювати всіх учасників та приймати виважене рішення виключити їх з пулу та/або призупинити виплати, якщо їм не пощастить до точки статистичної неможливості, і пул зможе розумно припустити, що вони діють зловмисно. Атаки такого роду також спонукають пули «знати свого хешера» та кастодіальні платежі, що, звісно, ускладнює життя тим, хто бажає майнити без дозволу.

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

Ми бачили заяви великих майнерів про те, що вони відмовляються від дрібніших пулів через отримання платежів, які не виправдали очікувань.

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

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

Ще одне зауваження щодо утримання блоків, крім того, що це загрожує ускладнити існування невеликих пулів і всіх, хто хоче з ними хешувати: всім, хто все ще розглядає це як суто теоретичний сценарій (навіть попри те, що це траплялося в минулому) – чи вважаємо ми, що це нормально, коли пули залишаються одного й того самого і, мабуть, прийнятного розміру з точки зору органіки? Це означатиме, що новий хешрейт, що з'являється в мережі, завжди якимось чином зможе розподілитися рівномірніше. Ми повинні вірити, що пул може виникнути, вирости, а потім просто… зупинитися… перед порогом, коли люди почнуть бити тривогу. Чи можна зараз побачити пули, які благають людей припинити майнінг з ними, або прямо обмежують створення облікових записів і відключають майнерів, які перевищують дозволений хешрейт? Звичайно, ні.

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

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

Двотижневі періоди між епохами складності означають, що протягом цього двотижневого періоду необхідно знайти достатню кількість блоків, щоб будь-яка невдача могла бути врівноважена наступним успіхом. В іншому випадку, якщо, наприклад, в пулі прогнозована частота блоків становить 1 блок кожні 13 днів, і він не знаходить блок до того, як складність скоригується вгору, внаслідок чого прогноз впаде до 1 блоку кожні 15 днів, це попереднє вікно закривається назавжди. Якщо це пул PPLNS, хешери зароблять менше, ніж могли б отримати в іншому випадку. Якщо це пул FPPS, то пул спалює багато грошей та/або збанкрутує.

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

Як спілкуються майнери та пули?

Протокол, за допомогою якого спілкуються майнери та пули, називається Stratum (який повільно витісняє StratumV2). StratumV1 одночасно є застарілим і має багато недоліків. По-перше, все спілкування здійснюється у відкритому вигляді. Це означає, що інтернет-провайдери знають не тільки про те, що ви займаєтеся майнінгом, але й про масштаби, в яких ви це робите, і вони – разом з усіма, хто може відстежувати трафік у вашій мережі – можуть виконувати атаки MITM, внаслідок чого ви користуватиметеся своїм обладнанням та потужностями на користь інших. Невідомі зловмисники вже зловживали цим з метою вивести хешрейт із намічених пулів.

Крім низки недоліків, StratumV1 може запропонувати майнерам практичний спосіб створення власних шаблонів блоків і майнінгу в пулі. Всі ці проблеми вирішуються за допомогою дуже очікуваного StratumV2 (спочатку GBT, потім Better Hash), до якого ми повернемося пізніше.

Апаратне забезпечення/прошивка

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

Це погано з очевидних причин і, по суті, пов'язане з тим, що виробництво чіпів надзвичайно складне і, отже, гіперцентралізоване.

Розгляд рішень виходить за межі цієї статті, але є люди, які працюють над тим, щоб зробити домашній майнінг чимось набагато практичнішим (у Північній Америці основною проблемою є вимоги до напруги 220–240 В та неприємний шум). Суперечки серед тих, хто працює над цими проєктами плебмайнінгу, полягають у тому, що, якщо це стане можливим для значної кількості біткоїнерів, вони можуть почати становити значний відсоток від загального хешрейту мережі, що краще, ніж більшість бізнесів з майнінгу, які працюють у масштабі, який дозволяє втручання з боку регуляторів.

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

Стандартна прошивка ASIC, особливо Bitmain, є відмінним показником того, наскільки комфортно вони почуваються, домінуючи на ринку. Крім того, що вихідний код закритий, він явно шкідливий. Ви змушені майнити від їхнього імені після ввімкнення Antminer – хоча майнер може принаймні запобігти цьому, заблокувавши з'єднання (або встановивши вторинну прошивку, але тоді ви платите комісію за розробку, і її не можна заблокувати якщо майнер взагалі не відмовиться від майнінгу). Bitmain також кілька разів ловили на додаванні шкідливих бекдорів у прошивку для своїх майнерів (див. Antbleed), а ще він активно працює над блокуванням розробників вторинної прошивки.

Ці факти відверто обурливі і підкреслюють гостру потребу конкуренції у виробництві ASIC.

Чи буде комфортно, якщо правила мережі нав'язуватимуться біткоїн-вузлами із закритим вихідним кодом? Уявіть, що ці вузли призвели до того, що користувачі втратили BTC через розробників цього програмного забезпечення – і ми всі знали, що це відбувається. Чи буде це прийнятним? Коли йдеться про майнінг, суверенітету його учасників майже не приділяється уваги. Звичайно, програмне забезпечення вузла та вбудоване ПЗ ASIC не мають однакової важливості, і ми, звичайно, приділяємо більше уваги першому, ніж повинні, але друге не є несуттєвим і, безумовно, ним не слід нехтувати.

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

P2Pool

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

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

StratumV2

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

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

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

Є ще кілька покращень, про які можна дізнатися тут.

У світі, у якому StratumV2 є нормою, разом з ентузіазмом майнерів зі створення власних шаблонів (в ідеалі пул повинен стимулювати майнерів, які це роблять), буде набагато стійкіший Біткоїн.

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

Висновок

Є великі можливості для покращення зі StratumV2 чи без нього. Що необхідно, то це пул, який пропонує майнерам можливість безпосередньо зберігати свої монети під час майнінгу. Для цього необхідно, щоб пул (або його хешери) створював шаблони блоків, в яких винагороди майнерів виплачувалися б безпосередньо в транзакції монетної бази/генерації, що міститься у кожному блоці. Той факт, що це непрактично в системі FPPS, означає, що будь-який пул, який це робить, зіткнеться з опором з боку деяких майнерів, але свічери отримають більшу прозорість, оскільки сам Біткоїн – понад певний поріг – платитиме їм напряму, за допомогою легко перевіреного розподілу доходів від винагород та комісій. Це можна поєднати з пулами – до stratumV2 – принаймні, інформуючи майнерів про шаблони блоків, створених від їхнього імені, до того, як блоки будуть вирішені, а після stratumV2 просто необхідно буде переконатися, що всі майнери створюють шаблони, які точно відображають поділ винагороди без необхідності масштабування наслідків того, що всім майнерам доведеться робити це постійно.

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

Вищезгадані пропозиції значно покращать ситуацію.

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

Це гостьовий пост Bitcoin Mechanic. Висловлені погляди є його власними і не обов’язково збігаються з точкою зору BTC Inc. або Bitcoin Magazine.

Біткоїн як рівень нотаріального засвідчення політичних угод Біткоїн як рівень нотаріального засвідчення політичних угод Оцінка потенційної ролі Біткоїна в геополітиці та міжнародній дипломатії в гіпербіткоїнізованому світі. Мікеле Уберті 14 липня 2024
Біткоїн-вузол для кожного Біткоїн-вузол для кожного Чому самостійна обробка вашого біткоїна замість делегування цього третій стороні має вирішальне значення для безпеки самої системи Біткоїна. Оуен Кемейс 13 липня 2024
Нова політика розкриття вразливостей у Bitcoin Core Нова політика розкриття вразливостей у Bitcoin Core Розробники програмного забезпечення Біткоїна працюють над покращенням взаємодії з питань безпеки. Bitcoin Magazine 10 липня 2024