О том, как майнер-монополист может атаковать Биткоин

О том, как майнер-монополист может атаковать БиткоинКак многим известно, в середине 2014 года GHash, майнинг-пул, которым управляет анонимная компания CEX.io, предположительно принадлежащая русским владельцам, примерно на сутки достиг 55% от всей вычислительной мощности майнинг-сети. Это вызвало немалое замешательство по поводу того, что настолько крупный майнер может сделать, хочет сделать и сделает на самом деле.

Как мы и предсказывали, некоторые люди заявляют что-то вроде «ОК, даже если GHash и получили 51-процентное большинство, они должны сойти с ума, чтобы проводить атаку 51%, потому что это просто не в их интересах». Этот аргумент совершенно несостоятелен, он опровержен эмпирическими данными: любой, кто повторяет его после эпизода с GHash, в лучшем случае заблуждается. Майнеру с 51% мощности доступно много разных атак, многие из них довольно тонки и неадекватно описываются упрощенными моделями.

Похоже, биткоин-сообщество плохо понимает, что может сделать такой могущественный майнер. Об этом свидетельствует даже официальный ответ Гэвина, в котором он утверждает, что существуют «только две» атаки: (1) двойная трата и (2) массовый отказ в обслуживании. Возможно, Гэвин, в профессионализме которого никто не сомневается, пытается принизить опасность, чтобы развеять страхи сообщества*, но и обсуждения на форумах показывают, что большинству людей непонятно, на что способен майнер-монополист. В частности, они не принимают во внимание более тонкие атаки, доступные такому майнеру.

* Гэвин написал и о нейтрализации атаки 51%, но эта его публикация также страдает от слишком ограниченного взгляда на проблему. 

В этой статье мы разберем доступные майнерам стратегии в зависимости от имеющихся у них ресурсов. Главный наш тезис состоит в том, что концентрация 50% ресурсов в руках одного майнера совершенно неприемлема для Биткоина, даже если он не проводит никаких атак. Мы предлагаем реализовать технические меры для предупреждения концентрации более 25% мощности в майнинг-пуле. Пока такие меры не реализованы, мы отстаиваем альтернативное решение «для бедных», а именно оказание социального давления на майнеров с тем, чтобы они не концентрировали в своих руках более 25% мощности. Другая цель этого сообщения — предостеречь майнеров от использования токсичной стратегии майнинга, которая называется дифференциацией транзакций.

Игнорирование проблемы — плохая стратегия

О том, как майнер-монополист может атаковать БиткоинДля начала давайте покажем неуместность попыток принизить важность произошедшего. Как мы и предсказывали, некоторые участники сообщества считают, что ничего страшного не случилось, потому что майнеру с 51% ресурсов невыгодно проводить атаку 51%. Что можно на это ответить? Ну, во-первых, эти люди плохо понимают суть атаки 51% (собственно, поэтому мы и написали эту статью). На самом деле никакой четкой спецификации у «атаки 51%» нет; вместо этого майнинг-пулам с 51% ресурсов доступен целый ряд монополистичных стратегий, при этом некоторые из них очень трудно зарегистрировать. Во-вторых, пул с 51% ресурсов вредит биткоин-экосистеме, даже если он не проводит никаких атак. Наконец, люди, которые сейчас выдвигают этот аргумент, совсем недавно заявляли что-то вроде «ну, да, GHash растет, но они должны сойти с ума, чтобы перейти 50-процентный барьер», но мы видим, что произошло в действительности. Эта линия рассуждений дефектна, потому что она не отражает ни мотивацию майнеров, ни природу атак 51%.

Посмотрите, как уверенно Андреас настаивает на том, что (1) единственной проблемой с монополистом является возможность двойной траты, что (2) 6 подтверждений решают эту проблему, (3) а «если не 6 подтверждений, то 12 уж точно» и, наконец, (4) если что и случится, Гэвин нас спасет. Первые три из этих утверждений ложны, а последнее — задача, которая сделала бы честь и Супермену, но даже Суперменкойн был бы уязвим для криптонита.

Прямо сейчас биткоин-сообществу не помещала бы хорошая доза терапии принятия и ответственности. То, что биткоинеры давно описывали как коллапс предлагаемых преимуществ валюты, произошло. Многие влиятельные участники сообщества не раз заявляли, что система поощрений в Биткоине предотвратит достижение этой точки, и все же мы достигли ее и перешли. Только распознав и приняв объективную реальность, мы можем принять адекватные меры.

К счастью, как только мы поймем угрозы, мы сможем устранить причины проблем.

Угрозы в зависимости от доли ресурсов у майнера

