Подавить большинством: как работает «Атака 51%»

Поделиться

Некоторые потенциальные угрозы блокчейну стали известны еще на заре возникновения криптовалют, в частности так называемая «Атака 51%». В двух словах: она означает получение злоумышленником достаточных ресурсов для влияния на сеть, включая изменение истории транзакций.

Что такое двойная трата

Проблема двойной траты (double-spending) и ее возможное решение в контексте одноранговой электронной денежной системы впервые была рассмотрена в Белой книге Биткоина анонимного разработчика (или группы разработчиков) первой криптовалюты Сатоши Накамото. Собственно, решение проблемы двойной траты с помощью ведения публичного реестра в виде блокчейна и общего алгоритма консенсуса, включая вопрос валидации транзакций посредством майнинга, и позволило создать биткоин.

Проще говоря, перед автором стояла следующая задача — нужно было создать, с одной стороны, децентрализованную электронную денежную систему, а с другой — систему, лишенную уязвимости в виде угрозы «двойной траты». Что это за угроза? Рассмотрим на следующем примере:

Допустим, у Боба есть 1 BTC. Боб переводит 1 BTC другому человеку, Эллис, в качестве оплаты, а взамен получает у нее какой-то товар, например стаканчик кофе. Эллис должна быть уверена, что этот перевод необратим, и что Боб не сможет отменить транзакцию и потратить деньги повторно. В противном случае Боб сможет еще раз израсходовать ту же сумму. К примеру, купить товар у другого продавца. В этом случае Эллис останется и без денег, и без своего товара.

Проблема двойной траты может на первый взгляд показаться контринтуитивной, особенно для человека, который не привык работать с криптовалютой и переводит деньги через банк. Все дело в том, что, когда мы переводим деньги через банковское приложение, банк выступает посредником между отправителем и получателем. То есть гарантом валидности (достоверности) транзакции. Если Боб переведет Эллис 1 доллар в качестве оплаты за стаканчик кофе, то Эллис знает, что перевод не обратим, и деньги за товар она получила, потому что перевод заверен банком.

То есть проблема решается за счет того, что система транзакций централизована. Но как быть, если мы хотим пользоваться децентрализованной системой? Накамото предложил общий алгоритм консенсуса (proof-of-work, PoW) и валидацию транзакций посредством майнинга. Теперь Эллис может убедиться в валидности транзакции, если та была записана в блокчейн. Чем длиннее цепочка блоков, следующих за блоком, содержащим ее транзакцию, тем меньше вероятность «обратимости» перевода.

Что такое «Атака 51%»

Теперь, на примере проблемы двойной траты и Биткоина, давайте зададимся одним важным вопросом — является ли система Биткоина абсолютно защищенной, остается ли у злоумышленника возможность провести атаку double-spending?

Да, гипотетически, остается. Для этого злоумышленнику нужно стать кем-то вроде «главного валидатора» — участника, который единолично будет обрабатывать транзакции в децентрализованной сети. Если алгоритм консенсуса сети — proof-of-work (как в Биткоине), то злоумышленник должен для единоличного контроля завладеть подавляющей долей вычислительных мощностей, которые участвуют в майнинге. Как акционер, желающий получить контрольный пакет компании.

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

Последствия «Атаки 51%»

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

Но, помимо этого, злоумышленник может, к примеру, игнорировать определенную транзакцию и не включать ее в блок. Он также может не допускать к майнингу других участников (selfish mining — намеренно скрывать найденные блоки и публиковать их позже), собирать все награды и комиссии за транзакции, и даже гипотетически разделить сеть форком.

Риски атаки для Биткоина

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

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

Избежать проблем на ранней стадии существования Биткоина удалось благодаря его создателю. Вероятно, Накамото лично принимал участие в раннем «честном майнинге» и поддержании стабильной корректной обработки данных сетью. Существует явление, также известное как «Паттерн Патоши» (Patoshi pattern), названное в честь одноименного майнера (вероятно, им мог быть сам Сатоши), обработавшего уйму первых блоков и получивший в награду от сети около 1 млн BTC.

О том, что Биткоину не грозит атака 51% в наши дни, говорит ряд экспертов. В частности, так считает предприниматель и криптоэнтузиаст Андреас Антонопулос (Andreas Antonopoulos),

Риски атаки для альткоинов

Некоторые сети не обладают достаточными вычислительными мощностями для предотвращения атаки. Яркий пример — сеть Bitcoin gold (форк Биткоина), которая подверглась «Атаке 51%» в 2020 году. Тогда злоумышленникам удалось арендовать мощности, произвести две двойные траты и завладеть сначала 1900 BTG, а потом 5267 BTG. На фоне этого инцидента крупнейшая криптобиржа мира Binance сразу после атаки увеличила требования для вывода BTG с 12 до 20 подтверждений.

В 2019 году разработчики Ethereum Classic подтвердили факт «Атаки 51%» на свою сеть, в результате чего злоумышленникам удалось провести двойную трату. Ситуация повторялась и в 2020 году — известен случай, когда подобный инцидент в Ethereum Classic произошел трижды за один месяц.

Попытка атаки с вариантом применения selfish mining проводилась злоумышленниками в сентябре 2021 года в основной сети Эфириума. Неизвестные опубликовали собственную цепочку в 550 блоков, однако большинство узлов определило ее как сбойную. Таким образом последствий атаки удалось избежать.

«Атака 51%» и PoS

Теоретически, атака может быть проведена и в системе с алгоритмом консенсуса, отличном от PoW. К примеру, в PoS-системе достижение успеха подобной атаки возможно при высокой доле валидаторов (большей долей стейка) на стороне злоумышленника.

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

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

Впрочем, существуют виды атак, которые могут предшествовать «Атаке 51%», но нести самостоятельные угрозы, связанные с манипулированием сети, вроде «Атаки Сивиллы».

Вывод

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

Это интересно

Цена биткоина повысится в марте, полагают пользователи Polymarket

Многие азартные члены криптовалютного сообщества прогнозируют рост курса биткоина в марте и делают ставки на подорожание на платформе Polymarket. В конце февраля цена биткоина...

Похожие новости