Сеть Harmony собирается откатить собственный блокчейн на шесть дней назад, чтобы убрать из истории поддельно выпущенные токены ONE. Вместе с подделкой из цепочки исчезнут 109 126 обычных переводов и 315 операций стейкинга — всё, что попало в 141 628 блоков после точки отката. Это редкий случай, когда сеть публично объясняет, почему предпочла стереть неделю записей вместо точечного исправления.

Коротко: что предложено

Команда опубликовала обновление по инциденту: мейннет возвращается к состоянию на 11 августа. В нулевом шарде сохраняется блок 92 730 034, в первом — блок 94 978 278, оба с отметкой 23:25:37 по всемирному времени.

Дальше сеть продолжится с блоков 92 730 035 и 94 978 279. Поддельные записи о выпуске, по описанию команды, появились сразу после сохраняемого участка.

Технически это не пересчёт истории заново: валидаторам предлагается единая проверенная база данных для каждого шарда. Узлы не переисполняют старые блоки, а принимают готовый срез состояния.

Что именно отменяется

Параметр Значение
Точка возврата 11 августа, 23:25:37 UTC
Затронуто блоков 141 628 подряд
Обычных транзакций 109 126
Операций стейкинга 315
Доля автоматических операций 104 545, или 95,8%
Способ исполнения единая проверенная база для каждого шарда

Почему отвергли точечные меры

Команда перечислила альтернативы и объяснила отказ от каждой. Рассматривались чёрный список адресов, адресное сжигание поддельных монет и выборочное повторное проигрывание транзакций.

Довод против всех трёх один: выборочность требует решить, какие монеты считать поддельными, а после сотен переводов подделка смешалась с обычными средствами. Отсюда риск задеть непричастных или получить расхождение между узлами.

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

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

Что это говорит о неизменяемости

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

Значит, вопрос не «можно ли откатить», а «сколько сторон должны согласиться». Ответ на него у каждой сети свой и в интерфейсе кошелька не отображается.

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

Масштаб подделки: цифры расходятся

Здесь нужна оговорка. По нынешнему описанию, один кошелёк за 106 секунд предпринял 534 попытки перевести по 5 миллиардов ONE, из них удались 477 — это около 2,385 триллиона токенов в движении.

Ранние сообщения о том же инциденте говорили примерно о 4 миллиардах поддельно выпущенных монет. Величины различаются на три порядка, и доступные материалы не поясняют, идёт ли речь о разных вещах: о суммарном обороте поддельных переводов и о фактически созданном объёме.

Приводим обе цифры как есть: сверки от независимой стороны в доступных публикациях нет.

Чего в сообщениях нет

Не объяснено, как вообще стал возможен поддельный выпуск: техническая природа уязвимости не раскрыта.

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

Частые вопросы

Что такое откат блокчейна?

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

Сколько операций пропадёт?

По плану — 109 126 обычных транзакций и 315 операций стейкинга, попавших в 141 628 блоков после 11 августа.

Вернутся ли отменённые переводы отправителям?

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

Почему не заблокировали адреса вместо отката?

По объяснению команды, чёрный список, адресное сжигание и выборочное проигрывание транзакций могли задеть средства непричастных или вызвать расхождение между узлами.

Разве блокчейн не неизменяем?

Неизменяемость означает высокую стоимость договорённости о переписывании, а не физическую невозможность. Чем меньше сторон нужно согласовать, тем эта стоимость ниже.

Источники

Материал подготовлен на основе публикации crypto.news и сообщения ленты Odaily. Фотография: I Love Colour / CC BY-SA 2.0.