Ниже приведена подробная таблица стратегий нечестного извлечения выгоды в зависимости от имеющихся у майнинг-пула ресурсов. Если известны решения проблемы, мы их отметили.

Доля ресурсов Доступные стратегии
0-25% Эгоистичный майнинг обеспечивает выгоду выше справедливой, если Биткоин остается без исправлений и пул хорошо подключен к сети. Исправление биткоин-протокола распространения блоков делает невозможным эгоистичный майнинг такими пулами.
25-33% Эгоистичный майнинг обеспечивает выгоду выше справедливой, даже если к Биткоину применено исправление. Если исправление не применено, выгода может быть выше. Пока что исправление этой проблемы неизвестно, но, возможно, оно появится.
33-50% Эгоистичный майнинг обеспечивает выгоду выше справедливой, даже если к Биткоину применено исправление. Эгоистичный майнер не нуждается в хорошем подключении к сети, чтобы исключительно по собственной инициативе зарабатывать больше биткоинов. Исправление невозможно. Атака «двойной траты» против транзакций с 6 подтверждениями реалистична, но ее успех не гарантирован. Увеличение количества подтверждений снижает риск для продавцов.
>=50% Нарратив децентрализованного доверия утрачивается, Биткоин никак не выделяется на фоне конкурирующих технологий. Успех атаки «двойной траты» против транзакций с 6 подтверждениями гарантирован. Избирательное подтверждение блоков других майнеров: пул может отклонить любой блок, обнаруженный конкурирующим майнером. Избирательное подтверждение транзакций: пул может отклонить любую транзакцию, не пропустив ее в блокчейн.Избирательная блокировка адресов: пул может блокировать потоки биткоинов, исходящие с тех или иных адресов или поступающие на них.Дифференциация транзакций: пул может рассматривать некоторые транзакции как низкоприоритетные, предоставляя обрабатывать их другим майнерам, если к транзакциям не добавлена (значительная) комиссия.Вымогательство комиссии: пул может отклонять транзакции с конкретного адреса, если к ним не добавлена (значительная) комиссия.Полный отказ в обслуживании: пул может игнорировать все блоки, обнаруженные конкурентами, полностью блокируя обработку биткоин-транзакций.

Главная проблема

О том, как майнер-монополист может атаковать БиткоинЕсли какой-то майнер сосредоточил у себя 51% ресурсов, это означает, что даже при условии, что он настроен благожелательно, мы утратили самый ценный актив, а именно ценностное предложение Биткоина и соответствующий нарратив.

Биткоин уникален тем, что он не требует доверять какой-либо единственной сущности, но как только появляется майнер с 51% ресурсов, пользователи вынуждены полностью доверять ему. Конечно, этот майнер будет клясться в самых благих намерениях, но это не имеет значения: утрачивается сама суть нарратива Биткоина. Расширять аудиторию пользователей Биткоина в таких условиях сложно или вообще невозможно.

Если бы пользователи охотно верили в добрые намерения организации, занимающей в сети центральное положение, мы могли бы полностью отказаться от биткоин-протокола, сэкономить море электроэнергии и просто хранить балансы всех учетных записей в базе данных, администрируемой GHash. Мы могли бы использовать сервис вроде HyperDex для обработки большего количества транзакций, обеспечения целостности и отказоустойчивости системы. Итоговое решение было бы дешевле, быстрее и удобнее для всех, но все уникальные свойства Биткоина были бы утрачены. Такую централизованную сущность можно было бы назвать «Verifying International Secure Authority», или просто VISA.

По сути, такой GHashCoin ничем не отличался бы от, скажем, игрового золота в World of Warcraft. Я уже слышу, как маргиналы от Биткоина говорят «WoW должны были бы сойти с ума, чтобы дестабилизировать внутриигровую золотую экономику», но именно из-за централизации виртуальные валюты не получили широкое распространение и именно поэтому нарратив Биткоина так пленяет. Утрата этого преимущества причинила бы непоправимый ущерб всему сообществу.

Другие проблемы

О том, как майнер-монополист может атаковать БиткоинДругой повод для беспокойства связан с тем, что может произойти, если майнер с 51% ресурсов все же решится на атаку. Кто бы что ни говорил, на самом деле монополист может участвовать в довольно нетривиальных атаках, которые трудно обнаружить.

Дифференциация транзакций. Майнер с 51% ресурсов может заблокировать (или существенно замедлить) операции с некоторых биткоин-адресов без получения крупной комиссии, что равносительно вымогательству. Например, майнер мог бы потребовать от близнецов Уинклвоссов комиссию в 1%, а в случае отказа перестать обрабатывать их транзакции.

