Я вошёл в контракт миграции 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
Сам контракт простой: пользователи блокируют ERC-20 DUSK, и событие "Locked" регистрируется.
Главная сила — вне сети.
Слушатель на бэкенде отслеживает это событие и запускает кошелёк для подписи, чтобы выпустить нативный DUSK. То есть контракт фактически не завершает миграцию — её завершает бэкенд-процесс и его ключ.
Инцидент 16 января показал риск. Злоумышленник сначала проверил систему с 7,880 DUSK, затем перевёл 1.91M DUSK. Третий перевод на 8.91M остановили только после того, как сервис подписи отключили.
Контракт не был сломан. Сломались операции.
Переработка — разделение слушателя, подписанта, базы данных и очереди заданий — это значимое улучшение, но она не убирает необходимость доверия. Она переносит доверие в инфраструктуру вокруг контракта.
Это изменило то, как я думаю о бриджах:
Бридж — это не только смарт-контракты. Это весь процесс, который превращает on-chain событие в off-chain авторизацию.
Иногда самое страшное уязвимое место не в Solidity.
Это скрипт, который тихо работает в фоне с приватным ключом.
@Dusk_Foundation #dusk $DUSK