Перейти к содержимому

Бесплатные транзакции и защита от спама

Каждая транзакция в сети 2D бесплатна. Здесь нет цены на газ, рынка комиссий и механизма EIP-1559 baseFee. Поле effectiveGasPrice в квитанции (receipt) всегда равно нулю, как и gasPrice в объекте транзакции. Кошельки отображают нулевую комиссию.

Это возможно благодаря тому, что в сети 2D работает единственный производитель блоков (producer). Аукциона за место в блоке не существует. Производитель включает каждую валидную транзакцию в следующий блок с единственным ограничением: антиспам-троттлингом.

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

Если отправитель превышает порог, каждая последующая транзакция получает экспоненциальную задержку:

Транзакции сверх порогаЗадержка
12 секунды
24 секунды
38 секунд
416 секунд
532 секунды
Максимум1 час (потолок)

Транзакция при этом не отклоняется. Она остается в пуле ожидания и включается в блок после истечения времени задержки. Отправитель видит статус “pending” в своем кошельке, и в конечном итоге транзакция подтверждается.

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

С точки зрения кошелька 2D ведет себя как обычная EVM-совместимая сеть с gasPrice = 0:

  • eth_gasPrice возвращает 0x0.
  • eth_estimateGas возвращает константу 0x5208 (21000) для любых входных данных; кошелькам требуется ненулевое значение для поля «ожидаемая комиссия» (estimated fee), но фактически газ не учитывается и средства не списываются.
  • Квитанции (receipts) показывают gasUsed и effectiveGasPrice = 0.
  • За газ ничего не списывается, переводится только сумма транзакции.

MetaMask, TronLink и другие кошельки работают без необходимости изменения конфигурации. Поля, связанные с газом, присутствуют (это требование спецификации JSON-RPC), но их значения всегда равны нулю.

Троттлинг — это ответственность исключительно производителя блоков. Он определяет, когда транзакция попадет в блок, а не ее валидность. Узел-верификатор не выполняет логику троттлинга. Он воспроизводит каждый блок “как есть” и проверяет корень состояния (state root).

Это означает, что параметры троттлинга (размер окна, порог, кривая задержки) можно изменять без обновления протокола. Разные производители блоков могут использовать различные параметры. Консенсус сети остается неизменным: комиссия всегда равна нулю, каждая включенная транзакция должна быть валидна, а корень состояния — детерминирован.

Поскольку комиссии за транзакции отсутствуют, доход 2D формируется из других источников:

  • Доходность (float yield) от USDC-депозитов, хранящихся в сети.
  • Подписки на бизнес-API для высоконагруженных интеграций.
  • Комиссии за bridge-out (вывод USDC обратно в сети Tron или Ethereum).