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

monopolist2

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

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

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

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

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

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

monopolist3Для начала давайте покажем неуместность попыток принизить важность произошедшего. Как мы и предсказывали, некоторые участники сообщества считают, что ничего страшного не случилось, потому что майнеру с 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 подтверждениями гарантирован. Избирательное подтверждение блоков других майнеров: пул может отклонить любой блок, обнаруженный конкурирующим майнером. Избирательное подтверждение транзакций: пул может отклонить любую транзакцию, не пропустив ее в блокчейн.Избирательная блокировка адресов: пул может блокировать потоки биткойнов, исходящие с тех или иных адресов или поступающие на них.Дифференциация транзакций: пул может рассматривать некоторые транзакции как низкоприоритетные, предоставляя обрабатывать их другим майнерам, если к транзакциям не добавлена (значительная) комиссия.Вымогательство комиссии: пул может отклонять транзакции с конкретного адреса, если к ним не добавлена (значительная) комиссия.

Полный отказ в обслуживании: пул может игнорировать все блоки, обнаруженные конкурентами, полностью блокируя обработку биткойн-транзакций.

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

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

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

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

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

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

monopolist5Другой повод для беспокойства связан с тем, что может произойти, если майнер с 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).

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

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

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

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

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

monopolist8Эгоистичный майнинг. Эту тему мы обсудили в другой статье.

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

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

Заключение

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

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

**** It’s Time For a Hard Bitcoin Fork

Иттай Эйал (Ittay Eyal) и Эмин Гюн Сирер (Emin Gün Sirer), 16 июня 2014 г.

Источник: hackingdistributed.com



Categories: Безопасность, Майнинг, Теория

