The Open Dev Blog
734 subscribers
13 photos
1 video
48 links
Тон макаки.
Исследуем проекты на тоне так глубоко, как только можно.

Просим указывать нас как первоисточник.

Contact: @rends_east, @therealmaloleg or @bazrov
Download Telegram
Форк FunC би лайк:
На TON орудуют сэндвич боты.

Недавно ко мне обратились с проблемой — якобы в TON есть рабочий MEV. И им постоянно бреют работяг при покупке низколиквидных токенов. Как это работает: вы пытаетесь свапнуть токен на DEX или агрегаторе, отправляете транзакцию, а потом видите, что кто-то в блокчейне купил прямо перед вами и продал сразу после вас.

Я этим очень заинтересовался, поскольку все мы знаем, что MEV-а на TON не существует, но при этом боты довольно стабильно встают до пользователя и сразу после. Начал разбираться.

Выяснилось, конечно, что никакой это не MEV, а сэндвич боты работают по принципу обыкновенных снайперов:
⚫️ Они используют кошелёк в том же шарде, что и vault дедаста или роутер ston fi. Этим они обгоняют большинство аккаунтов в сети, ведь на сообщение из одного шарда в другой тратится гораздо больше времени, чем если всё происходит в одном.
⚫️Если кошелек пользователя находится в одном шарде с контрактами DEX-ов, снайперы отправляют сообщение сразу с нескольких кошельков, тем самым увеличивая шансы на обгон пользователя просто за счёт количества. При этом повторной покупки не случается, т.к у них настроен slippage, и проходит ровно один свап. Поэтому боты выглядят в блокчейне как на картинке.
⚫️Если пользователя снайпят через dedust, то в сообщении сразу происходит обратный свап, как тут. Кошелёк отправил на DEX тоны, и в той же цепочке сообщений получил в ответ чуть больше тонов. Бесплатные деньги, не иначе.

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

@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
The Open Dev Blog
На TON орудуют сэндвич боты. Недавно ко мне обратились с проблемой — якобы в TON есть рабочий MEV. И им постоянно бреют работяг при покупке низколиквидных токенов. Как это работает: вы пытаетесь свапнуть токен на DEX или агрегаторе, отправляете транзакцию…
В комментариях спросили, как получить адрес в конкретном шарде. Мы решили подойти к вопросу обстоятельно, и запилили для вас простую страничку.

На ней вы можете вставить нужный вам адрес, и набрутить себе кошелёк в том же шарде блокчейна. Осторожно, это может занять больше 5 секунд! На выходе вы получите адрес вашего нового кошелька и seed фразу для него (как на картинке).

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

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

@bidask x @TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
Долгое время благодаря не разбирающимся в технологии людям существовал нарратив о том, что концентрированная ликвидность на TON невозможна. Конечно, это было неправдой, и такие выводы приходили людям только потому, что они очень плоско смотрели на возможности блокчейна. В своё время именно благодаря этому нарративу мы решили сделать @bidask.

Однако какой финансовый механизм на блокчейне TON действительно нереализуем? Ответ — flash loans.

Перевод вас не собьёт с толку, это буквально «мгновенный кредит». В крипте мы привыкли, что кредиты нам выдают только под залог наших средств, как это происходит на AAVE или EVAA. Но благодаря технологичному подходу к управлению средствами на EVM сетях появился способ занять деньги, провести с ними некоторую манипуляцию, и вернуть обратно с процентами в рамках одной транзакции. Если у вас не получится вернуть деньги, вам просто не выдадут кредит. Из-за того, что вся цепочка транзакции в EVM сетях происходит «одновременно», конечный результат исполнения можно проверить. Это нонсенс, кредит с нулевым риском, ведь фактически заёмщик возвращает кредит моментально сразу после его взятия.

В мирных целях flash loans нужны, например, арбитражерам, если они видят большой спред на двух разных DEX, но покрыть его своими средствами не могут. В такой ситуации можно взять мгновенный кредит, проарбитражить, и вернуть с процентом какую угодно сумму, разницу забрать себе. Этот механизм доступен практически каждому, кто способен искать вилки и писать смарт контракты.

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

Кстати, очень часто flash loan использовался для атак на DeFi. Подробнее об этом можно почитать тут.

@bidask x @TheOpenDevBlog
Известно, что Tether на EVM блокчейнах умеет блокировать или изымать USDT на кошельках, если посчитает это нужным. Обычно это происходит при совершении каких либо преступлений владельцем кошелька.

