- Эгоистичная добыча
- Что такое эгоистичный майнинг?
- Ключевые выводы
- Понимание эгоистичного майнинга
- Эгоистичный майнинг подрывает децентрализованную природу криптографии
- Ограничение эгоистичного майнинга
- Вредоносные стратегии майнеров: как обмануть сеть и уйти незамеченным
- Простые атаки
- Эгоистичный майнинг
- Отбрасывание и утаивание блока
- Нечестный майнинг: как он происходит (а он происходит) и как его выявить
Эгоистичная добыча
Что такое эгоистичный майнинг?
Эгоистичный майнинг – это стратегия майнинга биткойнов или других криптовалют, при которой группы майнеров вступают в сговор, чтобы увеличить свой доход и оказать влияние на блокчейн. « Майнинг » – это процесс, с помощью которого узлы в сети блокчейна проверяют и подтверждают транзакции, при этом майнеры зарабатывают недавно отчеканенные токены в обмен на свои вычислительные усилия. С помощью эгоистичного майнинга картель скрывает вновь созданные блоки от основной цепи, раскрывая их в более поздний момент времени.
Ключевые выводы
- Эгоистичный майнинг – это стратегия майнинга криптовалюты, которая включает формирование картеля майнеров, которые действуют в унисон для увеличения прибыли и влияния в сети.
- В этой стратегии группа майнеров объединяет усилия и «скрывает» свои сгенерированные блоки от основного блокчейна.
- Биткойн был изобретен для децентрализации производства и распределения денег. Но эгоистичный майнинг может привести к большей централизации майнинговых операций и подорвать ценностное предложение сети.
- Было предложено несколько решений для предотвращения или предотвращения эгоистичного майнинга.
Понимание эгоистичного майнинга
Эгоистичный майнинг был впервые обнаружен исследователями Корнелла Эмином Гюн Сирером и Иттай Эялем встатье 2013 года. Они доказали, что майнеры могут зарабатывать больше биткойнов, скрывая вновь сгенерированные блоки из основного блокчейна и создавая отдельный форк.
Майнинг биткойнов полагается на майнеров, которые решают сложные криптографические головоломки для генерации монет. Доход от деятельности варьируется, потому что процесс зависит от нескольких факторов, от сложности решаемых головоломок до затрат на электроэнергию и качества подключения к Интернету. Протокол биткойнов настроен на вознаграждение майнеров пропорционально их добыче. Это гарантирует, что даже если майнеры объединяются в большие пулы, вознаграждение по-прежнему зависит от монет, произведенных отдельными майнерами в публичной цепочке блоков.
Но в приведенном выше сценарии предполагается, что майнеры сделают свои вновь сгенерированные блоки доступными в публичной цепочке блоков биткойнов. В своей статье 2013 года Сирер и Эяль показали, что майнеры могут увеличить свою долю в общем доходе, скрывая новые блоки и делая их доступными для систем в своей частной сети. Такая практика ускоряет процесс обнаружения и устраняет проблемы инфраструктуры, связанные с майнингом, такие как задержки в сети и затраты на электроэнергию.
Эгоистичный майнинг подрывает децентрализованную природу криптографии
Первоначально разветвленная цепочка блоков будет короче публичной цепочки блоков. Тем не менее, эгоистичные майнеры могут стратегически рассчитать время показа новых блоков, чтобы честные майнеры из публичной цепочки отказались от своей собственной цепочки и присоединились к частной цепочке. Впоследствии частная цепочка добывает новые блоки в своем пуле и скрывает вновь сгенерированные блоки.
Тем временем публичный блокчейн продолжает добывать новые блоки. Процесс повторяется до тех пор, пока частный блокчейн не станет больше публичного. Теперь частная цепочка снова показывает свои блоки, и майнеры из публичной цепочки отказываются от своих блоков, чтобы присоединиться к частной цепочке, потому что это более прибыльно. Сирер и Эяль проанализировали ресурсы, потраченные впустую для обеих цепочек, и определили, что эгоистичные майнеры обладают конкурентным преимуществом перед майнером в публичной цепочке блоков, потому что их вознаграждение сравнительно больше из-за меньшего количества потерь.
«Как только эгоистичный пул майнинга достигнет порога (общедоступного блокчейна), рациональные майнеры предпочтут присоединиться к эгоистичным майнерам, чтобы получить более высокие доходы по сравнению с другими пулами», – пишут исследователи. По их словам, сценарий может привести к ситуации, когда эгоистичная цепочка майнинга станет большей частью публичной цепочки блоков. Это разрушит децентрализованный характер биткойна, и систему будет контролировать эгоистичный менеджер пула.
Ограничение эгоистичного майнинга
В определенной степени майнинг биткойнов уже централизован в Китае, стране, которая отвечает за добычу двух третей всех существующих биткойнов (хотя большая часть этой мощности майнинга является результатом того, что в Китае размещено несколько популярных майнинговых пулов ). Это привело к дискуссиям в экосистеме криптовалюты об опасностях эгоистичного майнинга и централизации производства биткойнов. Но экономисты выступают против эффектов эгоистичного майнинга и считают его игрой с нулевой суммой для будущего биткойна.
Например,экономист Bloq Пол Шторк говорит, что если все майнеры будут копировать эгоистичную стратегию майнинга, то «вы окажетесь там, где были раньше».По его словам, майнеры прекратят эгоистичный майнинг, когда поймут, что «они только навредили себе».Сам Сирер не учитывает угрозу того, что китайские майнеры захватят производство биткойнов.«Дело не в том, что все китайские горняки являются частью одного предприятия или вступают в сговор», – сказал он Washington Post.
Также есть исследования по этой теме.В статье 2014 года исследователь Бостонского университета Итан Хейлман предложил Freshness Preferred, механизм защиты от эгоистичного майнинга. Согласно этой схеме, эгоистичные майнеры будут наказаны, а их прибыльность будет снижена за счет использования не подделываемых временных меток для наказания майнеров, удерживающих блоки.
Источник
Вредоносные стратегии майнеров: как обмануть сеть и уйти незамеченным
Сатоши Накамото видел биткойн как полностью децентрализованную сеть, где каждый пользователь поддерживает полный узел и занимается майнингом, получая вознаграждение пропорционально вкладу в общую мощность. Но c 2011 года это предположение не выполняется: майнеры используют специализированные устройства (FPGA, затем ASIC) и объединяются в пулы для получения равномерного дохода.
Популярное опасение, связанное с пулами, — атака 51%, при которой злонамеренный пул тратит биткойны дважды и цензурирует транзакции. Но майнеры могут и другими способами «обманывать» сеть, повышая прибыль без пользы для сети. Исследователи Николя Куртуа (Nicolas Courtois) из Университетского колледжа Лондона (University College London) и Леар Бахак (Lear Bahack) из Открытого университета Израиля (Open University of Israel) исследовали вредоносные стратегии нечестных майнеров и показали, что они в принципе незаметны для честных участников.
Биткойн часто позиционируется как система, не требующая доверия между участниками, своего рода криптографическая утопия. К сожалению, реальность пока не соответствует идеалу. Биткойн уязвим. Единственная каноническая реализация полного узла (Bitcoin Core) — очевидная критическая точка. Кроме того, участники сети не равны.
Лишь немногие узлы сети — майнеры — выполняют две критические функции. Во-первых, они проверяют корректность транзакций. Обычный пользователь не делает этого, кроме, быть может, небольшого количества транзакций, затрагивающих его лично. Майнеры же проверяют корректность всех транзакций и формируют консенсусную версию истории транзакций — главную цепочку блоков. Во-вторых, майнеры отвечают за эмиссию валюты: затратив ресурсы на выполнение proof-of-work, они получают в награду новые биткойны и комиссию за вошедшие в найденный ими блок транзакции.
Эти две функции майнеров тесно связаны. Предполагается, что майнеры действуют честно: архитектура сети постулирует, что чем выше относительная мощность участника сети, тем выше ожидаемая прибыль. Это мотивирует майнеров поддерживать сеть. Однако если майнер отклонится от честного поведения, он не понесёт за это никакого наказания и останется незамеченным.
Простые атаки
Простейшая атака «pool hopping» была описана ещё в 2011 году Мени Розенфельдом (Meni Rosenfeld). Он показал, что если пул распределяет выплаты по пропорциональной системе, майнить в начале раунда выгодней, чем в конце. Другие методы выплаты усложняют проведение атаки, но не устраняют такую опасность.
Злонамеренные пулы могут образовать картель с долей мощности более 50% и отклонять блоки, добытые остальными участниками. Это не обязательно влечёт двойную трату («атака 51%»): вступившие в сговор майнеры могут корректно подтверждать все валидные транзакции, но в случае форка их цепочка будет признаваться главной, следовательно, убытки из-за майнинга орфанных блоков лягут на плечи честного меньшинства.
Майнеры также могут применять секретные криптографические оптимизации. Так, в работе 2013 года было показано, что задача проверки, отвечает ли двойной SHA256-хеш заголовка блока параметру сложности, достаточно в среднем 1,86 раундов соответствующей функции сжатия (SHA256 compression function), тогда как для полного вычисления хеша заголовка блока требуется 3 раунда. Столь существенная оптимизация (38%!) объясняется двумя факторами. Во-первых, заголовок блока — не случайные данные: многие поля з либо не меняются, либо меняются медленно и предсказуемо. Во-вторых, майнерам и не требуется вычислять полное значение SHA256: можно остановиться на первом ненулевом символе. Пул может разработать ещё более тонкую криптографическую оптимизацию и держать её в тайне, получая прибыль выше своей доли в сети. Впрочем, достигнутое значение 1,86 раундов, по мнению авторов исследования, близко к теоретическому минимуму; улучшить его можно разве что на 1-2%.
Эгоистичный майнинг
Стратегия «эгоистичного майнинга» на первый взгляд контринтуитивна. Казалось бы, в интересах майнера распространить найденный блок по сети как можно быстрее, чтобы другие участники признали его частью главной цепочки: только так майнер получит награду. Тем не менее, есть стратегия, позволяющая нечестному майнеру М получать больше, на определённое время «утаивая» свой блок. Расмотрим её подробно.
- Большую часть времени М действует честно.
- Если М нашёл блок первым, он распространяет его внутри собственного пула. «Эгоистичный» пул далее майнит поверх секретного блока Б11. Теперь М опережает сеть на 1 шаг.
- Предположим, что в любой момент времени есть не более двух конкурирующих ветвей блокчейна: публичная и секретная.
- В некоторый момент в сети появляется блок-конкурент Б21. В этот момент М обнародует Б11 и продолжает майнить поверх него, тогда как сеть майнит частично поверх Б11, частично поверх Б21, в зависимости от скорости распространения блоков.
- У М теперь нет преимущества по длине цепочки, но поскольку он майнит поверх секретного блока дольше, его шансы найти продолжение своей цепочки выше.
- Если же (редкое событие!) М до обнародования Б11 находит продолжение своей цепочки Б12, М продолжает майнить секретную цепочку до тех пор, пока преимущество по длине цепочки снова не станет равным 1. Тогда М обнародует всю секретную цепочку, которая, будучи на блок длиннее, будет принята сетью как главная.
Можно доказать, что если эгоистичной стратегии придерживается один майнер, то его ожидаемая прибыль больше, чем вклад в мощность сети. Тем не менее, такая стратегия вряд ли применяется на практике: только для очень крупных пулов увеличение дохода было бы существенным. Также неочевидны последствия, если «эгоистичных» майнеров много или если участники «эгоистичного» пула применяют вредоносные стратегии против него же. Косвенным признаком эгоистичного майнинга могло бы быть увеличение доли орфанных блоков. Авторы исследования проанализировали блокчейн и показали, что доля орфанов с 2012 года не растёт и составляет от 0,43 до 1,77%.
Из проведённого анализа следует, что для честных майнеров в случае форка оптимальной стратегией является выбирать версию цепочки случайным образом. Доверять меткам времени блоков не следует: эгоистичный майнер мог их изменить.
Отбрасывание и утаивание блока
Стратегия «отбрасывания блока» (block discarding) была рассмотрена ещё в 2011 году. Это простая и исключительно деструктивная стратегия, уменьшающая прибыль пула-жертвы. Злонамеренный майнер посылает пулу только частичные решения (shares), отбрасывая полные.
«Утаивание блока» (block withholding) основана на похожей идее, но, в отличие от block discarding, прибыльна для нечестного майнера. Рассмотрим её подробно.
- Исходим из следующих предположений. Все майнеры состоят в пулах. Комиссии за транзакции пренебрежимо малы. Майнеры не меняют пулы очень часто (т. е. без pool hopping). Схемы выплаты награды в пулах различаются несущественно и в пределе вознаграждают майнеров в точности пропорционально их доле в мощности сети.
- Пусть нечестные майнеры контролируют 20% мощности сети. Половина из них присоединяется к случайно выбранным честным пулам, половина образует собственный пул.
- Если «внедрённый» в честный пул вредоносный майнер находит полное решение, он не посылает его пулу. В результате доход честных пулов падает, но внедрённые майнеры получают то же вознаграждение. Оператор пула может заметить, что пул получает меньше прибыли, чем ожидалось, но не может узнать, кто из участников утаивает блоки: большинство честных участников находят блоки исчезающе редко. В итоге честные пулы получают примерно 88% от ожидаемой прибыли.
- Другая половина нечестных майнеров, объединённые в закрытый пул, получают прибыль примерно на 13% выше честных пулов.
- Расчёты показывают, что при такой схеме нечестные майнеры получат примерно на 6% больше прибыли, чем при честном майнинге. При любой мощности нечестных майнеров оптимальным разделением мощности между внедрением в честные пулы и майнингов в своём пуле будет 50/50.
Такую атаку крайне сложно выявить: авторы исследования доказали, что из-за статистических особенностей майнинга эффект, произведённый нечестными майнерами, укладывается в стандартную статистическую гипотезу. Это стимулирует централизацию майнинга: только очень большой пул накапливает достаточно данных, чтобы статистически выявить описанную атаку. Для небольших пулов нахождение блока — слишком редкое событие.
Поскольку для пула крайне сложно обнаружить описанные атаки, самый действенный способ для владельцев пула их избежать — закрыть пул, допускать туда только заслуживающих доверия майнеров и прекращать работу пула при долгосрочном снижении прибыли.
Источник
Нечестный майнинг: как он происходит (а он происходит) и как его выявить
Каждые четыре года происходит халвинг биткоина. В этой связи сложность добычи первой криптовалюты увеличивается. Соответственно, оборудование, с помощью которого можно создавать новые блоки в блокчейне BTC, усиливается, но и дорожает. Позволить его себе может не каждый.
В ответ на это развивается новая тенденция — формирование майнинг-пулов, когда группа «шахтеров» объединяется, чтобы добывать монеты общими усилиями.
Как утверждают исследователи, несмотря на децентрализацию, и, казалось бы, защищенную от мошеннических действий сеть биткоина, нечестные действия все же происходят. Как они это делают и как можно выявить селфиш-майнеров — в материале.
Selfish-Mine — это стратегия майнинга, которая позволяет объединившимся майнерам получать доходы, превышающие их мощности. Об этом в своем исследовании «Majority is not Enough: Bitcoin Mining is Vulnerable» пишут Итти Эйял и Эмин Гун. Я изучила это исследование и сложила информацию в полезный материал.
Любой майнер может добавить действующий блок в цепочку, просто опубликовав его в оверлейной сети для всех остальных майнеров. Если два майнера создают два блока с одним и тем же предыдущим блоком, цепочка разделяется на две ветви. Новые блоки могут добавляться в любую из этих ветвей. Когда майнер пытается добавить новый блок после существующего, это называется майнинг на существующий блок. Соответственно, этот существующий блок может быть главой ветки.
Вероятность добычи блока пропорциональна вычислительным ресурсам, используемым для решения криптозадачи. Из-за характера процесса майнинга и его сложности интервал между событиями майнинга сильно отличен на разных мощностях. Потому перспектива самостоятельного майнинга BTC практически отсутствует: на одной машине добыча одного блока может занять годы.
Следовательно, майнеры формируют пулы. В нем участники объединяют свои мощности для добычи блоков и разделяют доход, когда один из них успешно справляется с задачей. Хотя присоединение к пулу не меняет ожидаемого дохода майнера, оно уменьшает дисперсию и делает ежемесячный доход более предсказуемым.
Система состоит из набора майнеров, у каждого из которых есть свои мощности. Каждый из них выбирает цепочку для майнинга и находит следующий блок по истечении времени, которое экспоненциально распределено. Майнинг-мощность пула — это сумма мощностей его участников, а его доход делится между участниками в соответствии с их конкретными мощностями. Доход пула — это ожидаемая доля от добычи блоков, которые были найдены и добавлены в общее число блоков в наиболее длинной цепочке.
Группа майнеров может сформировать пул, который ведет себя как один агент с централизованным координатором, придерживающимся определенной стратегии. Таким образом, по мнению исследователей, эти майнеры могут максимизировать свой доход, отклонившись от протокола. Selfish-Mine позволяет достаточно крупному пулу получать доход, превышающий его коэффициент мощности.
Как они действуют? Такие майнинг-пулы имеют целью заставить честных майнеров выполнять бесполезные вычисления в устаревшей публичной ветке. Конкретно эгоистичный майнинг вынуждает честных майнеров тратить свои циклы на блоки, которым не суждено стать частью блокчейна.
Мошенники достигают этой цели, выборочно раскрывая свои добытые блоки, часть из них сохраняя конфиденциальными. Таким образом происходит тайное разделение блокчейна на главную и частную ветвь. Получая информацию о ветке через эгоистичных майнеров, честные майнеры продолжают майнить в устаревшей публичной ветке.
Это делает их предыдущие усилия, потраченные на более короткую публичную ветку, напрасными, и позволяет эгоистичному пулу получать более высокие доходы за счет включения большего числа блоков в блокчейн.
Из-за разницы в мощностях эгоистичных и честных майнеров, шансы, что первые будут добывать в своей частной ветке, обогнав основную, небольшие. Следовательно, эгоистичный пул майнеров просто принимается за основную ветку всякий раз, когда его ветка отстает.
На данный момент возможны два исхода: либо честные майнеры обнаруживают новый блок в общедоступной ветке, аннулируя лидерство пула, либо pool добывает второй блок и расширяет свое лидерство на честных майнеров.
По мнению исследователей, как только мощность эгоистичного пула превышает пороговое значение, он способен безнаказанно действовать описанным выше методом. Другие майнеры, соответственно, предпочтут присоединяться к такому пулу, чтобы увеличить свои доходы.
Более того, «эгоисты» захотят принять новых членов, чтобы усилиться. Следовательно, эгоистичный пул будет количественно возрастать, не встречая сопротивления со стороны какого-либо механизма. Когда эгоистичный или иной пул достигает большинства, он получает контроль над блокчейном. Мажоритарный пул может собирать всю выручку системы путем переключения на модифицированный протокол Биткойн, который игнорирует блоки, сгенерированные вне его.
В идеале надежная криптосистема должна была бы противостоять атакам групп договорившихся майнеров. Поскольку такие атаки приносят положительные результаты своей группе (благодаря превышению порогового значения мощностей майнинга), протокол просто обязан предполагать механизм, увеличивающий этот порог. По утверждению исследователей, в текущем протоколе Bitcoin порог может быть даже равным нулю, соответственно, пул любого размера может обращаться к стратегии эгоистичного майнинга.
Есть несколько признаков, которые помогут определить, что эгоистичный майнинг имеет место.
Первый и самый сильный — это наличие осиротевших цепей, которые образуются в гонке блоков, происходящей в рамках эгоистичной добычи. То есть это блоки, которые не были включены в блок-цепочку.
Окончательно определить местонахождение таких блоков практически невозможно, так как действующий протокол подразумевает, что такие блоки обрезаются и выбрасываются внутри сети. А инструмент измерения, который подключается к сети из довольно ограниченного числа точек для обзора, может пропустить заброшенные блоки.
Второй — временной разрыв между последовательностью нахождения блоков. Все дело в том, что эгоистичный майнер открывает блоки практически сразу после своего предшественника. То есть время не распределяется экспоненциально, что можно обнаружить при тщательном анализе и поиске статистических данных.
Система Биткойн, считают эксперты, была бы намного более надежной, если бы имела автоматизированный механизм, который может помешать эгоистичным майнерам. Исследователи предложили обратно совместимую модификацию Биткойна, которая обеспечит, чтобы пулы размером менее ¼ от общей мощности майнинга не могли выгодно заниматься эгоистичной добычей. Кроме тог, по их мнению, по крайней мере 2/3 сети должны представлять прослойку честных «шахтеров», чтобы препятствовать эгоистичному майнингу, поскольку простого большинства недостаточно.
Источник