Наивный и грубый способ сделать это предполагает, что майнер игнорирует не только транзакции жертвы, но и все блоки с ее транзакциями, обнаруженные другими майнерами. Это открытый вызов, неизбежно привлекающий внимание, поэтому умный монополист просто не добавлял бы транзакции жертвы в блокчейн, но соглашался бы с другими майнерами, которые добавляют их в свои блоки. Имейте также в виду, что атакующий с 51% ресурсов не обязан останавливаться на этом. GHash какое-то время довольно стабильно поддерживали уровень в 55%, и нет никакой причины, почему это значение не может превратиться, скажем, в 80%. В этом случае на одно подтверждение транзакции требовалось бы целых 40 минут вместо 10.

Конечно, монополист не делал бы это в открытую: умный майнер по-прежнему принимал бы повседневные платежи от обывателей за копеечные комиссии, чтобы они продолжали рассказывать в Интернете о достоинствах Биткоина, создавать мемы и гордиться собой как успешными первопроходцами.

Еще более умный майнер объяснил бы все «проблемы» техническим языком, чтобы они звучали разумно даже для непосвященных. Например, он мог бы потребовать высокие комиссии от сайтов для гемблинга по той причине, что они выполняют много небольших транзакций. Он обосновал бы более высокие комиссии стремлением «предотвратить раздувание блокчейна», «уменьшить требования к ресурсам встроенных клиентов» или вроде того. Это разделило бы сообщество и нейтрализовало его реакцию. И, конечно же, мало кто вступился бы за сайт для гемблинга. В общем, это сошло бы майнеру с рук.

Это вовсе не пустые разглагольствования, потому что базовой движущей силой таких поступков является универсальный феномен, который называется дифференциацией цен: каждая сущность хочет вытянуть больше денег из клиентов, которые в состоянии платить.** Мои коллеги Виджей Эррамилли (Vijay Erramilli) и Никос Лаутарис (Nikos Laoutaris) установили, что так часто*** делают онлайн-продавцы, и ни для кого не секрет, что авиалинии устанавливают более высокие цены на основе казалось бы случайных фактов, чтобы идентифицировать бизнес-пассажиров.

** Настоятельно рекомендуем всем ознакомиться с работой Эндрю Одлыжко (Andrew Odlyzko) Privacy, Economics, and Price Discrimination on the Internet, в которой он проницательно и логично обосновал, почему дискриминация цен станет повсеместной в электронной коммерции.

*** J. Mikians, L. Gyarmati, V. Erramilli, N. Laoutaris. Detecting price and search discrimination on the Internet(Proceedings of ACM Hot Topics in Networking, 2012, Seattle, Washington).

О том, как майнер-монополист может атаковать БиткоинМожно привести и более показательный пример. Казалось бы, для телефонной компании «было бы безумием» воровать деньги у клиентов, но все же один крупный оператор (со знаком пунктуации в названии) участвует в ценовой дискриминации, постоянно изменяя свои тарифные планы: вы подписываетесь на какой-то из них, а через полгода случайно узнаете, что они тайком повысили цены. Вы звоните им, и услужливый агент сообщает вам, что на какой-то погребенной в глубинах их сайта веб-странице было соответствующее объявление и что они с радостью переведут вас на улучшенный план со старыми ценами, но чтобы узнать все это, вы должны сделать этот звонок. Через полгода все повторяется. Они вынуждают вас играть в эту игру, выявляя по ходу дела профессионалов, ценящих свое время: если вы не следите за своими контрактами как ястреб и не звоните оператору каждые несколько месяцев, вы получаете заоблачные комиссии. Если человек находится в преклонном возрасте, ослаблен или просто путается в цифрах, он оказывается в дураках, в то время как телефонная компания зарабатывает немного больше денег, а какие-нибудь посредственные MBA указывают в своих резюме, как они улучшили практические результаты на несколько процентов, скромно замалчивая при этом факт, что, по сути, они украли эти деньги. Конечно, ни в одной компании руководители не призывают на совещаниях ограбить пожилых людей — ни в коем случае! Спросите их, и они ответят, что ценят своих клиентов и приведут кучу доводов в поддержку того, что обманывать — не в их интересах. Проблема в том, что это не так, потому что природа поощрений гораздо более сложна и наивные модели не отражают сути происходящего.

