The Open Dev Blog
описание
Security audits: @TheOpenDevTeam Contact: @rends_east, @therealmaloleg or @bazrov
Лучшие посты
за три месяца🔥 Что же случилось с сетью? Повысим прозрачность. Недавно выживших в TON взбудоражило замедление сети, отложенное после этого обновление валидаторов, и отсутствие комментариев на этот счет. TON Core отказалось отвечать на наш вопрос, поэтому представим свою версию событий — и надеемся, что нас поправят там, где мы ошиблись. Совсем недавно в кулуарных девелоперских чатах TON обсуждали этот пост. Судя по всему, с отправкой сообщений было всё нормально, но, видимо, разработчиков из TON Core насторожило другое. В блокчейне есть механизм защиты от спама сообщениями — так называемый "action fine". Если в результате обработки action фазы после нескольких успешно обработанных сообщений пришёл один неуспешный action, с аккаунта должен взиматься fine за ячейки (cells) исходящих сообщений, которые были обработаны, ведь валидатор совершил некоторые действия — должен получить награду. Однако баг был в том, что эта комиссия взималась только за последний, неуспешный action. Получается, что валидатор совершал бесплатную работу — это и могло привести к DoS всей сети. Было исправлено в коммите 5f454cd. Кроме фикса TON Core создали токен PUB5 (его метадата была опубликована работником TON Core), и зачем то с его помощью заспамили сеть сообщениями, из-за чего блокчейн и замедлился. Судя по всему, это не связано с конкретным багом. Интересно, что у токена нет холдеров, потому что все jetton wallet-ы стали nonexist, то есть фактически были удалены из блокчейна (mode 128 + 32, ничего криминального). Также был обнаружен коммит, вводящий ограничение на общий размер всех сообщений в action фазе (раньше было ограничение только на каждое конкретное сообщение). Кроме того, в последнем обновлении валидаторов был введён запрет на публикацию library cells в мастерчейн. По словам Анатолия Тонкоровича Макосова, это было сделано, чтобы "снизить количество векторов атак". Действительно ли была возможна атака, или это просто снижение рисков, нашей редакции неизвестно. Повысили. @TheOpenDevBlog