TON этот механизм не обошел стороной, у jetton wallet USDT тоже есть опция быть заблокированным. Собственно, поэтому стандарт в tonviewer подписывается как «jetton wallet governed».
Но вот к реализации этого механизма есть вопросы. На EVM сетях всё просто — у токена есть один единственный смарт контракт, при обращении к нему нужный адрес блокируется. В TON всё не так, и чтобы заблокировать баланс конкретного адреса, нужно обратиться напрямую к его jetton wallet-у.

Это происходит так: админ Tether USDT обращается к jetton master, jetton master обращается к нужному jetton wallet, jetton wallet блокируется. Проблема данного механизма в том, что уже на этапе транзакции к jetton master злоумышленник может переместить свои токены на другой кошелек, или вовсе продать их на DEX, и выйти в TON. Достаточно лишь следить за транзакциями на jetton master и искать там сообщения на изменение статуса своего кошелька. Проблема усугубится, если jetton wallet злоумышленника находится в другом шарде относительно jetton master USDT. Тогда вообще «заснайпить» блокировку кошелька совершенно несложно, ведь транзакция из одного шарда в другой будет идти достаточно долго.

Прецедентов блокировки USDT на TON пока не было, мы проверили.
Думайте.

@bidask x @TheOpenDevBlog
Принято считать, что на TON невозможен MEVMaximal Extractable Value (или как он ранее расшифровывался, Miner Extractable Value) — механизм "подкупа" валидаторов через увеличение выплачиваемой им комиссии с целью выгодной для подкупающего манипуляции порядком транзакций в блоке.
Это используется, например, для получения преимущества перед другими при арбитраже, ликвидациях, или например в знаменитых "сэндвич"-атаках, при которых валидатор помещает транзакцию "жертвы" между транзакциями атакующего — отсюда, собственно, и название.

В TON комиссии за транзакцию фиксированы, высокий спрос регулируется шардингом. Поэтому варьировать комиссию, как на EVM, не получится. А переменные по типу block.coinbase в Solidity (адрес кошелька валидатора, выпускающего блок) контрактам на TON недоступны. Конечно, остаётся возможность договориться с валидатором лично, но это не стандартизированный подход. В документации TVM есть обещание добавить команду BUYGAS, но никаких подробностей не дают.

Когда вы совершаете действие через обычный кошелек, вы посылаете ему сообщение, а перед ним 512 бит, которые отвечают за подпись вашего сообщения. Таким образом, никто, включая валидатора, не может поменять ваше действие, ведь тогда ваша подпись станет недействительной. Приватный ключ от wallet-а хранится только у вас. Таким образом гарантируется, что контроль над вашим кошельком имеете только вы.

🔥 Отсюда рождается новая идея — MEV-кошелек. Задумка в том, чтобы добавить в тело сообщения место, которое не покрывается подписью, а следовательно даёт валидатору возможность вписать туда любое значение при выгрузке из мемпула, а именно — адрес своего кошелька. Например, на скрине считываемый validator_reward_address не попадает в подписанное тело сообщения для wallet w5, поэтому валидатор может его подменить.

Такой механизм, в отличие от простого увеличения комиссии, открывает возможность условной выплаты, то есть, например, только в случае, если операция, ради которой платилась взятка, действительно закончилась финансовой выгодой. Это может проверяться при получении результатов атаки на кошельке. Валидатор таким образом становится сам заинтересован в наиболее эффективном расположении транзакции.

Однако для функционирования подобного кошелька требуется модификация софта, которым пользуются валидаторы, для того, чтобы автоматически обрабатывать транзакции на подобные кошельки и подставлять нужный адрес, а также сортировать их для поиска собственной выгоды.

Пускай данный пост, а также экономический интерес подстегнёт подобную разработку. Приносим извинения за доставленные неудобства!

@bidask x @TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥🎉 @TheOpenDevBlog подводит итоги.

Год получился, как это обычно бывает, насыщенным. Николай Дуров, наконец, передумал и решил, что в Cell будет 1025 бит, а в Int — 255. Сказал, что "перепутал и не понял, как так получилось, а тут как раз повод — 2025 год".

Мы появились, подписали на себя самых крутых персон в экосистеме TON, выполнили несколько крупных заказов и, наконец, разработали @bidask.

У нас есть очень большие новости сразу по ряду направлений, которыми мы пока не можем делиться, однако можем заверить — в 2025 году мы приумножим свой успех и расскажем вам ещё больше нового!

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

🩵 Спасибо вам за этот прекрасный (полу)год! Поздравляем вас и ваших близких с Новым Годом, пусть в нём всех нас ждет TON по 20, и Solana по 0, конечно же.

