rPman (OP)
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:20:42 AM Last edit: May 01, 2013, 11:15:45 AM by rPman |
|
http://habrahabr.ru/post/178549/ - Идеологическая уязвимость, атака на пулы майнинга криптовалют. У всех пулов майнинга, включая p2pool, существует одна очень простая и неприятная идеологическая уязвимость, с помощью которой можно уменьшить совокупных доход пула относительно его общей мощности. Злоумышленник может 'наказать' пул на сумму, сравнимую с доходами от мощностей злоумышленника, фактически вся выплачиваемая пулом награда. И чем больше мощность злоумышленника и чем дольше продолжается атака, тем больше шанс что это убытки пула будут приближаться к этой величине. И самое главное, что такая атака не стоит злоумышленнику практически ничего. Особенно это актуально для владельцев больших мощностей, сравнимых с мощностью самого пула. Это не уязвимость протокола bitcoin, ведь ее можно свершать для любой современной криптовалюты, это не уязвимость в коде пулов майнинга - это идеологическая уязвимость метода определения способа начисления наград при распределенных вычислениях. Пулы майнинга платят своим пользователям не за найденные блоки, а за мощности, которые заводят пользователи на пул. Абсолютно все существующие способы расчета PPS/PPLNS/Prop/... основаны на том, что оплата производится за полученные пулом шары - частные решения, одно из которых может быть целевым решением пула по сбору блока в сети bitcoin. А проблема в том, что майнер, находя решение, знает, какое из них является целевым для пула, а какое обычным. Это определяется сложностью, под которую подходит это частное решение, если она больше сложности сети - то значит это решение целевое. Например популярная утилита cgminer показывает в своем окне информацию по каждой найденной шаре. ![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fhabrastorage.org%2Fstorage2%2Ff1c%2Fe49%2F770%2Ff1ce4977067d68536aa1fcb9055ef5ea.jpg&t=664&c=6kTjMyrSrmnybw) Вот например эта строчка: [2013-03-10 20:17:16] Accepted 03316740 Diff 80/52 AVA 0 pol 0 80 - это сложность, для которой подойдет данная шара как решение, а 52 - это сложность, которая была затребована пулом при выдачи задачи майнеру. Пул платит из расчета этой сложности в 52. Майнеру-злоумышленнику достаточно не отсылать пулу решения, целевые для нахождения блока (т.е. со сложностью >= текущей мощности), это несколько измененных строчек в коде майнера (на приведенном скриншоте эта сложность указана сверху — 4.37M). Пул все равно заплатит за остальные шары, но блок от майнера так и не получит! Получается стоимость атаки, для метода выплат PPS — одна единственная шара на каждый недополученный блок пулом, для остальных методов оценка стоимости атаки будет сравнима с долей от нанесенного ущерба, равной соотношению мощности пула к мощности атакующего. Значит если злоумышленник будет продолжать это делать достаточно долго, то он загонит пул в долговую яму для PPS или заметно уменьшит прибыль пользователей пула для остальных методов выплат. Для пула же это будет выглядеть как продолжительная повышенная неудача. Обнаружить подобную атаку можно статистически, просто вычислив мощность майнера и количество найденных им блоков. Но максимум что пул может сделать - забанить нарушителя уже после успешной атаки, а атакующему завести новый аккаунт не составит никакого труда. Целью данной атаки может являться конкурентная борьба между пулами майнинга, где, если пул-атакующий скрывает задачу, которую решает майнер (это происходит при использовании старых протоколов майнинга, в отличии от новых типа stratum), то он может перенаправить часть или все свои мощности на атакуемый пул в качестве обычных его клиентов. Но даже при использовании новейших протоколов, много ли майнеров действительно контролируют, что за задачу им выдает пул? Ни один из известных мне клиентов для майнинга не проводит эту проверку и не предоставляет механизмов для указания условий, по которым он может определить - та ли это задача, что обещает пул? Максимум будет выдано сообщение на тот случай, если при использовании нового протокола stratum пул будет продолжать скрывать содержимое собираемого блока.
|
|
|
|
FAN
Legendary
Offline
Activity: 2688
Merit: 1020
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:27:25 AM |
|
и шо это даст злоумышленнику? ведь ту заветную шару он все равно никуда не применит... получается что он будет также молотить и в никуда... может проще вообще выключить майнер? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
| ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ | | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ | | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ | | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ |
[
|
|
|
rPman (OP)
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:33:08 AM Last edit: May 01, 2013, 11:17:50 AM by rPman |
|
Конкурентная борьба. Злоумышленник и так получит награду от пула, но пулу от этого не легче.
|
|
|
|
Echoes
Legendary
Offline
Activity: 1120
Merit: 1005
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:34:28 AM |
|
и шо это даст злоумышленнику? ведь ту заветную шару он все равно никуда не применит... получается что он будет также молотить и в никуда... может проще вообще выключить майнер? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Он получит битки от пула если там pps система выплат, чем сделать работу пула нерентабельной, это эффективнее старого доброго ддоса будет...
|
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:35:33 AM |
|
Кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.
И кстати, это баян уже 4 года как.
|
|
|
|
Storan
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 112
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:36:38 AM |
|
Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
|
|
|
|
rPman (OP)
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:40:05 AM Last edit: May 01, 2013, 11:17:33 AM by rPman |
|
Автор не в теме о "методах расчета награды", точнее в теме только о PPS. А кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.
нет, метод выплат Prop точно так же уязвим, только стоимость атаки будет повыше, и будет равна части нанесенного убытка пулу пропорционально соотношению мощности атакующего к мощности пула. PPLNS не в случае pool hopping - фактически чистый Prop (возможно растянутый на несколько блоков, зависит от длины очереди учитываемых шар), та же ситуация и с остальными, просто формула определения убытков атакующего будет сложнее, но близка к Prop. Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
В конечном счете атака на майнеров пула и есть атака на пул, продолжительная долговая яма заставит уйти их с пула, что может и являться целью атаки.
|
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:45:38 AM |
|
Автор не в теме о "методах расчета награды", точнее в теме только о PPS. А кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.
нет, метод выплат Prop точно так же уязвим, только стоимость атаки будет повыше, и будет равна части нанесенного убытка пулу пропорционально соотношению мощности атакующего к мощности пула. PPLNS не в случае pool hopping - фактически чистый Prop (возможно растянутый на несколько блоков, зависит от длины очереди учитываемых шар), та же ситуация и с остальными, просто формула определения убытков атакующего будет сложнее, но близка к Prop. Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
В конечном счете атака на майнеров пула и есть атака на пул, продолжительная долговая яма заставит уйти их с пула, что может и являться целью атаки. Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Потому что доход не идет с блоков непосредственно. В прочих же системах, не отправляя побеждающую шару, атакующий автоматически не отправляет себе деньги. И вот тогда у атаки появляется стоимость.
|
|
|
|
rPman (OP)
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:49:48 AM Last edit: May 01, 2013, 11:17:20 AM by rPman |
|
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Я не понял - то ли вы говорите что я не прав, то ли подтверждаете мою правоту ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Два майнера с одинаковыми мощностями, один злой - прячет 'полезные шары', другой добросовестный. Первый получит меньше второго ровно на количество этих пропущенных шар - это и есть стоимость, с точки зрения майнера-атакующего!
|
|
|
|
Storan
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 112
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 10:57:00 AM |
|
В общем правильная стратегия подобной атаки такова: гнобим неугодный PPS-пул, недополучив в доход тыщу-десяток сатошиков. На вырученные с этого злобного майнинга битки, заказываем ддос на другой не-PPS пул. Убивать неотсылкой подписанных блоков не-PPS очень затратно. К примеру имеем другой пул который в среднем подписывает 2 блока в сутки. Приходим туда мощностями, которые генерируют 1 блок в сутки. Сидим пару недель - у участников пула доход упал до 2/3; но мы сами потеряли на этой атаке ~125BTC
|
|
|
|
rPman (OP)
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 11:08:56 AM |
|
В общем правильная стратегия подобной атаки такова: гнобим неугодный PPS-пул, недополучив в доход тыщу-десяток сатошиков. На вырученные с этого злобного майнинга битки, заказываем ддос на другой не-PPS пул. Убивать неотсылкой подписанных блоков не-PPS очень затратно. К примеру имеем другой пул который в среднем подписывает 2 блока в сутки. Приходим туда мощностями, которые генерируют 1 блок в сутки. Сидим пару недель - у участников пула доход упал до 2/3; но мы сами потеряли на этой атаке ~125BTC
Убытки атакующего так же пропорционально будут распределены по остальным пользователям пула. Нет смысла атакующему заводить на пул равные этому пулу мощности, хватит и 10%-20% подольше.
|
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 11:12:21 AM |
|
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Я не понял - то ли вы говорите что я не прав, то ли подтверждаете мою правоту ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Два майнера с одинаковыми мощностями, один злой - прячет 'полезные шары', другой добросовестный. Первый получит меньше второго ровно на количество этих пропущенных шар - это и есть стоимость, с точки зрения майнера-атакующего! На PPS атакующий получит почти столько же, как если бы он не атаковал. На распределяющих риски системах атакующий удлиняет раунды, в которых он участвует, и в итоге недополучает тем больше прибыли, чем большую мощность имеет. P.S. "иде ологическая". 5 класс, вроде как... P.P.S. Я считаю, что за "попробывал", "идеалогия" и "лудше" надо избивать учебником.
|
|
|
|
rPman (OP)
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 11:16:14 AM |
|
P.S. "идеологическая". 5 класс, вроде как... спасибо, исправил.
|
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 11:21:25 AM |
|
|
|
|
|
kimmeriets
Legendary
Offline
Activity: 1064
Merit: 1000
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 04:36:53 PM |
|
зеленые буковки. слышал, что они вредят психике и самое страшное выжигают сетчатку глаза, медленно но бесповоротно. у меня сохранился специальный фильтр от вредного влияния зеленых буковок, но он для 14" мониторов.
|
|
|
|
naima53
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 01, 2013, 05:14:11 PM |
|
зеленые буковки. слышал, что они вредят психике и самое страшное выжигают сетчатку глаза, медленно но бесповоротно. у меня сохранился специальный фильтр от вредного влияния зеленых буковок, но он для 14" мониторов.
Это ж привычка со времен дисплейных станций ![Roll Eyes](https://bitcointalk.org/Smileys/default/rolleyes.gif)
|
Donate me) 16f6iWHHkVEnDReeBQPT9GwCNwUfPTXrp2
|
|
|
Mad_Max
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 05, 2013, 01:25:46 AM Last edit: May 05, 2013, 01:47:25 AM by Mad_Max |
|
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Потому что доход не идет с блоков непосредственно. В прочих же системах, не отправляя побеждающую шару, атакующий автоматически не отправляет себе деньги. И вот тогда у атаки появляется стоимость.
Что-то недопонял, а что мешает злоумышленнику эту найденную удачную шару, которую он перехватил и не отправил на пул, использовать для генерации нового блока себе лично (в соло режиме или на своем пуле, если это владелец пула этим занимается). Ну помимо необходимости разобраться в коде майнера и переписать соответствующие участки? Не знает "содержимого" блока, которое хочет подписать пул? Оно разве не одно и тоже у всех желающих создать по честному валидный (а не поддельный, с липовыми данными) блок? (информация о предыдущем блоке + набор транзакций, которые по все сети одинаково рассылаются по известному открытому формату). Ну а по теме. Не знаю, может оно совпадение, но вот смотрю сейчас пулы для FTC. Они почему-то на PPLNS системах, и подключился к одному из них (featherpool.com) смотрю что-то нарабатывается заметно меньше ожидаемого (уже с учетом поправок что это PLNS). Стал сверять статистику - а у них почему-то стабильная непруха, последние 50 найденных блоков (больше сайт не показывает) в среднем добывались где-то на 30-40% тяжелее (больше шар требуется) чем положено исходя из сложности сети. (отсюда и меньшие выплаты, т.к. PPLNS по сути пропорционалка) Понятное дело, что для отдельного блока она скачет сильно туда-сюда - есть большой элемент случайности. Но усредненно по 50 блокам, это уже статистически значимо. Причем когда подключался тоже проверил "везучесть" пула, там было все ОК - порядка 5% отклонение от целевой сложности. Как результат - майнеры с него разбегаются, уже почти половину мощностей пул потерял. Проверил еще пару пулов, там тоже похожая ситуация, только превышение сложности на 10-20%. Народ тоже с них уходит (а перед этим все эти 3 ДДОСили, хотя возможно это они сами друг друга). Правда еще не выяснил куда же уходят? (т.к. общая мощность сети не снижается) Кроме мошенничества со стороны владельцев пулов (кстати как это можно реализовать/отследить?) напрашивается вывод, что кто-то мог налить большие объемы таких "пустых" шар (с изъятыми блоками). Возможно, это была как раз такая атака. Она конечно не дешевая, если ее длительно проводить. Но длительно тут не нужно - подключить на 1-2 дня мощности. И юзеры начнут разбегаться, а пул получит плохую репутацию мошенников (т.к. большинство не особо статистику изучает/просчитывает, а просто подключается, смотрит сколько за день примерно выходит - сравнивает с тем, что должно получиться исходя из имеющего хэшрейта и если получается существенно меньше положенного - бежит на другой пул, записав этот в свой черный список).
|
Не зная покоя и отдыха, При лунном и солнечном свете, Мы делаем деньги из воздуха, Чтоб снова спустить их на ветер!
|
|
|
rPman (OP)
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 05, 2013, 07:18:13 AM |
|
Использовать шару не получится, считай в ней прописано кому платить награду.. толку то от кражи кредитной карты, если не знаешь пинкода (приватный ключ адреса, прописанного как адрес выплаты для награды блока)... можно только выкинуть, сделать гадость владельцу (только вот в реальности кредитную карту владелец может восстановить, а тут все, даже опоздание на секунды - критично).
Почти наверняка с мелкими/слабыми пулами ситуация проще чем описанная атака, сами владельцы тырят средства. Много ли майнеров проверяют, что их шара со сложностью больше сложности сети дошла до сервера и попала в статистику? Инструментов готовых для этого нет, хотя их создание возможно, тот же cgminer дает полный доступ по сбору и анализу логов и статистики. Крупным пулам, с большими комиссиями можно потратить немного средств на такие атаки, так же дополнительно информационная атака (из под левого форумного аккаунта - 'ааа, этот пул мои выплаты заныкал хнык, плохой пул') и конечно же ддос. p.s. а когда крупный пул тырит средства, это еще круче, можно тырить совсем мало, вообще никто не заметит.
|
|
|
|
naima53
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 05, 2013, 02:55:26 PM |
|
Все можно сделать. Можно даже целиком всю сеть имитировать. Вопрос цены.
|
Donate me) 16f6iWHHkVEnDReeBQPT9GwCNwUfPTXrp2
|
|
|
Vicus
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 11, 2013, 11:52:10 AM |
|
Я кстати думал насчет атаки такого рода. Она легко вычисляется. Майнеру подсовывается данные фиктивного блока и диапазон nonce, в котором однозначно есть шара нужной сложности. Если майнер ее не отдаст, значит он и есть злодей. Шары такого товарища можно спокойно молча сливать в утиль ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
|