На деле такие компании почти наверняка используют какое-нибудь дифференциальное уравнение, сопоставляющее нечестную прибыль с убытками из-за потери клиентов. У GHash нет никакой причины не делать то же самое — пусть даже не сейчас, а немного позже, когда они наймут нескольких MBA из школы Wharton. Что мешает им смоделировать последствия централизации майнинга, поработать над пиаром и оптимизировать доходы? Почему, как вы думаете, GHash сначала вышли на 51% всего на 12 часов, затем на 12 часов и 30 минут, а затем на 24 часа? Они испытывали реакцию сообщества, осторожно исследуя возможности увеличения прибыли. Реальное веселье начнется, когда сообщество привыкнет к их играм. Бывает ли, что телефонная компания по собственной инициативе реформирует свой бинес в сторону снижения его эффективности? Зачем бы им это делать? Кабинетным экономистам, утверждающим, что монополистичный майнинг-пул никогда не сделает ничего, что «противоречило бы интересам сообщества», по-настоящему следует проанализировать сложные интересы монополиста.

Гонки за блоки. Иногда два майнера обнаруживают блок почти одновременно, но награду в любом случае получает только один, как если бы из двух людей с выигрышными лотерейными билетами приз получал только тот, который первым показал свой билет общественности. Если майнеры обладают примерно одинаковыми ресурсами, предсказать, чей пакет попадет в итоге в блокчейн, трудно. Если бы в мире были два майнера, имеющие по 49% ресурсов, и майнер с 2%, каждый из двух крупных майнеров выигрывал бы гонки в половине случаев. Однако если бы один из них заполучил 2-процентный пул и достиг 51%, он смог бы выигрывать все последующие состязания. Тот факт, что ближайший конкурент был бы очень близок, не имеет значения — у пула с 51% ресурсов никогда не было бы так называемых осиротевших блоков. Разумеется, это сказалось бы на прибыльности конкурирующих майнеров.

Избирательное подтверждение блоков других майнеров. Пул с 51% ресурсов может просто игнорировать несколько процентов блоков, обнаруживаемых своим ближайшим конкурентом, предлагая вместо них свои блоки. Поскольку блоки распространяются по сети не мгновенно, такую атаку можно было бы вполне правдоподобно отрицать. Умный майнер с 51% ресурсов продолжал бы майнить старые блоки на 13 секунд дольше (среднее время получения блока узлом) и в случае обнаружения блока в этот период времени мог бы утверждать, что просто удача была на его стороне. В результате для конкурента майнинг стал бы менее пибыльным.

Снижение привлекательности инвестиций в майнинг. Наличие майнера-монополиста само по себе создает проблему для других майнеров. Обнаружив себя в уязвимом положении, они могут просто направить будущие инвестиции не в Биткоин, а в другую отрасль или в майнинг других прибыльных валют, где у них самих будет шанс стать монополистами. Это далее консолидировало бы майнинг Биткоина и оставило бы нас в еще более плачевной ситуации. С нарративом децентрализованного доверия, который и так свернулся до принципа «мы доверяем одному монополисту, но мы тщательно контролируем его», пришлось бы окончательно распрощаться.

О том, как майнер-монополист может атаковать БиткоинЭгоистичный майнинг. Эту тему мы обсудили в другой статье.

Двойная трата. Эта проблема также подробно обсуждалась. На самом деле GHash уже участвовали в такой атаке, прежде чем достигли 51%, и ничто не мешает им повторить ее.

Полный отказ в обслуживании. Идея проведения атаки «отказ в обслуживании» кажется на первый взгляд невыгодной, но может иметь смысл, если монополист захочет эксклюзивно воспользоваться выгодным обменным курсом. Отказ в обслуживании может также стать результатом ошибки в ПО монополиста. Если кто-либо когда-либо получит на компьютере уведомление «Биткоин недоступен», плохи наши дела, а это вполне возможно, если мы допустим монополию.

Заключение

Нетрадиционные возможности майнеров описаны в ряде аналитических работ, но большинство из них посвящены совсем грубым сценариям, таким как возникновение доброго майнера-монополиста, двойная трата, массовый отказ в обслуживании и т. п. Как правило, авторы этих работ приходят к выводу, что майнеру совершенно невыгодно участвовать в таких атаках. Увы, они не смогли предсказать рост GHash до 51% и выше, потому что их модели реальности слишком ограничены.

Мы надеемся, что в этой статье нам удалось продемонстрировать реалистичность более тонких атак. Протокол Биткоина нуждается в жестких мерах, позволяющих предотвратить чрезмерное увеличение майнинг-пулов. Небольшие, но критически важные изменения**** криптографических приемов, используемых в протоколе майнинга, позволяют устранить эти проблемы, сделав непривлекательным участие в общедоступных пулах.

Источник

Возможно вам понравятся эти статьи...

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

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