Думайте.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Сколько мы бы не защищали тут TON, культура разработки в нашем блокчейне ещё на совсем низком уровне.
На EVM сетях есть большое количество стандартов, заточенных под решение разных проблем — от обычных токенов до ERC-1155, который совмещает в себе токены и NFT. Идея выпуска стандартов перекочевала и на TON, однако, как будто, с фальстартом, поскольку к ним уже сейчас есть множество вопросов.
В этом посте вместе с @pcrafter разберем TEP-74, стандарт жетона, его проблемы, что в нём можно поменять, и как его дополнить:

⚫️ В нынешнем стандарте нет опции не деплоить jetton-wallet получателя. Это было бы полезно для того, чтобы уменьшить стоимость пересылки жетонов в случае, если у получателя уже есть кошелек. Решение может быть простое — иметь в интерфейсе посылания жетонов такую опцию, которая будет автоматически заполняться кошельками (tonkeeper и т.д) для удобства пользователя.

⚫️ Нынешний стандарт вообще не поддерживает работу с балансом jetton-wallet. Ни возможности ончейн узнать, сколько у тебя жетонов, ни возможности отправить сразу все жетоны, сколько бы их там не было, нет. Это очень сильно ограничивает при написании смарт-контрактов, работающих с жетонами.
Кроме того, неясна роль excess-сообщений. Кроме возврата TON, они могли бы нести информацию хотя бы о количестве присылаемых токенов, но сейчас, если контракт-источник не послал forward_ton_amount, то ончейн узнать о пришедших жетонах нельзя.
Это, например, очень сильно ограничивало во взаимодействиях со ston-fi v1, ведь там контракт роутера по умолчанию слал жетоны с forward_ton_amount, равным 0, и не было никакой возможности оперировать с пришедшими от свапа жетонами. Фактически, это делало ончейн взаимодействие с протоколом невозможным.

⚫️TEP-74 поддерживает forward payload, но не поддерживает возможность деплоить контракт получателя. А представьте, как было бы удобно! Можешь сразу деплоить контракт по ту сторону, исполнить его, и получить результат.

⚫️ Хранение своего кода в стейте контракта не обязательно. Мало кто знает (мы сами узнали совсем недавно), что в TVM есть инструкция MYCODE, которая позволяет контракту получать свой собственный код в виде cell.

⚫️ Кажется, что контракт jetton-wallet оставляет себе слишком много TON для газа. Например, в @bidask стоимость свапа в рамках одного бина составляет 0.06 TON, из которых 0.01(а то и все 0.02) остаются мертвым грузом на jetton-wallet-ах. Посмотрите на jetton-wallet-ы на DEX, на любом активно использующемся контракте лежит много навсегда заблокированных TON. Например, на кошельке USDT dedust лежит 6к$ в оставшихся комиссиях.

И при этом альтернатив нет. С нынешними жетонами, которые минтятся на minter.ton.org и т.д (даже с USDT), крайне сложно работать.

Меняйте TON. Не на USDT.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Перед очень большими новостями небольшой лайфхак вам на затравку.

Как бесплатно достать ключ для tonapi? Взять его в tonkeeper!

Заходим сюда (ссылка была получена через вкладку network в инспекторе - при каждом обновлении интерфейса приложение делает туда запрос) и берем ключ из параметра tonApiV2Key. Там же можно найти и эндпоинт для tonapi — keeper.tonapi.io. Может, у него аптайм выше стандартного)

Ключ лимитирован 100 запросами в секунду, но только для одного ip (подсчитано вручную, не точно). Для сравнения — бесплатный tonapi (без ключа) можно использовать только 1 раз в секунду.

Вообще, так можно позаимствовать ключ у какого угодно проекта, который использует tonapi на фронтенде. Стоимость ключа для проекта от активности не повышается, поэтому вы таким образом никому не навредите.

Также стоит помнить, что ключи tonapi могут быть ограничены по Origin (домен сайта с которого должны отправляться запросы). В случае с tonkeeper это не так, а если найденный ключ всё же ограничен по домену — для использования его вне браузеров всегда можно добавить требуемый домен в header Origin.

The Open Network.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍 DWF Labs х Bidask

😱😱😱😱😱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Делимся находками в процессе разработки @bidask

Многие разработчики на TON думают, что мод 64 в сообщении гарантирует, что баланс контракта останется таким же, как и до сообщения. И модом 64 они прикрываются, когда нужно отправить ровно 1 сообщение, не поменяв баланс контракта. Короче, используют мод 64 как гарант, что контракт со временем не обнулит свой баланс.

Ирония в том, что на самом деле мод 64 гарантирует, что баланс контракта НЕ УВЕЛИЧИТСЯ.

