Posted inОсвіта та поради

Що таке атака 51%?

51-01

Атака 51% — це вразливість PoW-блокчейнів, за допомогою якої зловмисник захоплює контроль над підтвердженням транзакцій і генерацією блоків.

Що дає володіння 51% потужності мережі?

Маючи в розпорядженні 51% потужності, атакуючі:

  • не дають іншим майнерам (валідаторам) знаходити блоки ( selfish mining );
  • проводять подвійну витрату монет, щоб красти у постачальників послуг, бірж або обмінників ( double spend );
  • форкають основний блокчейн, розділяючи мережу на два конкуруючі ланцюжки;
  • не дають транзакціям або блокам підтверджуватися;
  • під час атаки збирають усі нагороди за блок і комісії з транзакцій.

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

  • крадуть із будь-яких контрактів на кшталт deposit-challenge-verify і каналів стану/Lightning Network, якщо атакуючі були їхніми учасниками;
  • зменшують і маніпулюють складністю мережі;
  • крадуть монети, які не датовані генезис-блоком (шляхом відкату старих блоків і переотримання нагород за ці блоки);
  • видаляють контракти або історію транзакцій (шляхом відкату старих блоків і редагування списку транзакцій, що включаються).

Атака 51% сама по собі не дає змоги атакувальникам :

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

Скільки ресурсів знадобиться, щоб виконати атаку 51%?

Зловмисний майнінговий пул може найняти додаткові ресурси і запустити атаку на обрану криптовалюту. На підставі даних сервісу 51crypto авторами дослідження "Вивчаючи види атак на блокчейн" складено таблицю з шести криптовалют і вказано ціну атаки за годину (cost).

Що таке атака 51%?

Дані отримано у квітні 2019 року. Як бачимо, щоб атакувати біткоїн, потрібно витрачати по $486 000 на годину. Атака на Dash (з ринковою капіталізацією в $2,3 млрд), коштує всього $15 000 на годину.

Що таке егоїстичний майнінг (selfish mining)?

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

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

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

У блокчейнах, що працюють на алгоритмі Proof-of-Work (PoW), важливим є не найдовший ланцюжок, а найбільш "підкріплений".

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

Як відбувається подвійна витрата криптовалюти (double spend)?

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

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

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

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

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

Завдяки таким "схемам", монети раз у раз повертаються в гаманець атакуючого, і можна їх витрачати двічі, тричі, і так далі. Часті подвійні витрати призводять до загрози зняття криптовалюти з торгів на постраждалих від подвійної витрати біржах. Крім того, атаковані криптовалюти втрачають ринкову капіталізацію після атаки. Наприклад, криптовалюта Verge зазнала атаки в травні 2018 року, і втратила відтоді понад 95% своєї вартості.

Хардфорк після атаки 51% як метод створення нового активу

За допомогою атаки 51% можна створити нову криптовалюту. Алгоритм консенсусу PoW розроблявся для доказу цілісності ланцюжка, а не для запобігання появи відгалужень.

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

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

Чи можливо виконати атаку 51%, не маючи 51% потужностей?

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

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

Що таке атака 51%?

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

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

Приклади атаки 51% з історії криптовалют

Атака 51% не є нездійсненною. Майнінговий пул Ghash.io протягом короткого періоду часу в липні 2014 року володів понад 50% обчислювальної потужності Bitcoin. Це призвело до того, що пул добровільно спробував зменшити свою частку в мережі. У заяві було сказано, що в майбутньому він не досягне 40% від загального обсягу видобутку.

У серпні 2016 року група хакерів з "51 crew" зламала блокчейн проекти Krypton і Shift. За допомогою серії подвійних витрат їм вдалося вивести приблизно 20 000 токенів Krypton.

У травні 2018 року група зловмисних хакерів отримала контроль над 51% мережі альткоїна Bitcoin Gold, що дало їм змогу вкрасти $18 млн доларів у криптовалюті у Bittrex, Binance, Bitinka, Bithumb і Bitfinex. Bittrex звинуватила розробників у недбалості і зажадала від них компенсації, інакше біржа обіцяла закрити торги в BTG. Розробники відповіли, що це відомий тип загрози. Біржа Bittrex не подбала про запобіжні заходи і сама винна в тому, що трапилося.

У червні 2018 року Monacoin, Zencash, Verge, і Litecoin Cash зазнали атаки 51%. Це призвело до багатомільйонних втрат. Унаслідок атаки деякі біржі втратили приблизно $90 000 у Monacoin, $500 000 у ZenCash і $1,7 мільйона у Verge.

У листопаді 2018 року внаслідок атаки 51% на Aurum Coin з біржі Cryptopia викрадено понад $500 000.

У травні 2019 року два великих майнінгових пули здійснили атаку 51% на мережу Bitcoin Cash. За їхніми словами, вони запобігли крадіжці незахищених монет SegWit, які зберігалися на адресах, звідки їх міг забрати хто завгодно. Ці монети залишилися в мережі після відділення від Bitcoin у 2017 році, але були заблоковані розробниками. Допоки не виявилися випадково розблокованими хардфорком у травні 2019.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *