Я думаю, люди читают «security audited» в криптопроекте и сразу переходят дальше.
Я — нет.
В Dusk интереснее всего не список аудиторов. А то, что они действительно должны были найти.
Dusk проверяли в PLONK, Piecrust, Phoenix, Kadcast, BLS, consensus, Rusk и в контрактах миграции. На бумаге это выглядит обнадёживающе.
Но потом вспоминаешь, как обычно ломаются такие системы.
Не потому, что внезапно перестаёт работать криптография в заголовке.
А потому, что две вполне разумные части кода делают неправильные предположения друг о друге.
В Dusk как раз были примеры такого.
Проблема в PLONK однажды допускала возможность поддельных доказательств, потому что общедоступные входные данные обрабатывались некорректно в транскрипте Fiat-Shamir. Это обнаружили и исправили.
Затем AEGIS вскрыла кое-что ещё более интересное.
39 находок. 7 — отмечены как критические.
Страшным был не сам номер.
Страшными были места: изоляция VM, десериализация на стороне хоста, логика fee/refund в Phoenix и подписи BLS.
Это скучные названия, пока не поймёшь, что каждое из них находится рядом с границей, где протокол должен доверять другому компоненту.
Вот где я обращаю внимание.
Потому что ZK-доказательство, математически корректное само по себе, мало что даёт, если VM вокруг него интерпретирует состояние неверно.
Хорошая схема подписи не спасает от плохой реализации.
И даже умный контракт может быть написан идеально, если среда, которая подаёт ему данные, даёт мусор.
Поэтому я ещё больше интересуюсь тем, что Dusk сделала после этих находок.
Они не просто залатали пару строк и сказали «готово». Исправления стали строже: дополнительные регрессионные тесты, более жёсткие правила декодирования, лучшее связывание fee/refund и изменения вокруг верификации BLS.
И именно это большинство людей пропускают, когда говорят об аудитах.
Аудит — это не доказательство того, что ничего не сломается.
Это свидетельство того, что происходит, когда кто-то достаточно старательно пытается это сломать.
И честно говоря, наблюдать за этим куда полезнее.
#dusk $DUSK @Dusk
Я — нет.
В Dusk интереснее всего не список аудиторов. А то, что они действительно должны были найти.
Dusk проверяли в PLONK, Piecrust, Phoenix, Kadcast, BLS, consensus, Rusk и в контрактах миграции. На бумаге это выглядит обнадёживающе.
Но потом вспоминаешь, как обычно ломаются такие системы.
Не потому, что внезапно перестаёт работать криптография в заголовке.
А потому, что две вполне разумные части кода делают неправильные предположения друг о друге.
В Dusk как раз были примеры такого.
Проблема в PLONK однажды допускала возможность поддельных доказательств, потому что общедоступные входные данные обрабатывались некорректно в транскрипте Fiat-Shamir. Это обнаружили и исправили.
Затем AEGIS вскрыла кое-что ещё более интересное.
39 находок. 7 — отмечены как критические.
Страшным был не сам номер.
Страшными были места: изоляция VM, десериализация на стороне хоста, логика fee/refund в Phoenix и подписи BLS.
Это скучные названия, пока не поймёшь, что каждое из них находится рядом с границей, где протокол должен доверять другому компоненту.
Вот где я обращаю внимание.
Потому что ZK-доказательство, математически корректное само по себе, мало что даёт, если VM вокруг него интерпретирует состояние неверно.
Хорошая схема подписи не спасает от плохой реализации.
И даже умный контракт может быть написан идеально, если среда, которая подаёт ему данные, даёт мусор.
Поэтому я ещё больше интересуюсь тем, что Dusk сделала после этих находок.
Они не просто залатали пару строк и сказали «готово». Исправления стали строже: дополнительные регрессионные тесты, более жёсткие правила декодирования, лучшее связывание fee/refund и изменения вокруг верификации BLS.
И именно это большинство людей пропускают, когда говорят об аудитах.
Аудит — это не доказательство того, что ничего не сломается.
Это свидетельство того, что происходит, когда кто-то достаточно старательно пытается это сломать.
И честно говоря, наблюдать за этим куда полезнее.
#dusk $DUSK @Dusk