А всё дело в storage fee. Нюанс в том, что storage fee (плата за хранение информации в блокчейне) взимается с контракта до запуска TVM, то есть контролировать или отследить этот процесс невозможно. Таким образом, мод 64 рассчитывает, что баланс контракта останется таким же, как и ПОСЛЕ снятия storage fee с баланса. То есть balance_after <= balance_before.

Решений много, но глобально они все опираются на механизм raw_reserve и мод сообщения 128.
Для того, чтобы держать баланс контракта всегда одинаковым, нужно при каждом вызове, где нужно будет отправить сообщение, использовать raw_reserve(<нужный баланс>, 0), а в самом последнем сообщении на контракте использовать мод 128. Таким образом, последнее сообщение заберет с собой все остатки баланса, кроме зарезервированного, и это гарантирует (почти), что баланс контракта не изменится.
При таком решении очень важно понимать, что пользователь может прислать недостаточно газа (с учетом storage fee), и контракт упадет, потому что ему либо не хватит на резерв, либо на сообщение.
Вообще, у raw_reserve тоже есть разные моды, советуем ознакомиться.

@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
1 апреля нет большей шутки, чем выложить пост.

@bidask успешно проходит аудит, а мы тем временем решили накодить приколюху для нашего любимого TON-а.

Все мы знаем, что валидаторы плохо кушают, поэтому давайте их поздравим с праздником — днём математика!
Для этого команда @TheOpenDevBlog подготовила адрес, куда можно донатить валидаторам. Смарт-контракт сжигает на газ весь TON, что ему пришлют. Мы поздравили первыми!

Кроме того, отправка туда ваших TON повысит TPS сети, а это не менее важно.

Будьте внимательны — никто не сможет вернуть вам TON, если вы отправите его на этот адрес.

В комментах предлагаем обсудить все способы обмануть контракт. Закрывайте спойлерами ответы)

UPD: в комментах напомнили, что половина комиссий сжигается, поэтому таким образом мы еще и уменьшаем эмиссию TON!

In community we trust.
@TheOpenDevBlog
🔥 Главная идея DEX с концентрированной ликвидностью — это эффективность использования капитала. Но что такое вообще эффективность капитала?

Проще всего её представить в контексте обычной модели Uniswap. Предположим, пользователь открывает позицию на $10к на пару ETH\USDT в пуле с LP fee 0.3% на средний диапазон (1500-2000). Спустя месяц количество заработанных комиссий у него составляет приблизительно $600 (реальные числа с revert.finance). Таким образом его капитал за месяц был использован для свапов на общую сумму равную 600/0.003 = $200к, то есть полностью 20 раз!
Если же зайти на любой CPMM DEX, то там капитал на любой аналогичной высоколиквидной паре за месяц будет использован точно в разы меньше.

Остаётся вопрос: как ещё можно увеличивать показатель эффективности капитала?

Первый вариант — это манипулирование уровнями комиссий в пуле. Например очевидно, что если комиссий вообще не будет (ни комиссий протокола, ни комиссий для провайдеров ликвидности) — то почти наверняка вырастут объёмы торгов и эффективность капитала как следствие (если забыть, что комиссий мы не получим 😀). Комиссии lp провайдеров убирать бессмысленно, а вот с комиссиями протокола разъяснять долго — есть очень подробный ресёрч при содействии Uniswap Foundation на эту тему. Существует также опция использования динамических комиссий, больше всего в этом преуспела Meteora на солане — и её успешный опыт мы активно перенимаем в @bidask.

Очень важной опцией является использование автоматического реинвестирования заработанных комиссий обратно в позицию ликвидности. Да, это работает само собой в любом CPMM DEX, однако для CLMM это редкость, хотя это дает ощутимый прирост к доходности.

Предположим, вы просто положили деньги в банк под 12% годовых. Если вы получаете их ровно раз в год, то ваша доходность за год будет составлять как раз 12%. Если же будете получать их каждый месяц и реинвестировать - доходность будет уже ~12.68%, если же реинвестирование будет происходить непрерывно то это уже ~12.74%. Формула для подсчета APY при непрерывном реинвестировании: e^APR - 1.

Казалось бы, разница не такая большая для 12% годовых, чтобы о ней думать. Однако если представить ситуацию, которая вполне возможна при поставке концентрированной ликвидности на достаточно широкий диапазон, что актуальная цена не вышла из него в течении года — это будут вполне реалистичные 20-30% годовых.
Для 30% годовых непрерывное реинвестирование комиссий приведёт уже к 35% годовым вместо 30%, к 64% вместо 50% без реинвестирования, и так далее.

