Комиссии и рента в Solana: разбор

·6 мин. чтения·Автор: SSP Editorial Team
Обложка SSP Academy: комиссии и рента в Solana

Комиссии и рента в Solana: разбор

У Solana репутация сети, пользоваться которой почти бесплатно, и для обычных переводов эта репутация заслужена. Но за «почти бесплатно» скрывается устройство, которое стоит понимать: расходы, с которыми вы сталкиваетесь в кошельке для самостоятельного хранения, — не все комиссии, а самое большое число, которое вы когда-либо увидите в Solana, это деньги, остающиеся у вас.

Эта статья разбирает, что именно вы платите при отправке SOL или токена SPL из SSP, с настоящими цифрами вместо круглых. Если вы ещё не читали, как SSP вообще хранит SOL, основой служит материал Solana в SSP.

Три вещи, за которые вы действительно платите

Любая транзакция Solana может нести три разных расхода, и путаница начинается именно с их смешения.

Базовая комиссия — это то, что сеть берёт за обработку вашей транзакции. Приоритетная комиссия необязательна и покупает вашей транзакции лучшее обращение, когда сеть загружена. Рента — вовсе не комиссия: это возвратный депозит, который держит аккаунт живым в сети.

Тратятся только первые две. Рента откладывается. Понять это различие — уже добрая половина дела.

Базовые комиссии: дёшево и предсказуемо

Solana берёт 5000 лампортов за подпись — 0,000005 SOL. Это и есть вся модель базовой комиссии. Она не меняется ни от размера отправляемой суммы, ни от сложности вызываемой программы, ни от времени суток.

У простого перевода SOL одна подпись, и он стоит 5000 лампортов. Транзакция с тремя подписями стоит 15 000. При любой правдоподобной цене SOL это ошибка округления — именно поэтому Solana используют для тех мелких и частых платежей, которые в другом месте были бы невыгодны. Документация по комиссиям Solana — первоисточник.

Если вы пришли с Ethereum, контраст резкий: там комиссия растёт вместе с вычислениями и загруженностью, порой на порядки. Комиссии за газ в Ethereum: объяснение для тех, кто хранит сам разбирает ту модель.

Приоритетные комиссии: покупка места в очереди

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

В mainnet SSP задаёт приоритетную комиссию в 50 000 микролампортов за вычислительную единицу. Отправка потребляет примерно 10 000 вычислительных единиц, так что приоритетная комиссия выходит около 500 лампортов, то есть 0,0000005 SOL.

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

Рента — это депозит, а не комиссия

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

Цифры по аккаунтам, которые создаёт SSP:

  • Мультиподписной аккаунт (86 байт) — около 0,00149 SOL
  • Аккаунт долговременного nonce (80 байт) — около 0,00145 SOL
  • Ассоциированный токен-аккаунт (165 байт) — около 0,00204 SOL

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

Поэтому ваша первая отправка Solana в SSP — дорогая, и поэтому она не повторяется. Вы платите не за подключение; вы финансируете аккаунты, благодаря которым работает всё дальнейшее.

Что берёт SSP, по строкам

Каждое число здесь взято из опубликованного тарифа SSP, а не из оценки.

Что произошлоСтоимостьЧто это
Первая отправка из нового хранилища3 200 000 лампортов (~0,0032 SOL)Рента мультиподписи + рента nonce + сетевая комиссия
Каждая следующая отправка100 000 лампортов (~0,0001 SOL)Сетевая комиссия плюс небольшая надбавка
Отправка токена SPL новому получателю+ 2 500 000 лампортов (~0,0025 SOL)Рента токен-аккаунта получателя

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

Проверка отправки Solana в SSP Wallet, тёмная тема

Точная комиссия показывается на экране проверки до подписи — декодированной из байтов транзакции, а не сообщённой сервером. Ваши устройства дополнительно применяют независимый потолок: возмещение выше максимума, который SSP считает правдоподобным, трактуется как атака и блокирует подпись, что бы ни утверждал любой сервер.

Почему хранилище возмещает paymaster

В Solana аккаунт, оплачивающий комиссию транзакции, — fee payer — обязан её подписать. Для только что созданного мультиподписного хранилища это настоящая проблема запуска: хранилищу нужен SOL, чтобы оплатить ровно ту транзакцию, которая создала бы его аккаунты, а этих аккаунтов ещё нет.

Relay SSP управляет paymaster, который подписывается как fee payer, авансирует сетевую комиссию и любую ренту и получает возмещение от вашего хранилища внутри той же транзакции. Инструкция возмещения входит в предложение, которое одобряют два ваших устройства: без обеих подписей она не исполнится, а подменить её чем-то другим незаметно для проверки декодирования нельзя.

Практическое следствие в том, что отдельный баланс на газ вам не нужен никогда. Получайте SOL, отправляйте SOL. Если paymaster как общий приём вам в новинку, спонсирование газа и paymaster, объяснение раскрывает идею, а долговременные nonce и подпись двумя устройствами объясняет вторую половину того, что делает подпись двумя устройствами возможной в Solana.

Экран активности в SSP Wallet, тёмная тема

Как вернуть SOL

Рентные депозиты возвращаются, но механизм зависит от аккаунта.

Токен-аккаунты владелец может закрыть, когда баланс равен нулю, вернув примерно по 0,002 SOL за каждый. Если у вас накопились токен-аккаунты для токенов, которых вы больше не держите, — включая присланные без спроса, — их закрытие возвращает реальные SOL. Токены SPL и токен-аккаунты в SSP объясняет, что это за аккаунты.

Мультиподписной аккаунт и аккаунт nonce остаются профинансированными весь срок жизни хранилища. Их депозиты возвращаются только при полном выводе хранилища из эксплуатации, а это не делают между делом: именно эти аккаунты делают ваш адрес расходуемым.

Практический вывод скромный: считайте те примерно 0,003 SOL, что стоят за вашим хранилищем, частью хранилища, а не доступным балансом, и не удивляйтесь, если показатель «доступно» в кошельке окажется чуть ниже сырого ончейн-числа.

Пошаговую механику отправки, включая то, где каждое из этих чисел появляется на экране, см. в материале отправка Solana через SSP.

Поделиться статьёй

Похожие статьи