Всем привет) Недавно произошла интересная история со мной, и был взломан смарт-контракт на TON. Расскажем эту историю с обоих сторон (Владельца и Хакера) и к чему в итоге пришли)Весной 2020 я нашел интересный смарт-контракт и статью о том как написать и опубликовать смарт-контракт в (TON)Дал задачу 3м программистам поднять данный смарт и сайт. Около месяца они бились, но так и не получилось запустить. Решил разобраться сам (языков программирования не знаю), сел за комп в 6 вечера, начал изучать и пошел по шагам по инструкции. В итоге 24 часа сидел на диване и случилось чудо! Смарт заработал, сайт поднялся) Купил под это дело последний свободный домен с 3 буквами TON - TON.FUN Начал по чуть продвигать лотерею, но никто ее рекламировать не хотел (бояться все почему то азартную сферу).В конце июля вижу начинает играть крупный игрок и проигрывает 2000 TON. Смотрю пишет мне в ТГ, оказывается это владелец канала TON Base. Договорились что верну ему проигрыш - а он сделает рекламу в своем канале) В итоге еще больше аудитории TON узнало о данной лотереи.Так же он подсказал что есть дырка в смарте, но я так и не нашел кто сможет переписать мне контракт и подумал что вряд ли разрабы будут его ломать, все заняты своими крупными проектами.В августе я дальше начал думать как продвигать эту лотерею.Решил создать 1000 NFT и разослать их по кошелькам китов. Эффекта это не дало, и я забыл про эту лотерею, занимался основным своим бизнесом (Разработка мобильных приложений и игр) 23 октября запускается TON Hack Challenge. Внимания я особо на него не обратил и не смотрел что там за конкурсы, так как наша команда не особо сильна в разработке смартов. 27 октября Павел Валерьевич, как обещал, запускает аукцион fragment.com. За имена casino, auto, bank начинают биться Киты. Огромная аудитория ТГ следит за этим и переходит в explorer и смотрят с каких кошельков делают ставки. И видят это:В этот день я понял что не зря сделал рассылку NFT (Повалил народ на сайт лотереи)Вечером того же дня сижу спокойно вечером дома, купил микроскоп, разглядываю бактерии, телефон без звука. Открываю телефон - смотрю тысячи транзакций по лотерее за час прошли - баланс опустошен до нуля (было 6000 TON на балансе смарт-контракта лотереи)Через explorer смотрю куда вывели все монеты и нахожу кошелек, пишу ему сообщения с транзакциями: Так же попросил Андрея со своей стороны описать что происходило в этот момент и как получилось взломать смарт: ... через пару минут мне пишет в личку Андрей (Позже я только узнал что он победитель конкурса (TON Hack Challenge) и он взломал контракт номер 7, не по сценарию, что вызвало удивление у TON Foundation)Мы начали общаться и за пару дней написали новый пуленепробиваемый смарт-контракт - lotto.ton Вместо обычного прибавления LT, о котором написано в tvm.pdf, было применено намного более безопасное решение (часть позаимствована у TON Fruits).Сейчас к Seed рандома прибавляется хеш от [хеша сообщения, времени, LT, предыдущего хеша]. Это намного безопаснее простого прибавления LT, но и на этом мы не остановились.Для пущей безопасности был реализован пропуск блоков посредством перевода каждой ставки в мастерчейн и обратно. Для этого был разработан специальный смарт-контракт.На днях решил обновить дизайн сайта под стиль тех самых NFT, зайдите зацените - ton.funБлагодарим за внимание!p.s. Данную статью написали для разработчиков TON, чтобы не допускали моих ошибок в будущем)