The Open Dev Blog
1.28K subscribers
13 photos
1 video
79 links
Security audits: @TheOpenDevTeam

Contact: @rends_east, @therealmaloleg or @bazrov
Download Telegram
⚡️ В коде TON Connect были найдены упоминания L2 сети.

@gosunov_ch обнаружил упоминания некого Tetrachain. Судя по найденной документации, это L2 на TON. На tonviewer уже создан соответствующий поддомен — tetra.tonviewer.com

Из интересного — в данный момент max_split сети выставлен в 0, то есть сеть не шардируется. Минимальный стейк для валидатора — 1 TON. Разбираем пока халява!

Вероятно, для трансфера TON в новую сеть был использован trustless мост, разработанный на одном из хакатонов ранее. В данный момент в сети сминчено порядка 100к TON.

🔥 Что думаем?
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥14👍974
🔥 Как нас взломали (нет)

Последнее время часть команды @TheOpenDevBlog пассивно ищет работу. В связи с этим был открыт LinkedIn в поисках контактов и возможностей. Но, как это бывает, искали работу, а нашли золото.

Представьте: вам пишет HR. Он спрашивает про ваши скиллы, просит резюме, интересуется зарплатными ожиданиями. Его и его руководителя всё устраивает (уже на этом моменте стоит насторожиться), поэтому HR предлагает выполнить тестовое задание.

Присылает ссылку на репозиторий. Там обычный (иногда не совсем) проект, в котором требуется внести некоторые правки. Если на этом моменте вы не насторожились, и решили сделать задание, то поздравляю 🥳🥳🥳 — вас взломали.

Насторожить вас должно было то, что вам прислали ссылку на готовый репозиторий, а не предлагают сделать его самому. Причем он ещё и на bitbucket (хотя на github такое тоже может быть).

❗️ Запомните: вы должны контролировать весь ход работ по тестовому заданию. Если от вас требуют проект — вы должны создать его сами. Иначе вас либо пытаются взломать, либо, что ещё хуже, пытаются заставить поработать бесплатно.

Нас попытались взломать аж 2 раза. Первое из присланных "тестовых" содержало пакет execp (название уже настораживает) в package.json файле. Это был взлом "для тупых" — предлагали баснословные деньги, а вся коммуникация по тестовому кончилась фразой:
After clone the repo and install the packages, Let me know. And then, I will give you a test task

Второе было умнее, но механика аналогичная — репозиторий содержал пакет chai-as-flex, который, судя по всему, также является вредоносным.

Будьте осторожны.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍309😁6🔥1🍌1
🔥 Подавайте следующего!

@TheOpenDevTeam провели аудит @open4dev. Это order-book DEX, написанный на tolk.

Аудит был проведён при участии @gosunov_ch — он также участник @TheOpenDevTeam.

В рамках аудита была найдена одна критическая уязвимость, а также несколько уязвимостей послабее.

Обращайтесь к нам — мы проверим вашу безопасность и расскажем об этом. Мы мотивированы, злы на мир, и готовы доказывать.

Работаем.
@TheOpenDevTeam x @TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥17🎉88
7🕊1
🔥 Briefly.

Читать каналы про TON сейчас невозможно, поэтому себерём всю актуальную информацию в одном посте.

⚫️ Telegram выпустил обновление, позволяющее взаимодействие ботов между собой. В комментариях к обновлению было указано, что это сделано для улучшенного взаимодействия ИИ-агентов внутри платформы.
⚫️ Sub-second обновление на TON вышло. Сеть ускорилась в N раз.
⚫️ Доходность за стейкинг TON сейчас порядка 25%. Инфляция из-за выходов новых блоков увеличилась до 4%. TON Core уже дали комментарий.
⚫️ Анатолий Макосов анонсировал снижение комиссий в блокчейне TON.
⚫️ Канал "Все загадки на блокчейне" выпустил пост спустя 4 года.
⚫️ Ник Некилов выпустил страничку для live отслеживания наград валидаторов.
⚫️ Алексей Госунов сделал proposal на уменьшение наград за выпуск блока в 5 раз.
⚫️ Год назад мы выложили смарт-контракт, позволяющий сжигать TON на комиссию для валидаторов. Актуально как никогда.
⚫️ Автор канала "defi smells like crap" проиграл публичные дебаты о полезности последних обновлений TON.

Пост не будет обновляться.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1185👍4
🔥 t402 — один из 7 шагов до #MTONGA.

Вчера Дуров анонсировал ещё 6 шагов помимо ускорения блокчейна для достижения целей #MTONGA. Попробуем предсказать один из шагов.

Мы уже писали про протокол x402, позволяющий ИИ агентам платить за что-либо в интернете с помощью криптовалюты. Это новое золото — нарратив, который преследуют все блокчейны. TON не остался в стороне, уже существуют реализации x402 для нашего блокчейна. Но это всё упускает наше главное и любимое преимущество.