Учитывая, что существуют киты, которые не так следят за IL, а лишь ждут, пока комиссии полностью не окупят вкладываемую ими ликвидность — подобный буст процентов доходности вполне может сократить годик-другой до цели в 100% ROI.

Над всем этим мы думали на старте разработки @bidask — и реализовали автоматическое реинвестирование комиссий. И даже у невероятно крутой Meteora, с которой нас принято сравнивать, такой киллер фичи нет — в этом мы круче.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Нас можно будет найти на Token 2049.

Наши контакты в био канала.
До встречи! 🌞
Please open Telegram to view this post
VIEW IN TELEGRAM
За каким ЯП на TON будущее?
Anonymous Poll
31%
Tact 🤓
27%
Tolk 🤔
42%
FunC 😎
🔥 Пока в TON, как обычно, происходит балаган, устроим себе пикник во время пира — расскажем про интересный, но уходящий от нас нюанс в разработке смарт контрактов на нашем любимом устаревшем отставшем от жизни и времени и всех конкурентов недоязыке программирования FunC.

В некоторых проектах может потребоваться проверить, что один адрес НЕ равен другому. Многие эту проблему решают очень просто:
ifnot (equal_slices(address1, address2))

Фатальная ошибка.

Нюанс кроется буквально в названии функции — equal_slices не проверяет равенство адресов, она проверяет равенство слайсов.
Дело в том, что в TON существует больше одного способа записать адрес в slice, чтобы он корректно считался ~load_msg_addraddr_std и addr_var. Если записать адрес двумя разными способами, а потом считать, то получится два разных, не равных друг другу слайса, хотя адрес один.

Что же делать? На самом деле, решение простое — кроме equal_slices также проверять, что длина адресов — 267 бит, ведь это длина addr_std.

Нюанс кажется местячковым, но олды знают и помнят, что именно благодаря нему в TON уже происходили взломы.

К сожалению или к счастью, addr_var очень скоро нас покинет. Наши репортеры и очевидцы из тестнета утверждают, что там он уже "пропал" 🫡🫡🫡

Крутая ироничная фраза.
@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
tgBTC лучше бы был...
Anonymous Poll
44%
Jetton
56%
Extra currency
🔥 Мы пообщались с @kyouma из Ton Tech, чтобы выяснить подробности грядущего обновления TON, связанного с новой системой распределения контрактов по шардам.

Главной проблемой, которую и решали мы в @bidask, было то, что система распределения контрактов по шардам была строго детерминированной — брался хэш от state init, получался адрес контракта, и после этого по первым битам адреса определялось, в каком шарде будет контракт. Из-за этого все операции в TON были заметно дольше — ведь транзакция пользователя постоянно "прыгала" по шардам даже там, где это совершенно не нужно.

Решением для этого должны были стать anycast адреса. Не удивляйтесь, если ничего о них не слышали — они больше не поддерживаются. Это механизм, благодаря которому контракты могли делиться и соединяться вместе с шардами для распределения нагрузки на сеть.

На их основе даже был сделан DEX, позволяющий проводить обмены в рамках одного блока. Там не было использовано фишки со сплитом контрактов, просто были точки входа в DEX во всех шардах. Минусом такого подхода было деление ликвидности пар на все шарды и закономерное увеличение слипаджа. Немногие знают, но mainnet версия bidask, хоть и начала писаться до появления LUXNOX, во многом была вдохновлена именно этим решением. Мы следим за экосистемой 🤟

Как эту проблему решили?
Теперь в state init появился новый параметр — fixed_prefix_length. Он дает понять, какое количество бит в начале адреса при деплое можно перезаписать, чтобы контролировать, в какой шард пойдет контракт.

На счет обратной совместимости можно не переживать — на месте fixed_prefix_length раньше был другой, по сути бесполезный параметр, связанный с anycast, поэтому с точки зрения построения state init ничего глобально не изменилось.

При всей кажущейся простоте изменения это, конечно, открывает пространство для множества вещей. Первое, что приходит в голову — jetton, который создает jetton wallet всегда в 1 шарде с контрактом кошелька пользователя. Нам, как разработчикам, это еще вселяет надежду, что наконец кто-то займется обновлением стандарта jetton, который явно морально устарел.

Это сильно улучшит опыт взаимодействия с DeFi, ведь теперь протоколы могут контролировать ончейн, без брутфорса, что будут в 1 шарде. Не сразу, но это принесёт значимые плоды.

@TheOpenDevBlog
Please open Telegram to view this post
VIEW IN TELEGRAM