January 5

Комиссии в сети Solana, Часть 1

Поблагодарить за перевод, можно подписавшись на канал Crypto_Track

@0xShitTrader

Соучредитель Ellipsis Labs

Вступление

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

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

Данный материал открывает цикл статей по этой теме. В этой публикации мы объясняем, как сегодня работают комиссии в Solana, уделяя особое внимание комиссиям, основанным на транзакциях.

Определения

Вот специфичные для Solana определения, необходимые для понимания механизма взимания комиссии.

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

Lamport: наименьшая атомная единица SOL. 1 SOL равен одному миллиарду (10^9) Lamports (лемпортов).

Вычислительная единица (CU): единица вычисления для каждой инструкции Solana-BPF, предназначенная для приблизительного определения стоимости выполнения инструкции. Аналогична газовым единицам в Ethereum.

Используемое CU: количество вычислительных единиц, используемых для выполнения транзакции. Известны только после выполнения транзакции.

Запрошенный CU: указывается транзакцией; если транзакция превышает этот вычислительный бюджет во время выполнения, выполнение останавливается и транзакция завершается неудачей. Максимальная запрашиваемая (и используемая) сумма CU за транзакцию составляет 1 400 000 CU.

Учетная запись: отдельная часть состояния в блокчейне Solana.

Планировщик: механизм непрерывного построения блоков, включенный по умолчанию в клиент Solana, созданный Solana Labs.

Комиссии в Solana

Комиссии за транзакцию

Сегодня транзакция в Solana включает в себя две комиссии: базовую и приоритетную.

Базовая плата фиксированая за подпись в размере 5000 lamports (0,000005 SOL, 0,0003 доллара США по цене 60 долларов США/SOL) за подпись; подавляющее большинство транзакций Solana имеют одну подпись.

Дополнительная плата за приоритет указана в транзакции и выражена в microlamports за каждый запрошенный CU. Обратите внимание, что это не относится к используемому CU, поскольку используемый CU неизвестен до тех пор, пока транзакция не будет выполнена. Транзакции с более высокой комиссией за приоритет недетерминированно распределяются планировщиком по приоритетам. Конкретный механизм описан в разделе Жизненный цикл транзакции в Solana.

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

Как для базовой комиссии, так и для приоритетной комиссии 50% удерживается лидером в качестве стимула для включения транзакций в блоки, а 50% сжигается.

В этом примере транзакция запрашивает 600 000 вычислительных единиц и устанавливает плату за приоритет в размере 2500 microlamports за каждый запрошенный CU. Поскольку транзакция имеет одну подпись, общая комиссия за транзакцию составляет 5000 lamports + запрошенные 600 000 CU * 2500 lamports / запрошенный CU = 6500 lamports, или 0,0000065 SOL.

Комиссии за состояние

Solana дополнительно взимает комиссию за создание нового состояния, называемого освобождением от ренты (устаревший термин). Текущая стоимость освобождения от ренты составляет статические 6,96 SOL за мегабайт. Когда создается новая учетная запись, для нее назначается комиссия; когда учетная запись удаляется, ее комиссия за освобождение от ренты может быть возвращена.

Комментарий

Стимулы к повышению эффективности

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

В приведенном выше примере транзакция запрашивает 600 000 CU, но использует менее 250 000.

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

Совместимость стимулов

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

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

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

Помимо прямой вертикальной интеграции, основным способом, которым мы видим эту побочную сделку на рынке сегодня, являются аукционы Jito. Валидаторы, использующие Jito-Solana (модификацию клиента Solana Labs), нарушают непрерывный механизм построения блоков, проводя аукцион на блокспейс в первой половине своих слотов.

Других таких побочных сделок на рынке сегодня мы не наблюдали. Это потому что:

  • Клиент валидатора и его планировщик сложны для модификации, поэтому создание такой структуры требует значительных постоянных затрат. Программное обеспечение вне протокола, такое как Jito-Solana, и делегированные соглашения о построении блоков, такие как PBS на Ethereum, амортизируют постоянные затраты среди всех участвующих валидаторов.
  • Подавляющее большинство доходов валидатора поступает от инфляционных вознаграждений, а не комиссий за транзакции, поэтому выгода относительно невелика.

Локализованные рынки пошлин

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

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

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

Предсказуемая базовая комиссия для доступа к состоянию, обеспечиваемая консенсусом и основанная на исторической конфликтности, может повысить эффективность и удобство использования при доступе к состоянию с высоким уровнем конфликтности. Это увеличило бы стоимость рассылки спама, одновременно дополнительно стимулируя отправителей транзакций блокировать минимальный объем данных, который им действительно требуется. Это не устранило бы основную причину спама, которая возникает из-за непрерывного создания блоков (поэтому важна задержка) и дрожания. Мы рассмотрим этот дизайн позже в этой серии.

Внешние факторы

Поскольку транзакции в первую очередь упорядочиваются по времени их поступления к лидеру (планировщику), и этот порядок подвержен как сетевому дрожанию, так и дрожанию из-за реализации распараллеленного планировщика, существует стимул для рассылки спама транзакциям, когда отправитель хочет, чтобы они были включены как можно быстрее. Такие транзакции приводят к негативным внешним воздействиям на сеть в виде спама, попадающего в сеть (по состоянию на январь 2023 года 58% вычислений Solana в сети используется для возврата транзакций), и спама, достигающего лидеров.

От Jito Labs

Вывод

В этой статье мы описали, как механизм взимания комиссии в Solana работает сегодня, и его последствия для сети. Мы указали на некоторые свойства, которые удовлетворял бы идеальный механизм взимания комиссии, такие как точные подсказки планировщику (по запросу CU), совместимость стимулов и настоящие локализованные рынки пошлин. В следующей части мы определим подход для постановки целей, который должен оптимизировать механизм взимания комиссий. Это позволит более тщательно проанализировать текущий механизм взимания комиссий, а также предлагаемые изменения.

Перевод подготовлен каналом Crypto_Track

Ссылка на статью: Комиссии в сети Solana, часть 1: Механизм взимания комиссии в сети Solana (umbraresearch.xyz)