Совсем недавно Telegram выпустил обновление, где добавил bot-to-bot взаимодействие внутри платформы. Это прорыв, этого все очень давно ждали, и наконец это случилось. В центре этой картины не хватает одной детали — возможности ботов обмениваться активами за выполнение определенной работы. Классический x402 под это не подходит — это HTTP протокол, в то время как боты общаются через Telegram.

Редакция предполагает, что в одном из следующих апдейтов появится t402 — payment протокол для запроса оплаты. Производиться это будет через внутренние балансы ботов — звезды и, возможно, TON. Возможно, даже будет опция ончейн оплаты — именно поэтому так важно было выпустить sub-second обновление.

Это win-win для всех — дикое утилити для внутренней валюты Telegram, и прорыв для ИИ агентов на TON при минимальных затратах на разработку. Это действительно шаг, соизмеримый с sub-second и снижением комиссий блокчейна.

Теперь ждём.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
504👍3114👏54🤡3🤔1
🔥 Как чуть не взломали EVAA.

Пару месяцев назад @gosunov и @peskarbrain изучали код смарт-контрактов EVAA, и обнаружили интересное. От обнуления TVL EVAA спасла чистая случайность. Важно: в коде больше ничего найдено не было, информация в посте на данный момент уже точно устаревшая.

EVAA, как и любой здоровый DeFi протокол на TON, использует vanity контракты (они у EVAA названы blank). Это удобно, позволяет не зависеть от конкретной версии протокола — абсолютный best practice на TON, всем советуем.

По сути vanity контракты — это система авторизации внутри DeFi архитектуры, поэтому с ней нужно быть максимально внимательным. Если ты авторизуешь контракт по vanity-дате, то тебе нужно быть уверенным, что его никто, кроме тебя, не может задеплоить (это делается с помощью проверки деплоера на vanity), и что никак иначе подменить vanity-код с помощью твоей архитектуры нельзя. Со вторым у EVAA возникла проблема.

Всё возможно, как это часто на TON случается, от слишком большой свободы. EVAA позволяет пользователям отправлять кастомные сообщения (forward data) при выводе TON из протокола (при заёме или выводе средств). Ранее недостаточный контроль данных в кастомных сообщениях привела к багу в DEX coffee swap, мы об этом писали.

Из существующих деталей пазла собрать предположительную (в реальности она не работает и никогда не работала) атаку очень просто:
1) Деплоим ванити контракт вместо EVAA (разумеется, подменить мы ничего на нём не можем).
2) Отправляем на него вывод из протокола, в forward_data которого указываем новый код для замены. Vanity проверяет, что сообщение пришло от правильного адреса (с волта EVAA), поэтому авторизует его и принимает все данные из сообщения как должные — подменяет свой код, и вуаля, у нас есть свой собственноручно написанный контракт внутри периметра ончейн архитектуры EVAA.

Спасла EVAA чистая случайность (или холодный расчёт)их опкоды операций внутри архитектуры все начинались с нескольких лидирующих нулей. Из-за этого maybe_ref, которым должен был быть код нашего кастомного контракта, для vanity считался пустым, и он его игнорировал. Интересно то, что если бы EVAA соблюли стандарт по формированию опкодов через crc32, то атака была бы возможна.

Несмотря на несколько аудитов от крайне крупных аудиторских компаний, практика показывает, что это крайне типовой баг для блокчейна TON, и об этом всегда стоит думать при проектировании архитектуры смарт-контрактов. Если хотите проверить вашу ончейн логику — обращайтесь к @TheOpenDevTeam.

Везёт тому, кто везёт.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍33🔥14103🥰3
🔥 Почему TON в разы быстрее Solana?

Все уже видели посты про скорость финализации после sub-second апдейта, и насколько TON круче условной Solana в этом параметре (в 10+ раз). Но на практике, при использовании кошельков или DeFi, это не ощущается. Объясним почему.

Финализация — это момент, когда блок в блокчейне становится необратимым. Если валидатор выпускает блок, другие валидаторы его должны проверить (после чего он получает статус confirmed), а затем должно пройти еще какое то время (должно быть выпущено какое то количество блоков), чтобы блок был финализирован. До прошествия этого момента есть риск, что в блокчейн будет опубликована другая цепочка блоков (форк), а та, в который находится наш confirmed блок, будет откинута. Можно создавать блоки очень быстро, а финализировать их долго, это и есть основная хитрость "быстрых" блокчейнов — они принимают риски появления форков, и не очень сильно работают над скоростью финализации.

