Атака 51%
Атака 51% и естественный отбор криптовалют.
Исходные коды биткойна открыты, и любой при желании может создать свой аналог этой криптовалюты. Цели при этом могут быть самыми различными — от жажды легкой наживы до желания усовершенствовать систему и исправить её недостатки.
Однако на ранних этапах своего развития любая биткойн-подобная валюта уязвима к так называемой «Атаке 51%». Её механизм разберем подробнее. Для этого потребуется несколько углубиться в механику и логику функционирования биткойна. Кому она и так хорошо известна, первый раздел предлагается пропустить.
1. Как работает биткойн
Сердце любой биткойн-подобной криптовалюты носит название Blockchain или по-русски, «цепочка блоков». Блок это по сути запись последних произведенных транзакций, заверенная криптостойким хэшем. После этого блок рассылается на все узлы сети, и все записанные в нем транзакции оказываются вмороженными — ни отыграть назад, ни как-то изменить их нельзя.
Для успешной генерации блока требуется решить определенную математическую задачу переменной сложности. Это сделано для того, чтобы поддерживать общий средний темп генерации 1 блок в 10 минут. Ну а чтобы генерацией блоков хоть кто-то занимался, за неё выдается награда — на данный момент 50 ВТС, в будущем меньше. Собственно, это то самое, что называется майнинг.
Кроме того, каждый блок содержит ссылку на предыдущий, потому и block«chain». Таким образом, имея на руках bloclchain (а её действительно имеет каждый «нетонкий» биткойн-клиент), можно узнать сумму на любом счете в любой момент времени. В наглядном виде вся эта информация представлена, например, на blockchain.info.
Проблема в том, что возможна такая ситуация, когда два блока сгенерированы «одновременно». К примеру, клиент А сгенерировал блок #N и разослал его в сеть. Это заняло некоторое время, за которое клиент В сгенерировал блок #N+1. Причем оба клиента свято уверены, что их блок последний и «правильный». У обоих блоков в ссылке на предыдущий стоит блок #N-1 и оба клиента рассылают его на все узлы сети. Цепочка блоков раздвоилась. Как быть?
Механизм обхода этой ситуации следующий. Задача нахождения блока математически сложна, иначе любой желающий сможет как угодно быстро генерировать блоки и записывать туда какие угодно транзакции, и сеть будет разрушена. Причем таким параметром как сложность генерации обладает любой блок. Постепенно будут сгенерированы новые блоки, которые запишутся в одну или в другую ветвь. При новой генерации клиент будет стараться записать блок в более длинную ветвь, и таким образом более короткая рано или поздно обрубится и заглохнет. Причем, «более длинной» считается не та ветвь, в которой блоков больше, а та, в которой выше суммарная сложность их генерации. Транзакции записанные в блоки «неправильной» короткой ветви переписываются в блоки основной цепочки.
2. Атака 51%
Итак, поставим себя на место злоумышленника, который замыслил получить контроль над blockchain. Пусть ему удалось расщепить цепочку указанным выше способом. Одну из образовавшихся ветвей он контролирует, как ему сделать так, чтобы сеть отбросила другую?
Для этого необходимо, чтобы совокупная сложность блоков этой ветви была больше, чем подлинной. На практике это означает, что в распоряжении атакующего должны находиться мощности большие, чем у всей остальной сети, своего рода «контрольный пакет» генерирующих мощностей. Отсюда и название «атака 51%».
Что взломщик получает в случае удачи? Контроль над всей сетью, ни больше ни меньше. Возможность проводить любые транзакции по своему усмотрению. Ясно, что это означает смерть валюты.
3. Последствия
Уязвимость к атаке 51% это своего рода детская болезнь криптовалюты, причем болезнь смертельная. Когда доверие к новой валюте мало, генерирующие мощности ещё ничтожны, можно без особого труда собрать необходимые для атаки силы. Разумеется, никакой коммерческой выгоды на данном этапе извлечь нельзя, но можно, к примеру, «убить конкурента».
Другой вариант развития событий — атака на уже коммерчески успешную валюту с целью наживы. Однако в этом случае валюта предусматривает коммерческий майнинг — её пользователи используют свои мощности для генерации заветных монет. У успешной валюты это явление массово, суммарная мощность генерации огромна. А значит, и атака 51% становится труднореализуемой.
Таким образом, атака 51% осуществляет своего рода естественный отбор криптовалют на ранних этапах развития — выживают только сильные.
Вместе с тем она также может стать проблемой в будущем, когда коммерческий майнинг подойдёт к концу. Раз в 4 года в сети происходит уполовинивание награды за блок. Так, ближе к концу 2012 года, награда составит уже 25 ВТС, а ориентировочно к исходу 2016 уже 12,5 ВТС. Рано или поздно эта цифра станет меньше, чем усилия, затрачиваемые на генерацию блока. Меньше людей занимается генерацией, меньше мощность сети, более вероятна атака 51%. Получается, что все заинтересованы в продолжении функционирования сети, но никто не хочет генерировать блоки бесплатно. Классический сценарий «трагедии общин».
Но то дело далекого будущего.
4. Возможна ли атака на биткойн?
Теоретически, да. К примеру, если что-то скупит всю партию BFL ASIC'ов и отправит их в атаку. Вот только коммерчески это бессмысленно. Коммерциализация всех биткойнов сейчас составляет около $100-120 млн. При массовом выводе стоимость их неизбежно упадет на порядок. Теперь осталось сравнить это с ценой оборудования необходимого для атаки. Всего вероятнее, это будет даже не крупный покупатель оборудования, а сам его производитель. Тогда вступает в силу другое соображение. Что выгоднее: взорвать золотую шахту, добыв при этом 10% драгметалла или несколько лет продавать старателям лопаты? Почти наверняка второе.
Остаётся призрачная возможность появления принципиально нового вычислительного оборудования, ну, скажем, квантового компьютера. Правда в этом случае падение биткойна будет наименьшей нашей проблемой. При таком развитии событий криптостойкость утратят большинство существующих систем шифрования, в том числе правительственные и банковские.
Одним словом, атака 51% на биткойн или даже лайткойн теоретически возможна, равно как теоретически возможна, скажем, Третья Мировая.
5. Пути решения
Описанная уязвимость является фундаментальной, проистекающей из самой архитектуры биткойн-подобных криптовалют. Значит, внеся некоторые изменения в процесс генерации блоков и подтверждения транзакций её можно устранить.
Один из примеров, как именно это можно сделать, демонстрирует недавно появившаяся валюта PPCoin. В ней реализован принцип Proof-of-Stake, вместо стандартного Proof-of-Work. Смысл его в том, что на вероятность генерации блока влияют не мощности генерации, а количество монет, которые уже есть у майнера. То есть чтобы генерировать 51% и больше блоков, необходимо иметь 51% монет, что делает из самого же взломщика наиболее потерпевшего участника сети. Таким образом, коммерческий взлом исключается полностью, а деструктивный становится сложным и дорогим,
Тем не менее технология весьма спорная и несет в себе другие опасности, как то возможность монополизации процесса проведения транзакций одним крупным держателем средств. Иными словами, получается тот же эмитент-центробанк, по своей воле распределяющий валюту по экономике.
Строго говоря, в PPCoin применяется гибридная технология — и Proof-of-Work и Proof-of-Stake единовременно. Такая система нуждается в проверке временем, так как убирая одну проблему может породить десяток других.
Данная уязвимость является частью жизни всех вовлечённых в различные криптовалюты. Также это весьма вероятная причина смерти молодой валюты «стандартного дизайна», не имеющей дополнительных механизмов защиты.
Более того, проблема эта фундаментальна и никуда не исчезнет. Ночной это кошмар или призрачная угроза — каждый решает для себя сам.
Вик Наваринцев
kirahtor@gmail.com
14x3EvqF1JNmNgPoietm9TnHVH6bs7pi4Z
0 Comments
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now