Найпростіша атака «pool hopping» була описана ще 2011 року Мені Розенфельдом (Meni Rosenfeld). Він показав, що якщо пул розподіляє виплати за пропорційною системою, майнути на початку раунду вигідніше, ніж наприкінці. Інші методи виплати ускладнюють проведення атаки, але не усувають таку небезпеку.
Зловмисні пули можуть утворити картель із часткою потужності понад 50% і відхиляти блоки, здобуті рештою учасників. Це не обов'язково спричиняє подвійну витрату («атака 51%»): майнери, що вступили в змову, можуть коректно підтверджувати всі валідні транзакції, але у разі форка їх ланцюжок визнаватиметься головним, отже, збитки через майнінг орфанних блоків ляжуть на плечі.
Майнери можуть застосовувати секретні криптографічні оптимізації. Так, у роботі 2013 було показано, що завдання перевірки, чи відповідає подвійний SHA256-хеш заголовка блоку параметру складності, достатньо в середньому 1,86 раундів відповідної функції стиснення (SHA256 compression function), тоді як для повного обчислення хеша заголовка блоку раунду. Така суттєва оптимізація (38%!) пояснюється двома факторами. По-перше, заголовок блоку - не випадкові дані: багато поля з або не змінюються, або змінюються повільно і передбачувано. По-друге, майнерам не потрібно обчислювати повне значення SHA256: можна зупинитися на першому ненульовому символі. Пул може розробити ще більш тонку криптографічну оптимізацію і тримати її в таємниці, отримуючи прибуток вище за свою частку в мережі. Втім, досягнуте значення 1,86 раундів, на думку авторів дослідження, близьке до теоретичного мінімуму; покращити його можна хіба що на 1-2%.
0 Комментарии