Минувшая неделя оказалась далеко не самой приятной для криптовалюты Verge, которая подверглась так называемой атаке 51%.
Что весьма примечательно, причиной столь неприятной ситуации стал баг в коде, а не захват большей части вычислительных ресурсов сети.
“Из-за нескольких багов в коде XVG вы вполне можете злоупотреблять этой особенностью, выпуская блоки с поддельной временной отметкой. Когда вы передаёте блок, будучи злонамеренным майнером, необходимо установить ложную временную отметку, сдвинутую на час назад. Тогда XVG подумает, что последний блок с этим алгоритмом был выпущен час назад. Ваш следующий блок будет иметь корректную временную отметку. Поскольку прошёл уже час, как думает сеть, она позволит вам добавить этот блок в основную сеть”, — объясняет один из пользователей.
По заверениям пользователя подобный механизм позволял хакеру выпускать блоки с периодичности раз в секунду вместо предусмотренного раза в 30 секунд. А по времени атака заняла порядка 3 часов, в течение которых абсолютное большинство блоков, выпущенных честными майнерами, сетью не принималось.
По подсчетам участников дискуссии, развернувшейся вокруг атаки на Verge, за указанное время злоумышленник смог добыть криптовалюту на сумму более $1 млн. Также были предположения, что в атаке принял участие не один хакер, а правительственная организация, опасающаяся сделки, о которой в Verge намерены объявить в конце апреля.
Как бы там ни было, разработчики криптовалюты приняли решение провести форк Verge. Также опубликованы новые версии кошельков. По словам пользователей, после форка на блоке 2040000 эксплойт со смещением временной отметки больше не работает. При этом разработчики отказались от идеи отката истории транзакций, в виду чего объём эмиссии криптовалюты возрос быстрее, чем планировалось. К счастью, число данных монет в обращении уже достаточно велико, что минимизирует негативное влияние злополучной ситуации.
На фоне форка рынок XVG продемонстрировал серьёзный рост с утра понедельника. Курс криптовалюты поднялся на 15%, почти вернувшись к уровням, фиксировавшимся до атаки.