Глава 6: Форки и атаки51%

Глава 6: Форки и атаки51%

Сатоши майнил первые биткоины, используя центральный процессор своего компьютера (CPU). Поскольку начальная сложность майнинга в системе была установлена ​​на низком уровне, генерирование этих монет не требовало от его компьютера большой вычислительной мощности.

Позже люди начали дорабатывать ПО для майнинга, что делало его все более и более эффективным. В конце концов, они написали алгоритм, который использовал преимущества специализированных графических процессоров (GPU) — мощных видеокарт, которые обычно используются для компьютерных игр.

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

Следующим этапом значительного роста эффективности майнинга стал переход от GPU-майнеров к специализированным интегральным микросхемам (ASIC). Это  компьютерные чипы, которые выполняют только одну задачу: вычисляют хеш-функцию sha256 для Биткоина, ничего больше. Специализируясь на этом конкретном алгоритме, ASIC были в тысячи раз более эффективны, чем GPU для майнинга, и поднявшаяся сложность быстро сделала GPU убыточными, так же, как GPU сделали это в свое время с CPU. Гонка продолжается, и каждые несколько лет новое поколение устройств ASIC выводит из эксплуатации более ранние версии посредством существенного повышения эффективности.

Первые майнеры в сети тратили всего несколько копеек на электричество, чтобы добыть свои биткоины. Когда цена на биткоин выросла, а к сети присоединилось больше майнеров, сложность возросла, и генерировать биткоины стало значительно дороже. Сегодня цена колеблется в районе 8000 долларов США за монету, и люди сжигают тысячи долларов США, оплачивая электричество в обмен на заветный биткоин.

Майнинг-пулы

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

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

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

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

Фактически, есть исторический прецедент, когда отдельные майнеры покидали пулы, если те становились слишком влиятельными. В 2014 году у Ghash.io было около половины всей майнинговой мощности сети. Майнеры увидели угрозу чрезмерной централизации и добровольно ушли в другие пулы.

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

Атаки 51%

Централизация большой доли хешрейта вокруг майнинг-пулов вызывает опасения сообщества, так как есть вероятность, что несколько мощных пулов могут вступить в сговор с целью провести в сети атаку 51%. Сегодня топ-5 известных пулов вместе контролируют более 50% от общей мощности хеширования. Давайте рассмотрим, как осуществляется такая атака и какие опасности она несет.

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

Для примера, давайте рассмотрим как выполняется простейшая атака 51%:

1. Допустим, сеть в целом майнит со скоростью 1,000 хешей в секунду.

2. Вы оплачиваете электричество и кучу оборудования для майнинга, чтобы производить 2,000 хешей в секунду. Теперь у вас есть 66% от общего хешрейта сети (2,000 из 3,000 хешей в секунду).

3. Вы начинаете майнинг цепочки, которая содержит только пустые блоки.

4. Через две недели вы транслируете свою цепочку пустых блоков. Поскольку вы создаете блоки примерно в два раза быстрее, чем честные майнеры, ваша цепочка будет в два раза длиннее. Ее трансляция на все существующие ноды принудит их к реоргу и им придется отказаться от истории цепочки, созданной ими за последние две недели.

Вы можете не только майнить пустые блоки, что сделало бы цепочку непригодной для использования, но и осуществить атаку двойного расходования, для этого необходимо:

1. Отправить немного биткоинов на биржу.

2. Обменять их на доллары США и вывести полученные доллары с биржи.

3. После транслировать цепочку, которую вы заранее произвели и которая не содержит записи о переводе биткоинов на биржу.

4. Вы переписали историю, и теперь у вас есть и биткоины и доллары США.

Энергопотребление сети Биткоин с нынешним хешрейтом сопоставимо со страной приличного размера. Приобретение достаточного количества оборудования и электроэнергии для выполнения подобной атаки является чрезвычайно дорогостоящим. Согласно оценкам экспертов, сегодня для выполнения атаки 51% на Биткоин вам потребуется около 700 тысяч долларов в час, и эта стоимость продолжает расти. Эта оценка также не учитывает реакцию честных майнеров на данную ​​атаку, которая, вероятно, сделает ее еще дороже. Вы можете узнать стоимость атак на Биткоин и другие криптовалюты по адресу https://www.crypto51.app.

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

Но допустим, что некоторые злоумышленники с неограниченным финансированием, такие как правительство, решили это сделать и смогли произвести эту атаку, несмотря на все сложности. Теоретически, после этого сеть может адаптироваться путем перехода на другую функцию Proof of Work (не sha256). Это сделает все оборудование для майнинга Биткоин, используемое злоумышленниками, бесполезным, так как оно специализируется исключительно на хешировании по алгоритму sha256. Однако, изменение Proof of Work — это ядерный вариант, который сразу же выведет из игры всех честных майнеров. Тем не менее, сеть выживет и восстанет из пепла.

В дополнение к нецелесообразности атаки, наличие большей части хеш-мощности не дает вам возможности делать две вещи, которые имеют наибольшее значение:

1. Вы не можете создавать монеты “из воздуха”, нарушая при этом график выпуска. Это нарушает правило консенсуса о вознаграждении за блок, и ваши блоки будут отклонены, даже если у них будет достаточно Proof of Work.

2. Вы не можете тратить монеты, которые вам не принадлежат. Вы не сможете предоставить действительную цифровую подпись, отсутствие которой также является нарушением правил консенсуса.

Ноды, которые принимают биткоин в качестве оплаты, будут поддерживать честность сети даже перед лицом нечестного большинства майнеров, просто применяя правила сети Биткоин. Таким образом, атака 51% является скорее неприятностью, чем проблемой безопасности. Скорее всего, наихудший сценарий здесь — государственный деятель с глубокими карманами, пытающийся сделать Биткоин непригодным для использования. Однако такая атака не может продолжаться вечно. Когда Биткоин восстановится после такой атаки, он только докажет свою устойчивость и станет еще большей проблемой для тех, кто решит его атаковать.

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