118 / 736SELF

Selfish Mining

Приховати знайдений блок, щоб здобути перевагу

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

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

Петро керує Mining Pool — групою майнерів, які об’єднують потужність і ділять винагороди. Блок об’єднує транзакції в пакет, який додають до спільної історії. Група знаходить дійсний блок. Зазвичай вона повідомила б мережу, щоб інші могли продовжити його. Цього разу блок приховують і шукають наступний. Анна та решта майнерів і далі працюють над старим спільним блоком. Вони не знають, що Петро вже має інший шлях продовження історії. Так починається приватна гілка, а не нова валюта. [1] [2]

Наступний блок може знайти Петро, але Анна також може встигнути раніше. Майнінгові пристрої повторюють обчислення зі зміненими даними блоку, доки не знайдуть числовий результат, що відповідає встановленому порогу. Майнінг — не рівномірні перегони, де швидша машина завжди перемагає: кожна знахідка випадкова. Тому стратегія реагує на обидві гілки: продовжує таємно, публікує блоки або відмовляється від власної гілки. Hashrate означає швидкість обчислювальних спроб. Більша його частка підвищує шанс знайти блок, але не гарантує наступної знахідки. [1] [4]

Уявімо: Петро приховав один блок, а Анна опублікувала свій із тим самим попередником. Петро показує власний, і виникає нічия. Різні майнери можуть спочатку дізнатися про різні блоки й почати продовжувати різні гілки. Подальші знахідки та поширення повідомлень впливають на результат. Вирішує накопичена робота дійсної гілки, а не кількість її прихильників; за однакової складності більше блоків означає більше роботи. Складність показує, наскільки важко в середньому знайти такий результат. Вища складність означає більше спроб у середньому, а не наперед визначений час для кожного блоку. [1] [3] [4]

Якщо переможе гілка Петра, конкуруючий блок Анни може залишитися поза прийнятою історією як Stale Block. Він був дійсним, але його винагороду не можна витратити в прийнятому ланцюзі. Петро прагне, щоб марною виявилася більша частка чужої роботи, ніж його власної. Транзакції з покинутого блоку не обов’язково зникають назавжди: якщо вони досі дійсні й не суперечать прийнятій історії, їх можуть включити пізніше. [1] [4]

Ittay Eyal та Emin Gün Sirer описали відому стратегію в дослідженні 2013 року. Вони порівнювали частку прийнятих блоків майнера з його часткою потужності. Це не те саме, що погодинний заробіток після оплати електрики. Приховування може сповільнити публічний ланцюг; наступне коригування складності змінює економіку стратегії. Cyril Grunspan та Ricardo Pérez-Marco пізніше наголосили саме на часі й цьому коригуванні. Отже, більша відносна частка винагород не обіцяє негайного чистого прибутку. [1] [7]

У початковій моделі α — частка потужності нападника. γ — частка потужності решти майнерів, яка при нічиїй переходить на його гілку. За γ = 0 поріг відносної переваги становить 1/3; за γ = 1/2 — 1/4. У цій моделі перевага з’являється вище відповідного порога. Це не універсальні межі безпеки справжньої мережі. Інші стратегії, затримки та припущення змінюють результат. Головне: важливі і потужність, і те, яку гілку продовжують інші. [1] [6]

Швидко доставлений блок має більше шансів залучити майнерів при нічиїй. Мережева перевага може доповнювати обчислювальну потужність. Якби одна група стабільно пропонувала кращий дохід, вона могла б залучати нових майнерів і посилювати концентрацію. Це опис стимулу, а не доказ атаки кожного великого пулу чи неминучого приєднання інших. Параметр моделі також не є виміряною властивістю конкретного оператора. [1] [6] [8]

Анна може вирватися вперед раніше, ніж задум Петра спрацює. Тоді він не отримає винагороди, хоча витратив енергію й використовував обладнання. Поріг для довгострокового середнього не обіцяє перемоги в кожному раунді. Кілька успішних раундів теж не доводять прибутковості з урахуванням витрат і зміни умов. Прихований блок — ризикована можливість, а не винагорода, надійно захована в шухляді. [1] [7]

Full Node — програма, яка самостійно перевіряє правила Bitcoin. Вона і далі відхиляє недійсні транзакції та недозволене створення монет. Петро має надати справжній Proof of Work, підтвердити потрібну обчислювальну роботу й дотриматися тих самих правил, що й Анна. Стратегія змагається за те, яка дійсна історія переможе. Вона не дає чужих приватних ключів — секретних числових значень для підписання транзакцій — чи права витратити чужі монети. Перевагу в майнінгу слід відрізняти від зламу правил власності. [2] [5]

Швидше передавання блоків зменшує затримки та деякі мережеві нерівності. Наприклад, Compact Blocks використовує вже відомі транзакції для ощадливого передавання блоку. Це не усуває Selfish Mining повністю. Досліджують також поведінку при нічиїх та економічні стимули. Покинутий блок сам не доводить атаки: дві чесні групи можуть знайти блоки майже одночасно. Для оцінки підозри потрібен ширший контекст. Основне питання: чи винагороджують правила швидкий обмін у цих умовах, чи вигідніше щось приховати? [6] [8] [9]

Для повної картини прочитайте також Block Propagation, Compact Blocks, Nakamoto Consensus, Sybil Attack, Bitcoin, Майнінг. На цю статтю також посилаються Byzantine Generals Problem, Sybil Attack, Block Propagation, Block Withholding Attack.

DOC · 001Eyal and Sirer — Majority is not EnoughПервинне джерело DOC · 002Satoshi Nakamoto — Bitcoin whitepaperПервинне джерело DOC · 003The Bitcoin Backbone ProtocolПервинне джерело DOC · 004Bitcoin Developer Guide — Block ChainДокументація DOC · 005Bitcoin Core v29.0 — validationДокументація DOC · 006Sapirshtein, Sompolinsky & Zohar — Optimal Selfish Mining Strategies in BitcoinПервинне джерело DOC · 007Grunspan and Pérez-Marco — On profitability of selfish miningПервинне джерело DOC · 008Bitcoin Optech — Selfish miningДокументація DOC · 009BIP 152 — Compact Block RelayПервинне джерело
Переглянуто: Спочатку джерела · Не інвестиційна порада