Например, если какое-либо приложение следит не за финализацией, а за созданием блока, то оно рискует быть атаковано через создание форка, который не будет финализирован. Это означает, что, несмотря на получение статуса confirmed, в блокчейн будет опубликован другой, конкурирующий с данным, блок. Атака с помощью данного механизма крайне сложна, поэтому большинство приложений на Solana и других блокчейнах этот риск игнорируют (хотя даже на официальной странице Solana пишется, что целых 5% блоков не финализируется вообще).

И Solana, и TON выпускают один блок раз в 400 миллисекунд. Однако если у TON блок финализируется через еще 400 миллисекунд, то у Solana должно пройти аж 12 секунд до полной финализации. То есть в параметре финализации и до sub-second апдейта TON был быстрее Solana, хотя в интерфейсах это совсем не ощущалось.

UX рулит.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍6228🔥26🤔32💩1
Ждем USDC на TON?
Anonymous Poll
38%
Нет
4🍾221🔥1
🔥 Proposal стандарта

Анатолий Тонкорович Макосов читает наш канал, а потому мы вместе с @shibdev подумали и поняли, какие идеи до него донести.

Нынешний парсинг сообщений в эксплорерах блокчейна — это ужасно. Для того, чтобы добавить свою схему, нужно исхитряться, искать контакты, писать PR в какие то репы, просить добавить схемы, и т.д. Мы предлагаем ультимативное децентрализованное решение в духе нашего с вами блокчейна — сохранение схем сообщений в NFT.

Допустим, протокол хочет, чтобы его сообщения парсились и показывались как они есть в эксплорерах. Для этого он идет в специальный NFT minter, резервирует для себя opcode, и минтит NFT со своей схемой сообщения (может даже не резервировать opcode, а вычислять из схемы). Эксплорер отдельно следит за этой коллекцией, и может получать NFT оттуда по id — opcode сообщения, которое видит перед собой (возможно, вместе с кодом или схемой контракта, который это сообщение получает). А для предотвращения откровенного сквотинга и скама opcode-ов предлагается ввести какую-то плату за их регистрацию.

💎 Это децентрализованно, круто и в духе нашего с вами любимого блокчейна.

Если вы прочитали наш proposal, и не хотите говорить, что вам он понравился, откупите $TONDEV c левого кошелька, поддержите наше комьюнити.

@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
😁27🔥13👍942
🔥 Напоминаем, что отказ от чтения нашего канала приводит к потере огромных денег и риску скама.

Вот наш пост про баг, с помощью аналога которого сегодня заскамили несколько человек на Getgems. Например, был угнан номер +8888321 за баснословные 800к+ фейковых USDT.

Суть та же — в контракте оффера на покупку NFT был указан верный jetton master USDT, а jetton wallet неверный (от фейк USDT). Из-за того, что не было проверено соответствие этих двух адресов, и стал возможен скам.

Ретроспектируем.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥23👍156🤯1
🔥 Инфляция TONПРАВДА

После недавнего обновления блокчейна TON доходность ликвидного стейкинга стабильно превышает 15-20%. Многие трубят о возросшей инфляции, давайте разберемся:

⚫️ Инфляция — результат печати новых TON, поэтому снижение комиссий на неё не влияет.
⚫️ Валидаторы сейчас получают 50% от комиссий с транзакций. Это не печать нового TON, просто перераспределение. Следовательно — это не инфляция.
⚫️ Печать TON происходит исключительно от наград за генерацию блоков (1.7 TON за masterchain, 1 TON за basechain). Значения старые, но печать ускорилась вместе с ускорением блокчейна.

До обновления в год печаталось порядка 34 миллионов TON — это 0.65% инфляции от общей эмиссии блокчейна. После ускорения блокчейна награды возросли пропорционально, как и инфляция — до 3.9% в год. Очень важно, что это инфляция именно от total supply, то есть от всего напечатанного TON. Если считать инфляцию от циркулирующего предложения (circulating supply), то числа возрастут: 1.2% раньше и 7.6% сейчас (на основе данных с CMC).

Можно ли пострадать от инфляции при ликвидном стейкинге? Нет, нельзя. Ликвидный стейкинг будет приносить доходность в размере инфляции ТОЛЬКО если в блокчейне не будет транзакций (а значит, и газа с них) И если весь supply TON-а будет застейкан. Во всех остальных случаях доходность честного ликвидного стейкинга будет выше инфляции. Не стоит также забывать, что в TON fees бывают не только за сообщения, но и за хранение информации в блокчейне (storage fees), поэтому даже если транзакций нет, существует постоянно накапливающийся долг каждого опубликованного в блокчейне адреса.

😱 Что у соседа? TON не лидер по инфляции среди блокчейнов, нынешняя скорость печати новых монет не выбивается из нормы. Например, у Solana она составляет те же самые 3.9-4.5% на total supply (источник).

@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍25🔥1210👌21