Разработчики монеты Firo (ранее – Zcoin) повторно активировали протокол Lelantus во время хардфорка на блоке 365544. Протокол был деактивирован в начале марта из-за подозрительных транзакций.

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

«В феврале неизвестный злоумышленник использовал протокол конфиденциальности Firo Lelantus для создания фальшивых доказательств, чтобы сгенерировать новые монеты. Это привело к сбоям в системе», – сказал руководитель проекта Рубен Яп (Reuben Yap). «Команда Firo быстро заметила это и использовала функцию аварийного отключения, чтобы временно деактивировать Lelantus, пока ситуация не будет разрешена».

По словам Япа, Lelantus прошел аудит перед развертыванием в основной сети. Однако некоторые моменты были упущены, в том числе в проверенной криптографической библиотеке. С тех пор разработчики Firo добавили множество оптимизаций для усиления защиты протокола.

Во время атаки, приведшей к отключению протокола, злоумышленник сфальсифицировал трату. Для того, чтобы транзакция выглядела законной, хакер «совершил путешествие в прошлое» и настроил необходимые события. В частности, злоумышленник приступил к созданию первого доказательства, затем остановился на полпути и представил другое доказательство.

После этого злоумышленник отредактировал первое доказательство, выполнив необходимые обратные вычисления, чтобы гарантировать, что оба доказательства будут функционировать вместе. При правильном исполнении такая атака двойной траты позволяет злоумышленнику «дублировать» деньги.

«Если зрители увидят, что вы сначала перетасовываете колоду, им будет легче поверить, что вы сделали что-то необычное и волшебное», – сказал бывший исследователь лаборатории Monero Research Lab Аарон Фейкерт (Aaron Feickert). «Эта атака подобна предложению изучить колоду и показать ее зрителям перед фокусом. Уловка больше не кажется такой волшебной».

Ранее в этом месяце Фейкерт присоединился к команде Firo и помог разработчикам проанализировать атаку и внести исправления. Он также порекомендовал несколько оптимизаций Firo, помог улучшить протокол и предоставил отзывы о дизайне Lelantus для версии 2.

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