Опис атаки 51%
Атака 51% - це процес, коли хтось має обчислювальну потужність більшу ніж вся інша мережа. Наприклад в мережі 10 процесорів, кожен майнить зі швидкістю 1 мегахеш - загальна потужність мережі 10 мегахеш. Прийшов майнер у якого є 11 комп'ютерів ... Цей новий майнер може сам в середньому за добу знаходити більше блоків, ніж всі інші майнери. Цей майнер може здійснити атаку 51%.
Обмеження атаки:
1. Очевидно з назви: у атакуючого має бути більше 50% потужності майнінга.
2. Не очевидно, але я впевнений в правильності: "атаку можна здійснити тільки монетами, які сам і намайнив."
Алгоритм атаки:
1. Атакуючий майнить (для простоти) 50 коїнів наприклад в блоці №1000.
2. Атакуючий вимикає інтернет і включає всю свою потужність (яка більше потужності інших майнерів) на майнінг альтернативного ланцюжка блоків починаючи від блоку 999.
3. Коли інші майнери знайдуть 1100 блок, коїни атакуючого майнера стають доступні для виводу.
4. Атакуючий продає свої 50 коїнів за 50 умовних гривнів. Транзакція записується в блок 1101, після 6 підтверджень (коли майнери знайдуть блок 1107) атакуючий отримує свої гроші.
5. Атакуючий посилає в мережу новий ланцюг в якому є блоки від 999 до 1108.
6. Оскільки ланцюжок атакуючого довший і складніший, всі клієнти перебудовуються на майнінг ланцюжка атакуючого, попередній ланцюжок стає "орфаном" (втрачений файл) або просто забувається.
Підсумок атаки:
Атакуючий продав 50 коїнів які він намайнив.
Покупець віддав гроші, але куплені монети потрапили в "Орфан-ланцюжок", що рівноцінно нулю.
Після атаки у атакуючого є і гроші і 50 коїнів в блоці 1000 (і ще по 50 в кожному з блоків від 999 до 1108 але це не важливо).
Висновок:
Атакуючий може ще раз продати 50 коїнів з блоку 1000, тобто здійснити "подвійну витрату".