біток

Згідно з офіційною термінологією Bitcoin Core, «кинуті» («відчеплені» або «залежані») блоки (stale blocks) - це ті блоки, які не є частиною основного ланцюга. Вони можуть створюватися природним шляхом, коли два майнера виробляють два блоки практично одночасно або ж вони можуть бути згенеровані зловмисником з метою атаки на блокчейн. А «блоками-сиротами» (orphan blocks) Bitcoin Core іменує ті блоки, «батьківський блок» яких поки невідомий, тобто нода його ще не опрацювала. Однак співтовариство часто змішує ці поняття, маючи на увазі під «orphan» саме той блок, який не ввійшов в основний ланцюг, оскільки його випередив інший. Зокрема, таким позначенням користується Blockchain.info.

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

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

«Якщо майнер-зловмисник контролює більшу частку потужності хешування, у нього завжди буде перевага у видобутку наступного блоку і він може вибрати не передавати блок відразу ж [у основний ланцюг], а зробити це приблизно в один час з видобутком [іншого] нового блоку», - пише провідний розробник Blockbid Бернард Пех, відзначаючи, що при цьому необхідно бути вкрай точним з впровадженням свого блоку, завжди на крок випереджаючи конкуруючого майнера. Таким чином зловмисник створює паралельну, підконтрольну собі мережу, і коли вона стає досить довгою, протокол Bitcoin починає вважати її пріоритетною. Отримавши таку владу, зловмисник може «відкочувати» транзакції, тобто в рамках «власного» ланцюга визнавати вже підтверджені транзакції недійсними і повторно витрачати ресурси.

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

Спочатку вона буде коротшою, ніж основна мережа. Однак «егоїстичні майнери» можуть розраховувати час для «показу» нових блоків, роблячи їх публічними тільки тоді, коли розмір їхньої мережі стає порівнюваним з розміром основної. Таким чином, вони знають, що їхня мережа (з великою часткою ймовірності) стане основною, а чесні майнери, не знаючи цього, працюють даремно. Коли «приватна мережа» досягне конкурентоспроможних розмірів і буде представлена ​​відкрито, до неї також можуть приєднатися і прості майнери в пошуках більшої винагороди. І такий розвиток подій також може привести до сценарію атаки 51% - в залежності від бажань контролюючого мережу пулу.

велогонка

У 2015 році проблема покинутих блоків обговорювалася в контексті розміру блоку і масштабованості (в тому ж році розробник Bitcoin Core Пітер Вуйль висунув пропозицію SegWit). Рости Рассел, член команди Blockstream, зараз займається розробкою ПЗ на базі Lightning Network, в розпал дебатів 2015 року відзначав, що збільшення розміру блоку Bitcoin збільшить частку кинутих блоків, оскільки «великим блокам потрібно більше часу на обробку»: «Блоки, в яких немає транзакцій, - найменші, і тому вони обробляються швидше. Вони все одно забезпечують винагороду в 25 біткоінів [після чергового халвінга винагорода в мережі Bitcoin становить 12.5 біткоіна], хоча і не сильно допомагають користувачам біткоінів», - писав Рассел. Уже тоді він зазначав, що зростаючий рівень кинутих блоків робить неспроможною гіпотезу про те, що майнери свідомо відмовляться від централізації, щоб не опустити репутацію біткоіна, а за нею і його ціну. «Майнери поводяться дуже погано. Пули організовують атаки один на одного з дивовижною регулярністю... Великі майнінгові пули використовують свої потужності для подвійних витрат і крадуть тисячі біткоінів у ігрового сервісу [Рассел посилається на атаку, здійснену GHash.IO на BetCoin Dice]... Якщо великі майнери зможуть використовувати великі блоки як зброю проти дрібних [майнерів], швидше за все, вони будуть це робити», - попереджав Рассел.

За статистикою Blockchain.info, найбільша кількість покинутих блоків спостерігалася в період з березня 2014 по червень 2017 - тоді за тиждень вироблялося по кілька таких блоків. Однак, за даними чарту, до цього періоду і після, кількість покинутих блоків дорівнювала нулю, що виглядає неправдоподібно. Мої друзі вже відзначали, що чарт став працювати некоректно: «Їх [кинутих блоків] стало істотно менше, але все одно скільки має бути», - пише один з користувачів Reddit. «Цей чарт зламаний, мої ноди отримували кинуті блоки кожні 500-1000 блоків за останні 6 місяців», - написав користувач під ніком statoshi в січні, також згадуючи, що спілкувався на цю тему з розробником Blockchain.info і «вони обізнані про те, що він зламаний». На іншій сторінці Blockchain.info йдеться про два випадки кинутих блоків за цей рік: 12 січня і 4 червня. Учасники відзначають, що є «кілька кинутих блоків», які не відображені в першому чарті (і, можливо, у другому теж), але одночасно в спільноті визнають «різке скорочення» в їх кількості. Багато хто припускає, що це пов'язано з прискореним розподілом блоків завдяки релейній мережі FIBRE, створеній Меттом Коралло. Протокол не був впроваджений в клієнт Bitcoin Core, але може застосовуватися користувачами, що мають повну ноду Bitcoin на своїх пристроях. FIBRE «передає блоки по мережі нод практично без затримок на надсвітловій швидкості через волокно». «Для всіх, хто хоче дійсно розуміти, чому (багато) технічних фахівців так різко виступають проти великого розміру блоків і біткоін кешу, хорошим стартом буде розуміння мережі FIBRE - чому вона існує і як вона працює», - написав користувач Reddit. Він же припустив, що зліт кинутих блоків був спровокований зростаючою популярністю біткоіна, тоді як до 2013 року було недостатньо майнерів, щоб створювати спірні ситуації з одночасно згенерованими блоками.

