30 августа в сети Dash была временно отключена система InstantSend, позволяющая проводить практически мгновенные транзакции: скорость подтверждения в InstantSend составляет от трех до пяти секунд. Отключение этого сервиса породило множество слухов, и команда Dash Core решила рассказать о причинах такого решения.
Сперва несколько слов о том, как работает InstantSend. Информация о транзакции отправляется кворуму — десяти мастернодам. Они выбираются случайным образом: алгоритм выбора всегда разный и зависит от хэша последнего блока цепи. Получая информацию о переводе, мастерноды блокируют входы транзакции, чтобы никто не мог использовать ее повторно, и в течение нескольких секунд предоставляют необходимые шесть подтверждений проведенной операции. Теперь вернемся к инциденту.
Команда Dash Core сообщила о том, что благодаря сообществу Dash обнаружила в текущей версии InstantSend потенциально опасный эксплойт — код для проведения атаки. Этот код дает возможность хакеру с шестью или более мастернодами контролировать InstantSend-кворум и, как следствие, осуществить двойную трату или даже форк сети.
«Мы пока не наблюдали в сети Dash такой атаки, — говорится в сообщении. — Полагаем, что риски ее проведения низки, потому что эксплойт требует наличия $2,1 млн в дэш-эквиваленте. Но мы все-таки решили отключить InstandSend. Поскольку выпуск версии Dash клиента 12.2 состоится через несколько недель, мы хотим внести исправления в версию 12.2, а не прямо сейчас выпускать патч: это позволит свести к минимуму вероятность сбоев при предстоящем обновлении сети. Любые транзакции InstandSend, произведенные до релиза 12.2, будут проходить в обычном режиме со стандартным временем подтверждения (в четыре раза быстрее, чем в сети Биткоин, но гораздо медленнее, чем в InstandSend — ред.), поэтому пользователям, чтобы не платить комиссию за использование InstandSend, рекомендуется воздерживаться от выбора этой системы до выпуска обновленной версии 12.2».
Какие выводы можно сделать из случившегося? Дэш-сообщество становится более активным, а $240 000, потраченные на создание программы Bug Bounty, — очень правильная инвестиция, обеспечившая непрерывный анализ кода Dash на предмет уязвимостей.