Комиссии на TON

Комиссии на TON

The Daily TON RUS

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


Во-первых, комиссия зависит не от одного, а от сразу нескольких факторов. В официальной документации приводится вот эта формула:


transaction_fee = storage_fees + in_fwd_fees + computation_fees + action_fees + out_fwd_fees


storage_fees – это сумма, которую вы платите за хранение вашего смарт-контракта в блокчейне. В случае с TON каждый кошелек это смарт-контракт, и "рента" за его размещение начисляется буквально каждую секунду, а списывается при получении или отправлении транзакции.


in_fwd_fees – эта комиссия за импорт в блокчейн входящих внешних сообщений. Перед обработкой любого сообщения его необходимо доставить до валидаторов конечного шардчейна, которые его будут обрабатывать. Каждый раз, когда вы создаете транзакцию в приложении (например, Tonkeeper), ваше подписанное сообщение затем должно быть доставлено до определенных валидаторов.


computation_fees – это плата за выполнение кода в виртуальной машине (TVM). Виртуальная машина получает входные параметры из отправленного сообщения и выполняет код смарт-контракта, чем больше инструкций будет выполнено – тем больше комиссия. Всё просто. Выполнение происходит внутри виртуальной машины, поэтому в результате получается список действий (исходящих сообщений).


action_fees – это плата за обработку списка действий, полученных после выполнения кода смарт-контракта. Во время их выполнения происходит отправка исходящих сообщений другим смарконтрактам или другие действия в блокчейне, видимые снаружи.


out_fwd_fees – сумма сборов за импорт исходящих внутренних сообщений. Достается валидаторам конечных шардчейнов.


Суммы комиссий строго зафиксированы в gas, но цена gas может меняться (сейчас 1 gas стоит 1000 nanoTON). Как и множество параметров в TON, цена gas задается в специальном файле* и может быть изменена путем голосования валидаторов. Для того, чтобы изменения были приняты, нужно две трети голосов.


Значит ли это, что однажды gas может вырасти в 1000 или даже больше раз? Технически, да, на деле – нет. Валидаторы получают награду за обработку транзакций и рост комиссий приведет к уменьшению количества переводов, что в свою очередь сделает процесс валидации менее доходным. Поэтому смысла увеличивать стоимость gas – нет.


Комиссии на TON трудно рассчитать заранее, поскольку их размер зависит от времени выполнения транзакции, состояния аккаунта, размера, содержания сообщения, параметров сети, а еще существует много переменных, которые нельзя высчитать до отправки транзакции. Поэтому, кстати, NFT маркетплейсы берут дополнительную сумму TON “на всякий случай” при создании транзакции, а затем возвращают “сдачу”.


Еще раз обращаем внимание, что в TON вы платите как за выполнение смарт-контракта, так и за занятое им место (по формуле байт*секунда). То есть вы платите небольшую часть ваших TON за владение кошельком в сети. Если вы не будете использовать TON-кошелек долгое время, размер комиссии при отправке следующей транзакции возрастет, так как спишется эта “рента”.


Среднее количество транзакций в секунду, согласно tonmon.xyz, сейчас равно 1.4. Даже если это число сильно вырастет, размер комиссий останется прежними (в отличии от других блокчейнов). Благодаря шардингу, TON способен обрабатывать миллионы и, если потребуется, даже десятки миллионов транзакций в секунду.


Сейчас каждая транзакция обходится примерно в 0.0001 TON. Даже если цена TON вырастет в 50 раз, то переводы все еще будут дешевле, чем на многих других блокчейнах. Не стоит забывать, что валидаторы вполне могут уменьшить это значение, если увидят, что переводы стали дорогими.


Большое спасибо подписчику за идею для поста! Было интересно изучить и описать этот непростой аспект TON, надеемся, что у нас это получилось. Будем рады получить вопросы и критику от наших подписчиков через бота


*Текущая стоимость газа записана в конфиге. Формулы расчета всех комиссий и их размер мы оставляем в отдельном сообщении..


Также выражаем большую признательность Нику Некилову, основателю проекта Scaleton, и 

Ивану Недзвецкому, одному из разработчиков маркетплейса Getgems, за помощь в подготовке поста. Особая благодарность Dr. Andreas за консультацию по работе комиссий в TON.


При копировании, пожалуйста, оставляйте ссылку на источник.


@thedailytonrus


Report Page