18 replies

  1. Надо признать законодательно ghash владельцем биткоина пока она владеет больше 50% сети и заставить платить налоги. Тоже самое сделать с другими компаниями, которые в будущем превысят лимит в 50%. Кому хота платить лишние налоги? никому. ну вот и превышения не будет

  2. Поэтому гибридная система POW +POS намного безопаснее. Но нужно время, что бы люди это поняли.

    • Согласен, но только не такой ПОС как в peercoin или novacoin. Там монеты будут майниться до бесконечности, нет никакого лимита. Одна из лучших систем на сегодня, реализована в проекте Diamond.

      • Пипцы и новокоины держаться только за счет трейдунов на btc-e. В итоге с ними поступят как с тараканами и перьями. Тогда, они займут свое положенное место в мусорной яме, оставшись надолго в хомячей памяти. ))

        • Нову не трогайте, это священная дойная корова администрации БТС-е

  3. Во смеху-то будет, когда выясниться, что пара-тройка крупных пулов – это на самом деле один пул.
    Просто, чтобы до поры – до времени не пугать хомячков, решено прикинуться “независммыми”.
    Типа Змей-Горыныч высунул из кустов три своих головы и все думают, что в кустах сидят три дракона. А он просто выжидает, и в нужный момент покажет своё туловище.
    Может быть это и есть, к примеру, GHash. Напугал публику и “разделился”.

    • И что дальше? В сети замечены деструктивные действия описанные в статье? Даже если так и есть, скрыть факты нарушения децентрализации не получится!

  4. Мы ежедневно используем такие системы. Все, кто был до биткойна, монополисты. И ничего, живем. И никто не поднимает шума, что какая то VISA, имеет 100% мощности, и распоряжается ими как хочет. А “частичное резервирование”, это же возможность тратить одни и те же деньги два, три, четыре… раза, и ничего, живем. Даблспенд в биткойне, против этого, детский лепет. А возможность неограниченной эмиссии бумажек, ничего, не пугает? А то, что мы не может за этим всем следить, т.к эти процессы тайна за семью печатями, нормально? Биткойн против этого, уже десятилетия работающего финансового монстра, просто кристально чистое стекло, которое можно прочитать и ничего не скроется.

  5. Статья как минимум небезынтересна, но от нее есть и чисто практическая польза. Просто надо иметь в виду, что некоторые вещи могут угрожать безоблачному криптобудущему и понимать, как именно эта угроза может быть реализована. Реальна эта угроза или нет в нынешнем положении вещей это не столь важно. Важно, чтобы массовое сознание осознавало теоретическую ее возможность.

  6. Ничто не мешает прямо сейчас завладеть 99% мощностей и разбить их на 2 компании.
    И я думаю что это уже произошло, ибо по моим прогнозам цена должна была зафиксироваться, когда этот момент наступит.(как сейчас)
    Фиксация цены вызвана контролем за сливом монет майнерами, Процент монет “на сохранении” должен расти с ростом монополизации, чтобы сливать их и удерживать курс до тех пор, пока награда не уполовинится.Тогда цена вырастет ровно в 2 раза и снова зафиксируется и т.д. до 2140 года 🙂

    Выгода в этой схеме в том, что контроль курса позволяет устранять менее эффективных конкурентов, которые бы появились из-за более высокой цены. Для удержания цены нужно компенсировать резкие скачки спроса, значит нужен “буфер” из биткоинов на такой случай.

    Тоже и в случае слишком низкой цены. Добытые монеты просто складируются и на рынок их попадает меньше, что так же позволяет удерживать рентабельный курс.

    Коридор такого курса напрямую зависит от конкуренции, доступного оборудования, мощностей, процентов по кредитам или наличия инвестиций. Bitfury сохраняют добытое, кстати.

    Я считаю, что тут все честно. Конкуренция и постоянно растущие обязательства по кредитам не дадут бизнесу эксплуатировать свою монополию для подделки транзакций. Стоит такой хрени случится, как 1131 форк биткоина с радостью примет желающих 🙂

    • Еще раз: в отсутствии защиты монополий со стороны государства, долгоиграющая монополия невозможна. Каждый, у кого есть опыт и капитал, может наклепать своих майнеров, или даже сделать свои, более эффективные, чипы, и сорвать игру монополиста. Защититься от этого “монополист” никак не может. Более того, он даже может и не знать, кто его конкурент(ы).

  7. Статья производит ложное впечатление. В ней не указано, какая судьба ждала GHash, сегодня у него лишь 3%, и это не случайность, а реакция рынка.

    “Если майнер сосредоточил у себя 51% ресурсов” – во-первых, Ghash – это не майнер-одиночка, а пул, объёдиняющий множество независимых биткоин-майнеров. Поэтому даже если один из пулов хотя бы приблизится к 50%, майнеры станут покидать его, что и случилось с GHash.
    Ни один майнер не сможет сосредоточить у себя 51%. Ну, то есть, теоретически может, на практике – крайне маловероятно. На рынке майнинга отсутствуют государственные ограничения для вхождения новых игроков, обычно способствующие образованию монополий на регулируемых рынках, поэтому, пока майнинг прибылен, будут постоянно возникать новые майнеры, отбирающие долю рынка у любого возможного монополиста.

    Другая причина временно образовавшейся централизации в виде GHash – это падение прибыльности майнинга после пузыря 2013 года. Если биткоин всё же станет настоящей стабильной валютой, с этим проблем не будет.

    • Верно, все эти (периодически появляющиеся в прессе) страшилки про “майнера-монополиста” абсолютно не учитывают экономический аспект. Поскольку нет барьеров для входа, любой картель развалится, а на любого монополиста найдется тот, кто испортит его монополию.

      В случае пулов (а пока что, приближались к 51% только пулы) это еще проще – как только становится известно, что какой-то пул стал СЛИШКОМ популярен, майнеры тут же начинают с него мигрировать – причем вполне рационально, защищая свои экономические интересы. Так происходило уже столько раз за историю биткойна (Deepbit, BTCGuild, Ghash.io), что уже очевидно – это не случайность, а закономерность.

      • Не забываем не только про нулевую, но и про гипотетическую отрицательную комиссию.

  8. Эх, а так хорошо начиналось все…

  9. ну и чушь. даже 99% приемлемо. другое дело, это никому не надо, в том числе и майнеру-монополисту.

Поделитесь своими мыслями

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: