Часть 1
Полное руководство по расчетам комиссии за газ Ethereum EIP-1559: Базовая комиссия, Максимальная приоритетная комиссия, Максимальная комиссияКогда Ethereum модернизировал свой рынок платы за газ с помощью EIP-1559, транзакции перешли от аукциона первой цены к гибридной системе, включающей Базовые комиссии и Максимальные приоритетные комиссии(чаевые). Как
мы уже упоминали ранее, это ввело новые уровни сложности для транзакций в цепочке.
Чтобы еще больше прояснить это, сегодня мы объясним новые термины и как работать с основными переменными в цепочке, связанными с комиссиями за транзакции EIP-1559.
Новая терминология транзакций EIP-1559Во-первых, напомню: EIP-1559 изменил способ расчета комиссий за транзакции Ethereum и их распределение. Вместо единой цены на газ (
Gas Price) теперь следует обратить внимание на три отдельных значения:
- Базовая комиссия(Base Fee), которая определяется самой сетью. И впоследствии сгорает.
- Максимальная приоритетная комиссия (Max Priority Fee), которая является необязательной, определяется пользователем и выплачивается непосредственно майнерам.
- Максимальная комиссия за газ (Max Fee Per Gas) - это абсолютный максимум, который вы готовы платить за единицу газа, чтобы ваша транзакция была включена в блок. Для краткости и ясности мы будем называть это Максимальной комиссией(Max Fee).
Транзакции, которые включают эти новые поля, известны как
Тип 2(
Type 2), в то время как унаследованные транзакции, содержащие исходное поле единой цены на газ(
Gas Price), остаются поддерживаемыми и известны как
Тип 0(
Type 0).
Примечание. EIP-1559 не вносит изменений в Лимит газа(
Gas Limit), максимальное количество газа, которое может быть использовано. транзакция авторизована для потребления.
Определение базовой комиссииБазовая комиссия определяется сетью Ethereum, а не устанавливается конечными пользователями, желающими совершить транзакции, или майнерами, стремящимися подтвердить транзакции.
Базовая комиссия рассчитана на 50% заполненности блоков и основана на содержании последнего подтвержденного блока. В зависимости от того, насколько заполнен этот новый блок,
Базовая комиссия автоматически увеличивается или уменьшается.
Например:
- Если последний блок был заполнен ровно на 50%, Базовая комиссия останется неизменной].
- Если последний блок был заполнен на 100%, Базовая комиссия увеличится максимум на 12,5% для следующего блока.
- Если последний блок был заполнен более чем на 50%, но менее чем на 100%, Базовая комиссия увеличится менее чем на 12,5%.
- Если последний блок был заполнен на 0%, то есть пуст, Базовая комиссия уменьшится на максимум 12,5% для следующего блока.
- Если последний блок был заполнен более чем на 0%, но менее чем на 50%, Базовая комиссия уменьшится менее чем на 12,5%.
Этот новый механизм призван помочь сгладить комиссии за транзакции и предотвратить внезапные скачки.
Самое важное, о чем следует помнить, когда речь идет о базовой комиссии:
она на 100% автоматическая и считывается непосредственно из сети.
Установка Максимальной приоритетной комиссииМаксимальная приоритетная комиссия (
Max Priority Fee) - также часто называемый чаевыми для майнеров - это «необязательная» дополнительная плата, которая выплачивается непосредственно майнерам, чтобы мотивировать их включить вашу транзакцию в блок. Хотя
Максимальная приоритетная комиссия технически необязательна, на данный момент большинство участников сети оценивают, что транзакции обычно требуют минимальной суммы 2,0 GWEI, чтобы быть кандидатами на включение. С учетом сказанного, определенные пулы майнинга могут установить альтернативные минимумы для включения.
Для «типичных» транзакций, которые отправляются в нормальных, незагруженных условиях сети,
Максимальная приоритетная комиссия должна быть близка к 2,0 GWEI. Но для транзакций, для которых важен порядок или включение в следующий блок, или когда сеть сильно перегружена, может потребоваться более высокая
Максимальная приоритетная комиссия для определения более высокого приоритета вашей транзакции по сравнению с остальными.
Несколько тонким нюансом
Максимальной приоритетной комиссия является то, что он представляет собой
максимальные чаевые, которые вы готовы заплатить майнеру. Однако, если
Базовая комиссия +
Максимальную приоритетная комиссия превышает
Максимальную комиссию(
см. Ниже),
Максимальная приоритетная комиссия будет уменьшена, чтобы сохранить верхнюю границу
Максимальной комиссии. Это означает, что фактические чаевые могут быть меньше, чем ваша
Максимальная приоритетная комиссия, и при таких обстоятельствах ваша транзакция может стать менее привлекательной для майнеров.
Расчет Максимальной комиссииТеперь, когда мы рассмотрели основы
Базовой комиссии и
Максимальной приоритетной комиссии, мы можем заняться несколько нелогичным понятием
Максимальной комиссии.
Максимальная комиссия - это абсолютная максимальная сумма, которую вы готовы заплатить за единицу газа, чтобы ваша транзакция была подтверждена. И здесь все может немного запутаться - учитывая, что в большинстве случаев ваша фактическая комиссия за транзакцию будет меньше, чем
Максимальная комиссия, которую вы указываете заранее. Вот почему:
- Минимальная цена на газ для ваших транзакций - это текущая Базовая комиссия.
- Однако что, если Базовая комиссия увеличится, пока ваша транзакция не завершена? Ваша транзакция станет заниженной, и вы рискуете что транзакция либо зависнет, либо отмениться вовсе. Это нежелательно по всем причинам, которых вы могли ожидать.
- Следовательно, для предсказуемых расчетов по транзакциям в соответствии с EIP-1559 в настоящее время считается лучшей практикой установить Максимальную комиссию, которая предполагает такое увеличение Базовой комиссии. Но насколько? И почему?
- Наш Оценщик газа(Gas Estimator), соответствующий стандарту EIP-1559, в настоящее время использует следующую простую эвристику для расчета рекомендуемой Максимальной комиссии для любой комбинации Базовой комиссии и Максимальной приоритетной комиссии:
Максимальная комиссия = (2 * Базовая комиссия) + Максимальная приоритетная комиссия
Удвоение
Базовой комиссии при расчете
Максимальной комиссии гарантирует, что ваша транзакция будет "ликвидна" в течение шести последовательных 100% полных блоков.
В таблице ниже показано, почему.
Наглядный пример: от "ликвидной" до "неликвидной" транзакции в шести блокахПредположим, ваша транзакция отправлена во время
Блока 1, когда
Базовая комиссия составляет 100,0 GWEI. Вы выбираете
Максимальную приоритетную комиссию 2,0 GWEI, поэтому расчет
Максимальной комиссии составляет
(2 * 100,0 + 2,0) или 202,0 GWEI.
Но как только вы отправляете свою транзакцию, происходит резкое падение NFT и скачок сетевого спроса. Внезапно каждый блок заполняется на 100%, а не на целевые 50%, о которых говорилось выше, поэтому
Базовая комиссия увеличивается максимум на 12,5% за блок.
Таким образом:
Блок| | |БК| | |% Заполненности| | |Увеличение БК| | |Указанная МПК| | |Указанная МК| | |Комиссия за газ в случае подтверждения| | |Газ "Сэкономлен" |
1 | 100.0 GWEI | 100% | 12.5% | 2.0 | 202.0 | 102.0 | 100 |
2 | 112.5 GWEI | 100% | 12.5% | 2.0 | 202.0 | 114.5 | 87.5 |
3 | 126.6 GWEI | 100% | 12.5% | 2.0 | 202.0 | 128.6 | 73.4 |
4 | 142.4 GWEI | 100% | 12.5% | 2.0 | 202.0 | 144.4 | 57.6 |
5 | 160.2 GWEI | 100% | 12.5% | 2.0 | 202.0 | 162.2 | 39.8 |
6 | 180.2 GWEI | 100% | 12.5% | 2.0 | 202.0 | 182.2 | 19.8 |
7 | 202.7 GWEI | - | - | 2.0 | 202.0 | Неприемлемо | -0.7 |
Легенда таблицы:БК - Базовая комиссия
МПК - Максимальная приоритетная комиссия
МК - Максимальная комиссия
Как видите, для удвоения
Базовой комиссии требуется шесть последовательных 100% полных блоков - в данном случае со 100,0 GWEI до 202,7 GWEI.
Фактически, устанавливая
Максимальную комиссию таким образом, ваша транзакция «защищена» от заниженной цены и, следовательно, нерентабельности в случае самого быстрого возможного повышения
Базовой комиссии.
Но что, если
Базовая комиссия не будет увеличиваться так быстро? С вас будет взиматься сумма меньше указанной вами
Максимальной комиссии. Чтобы понять, почему, обратитесь к таблице выше:
- Помните, ваша транзакция была отправлена во время блока 1, когда Базовая комиссия составляла 100,0 GWEI. Вы решили установить Максимальную комиссию за приоритет 2,0 GWEI, поэтому расчет Максимальной комиссии составил 202,0 GWEI.
- Ваша транзакция подтверждается во время Блока 4, когда Базовая комиссия составляет 142,2 GWEI.
- Комиссия за транзакцию определяется суммой Базовой комиссии при подтверждении плюс Максимальная приоритетная комиссия. Таким образом, вы заплатите 144,2 GWEI за газ за транзакцию.
- Это на 57,6 GWEI за газ меньше указанной вами Максимальной комиссии. Эти 57,6 GWEI на газ эффективно «экономятся» и останутся в вашем кошельке.
- Стоит отметить, что ваша Максимальная комиссия не «снимается» с вашего кошелька, а затем некоторая ее часть «возвращается». Вместо этого представьте, что Максимальная комиссия - это порог «максимального разрешенного платежа».
- Если ваша транзакция не была подтверждена до Блока 6, она станет неликвидной - и больше не будет кандидатом на включение - во время Блока 7, поскольку ее Максимальная комиссия в размере 202,0 GWEI упадет чуть ниже новой Базовой комиссии в размере 202,7 GWEI.
Наконец, что, если в приведенном выше сценарии вам не удалось включить коэффициент безопасности 2x в расчет
Максимальной комиссии и вместо этого установить для нее минимум 102,0 GWEI?
- Ваша транзакция будет "ликвидная" во время Блока 1, поскольку ваша Максимальная комиссия все еще превышает Базовую комиссию в 100,0 GWEI.
- Однако к Блоку 2 ваша транзакция станет недооцененной/неликвидной, поскольку ее Максимальная комиссия упадет ниже новой Базовой комиссии в 112,5GWEI
- Ваша транзакция будет оставаться отложенной до тех пор, пока Базовая комиссия не уменьшится и не упадет ниже Максимальной комиссии 102,0 GWEI.
- Или, если сеть сильно перегружена, ваша транзакция может быть вообще прервана.
Вот почему
Максимальная комиссия противоречит здравому смыслу:
- В большинстве случаев - и, вероятно, в подавляющем большинстве случаев - вы будете платить меньше комиссии за транзакцию, чем ваша Максимальная комиссия.
- Но иногда, особенно в периоды высокой загруженности сети, с вас будет взимается Максимальная комиссия.
- Если вы рискнете и установите Максимальную комиссию слишком близко к текущей Базовой комиссии, вы рискуете, что ваша транзакция станет неликвидной и, следовательно, больше не будет иметь права на включение.
Для обеспечения предсказуемости расчетов по транзакциям мы рекомендуем учитывать при расчетах
Максимальной комиссии разумный фактор безопасности.
Читать продолжение