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

Автор: Джеймсон Лопп, Cypherpunk Cogitations

Складено: aididiaojp.eth, Foresight News

Якщо ви коли-небудь використовували мережу біткойн для транзакцій, можливо, ви знаєте, що приймати непідтверджені транзакції (також відомі як нульове підтвердження) небезпечно. Без підтвердження одержувачі біткойнів вразливі до расових атак, атак Фінні та атак 51%.

Коли у вас є принаймні одне підтвердження транзакції, ви більше не вразливі до нападів на расовій основі чи фенів. Тепер єдине, що вас цікавить, це атака 51%. Яке емпіричне правило для прийнятної кількості підтверджень для нього?

 

  • 1 підтвердження: достатньо для невеликих платежів до 1000 доларів США.

  • 3 підтвердження: більшість бірж вимагають 3 підтвердження депозиту для платежів від 1000 до 10 000 доларів США.

  • 6 підтверджень: доступно для великих платежів від 10 000 до 1 мільйона доларів США. Шість підтверджень вважається безпечним стандартом.

  • 10 підтверджень: рекомендовано для великих платежів понад 1 мільйон доларів.

 

Занурюйтеся глибше

 

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

 

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

 

Але ці розрахунки (які можна знайти в white paper) були зроблені задовго до майнінг-пулів і промислового майнінгу, коли було розумно припустити, що комусь буде важко володіти більше ніж 10% глобального хешрейту. З 2011 року в мережі з’явилася велика кількість об’єктів, що виробляють блоки (майнінг-пулів), які накопичують понад 10% глобального хешрейту. На момент написання статті існує 5 таких пулів.

 

Кількісно оцініть ризик у реальному часі

 

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

 

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

 

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

 

Щоб визначити ймовірність того, що зловмисник зможе переписати блокчейн з z блоків тому, ми множимо щільність Пуассона для кожного обсягу прогресу, який може зробити зловмисник, на ймовірність того, що він зможе наздогнати цю позицію, де:

 

  • p = ймовірність того, що чесний майнер знайде наступний блок

  • q = ймовірність того, що зловмисник знайде наступний блок

  • z = скільки блоків потрібно реорганізувати (підтвердження)

  • лямбда = z * (q / p)

  • k = ціле число від 0 до z

 

 

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

 

Підтвердити калькулятор ризику

 

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

 

 

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

 

 

Чому це має вас хвилювати?

 

На момент написання статті Foundry має 36% глобального хеш-рейту, що означає, що якщо ви приймаєте платіж після 3 підтверджень, все ще є 49% ймовірності того, що Foundry перепише блокчейн і запустить атаку подвійних витрат.

 

 

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

 

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

 

Підведіть підсумки

 

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

 

Щоб було зрозуміло, наведені вище думки щодо Foundry не слід тлумачити як вказівку на те, що це неминуча або системна загроза цілісності мережі Bitcoin. Протягом останнього десятиліття ми спостерігали припливи та відпливи рівня централізації майнерів через низку факторів. Наприклад:

 

 

 

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