9 червня до дискусій про кинуті блоки приєднався головний адепт Bitcoin Cash Крейг Райт, опублікувавши в своєму блозі пост під назвою «Залізо і сталь». Він стверджує, що такі блоки (в термінології Райта це «orphan blocks» - блоки-сироти) не є недоліком, який потрібно усунути. Проводячи аналогію між куванням сталі та обробкою біткоін-транзакцій, Райт порівняв кинуті блоки з залізом, яке необхідно для виробництва сталі. «Багато розробників думають, що блоки-сироти є основною проблемою, яка потребує уваги і більш того - в усуненні. Сироти - це не недолік, це вуглець, який вводиться в залізо і робить біткоін сталевим», - пише Райт. Він стверджує, що такі блоки є необхідною частиною системи, тоді як майнери хочуть позбутися їх зі зрозумілих причин - адже вони не приносять винагороду. Але це лише індивідуальна вигода, тоді як більш глобально ці блоки не несуть шкоди або шкоди системі. «Кількість вироблених блоків-сиріт ніяк не впливає на структуру винагород або на систему в цілому», - каже Райт, відзначаючи, що при теоретичному зниженні кількості таких блоків або їх повному винищуванні, нагород не стане більше. «Майнери... не розуміють, що це [можливість появи кинутих блоків] і є бажаний стан, а вони були привчені до того, що воно небажане, і до того, що якщо їх прибрати, тоді вони якимось чином зароблять більше. Це брехня, з якою ми повинні боротися», - вважає Райт.

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

блоки

Він зазначає, що в теорії ігор взаєминам майнерів відповідає модель «полювання на оленів», що описує конфлікт між особистими і суспільними інтересами. Цей вид взаємодії описав Жан-Жак Руссо у 1755 році в трактаті «Міркування про походження і підставу нерівності між людьми»: «Якщо полювали на оленя, то кожен розумів, що для цього він повинен залишатися на своєму посту; але якщо поблизу кого-небудь з мисливців пробігав заєць, то не доводилося сумніватися, що цей мисливець без докорів сумління пуститься за ним навздогін і, наздогнавши здобич, вельми мало буде журитися про те, що таким чином позбавив здобичі своїх товаришів». Тобто те, що передбачає найбільший прибуток, одночасно вимагає більшої кооперації між учасниками. Однак людина - і мисливець, і майнер - з легкістю піддається ідеї нехай невеликої, але особистої наживи у вигляді зайця. При цьому, як зазначає Райт, якщо мисливець вирішує піти на оленя поодинці, «шанс на успіх незначний і субоптимальний», а більш глобальна проблема полягає в необхідності «занадто великої довіри між гравцями».

Цю проблему Bitcoin вирішує за допомогою асиметрій: як зазначає Райт, система стимулів біткоіна робить більш вигідним «полювання на оленів», а не погоню за дрібною здобиччю. Майнінгова стратегія передбачає вибір між збільшенням хешрейту (обчислювальних потужностей) і збільшенням здатності підключення (тобто легкості входження нових гравців в систему, що підвищує децентралізацію). В даному випадку перший варіант - більш егоїстичний і матеріально вигідний - є «гонитвою за зайцем», тоді як створення децентралізованої мережі (нехай і з меншою індивідуальною прибутковістю) - колективним «полюванням на оленя». У гонитві за зайцем ключовим знаряддям є ASIC-майнери, яким вже оголошували війну Monero і Ethereum. Однак, на думку Райта, бажаною перспективою є комбінація підвищення хешрейта і максимізація здатності підключення до мережі. Він вважає, що одним з ключових аспектів для успіху майнінгової системи є «щільний зв'язок» між майнерами і «система сигналів»: «Сигнал буде дозволяти гравцям об'єднуватися для створення більш оптимальної стратегії. Більш безпечна система (більш щільно пов'язана) в інтересах як користувача, так і майнера. Сироти означають значні матеріальні втрати для окремого майнера... і майнер, що має більш міцний зв'язок з іншими учасниками, може очікувати більш низької частки сиріт і більш високу частку успішно здобутих блоків».

Райт підкреслює, що «Майнінг - це не про видобуток блоків, а про те, щоб передавати видобутий блок іншим майнерам», адже блок входить в основний ланцюг, тільки коли інший майнер «приєднує» до нього наступний блок, і так далі.

Крім того, Райт, який стверджує, що Bitcoin Cash - єдиний «справжній біткоін», що відображає початкові ідеї Сатоши Накамото, знову звертається до white paper Bitcoin, кажучи, що кинуті блоки є органічною частиною системи, забезпечуючи «єдиний спосіб, яким майнери можуть чесно голосувати»: майнери «голосують за допомогою потужності центрального процесора і висловлюють прийняття дійсних блоків тим, що продовжують їхній ланцюг і відкидають недійсні блоки, відмовляючись будувати поверх них нові блоки. Будь-які необхідні правила і стимули можуть впроваджуватися за допомогою цього механізму консенсусу», - процитував Райт white paper Bitcoin.

Фото: flickr.com
Обробка: Vinci