Хроника взлома Verge (часть II)

12.06.2018

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

Несколько степеней защиты хуже одной, но надежной

Альткоины, базирующиеся на принципе Proof-of-Work, часто пользуются кодированием SHA-256, который распространен во многих криптовалютах. В случае с сетью Verge майнеры получают широкий выбор алгоритмов, среди которых Scrypt, blake2s и другие. По мнению разработчиков, использование сразу пяти принципов хеширования позволяет избавиться от излишней централизации. В этом случае основатели альткоина критикуют Биткоин, где владельцы ASIC‑майнеров получают преимущества над другими пользователями. В последнее время монополию на добычу цифровых монет захватили несколько основных пулов, которые диктуют сообществу свои условия.

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

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

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

Мы говорим о десяти процентах, когда подразумеваем прямое разделение всей мощности сети на пять различных алгоритмов (по 20% на каждый). Но на самом деле ситуация оказалась иной. Майнинг Verge не был распределен равномерно. Из-за ряда аргументов алгоритм Scrypt на данном этапе оказался наиболее доступным среди других аналогов. Таким образом, к моменту начала атаки, по оценкам Reddit, потребовалось лишь 0,4% хешрейта.

Подводим итоги

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

Какие выводы можно сделать из ситуации? В первую очередь, слабое место под названием «time-warp» уже хорошо изучено. При помощи временных меток мошенники неоднократно добивались понижения текущих показателей сложности сети. В течение многих лет данный вектор атаки обсуждался на известных криптовалютных форумах. Успех взлома платежной системы Verge заключается в том, что разработчики воспользовались модернизированным алгоритмом Dark Gravity Well. Сложность майнинга варьируется с каждой группой операций, чем сильно отличается от Биткоина, где подобная волатильность наблюдается раз в 2016 блоков. Данный факт говорит о том, что система Bitcoin может быть атакована лишь раз в 2 недели, тогда как в криптовалюте Verge для этого достаточно 30 секунд.

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


Назад