Я вошёл в контракт миграции Dusk, ожидая эксплойт на Solidity. Вместо этого я нашёл кое-что более интересное.

Сам контракт простой: пользователи блокируют ERC-20 DUSK, и событие "Locked" регистрируется.

Главная сила — вне сети.

Слушатель на бэкенде отслеживает это событие и запускает кошелёк для подписи, чтобы выпустить нативный DUSK. То есть контракт фактически не завершает миграцию — её завершает бэкенд-процесс и его ключ.

Инцидент 16 января показал риск. Злоумышленник сначала проверил систему с 7,880 DUSK, затем перевёл 1.91M DUSK. Третий перевод на 8.91M остановили только после того, как сервис подписи отключили.

Контракт не был сломан. Сломались операции.

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

Это изменило то, как я думаю о бриджах:

Бридж — это не только смарт-контракты. Это весь процесс, который превращает on-chain событие в off-chain авторизацию.

Иногда самое страшное уязвимое место не в Solidity.

Это скрипт, который тихо работает в фоне с приватным ключом.

@Dusk_Foundation #dusk $DUSK