Home » Основи » Атака 51%

Атака 51%

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

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

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

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

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

Створення паралельного блокчейну

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

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

stvorennya-paralel'noho-blokcheynu

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

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

Весь цей час він продовжує створювати блоки і підтверджувати їх у своїй гілці блокчейну.

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

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

ataka51%

Перегляд існуючих транзакцій за рахунок оприлюднення нової гілки блокчейну

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

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

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

Як Біткойн захищений від атаки 51%?

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

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

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

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

Хто ставав жертвою атаки 51%?

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

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

У травні атаці 51% піддалася криптовалюта Bitcoin Gold, форк біткойна. Атака тривала три дні, в результаті зловмисник отримав 18 млн доларів в BTG. Після цього розробники вирішили провести хардфорк, щоб запобігти подальшим атакам.

Ще однією жертвою тієї ж весни стала монета Monacoin. Атака тривала два дні, і в результаті хакер отримав 90 тис. доларів.

 



Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *