Скоро будет пост о крутой найденной уязвимости в одном из протоколов на Тоне, а также о том, что не всегда стоит воспринимать факт проведённого аудита слишком серьёзно😐
Please open Telegram to view this post
VIEW IN TELEGRAM
Критическая уязвимость в Tradoor.io
Не все знают, но в TON-е существует прямой конкурент Storm trade, на котором можно также торговать perpetuals на различные криптовалюты.
И интересной отличительной чертой является возможность торговать опционами, причём очень короткими, начиная с 5-минутных.
Суть торговли опционами заключается в том, что они потенциально могут дать вам большее плечо, чем обычные perpetuals, а также твоя позиция не будет ликвидирована до конца истечения опциона. Однако есть минусы, заключающиеся в том, что, закрыв опцион по той же цене, что ты его и покупал, ты потеряешь все деньги, то есть цена актива должна изменится на стоимость опциона для того, чтобы хотя бы окупить траты.
Не буду вдаваться в подробности, как именно должна рассчитываться справедливая стоимость опционов различной длительности (вкратце, чем выше волатильность, тем дороже в моменте должен быть опцион), так в чём же заключается уязвимость?
Когда я решил проанализировать, что же передаётся в контракт при покупке опциона, оказалось, что туда прямо из пользовательского интерфейса передаётся и стоимость опциона, и количество купленых опционов, и много другой интересной информации. После нескольких попыток отправки транзакций с измененными вручную значениями оказалось, что их индексером при открытии транзакции совершенно не проверялась цена, по которой происходит покупка, поэтому появлялась возможность купить опцион на любой срок и любой стоимости. А это значит..? Верно, бесконечное плечо!
Пример - на скриншоте я купил PUT опцион на 5 минут с плечом ~43,000х. Но открыть опцион, очевидно, можно было на любой срок и абсолютно любым плечом. Суть в том, что открыв CALL и PUT опцион с огромным плечом одновременно, пользователь мог получить буквально бесплатные деньги, поскольку для выхода позиции в огроменный плюс было достаточно абсолютно любого минимального изменения цены в любую сторону.
Это означает возможность вывода ВСЕЙ ликвидности из волта опционов, совершив всего две сделки за 20$!
Я сразу попробовал связаться с командой через их бота поддержки, написал им про существующую уязвимость, и хоть ответа я так и не получил - буквально спустя пару часов они отключили индексер, а на следующее утро уязвимость уже была исправлена, теперь при попытке покупки опциона по произвольной цене вам просто вернутся ваши USDT. Конечно жаль, что команда не захотела отвечать на мой репорт, но исправили очень оперативно, за что ребятам респект. Если у кого-то есть контакты фаундеров, скиньте в лс, а то сам я не нашёл ничего кроме их чата, где не хочется наводить fud.
А эти заработанные 90$ в сделке при помощи бага я уже слил обратно, тестируя их протокол дальше☹️
@theOpenDevBlog
Не все знают, но в TON-е существует прямой конкурент Storm trade, на котором можно также торговать perpetuals на различные криптовалюты.
И интересной отличительной чертой является возможность торговать опционами, причём очень короткими, начиная с 5-минутных.
Суть торговли опционами заключается в том, что они потенциально могут дать вам большее плечо, чем обычные perpetuals, а также твоя позиция не будет ликвидирована до конца истечения опциона. Однако есть минусы, заключающиеся в том, что, закрыв опцион по той же цене, что ты его и покупал, ты потеряешь все деньги, то есть цена актива должна изменится на стоимость опциона для того, чтобы хотя бы окупить траты.
Не буду вдаваться в подробности, как именно должна рассчитываться справедливая стоимость опционов различной длительности (вкратце, чем выше волатильность, тем дороже в моменте должен быть опцион), так в чём же заключается уязвимость?
Когда я решил проанализировать, что же передаётся в контракт при покупке опциона, оказалось, что туда прямо из пользовательского интерфейса передаётся и стоимость опциона, и количество купленых опционов, и много другой интересной информации. После нескольких попыток отправки транзакций с измененными вручную значениями оказалось, что их индексером при открытии транзакции совершенно не проверялась цена, по которой происходит покупка, поэтому появлялась возможность купить опцион на любой срок и любой стоимости. А это значит..? Верно, бесконечное плечо!
Пример - на скриншоте я купил PUT опцион на 5 минут с плечом ~43,000х. Но открыть опцион, очевидно, можно было на любой срок и абсолютно любым плечом. Суть в том, что открыв CALL и PUT опцион с огромным плечом одновременно, пользователь мог получить буквально бесплатные деньги, поскольку для выхода позиции в огроменный плюс было достаточно абсолютно любого минимального изменения цены в любую сторону.
Это означает возможность вывода ВСЕЙ ликвидности из волта опционов, совершив всего две сделки за 20$!
Я сразу попробовал связаться с командой через их бота поддержки, написал им про существующую уязвимость, и хоть ответа я так и не получил - буквально спустя пару часов они отключили индексер, а на следующее утро уязвимость уже была исправлена, теперь при попытке покупки опциона по произвольной цене вам просто вернутся ваши USDT. Конечно жаль, что команда не захотела отвечать на мой репорт, но исправили очень оперативно, за что ребятам респект. Если у кого-то есть контакты фаундеров, скиньте в лс, а то сам я не нашёл ничего кроме их чата, где не хочется наводить fud.
А эти заработанные 90$ в сделке при помощи бага я уже слил обратно, тестируя их протокол дальше
@theOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
The Open Dev Blog
Критическая уязвимость в Tradoor.io Не все знают, но в TON-е существует прямой конкурент Storm trade, на котором можно также торговать perpetuals на различные криптовалюты. И интересной отличительной чертой является возможность торговать опционами, причём…
Про аудит: у них на лендинге можно найти проведённый в мае этого года аудит от tonbit.
И вроде бы всё прекрасно - проаудировали какие-то контракты, нашли какие-то уязвимости, команда их всех успешно исправила. Однако заметьте, насколько бы подробно вы не пытались прочитать и вникнуть в этот отчёт, у вас не получится этого сделать:
⚫️ На исходный год на гитхабе доступа нет.
⚫️ Из описания найденных уязвимостей имеются только краткие названия, которые мало о чём говорят.
⚫️ По названиям файлов, которые были предоставлены для аудита даже не поймёшь, какой именно функционал проверялся.
⚫️ Проверялся ли сам бэкенд\индексер? Видимо нет.
Это не к тому, что tonbit плохо проводит аудиты, или tradoor специально кого-то обманывает. Очевидно, что за прошедшие 4 месяца они успели дописать много функционала, в том числе, возможно, и опционы, которые они вряд ли успели должным образом проверить.
Однако на первый взгляд кажется, что раз аудит есть, то всё должно быть супер. Всегда проводите dyor всего сами, в том числе и проверяйте публично доступные аудиты!
А если вам нужна консультация по вашим проектам в тоне, то можете писать нам 🙂
@theOpenDevBlog
И вроде бы всё прекрасно - проаудировали какие-то контракты, нашли какие-то уязвимости, команда их всех успешно исправила. Однако заметьте, насколько бы подробно вы не пытались прочитать и вникнуть в этот отчёт, у вас не получится этого сделать:
Это не к тому, что tonbit плохо проводит аудиты, или tradoor специально кого-то обманывает. Очевидно, что за прошедшие 4 месяца они успели дописать много функционала, в том числе, возможно, и опционы, которые они вряд ли успели должным образом проверить.
Однако на первый взгляд кажется, что раз аудит есть, то всё должно быть супер. Всегда проводите dyor всего сами, в том числе и проверяйте публично доступные аудиты!
А если вам нужна консультация по вашим проектам в тоне, то можете писать нам 🙂
@theOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
В преддверии большого поста про шардинг важный совет ончейн проектам на TON-е.
С недавних пор шардинг в TON-е наконец то заработал! Это означает, что если на какой-то из шардов блокчейна (частей, на которые делится блокчейн) ложится нагрузка, которую он неспособен обработать, то ложится исключительно этот шард. Раньше, как все мы помним, ложился весь блокчейн.
Это означает, что теперь просто банально невыгодно находиться в одном шарде с, например, роутером ston.fi, поскольку их архитектура смарт-контрактов подразумевает, что каждый пользователь их платформы отправляет сообщение на этот адрес. Поэтому при больших нагрузках именно шард со ston.fi потенциально будет ложиться.
Крупным (и не только) проектам надо об этом задумываться и калькулировать адреса своих контрактов так, чтобы точно в один шард с потенциально высоконагруженными адресами не попадать. Это несложно - аккаунты распределяются по шардам в зависимости от первых бит адреса. На скрине это правый столбец - маска адреса в шарде. Эту информацию можно посмотреть тут.
С недавних пор шардинг в TON-е наконец то заработал! Это означает, что если на какой-то из шардов блокчейна (частей, на которые делится блокчейн) ложится нагрузка, которую он неспособен обработать, то ложится исключительно этот шард. Раньше, как все мы помним, ложился весь блокчейн.
Это означает, что теперь просто банально невыгодно находиться в одном шарде с, например, роутером ston.fi, поскольку их архитектура смарт-контрактов подразумевает, что каждый пользователь их платформы отправляет сообщение на этот адрес. Поэтому при больших нагрузках именно шард со ston.fi потенциально будет ложиться.
Крупным (и не только) проектам надо об этом задумываться и калькулировать адреса своих контрактов так, чтобы точно в один шард с потенциально высоконагруженными адресами не попадать. Это несложно - аккаунты распределяются по шардам в зависимости от первых бит адреса. На скрине это правый столбец - маска адреса в шарде. Эту информацию можно посмотреть тут.
Завтра выходят хомяки. Ваши ставки. Тон завтра...
Anonymous Poll
42%
Упадет
31%
Не упадёт
27%
С трудом не упадет
Опрос был плохо сформулирован. Блокчейн завтра....
Anonymous Poll
44%
Упадет
25%
Не упадет
31%
С трудом не упадет
Решили проверить свои силы и оказались довольны результатом. Мы решили все задания, заняли 6-ое место, потратив на это не так много времени, как хотелось бы.
Подозреваем, что на этом канале мы не раз еще будет лить fud на TonBit, и этот пост не будет исключением.
Во-первых, задания на CTF по большей части отношения к TON и даже к блокчейну не имели. 3 задания на криптографию, реализованную на Tact (зачем?), задание на странную реализацию дерева Меркла, которое в TON просто бессмысленно реализовывать, т.к для этого есть встроенный механизм. По сути, как-либо относящихся к именно TON или хотя бы к технологии "блокчейн" заданий было 2 - "Dex" и "Airdrop" (это для тех, кто захочет порешать).
Во-вторых, к этому мероприятию очень странно был выбран регламент - зачем-то за 1, 2 и 3 решение давали бонусные очки. Так никто не делает в ctf-движении, это очень странный выбор, ведь мероприятие начиналось в 1 ночи по UTC, поэтому либо надо было вставать ночью и решать, либо ты был заведомо в пролёте, даже если быстрее остальных закончил с заданиями.
В-третьих, при всём при этом несмотря на заверения в каждом тексте задания о том, что используется приватный блокчейн, он приватным не был. Недобросовестный участник вполне мог подсмотреть чужие решения (путем парсинга чужих транзакций в блокчейне), тем более что почти все задания не требовали какого-то особого подхода, зависящего от адреса сдающего. Зачем тогда вы даёте доп баллы за 2 и 3 решение задания, если это решение можно просто подсмотреть? Учитывая, что за первые 4 места были денежные призы, не удивимся, если бы кто-то смухлевал.
В целом первым опытом таких мероприятий на TON мы довольны, но во второй раз на что-то подобное (именно по озвученным выше причинам) попасть бы не хотели. Не исключено, что мы сами в будущем организуем что-то такое, но пока загадывать не будем.
Скоро много нового. Stay tuned!
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчикам смарт-контрактов, которые с точки зрения логики оперируют с TON (например, принимают его в качестве оплаты), нужно всегда считаться с workchain адреса, с которым они оперируют.
Допустим, вы разрабатываете смарт-контракт и рассчитываете комиссии на операции, хардкодите (чего делать вроде как не советуется, но все, кажется, делают) и проверяете их в коде контракта, а потом в том же коде отправляете транзакцию с точным значением TON на указанный пользователем адрес (с message mode 1 или, еще хуже, 65). В такой ситуации, если вы точно подгоняете комиссии, чтобы пользователь ни в коем случае не переплатил, этот же самый пользователь может вас обмануть.
Дело в том, что в блокчейне TON есть так называемые workchains. Обычно адреса, с которыми мы оперируем, начинаются с "0:". Этот 0 означает, что контракт функционирует в workchain с номером 0. Кроме нулевого, в TON также есть Masterchain, адреса которого начинаются с "-1" (например, вот). Он нужен для системных контрактов блокчейна, пользователи с ним взаимодействовать обычно не должны. Комиссии в Masterchain заметно выше (например, вот тут я заплатил за обычный перевод 0.012 TON при том, что обычно он стоит в 5-6 раз меньше), поэтому если в сообщении вы платите комиссию за пользователя, то пользователь может обмануть, указав адрес из Masterchain, таким образом потратив с вашего контракта больше, чем прислал и должен был получить.
Все это может привести к ошибкам с математикой, т.к ваш баланс на контракте уменьшается больше, чем вы ожидаете. А также в TON есть механизм удаления контрактов, которые не могут оплатить свое хранение в блокчейне, поэтому также это может привести к полной потере данных смарт-контракта. Поэтому даже если вы напрямую с TON не оперируете, эта уязвимость может вам сильно навредить.
Для исключения таких ошибок в контракте стандарта jetton используют функцию force_chain. Также, насколько я знаю, в FunC есть возможность ограничить затрачиваемый газ, но я в этом не разбираюсь, подскажите в комментариях.
Допустим, вы разрабатываете смарт-контракт и рассчитываете комиссии на операции, хардкодите (чего делать вроде как не советуется, но все, кажется, делают) и проверяете их в коде контракта, а потом в том же коде отправляете транзакцию с точным значением TON на указанный пользователем адрес (с message mode 1 или, еще хуже, 65). В такой ситуации, если вы точно подгоняете комиссии, чтобы пользователь ни в коем случае не переплатил, этот же самый пользователь может вас обмануть.
Дело в том, что в блокчейне TON есть так называемые workchains. Обычно адреса, с которыми мы оперируем, начинаются с "0:". Этот 0 означает, что контракт функционирует в workchain с номером 0. Кроме нулевого, в TON также есть Masterchain, адреса которого начинаются с "-1" (например, вот). Он нужен для системных контрактов блокчейна, пользователи с ним взаимодействовать обычно не должны. Комиссии в Masterchain заметно выше (например, вот тут я заплатил за обычный перевод 0.012 TON при том, что обычно он стоит в 5-6 раз меньше), поэтому если в сообщении вы платите комиссию за пользователя, то пользователь может обмануть, указав адрес из Masterchain, таким образом потратив с вашего контракта больше, чем прислал и должен был получить.
Все это может привести к ошибкам с математикой, т.к ваш баланс на контракте уменьшается больше, чем вы ожидаете. А также в TON есть механизм удаления контрактов, которые не могут оплатить свое хранение в блокчейне, поэтому также это может привести к полной потере данных смарт-контракта. Поэтому даже если вы напрямую с TON не оперируете, эта уязвимость может вам сильно навредить.
Для исключения таких ошибок в контракте стандарта jetton используют функцию force_chain. Также, насколько я знаю, в FunC есть возможность ограничить затрачиваемый газ, но я в этом не разбираюсь, подскажите в комментариях.
Если у кого-то есть отзывы по работе ton accelerator, обратитесь, пожалуйста, ко мне в личку, очень нужно проконсультироваться.
Выплаты за поставку ликвидности от DeDust.io
Многие наверняка видели, что DeDust спустя несколько лет всё же соизволил выплатить награды поставщикам ликвидности (те, которые не с фарма). Про то, насколько это невероятная вещь вообще говорить смысла мало, я лично недополучил около 1000$ из-за того что с момента вывода ликвидности из некоторых пар курс этих монет успел упасть во много раз 🙃.
Давайте лучше разберём более интересную вещь. Некоторые, возможно, заходили на DefiLlama и смотрели красивые графики проектов.
Что мы знаем насчёт DeDust - поставщикам ликвидности он никаких денег не выплачивал, однако на графиках по прибыли протокола и собранным fees мы видим просто идеальную картинку - revenue протокола на протяжении всего времени был ровно 20% от общих собранных комиссий.
Хотя, очевидно, это не может быть правдой - поставщикам ликвидности выплатили деньги только несколько дней назад, и то, по формулам, которые сложно понять наверняка.
Что же получается, DeFiLlama врёт нам? Краткий ответ - да.
Но всё не так просто. Чтобы DeFiLlama брала откуда-то информацию, авторы проектов должны написать свой так называемый адаптер. Все адаптеры хранятся в одном большом репозитории. В этих адаптерах авторы проектов сами пишут скрипты, чтобы подавать различную информацию о своих проектах (TVL, Revenue, Value flow и т.д).
Как же DeDust берёт информацию о собранных комиссиях и доходе протокола? Очень просто, со своей собственной API! Они просто берут свою собственную информацию о собранных комиссиях, и буквально умножают её в скрипте на 0.2. На самом деле из-за своей архитектуры они вынуждены делать тоже самое даже для расчёта TVL. Проверить, честно ли они это делают, очень сложно, однако мы можем попробовать посмотреть на tonalytica, где увидим TVL DeDust в 26.6m тон, то есть примерно $142.5m. Однако на DefiLlama через их API мы видим число в $189.99m на момент написания поста. Откуда взялись эти 47 миллионов долларов TVL? Предполагаю, что в TVL они также могут записывать средства, заблокированные на фарминг пулов, но наверняка знает только сама команда DeDust.
Стоит отметить, что это не выходящая из нормы практика, многие проекты делают также - те же STON.fi например (хотя у них различие между информацией с api и тоналитикой не такая существенная). Это в целом объяснимо, когда информация слишком сложная для получения из блокчейна напрямую. Хотя, например, у EVAA TVL берётся исключительно из блокчейна напрямую. Да и у команды Storm Trade получилось брать всю информацию кроме объёма торгов напрямую с блокчейна (TVL) и с redoubt (Fees, Revenue).
И как обычно, не стоит верить всем графикам в интернете, и проводите собственный dyor!
Многие наверняка видели, что DeDust спустя несколько лет всё же соизволил выплатить награды поставщикам ликвидности (те, которые не с фарма). Про то, насколько это невероятная вещь вообще говорить смысла мало, я лично недополучил около 1000$ из-за того что с момента вывода ликвидности из некоторых пар курс этих монет успел упасть во много раз 🙃.
Давайте лучше разберём более интересную вещь. Некоторые, возможно, заходили на DefiLlama и смотрели красивые графики проектов.
Что мы знаем насчёт DeDust - поставщикам ликвидности он никаких денег не выплачивал, однако на графиках по прибыли протокола и собранным fees мы видим просто идеальную картинку - revenue протокола на протяжении всего времени был ровно 20% от общих собранных комиссий.
Хотя, очевидно, это не может быть правдой - поставщикам ликвидности выплатили деньги только несколько дней назад, и то, по формулам, которые сложно понять наверняка.
Что же получается, DeFiLlama врёт нам? Краткий ответ - да.
Но всё не так просто. Чтобы DeFiLlama брала откуда-то информацию, авторы проектов должны написать свой так называемый адаптер. Все адаптеры хранятся в одном большом репозитории. В этих адаптерах авторы проектов сами пишут скрипты, чтобы подавать различную информацию о своих проектах (TVL, Revenue, Value flow и т.д).
Как же DeDust берёт информацию о собранных комиссиях и доходе протокола? Очень просто, со своей собственной API! Они просто берут свою собственную информацию о собранных комиссиях, и буквально умножают её в скрипте на 0.2. На самом деле из-за своей архитектуры они вынуждены делать тоже самое даже для расчёта TVL. Проверить, честно ли они это делают, очень сложно, однако мы можем попробовать посмотреть на tonalytica, где увидим TVL DeDust в 26.6m тон, то есть примерно $142.5m. Однако на DefiLlama через их API мы видим число в $189.99m на момент написания поста. Откуда взялись эти 47 миллионов долларов TVL? Предполагаю, что в TVL они также могут записывать средства, заблокированные на фарминг пулов, но наверняка знает только сама команда DeDust.
Стоит отметить, что это не выходящая из нормы практика, многие проекты делают также - те же STON.fi например (хотя у них различие между информацией с api и тоналитикой не такая существенная). Это в целом объяснимо, когда информация слишком сложная для получения из блокчейна напрямую. Хотя, например, у EVAA TVL берётся исключительно из блокчейна напрямую. Да и у команды Storm Trade получилось брать всю информацию кроме объёма торгов напрямую с блокчейна (TVL) и с redoubt (Fees, Revenue).
И как обычно, не стоит верить всем графикам в интернете, и проводите собственный dyor!
The Open Dev Blog
Выплаты за поставку ликвидности от DeDust.io Многие наверняка видели, что DeDust спустя несколько лет всё же соизволил выплатить награды поставщикам ликвидности (те, которые не с фарма). Про то, насколько это невероятная вещь вообще говорить смысла мало,…
В комментариях правильно написали что график и дата дефилламы по Revenue и Fees как раз есть только с момента, как Дедаст всё “починил”. Поэтому касательно этого графика возможно вопросов и нет.
Хотя опять же, исходного кода Dedust всё ещё нет, информация на дефилламу поступает только с собственной апи от Дедаста, можем только верить 😋
Поинт остаётся тем же - проверяйте откуда берётся информация на DeFiLlama, она может браться далеко не обязательно с блокчейна
Хотя опять же, исходного кода Dedust всё ещё нет, информация на дефилламу поступает только с собственной апи от Дедаста, можем только верить 😋
Поинт остаётся тем же - проверяйте откуда берётся информация на DeFiLlama, она может браться далеко не обязательно с блокчейна
Мы не пропали, мы билдили!
Мы разрабатываем Bidask Protocol — DEX от TheOpenDevBlog!
Уникальность Bidask в том, что он первым на TON имплементирует концентрированную ликвидность: позволяет вкладывать ваши средства с гораздо большей эффективностью и гибко подстраиваться под свою финансовую стратегию. Больше можно почитать в whitepaper-е проекта на нашем сайте, там всё очень подробно описано!
Мы с удовольствем пообщаемся со всеми, кому будет интересен наш проект, а также презентуем Bidask Protocol на ближайшем буткемпе в Москве.
Шильте. Реактите. Интересуйтесь.
@bidask — @TheOpenDevBlog
Мы разрабатываем Bidask Protocol — DEX от TheOpenDevBlog!
Уникальность Bidask в том, что он первым на TON имплементирует концентрированную ликвидность: позволяет вкладывать ваши средства с гораздо большей эффективностью и гибко подстраиваться под свою финансовую стратегию. Больше можно почитать в whitepaper-е проекта на нашем сайте, там всё очень подробно описано!
Мы с удовольствем пообщаемся со всеми, кому будет интересен наш проект, а также презентуем Bidask Protocol на ближайшем буткемпе в Москве.
Шильте. Реактите. Интересуйтесь.
@bidask — @TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Bidask Protocol
🎉 Bidask Protocol — winner of the Moscow Bootcamp!
This Sunday, Moscow hosted one of the bootcamps from the Hackers League Hackathon 2024, and Bidask took first place! We extend our heartfelt thanks to everyone for their support and belief in our project, and we also congratulate the other finalists.
Out team continue to work and are looking forward to victory at the Hackaton final!
Join our new era of DeFi on TON!
This Sunday, Moscow hosted one of the bootcamps from the Hackers League Hackathon 2024, and Bidask took first place! We extend our heartfelt thanks to everyone for their support and belief in our project, and we also congratulate the other finalists.
Out team continue to work and are looking forward to victory at the Hackaton final!
Join our new era of DeFi on TON!
Мы давно ничего не писали в канал, т.к все темы для постов, записанные в заметки, требуют большого погружения и ресерча. Если вы хотите ускорить появление постов — закиньте нам звезд, но это не инвестиционная рекомендация.
НО! Нас можно будет найти на TON Gateway. Обсудить с нами желательно всё, но для удобства мы составили список активностей, в которых мы принимаем участие:
⚫️ Мы очень активно заняты разработкой @bidask. Это наш основной проект, мы бросили на него все силы. Это очень серьёзный финансовый инструмент, который откроет пользователям на TON глаза на то, как реально должен использоваться DeFi. Мы открыты к сотрудничеству.
⚫️ Часть нашей команды участвует в разработке @circus_game. Это не наш проект, но мы в большой степени отвечаем за его техническую часть. Мы можем связать с владельцами для сотрудничества.
⚫️ Мы готовы проводить аудиты и консультации. У нас крайне мощный бэкграунд в безопасности как web2, так и web3, а также возможность привлечь к проекту дополнительные силы в случае, если компетенций основной команды не хватает (крайне редко). Мы уже консультировали ряд крупных и очень крупных проектов в разных блокчейнах.
Наши контакты в био канала.
До встречи!🌞
НО! Нас можно будет найти на TON Gateway. Обсудить с нами желательно всё, но для удобства мы составили список активностей, в которых мы принимаем участие:
Наши контакты в био канала.
До встречи!
Please open Telegram to view this post
VIEW IN TELEGRAM
На TON орудуют сэндвич боты.
Недавно ко мне обратились с проблемой — якобы в TON есть рабочий MEV. И им постоянно бреют работяг при покупке низколиквидных токенов. Как это работает: вы пытаетесь свапнуть токен на DEX или агрегаторе, отправляете транзакцию, а потом видите, что кто-то в блокчейне купил прямо перед вами и продал сразу после вас.
Я этим очень заинтересовался, поскольку все мы знаем, что MEV-а на TON не существует, но при этом боты довольно стабильно встают до пользователя и сразу после. Начал разбираться.
Выяснилось, конечно, что никакой это не MEV, а сэндвич боты работают по принципу обыкновенных снайперов:
⚫️ Они используют кошелёк в том же шарде, что и vault дедаста или роутер ston fi. Этим они обгоняют большинство аккаунтов в сети, ведь на сообщение из одного шарда в другой тратится гораздо больше времени, чем если всё происходит в одном.
⚫️ Если кошелек пользователя находится в одном шарде с контрактами DEX-ов, снайперы отправляют сообщение сразу с нескольких кошельков, тем самым увеличивая шансы на обгон пользователя просто за счёт количества. При этом повторной покупки не случается, т.к у них настроен slippage, и проходит ровно один свап. Поэтому боты выглядят в блокчейне как на картинке.
⚫️ Если пользователя снайпят через dedust, то в сообщении сразу происходит обратный свап, как тут. Кошелёк отправил на DEX тоны, и в той же цепочке сообщений получил в ответ чуть больше тонов. Бесплатные деньги, не иначе.
Мы проконсультировали независимую команду разработчиков, и они пообещали в скором времени выкатить решение для обхода этой проблемы. Подробности раскрывать не можем, т.к, очевидно, снайперы могут к ним приготовиться.
Поэтому мы, как и все, ждём анонса.
@TheOpenDevBlog
Недавно ко мне обратились с проблемой — якобы в TON есть рабочий MEV. И им постоянно бреют работяг при покупке низколиквидных токенов. Как это работает: вы пытаетесь свапнуть токен на DEX или агрегаторе, отправляете транзакцию, а потом видите, что кто-то в блокчейне купил прямо перед вами и продал сразу после вас.
Я этим очень заинтересовался, поскольку все мы знаем, что MEV-а на TON не существует, но при этом боты довольно стабильно встают до пользователя и сразу после. Начал разбираться.
Выяснилось, конечно, что никакой это не MEV, а сэндвич боты работают по принципу обыкновенных снайперов:
Мы проконсультировали независимую команду разработчиков, и они пообещали в скором времени выкатить решение для обхода этой проблемы. Подробности раскрывать не можем, т.к, очевидно, снайперы могут к ним приготовиться.
Поэтому мы, как и все, ждём анонса.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня мы выпустили пост про иную модель проскальзывания (slippage-а), которую мы имплементировали в @bidask.
При обмене токенов через автоматический маркет-мейкер (AMM) цена, по которой происходит обмен, испытывает движение в невыгодную сторону, называемое проскальзыванием. Пользователи имеют возможность указывать допустимое проскальзывание, чтобы не совершить невыгодный обмен или не стать жертвой сэндвич-атаки.
В EVM-сетях и на v2 DEX мы привыкли, что выход за границы указанной цены полностью откатывает всю транзакцию, как будто пользователь не совершал обмен и не тратил токенов.
В Bidask Protocol, в силу мультиконтрактной архитектуры протокола и атомарности транзакций в тоне, такое невозможно, ведь свап может затрагивать несколько контрактов с ликвидностью. Чтобы сделать "нормальный" slippage, пришлось бы идти обратно по всем контрактам и "отменять" транзакцию, и еще учитывать, что другой пользователь уже мог начать обменивать после нас. Это очень непрактично и дорого, поэтому мы поступили хитрее.
Вместо этого, свап в Bidask Protocol осуществляется по модели partial execution, при которой токены обмениваются до тех пор, пока цена устраивает пользователя, т.е. не превышает указанный slippage. Пользователь получает токены нового актива, которые удалось свапнуть, и несвапнутые токены старого.
С точки зрения пользовательского опыта это всё тот же slippage, даже удобнее, потому что вы не испытаете слетевших транзакций и потратите меньше газа, если вдруг фронтэнд показывает цену с задержкой или на рынке большая волатильность.
@bidask — @TheOpenDevBlog
При обмене токенов через автоматический маркет-мейкер (AMM) цена, по которой происходит обмен, испытывает движение в невыгодную сторону, называемое проскальзыванием. Пользователи имеют возможность указывать допустимое проскальзывание, чтобы не совершить невыгодный обмен или не стать жертвой сэндвич-атаки.
В EVM-сетях и на v2 DEX мы привыкли, что выход за границы указанной цены полностью откатывает всю транзакцию, как будто пользователь не совершал обмен и не тратил токенов.
В Bidask Protocol, в силу мультиконтрактной архитектуры протокола и атомарности транзакций в тоне, такое невозможно, ведь свап может затрагивать несколько контрактов с ликвидностью. Чтобы сделать "нормальный" slippage, пришлось бы идти обратно по всем контрактам и "отменять" транзакцию, и еще учитывать, что другой пользователь уже мог начать обменивать после нас. Это очень непрактично и дорого, поэтому мы поступили хитрее.
Вместо этого, свап в Bidask Protocol осуществляется по модели partial execution, при которой токены обмениваются до тех пор, пока цена устраивает пользователя, т.е. не превышает указанный slippage. Пользователь получает токены нового актива, которые удалось свапнуть, и несвапнутые токены старого.
С точки зрения пользовательского опыта это всё тот же slippage, даже удобнее, потому что вы не испытаете слетевших транзакций и потратите меньше газа, если вдруг фронтэнд показывает цену с задержкой или на рынке большая волатильность.
@bidask — @TheOpenDevBlog
The Open Dev Blog
На TON орудуют сэндвич боты. Недавно ко мне обратились с проблемой — якобы в TON есть рабочий MEV. И им постоянно бреют работяг при покупке низколиквидных токенов. Как это работает: вы пытаетесь свапнуть токен на DEX или агрегаторе, отправляете транзакцию…
В комментариях спросили, как получить адрес в конкретном шарде. Мы решили подойти к вопросу обстоятельно, и запилили для вас простую страничку.
На ней вы можете вставить нужный вам адрес, и набрутить себе кошелёк в том же шарде блокчейна. Осторожно, это может занять больше 5 секунд! На выходе вы получите адрес вашего нового кошелька и seed фразу для него (как на картинке).
Важно понимать, что наличие такого кошелька не убережёт вас от снайпинга, но сильно повысит ваши шансы быть первее других пользователей при обмене токенов.
Важно!!! Сайт не собирает seed фразы, все вычисления происходят в вашем браузере, но если вам особенно важна безопасность, то поднимите страничку локально, использовав ее исходный код.
@bidask x @TheOpenDevBlog
На ней вы можете вставить нужный вам адрес, и набрутить себе кошелёк в том же шарде блокчейна. Осторожно, это может занять больше 5 секунд! На выходе вы получите адрес вашего нового кошелька и seed фразу для него (как на картинке).
Важно понимать, что наличие такого кошелька не убережёт вас от снайпинга, но сильно повысит ваши шансы быть первее других пользователей при обмене токенов.
Важно!!! Сайт не собирает seed фразы, все вычисления происходят в вашем браузере, но если вам особенно важна безопасность, то поднимите страничку локально, использовав ее исходный код.
@bidask x @TheOpenDevBlog
Долгое время благодаря не разбирающимся в технологии людям существовал нарратив о том, что концентрированная ликвидность на TON невозможна. Конечно, это было неправдой, и такие выводы приходили людям только потому, что они очень плоско смотрели на возможности блокчейна. В своё время именно благодаря этому нарративу мы решили сделать @bidask.
Однако какой финансовый механизм на блокчейне TON действительно нереализуем? Ответ — flash loans.
Перевод вас не собьёт с толку, это буквально «мгновенный кредит». В крипте мы привыкли, что кредиты нам выдают только под залог наших средств, как это происходит на AAVE или EVAA. Но благодаря технологичному подходу к управлению средствами на EVM сетях появился способ занять деньги, провести с ними некоторую манипуляцию, и вернуть обратно с процентами в рамках одной транзакции. Если у вас не получится вернуть деньги, вам просто не выдадут кредит. Из-за того, что вся цепочка транзакции в EVM сетях происходит «одновременно», конечный результат исполнения можно проверить. Это нонсенс, кредит с нулевым риском, ведь фактически заёмщик возвращает кредит моментально сразу после его взятия.
В мирных целях flash loans нужны, например, арбитражерам, если они видят большой спред на двух разных DEX, но покрыть его своими средствами не могут. В такой ситуации можно взять мгновенный кредит, проарбитражить, и вернуть с процентом какую угодно сумму, разницу забрать себе. Этот механизм доступен практически каждому, кто способен искать вилки и писать смарт контракты.
На TON сообщения движутся асинхронно, и нельзя проверить результат всей цепочки исполнения, находясь в её начале. Из-за этого механизм flash loan-а в чистом виде абсолютно нереализуем. Flash loan — потеря для экосистемы, однако асинхронность и шардирование блокчейна — ещё большие приобретения.
Кстати, очень часто flash loan использовался для атак на DeFi. Подробнее об этом можно почитать тут.
@bidask x @TheOpenDevBlog
Однако какой финансовый механизм на блокчейне TON действительно нереализуем? Ответ — flash loans.
Перевод вас не собьёт с толку, это буквально «мгновенный кредит». В крипте мы привыкли, что кредиты нам выдают только под залог наших средств, как это происходит на AAVE или EVAA. Но благодаря технологичному подходу к управлению средствами на EVM сетях появился способ занять деньги, провести с ними некоторую манипуляцию, и вернуть обратно с процентами в рамках одной транзакции. Если у вас не получится вернуть деньги, вам просто не выдадут кредит. Из-за того, что вся цепочка транзакции в EVM сетях происходит «одновременно», конечный результат исполнения можно проверить. Это нонсенс, кредит с нулевым риском, ведь фактически заёмщик возвращает кредит моментально сразу после его взятия.
В мирных целях flash loans нужны, например, арбитражерам, если они видят большой спред на двух разных DEX, но покрыть его своими средствами не могут. В такой ситуации можно взять мгновенный кредит, проарбитражить, и вернуть с процентом какую угодно сумму, разницу забрать себе. Этот механизм доступен практически каждому, кто способен искать вилки и писать смарт контракты.
На TON сообщения движутся асинхронно, и нельзя проверить результат всей цепочки исполнения, находясь в её начале. Из-за этого механизм flash loan-а в чистом виде абсолютно нереализуем. Flash loan — потеря для экосистемы, однако асинхронность и шардирование блокчейна — ещё большие приобретения.
Кстати, очень часто flash loan использовался для атак на DeFi. Подробнее об этом можно почитать тут.
@bidask x @TheOpenDevBlog