Многомерный EIP-1559 возник как тема исследования после представления Виталиком Бутериным в EthResearch поств январе 2022 года. Хотя этот вопрос не получил такого же внимания, как другие исследовательские темы, такие как rollups, MEV или решения для доступа к данным, это активная область исследований. Недавно опубликованные научные статьиГильермо Ангерис и Тео Диамандисисследовать теоретические основы и надежность многомерных рынков комиссий и предложить, как они должны быть построены.
Фактически, многомерные рынки комиссий уже используются сегодня. С принятием EIP-4844 в марте 2024 года Ethereum представил газ blob, создавая отдельный рынок комиссий для транзакций blob. Это стало сдвигом от одномерной модели газа к двумерному рынку комиссий.
Однако все еще существует необходимость увеличить количество измерений ресурсов для оптимизации использования ресурсов транзакций. Расширение многомерных рынков комиссий является решением масштабируемости для улучшения способности Ethereum управлять разнообразными ресурсами более эффективно.
Эта статья исследует важность и механику многомерных рынков газовых сборов, объясняя, как они улучшают масштабируемость и распределение ресурсов Ethereum.
Давайте сначала вглубь разберемся, что такое многомерное ценообразование на газ.
Многомерная ценовая политика по газу - это решение масштабирования L1, как увеличение предела газанедавноРеализованына Ethereum. Хотя она не прямо увеличивает общую пропускную способность Ethereum, она максимизирует использование ресурсов в пределах существующих ограничений. Это позволяет большему числу децентрализованных приложений (DApps) и пользователям совершать транзакции на базовом уровне Ethereum без лишней перегрузки.
В настоящее время Ethereum объединяет все затраты на ресурсы, такие как вычисления, хранение и пропускная способность, в единицу газа. Многомерное ценообразование на газ вместо этого разделяет эти ресурсы, оптимизируя их распределение, сохраняя при этом безопасность и децентрализацию Ethereum.
Чтобы понять, почему это выгодно, давайте рассмотрим аналогию из реального мира.
Представьте себе фитнес-клуб с различными удобствами, такими как беговые дорожки для кардио, стойки для приседаний для силовых тренировок и гантели для общего использования. У участников разные предпочтения: некоторые используют исключительно беговые дорожки, другие фокусируются на стойках для приседаний, а некоторые чередуют оба варианта.
В системе, где спортзал взимает фиксированную плату за вход на основе общего количества участников, возникают неэффективности. В дни, когда беговые дорожки переполнены, а тренажеры для приседаний недоиспользуются, фиксированная плата растет для всех, заставляя тренеров по весу платить за перегрузку, которую они не вызвали. Аналогично, когда тренажеры для приседаний пользуются большим спросом, а беговые дорожки пустуют, пользователи кардиотренировок несут ненужные затраты. Это одномерное ценообразование связывает способность спортзала с его наиболее перегруженным ресурсом, создавая недоиспользование других удобств. Это можно рассматривать как одномерную модель ценообразования.
Теперь представьте, что в спортзале вводится многомерная ценовая модель. Вместо фиксированной платы взимается отдельная плата за беговые дорожки и стойки для приседаний. Пользователи кардио и тренажеров для поднятия весов больше не влияют друг на друга, и спортзал может оптимизировать свою мощность, управляя этими ресурсами независимо. Благодаря более сбалансированному использованию спортзал может вместить больше пользователей без увеличения общей загруженности.
Этот подход демонстрирует суть многомерной ценообразования: разделение ресурсов на отдельные рынки для улучшения справедливости и эффективности. Однако излишняя детализация, такая как отдельное ценообразование для каждого оборудования, может внести ненужную сложность и усложнить использование системы. Поэтому на практике фитнес-клубы в основном имеют фиксированную цену за входной билет и настаивают на одномерной модели ценообразования.
Точно так же, как отдельные сборы за беговые дорожки и стойки для приседаний могут уменьшить заторы, Ethereum может использовать отдельные рынки ресурсов, таких как вычисления и использование данных.
Перед EIP-4844 Ethereum использовал одномерную модель ценообразования для газа, в которой все ресурсы транзакции, включая вычисления, хранение и пропускную способность, были объединены в одну метрику: газ. Эта модель неизбежно приводит к неэффективности, аналогично аналогии с фитнес-клубом:
Одним из ярких примеров этой неэффективности является то, как ранее роллапы хранили данные о транзакциях. До EIP-4844 роллапы размещали данные о своих транзакциях в поле calldata Ethereum и оплачивали газовые сборы на основе ценообразования calldata. Однако с принятием EIP-4844 в марте 2024 года роллапы теперь используют отдельную единицу под названием газовый блоб, что позволяет им хранить данные в специальных структурах, называемых блобами.
Хотя EIP-4844 представил второе измерение газа (газ блоба) для данных rollup, оно остается ограниченным в области применения: Газ блоба применяется только к транзакциям блоба. Другие компоненты транзакции, включая выполнение EVM, calldata и хранение, все еще оцениваются по единой модели газа. Транзакции Ethereum все еще потребляют несколько независимых ресурсов, но все они оцениваются в газе, что приводит к неэффективным крайним случаям.
Например, предположим, что одна транзакция потребляет весь предел газа (в настоящее время 36 миллионов) при выполнении в EVM. Даже если узлы Ethereum могли бы безопасно обрабатывать большие размеры данных, транзакция не может распространять дополнительные данные, поскольку газ рассматривается как единственное ограничение, а не как несколько независимых пределов.
Эта проблема становится еще более очевидной, если посмотреть на распределение размера блоков Ethereum. С июля 2024 года по декабрь 2024 года средний размер блока составлял ~73 КБ, при этом большинство блоков были значительно меньше 100 КБ. Однако в блоке #21419230, максимальный размер блока достиг 1,48 МБ, в 20 раз больше среднего.
Многомерное ценообразование по газу решает эту проблему, обрабатывая каждый ресурс независимо: вычисления, хранение и пропускная способность имеют отдельное ценообразование и ограничения. Это разделение предотвращает узкие места, где один ресурс доминирует в затратах на газ и оптимизирует мощность без увеличения рисков безопасности.
Статьи Виталика Бутерина предлагают несколько ключевых типов ресурсов для разделения. Давайте рассмотрим эти кандидатские ресурсы и почему их разделение может улучшить масштабируемость Ethereum.
При проектировании многомерного рынка сборов независимость ресурсов является одним из самых важных факторов. Если два взаимозависимых ресурса помещаются на отдельные рынки сборов, это может привести к неэффективности, неправильной ценообразование и избыточной сложности. Например, если вычисления (циклы ЦП) и использование памяти (ОЗУ) ценятся отдельно, но одно зависит от другого, пользователи могут манипулировать системой, перераспределяя затраты между собой, что приведет к неоптимальному ценообразованию.
Таким образом, прежде чем классифицировать ресурсы Ethereum на отдельные рынки газа, мы должны сначала определить, какие ресурсы достаточно независимы, чтобы их можно было ценить отдельно без искажения сетевой экономики.
По своей сути узел Ethereum — это компьютер, управляющий несколькими ресурсами параллельно. Традиционные аппаратные ресурсы категоризируются на отдельные компоненты, которые могут оптимизироваться независимо друг от друга:
Основной принцип здесь - параллелизуемость: если система может независимо обрабатывать эти ресурсы, их разделение для ценообразования имеет смысл. Применяя это к Ethereum, мы должны стремиться классифицировать ресурсы Ethereum таким образом, чтобы узлы Ethereum могли работать как можно более эффективно без необходимых зависимостей.
В отличие от компьютеров, операции Ethereum не вписываются в одну категорию. Многие операции потребляют несколько ресурсов одновременно, что затрудняет их идеальное разделение. Например
Эти взаимозависимости делают нецелесообразным выделение каждого отдельного ресурса в отдельный ценовой рынок. Вместо этого мы должны сосредоточиться на наиболее существенных узких местах, непосредственно влияющих на масштабируемость Ethereum.
Поскольку операции Ethereum включают множество ресурсов, кандидаты на обсуждение многомерной ценообразования в настоящее время включают:
Согласовывая эти категории с тем, как компьютерные системы управляют ресурсами, мы можем сделать структуру комиссий Ethereum более интуитивно понятной и эффективной.
В теории мы могли бы разделить ресурсы Ethereum на еще более мелкие категории, однако это привело бы к увеличению сложности без пропорциональной выгоды. Вместо этого мы должны сосредоточиться на основных узких местах, которые сегодня ограничивают производительность Ethereum.
Например, размер данных вызова транзакции напрямую определяет максимальный размер блока, что делает его критически важным узким местом для уровня консенсуса Ethereum. Кроме того, необходимо контролировать рост хранилища, чтобы полные узлы не становились слишком дорогими для работы, поддерживая децентрализацию.
Таким образом, вместо введения слишком многих измерений, сосредотачиваясь на нескольких ключевых ресурсах, которые доминируют в эффективности Ethereum, практичнее.
Идентифицировав эти первичные ресурсы, мы можем исследовать два различных способа реализации многомерной ценообразования: отдельные рынки сборов или модифицированные единицы газа.
Один из подходов к реализации многомерной ценообразования на газ заключается в создании независимых рынков сборов для каждого ресурса, что обеспечивает более эффективное распределение. Этот метод уже был частично реализован через EIP-4844, который ввел blob gas в качестве отдельной единицы для хранения данных роллапа.
Эта концепция может быть распространена на другие ресурсы, такие как рост штата или размер свидетеля, что позволяет Ethereum управлять ограничениями каждого ресурса отдельно, а не объединять все затраты в рамках одной газовой метрики.
Для формализации этого подхода давайте определим bi как базовую плату за ресурс i, gi как потребление ресурса i в транзакции, а ki как лимит ресурса i в одном блоке.
Общая комиссия за транзакцию будет вычисляться как ibi*gi, и блок должен удовлетворять ограничению all txbi ki , для всех i для всех ресурсов i. Как и в текущей модели EIP-1559, bi динамически корректируется на основе предыдущего использования блока. Ethereum могла бы принять экспоненциальные модели ценообразования (как используется для газа blob) или другой механизм обновления комиссий для регулирования потребления ресурсов.
Модель рынка раздельных комиссий имеет ключевые преимущества. Он обеспечивает точный контроль над каждым ресурсом, допуская независимое ограничение, что помогает избежать неэффективных оценок в худшем случае в рамках текущей газовой модели. Это также предотвращает ненужные перегрузки, гарантируя, что высокий спрос на один ресурс не приведет к непропорциональному увеличению платы за несвязанные операции. Кроме того, этот подход оптимизирует использование сети, позволяя напрямую ограничивать такие факторы, как распространение данных, такие как ограничение до 1 МБ или рост штата, вместо того, чтобы полагаться на косвенные корректировки цен на газ для регулирования потребления ресурсов.
В то время как отдельные рынки комиссий обеспечивают более эффективное распределение ресурсов, слишком детализированное разделение ресурсов создает значительные сложности. Создание независимых рынков для каждого типа ресурсов потребует серьезных модификаций протокола, что потенциально дестабилизирует базовый уровень Ethereum. Децентрализованные приложения и кошельки также столкнутся с дополнительными проблемами, поскольку им нужно будет отслеживать несколько рынков комиссий и прогнозировать колебания базовых комиссий для каждого ресурса, что затруднит экономически эффективное и своевременное включение транзакций.
Еще одна проблема возникает, когда на одном ресурсе наблюдается непредсказуемый скачок цен. Даже если кошелек оптимизирует комиссии для всех других ресурсов, внезапный всплеск только на одном рынке комиссий может помешать включению транзакции в блок, что приведет к неопределенности и неэффективности для пользователей.
Валидаторы сталкиваются с аналогичными проблемами, поскольку их целью является максимизация доходов при соблюдении ограничений каждого ресурса. При увеличении количества независимых рынков ресурсов эта ситуация становится сложной задачей оптимизации, напоминающей многомерную задачу о рюкзаке, где выбор наиболее прибыльных транзакций становится все более сложным.
Некоторые утверждают, что эта сложность может быть не столь существенной проблемой, поскольку доход от Максимально Извлекаемой Стоимости (MEV) вносит значительный вклад в прибыль валидаторов, делая приоритетные комиссии менее критичными в их принятии решения. Тем не менее, общая осуществимость реализации полностью отдельных рынков комиссий для каждого ресурса остается открытым исследовательским вопросом, требующим дальнейшего изучения компромиссов между эффективностью, удобством использования и стабильностью сети.
Более простой альтернативой полному разделению рынков комиссий является сохранение газа в качестве основной единицы при одновременном изменении способа расчета комиссий. Вместо введения новых единиц для каждого ресурса общая комиссия за транзакцию определяется ресурсом, который потребляет наибольшее количество газа.
Определим стоимость газа для ресурса i как ci, а количество используемого ресурса как gi. Комиссия за транзакцию определяется следующим образом:
(c1g1 , c2g2 , c3*g3,…)
Вместо того, чтобы суммировать использование газа по ресурсам, плата за транзакцию взимается только за самый дорогой ресурс, который она потребляет.
Например, рассмотрим транзакцию, которая потребляет 50 000 газа для выполнения EVM и 200 000 газа для calldata. В соответствии с этой моделью, комиссия за транзакцию составляет 200 000 газа, поскольку calldata является доминирующим ресурсом, а стоимость выполнения фактически игнорируется.
Хотя этот метод упрощает ценообразование, он вводит потенциальные проблемы:
Несмотря на эти опасения, основное преимущество этого подхода заключается в его простоте. Сохраняя газ как универсальную единицу ценообразования, Ethereum избегает сложности управления несколькими единицами ресурсов, сохраняя при этом различие между разными типами использования ресурсов.
EIP-7623, которое будет реализовано в Обновление Pectra, следует аналогичному, но немного модифицированному подходу. Он вводит механизм двойного ценообразования для транзакций с большим объемом данных, обеспечивая, что транзакции с неразумно высоким использованием данных будут платить более высокие комиссии. Хотя это не полноценная многомерная модель ценообразования газа, это представляет собой шаг к лучшему разграничению ресурсов без переделывания структуры газа Ethereum.
EIP-7623 вводит повышенные комиссии за транзакции доступности данных (DA), особенно когда использование calldata значительно превышает использование газа выполнения. Этот механизм гарантирует, что транзакции, потребляющие избыточные calldata, платят более высокие комиссии, отговаривая от ненужного хранения данных без необходимости в новых единицах ценообразования.
Упрощенный вариант расчета газа EIP-7623 выглядит следующим образом:
total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
Что еще больше упрощает:
total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)
Эта формула определяет общее использование газа, взяв максимум между газом выполнения и газом calldata. Если транзакция в основном использует calldata, ей будут начисляться более высокие сборы за calldata, а не субсидироваться более низкими затратами на выполнение. Это отпугивает избыточное хранение данных, обеспечивая при этом, что транзакции с высокой вычислительной нагрузкой не подвергаются несправедливому наказанию.
EIP-7623 - это упрощенная версия многомерной цены на газ, потому что он вводит неявное различие между газом исполнения и газом calldata, поощряя более сбалансированное распределение сетевых ресурсов.
Хотя многомерное ценообразование на газ часто рассматривается как экономическое или улучшение UI/UX, это фундаментальное улучшение масштабируемости, которое позволяет оптимизировать выделение ресурсов. Однако его внедрение сталкивается с серьезными проблемами, в первую очередь из-за значительных модификаций протокола, необходимых и из-за сложности полного отделения типов ресурсов. В результате, многомерное ценообразование на газ вряд ли будет принято в ближайшее время.
Несмотря на эти вызовы, многомерное ценообразование на газ предлагает существенные преимущества, включая улучшенное использование ресурсов, повышенную безопасность сети и устойчивую работу узла. Обеспечение более эффективного использования вычислительных и хранилищных мощностей Ethereum представляет собой жизнеспособный путь для масштабирования Ethereum с сохранением децентрализации и безопасности.
Пригласить больше голосов
Многомерный EIP-1559 возник как тема исследования после представления Виталиком Бутериным в EthResearch поств январе 2022 года. Хотя этот вопрос не получил такого же внимания, как другие исследовательские темы, такие как rollups, MEV или решения для доступа к данным, это активная область исследований. Недавно опубликованные научные статьиГильермо Ангерис и Тео Диамандисисследовать теоретические основы и надежность многомерных рынков комиссий и предложить, как они должны быть построены.
Фактически, многомерные рынки комиссий уже используются сегодня. С принятием EIP-4844 в марте 2024 года Ethereum представил газ blob, создавая отдельный рынок комиссий для транзакций blob. Это стало сдвигом от одномерной модели газа к двумерному рынку комиссий.
Однако все еще существует необходимость увеличить количество измерений ресурсов для оптимизации использования ресурсов транзакций. Расширение многомерных рынков комиссий является решением масштабируемости для улучшения способности Ethereum управлять разнообразными ресурсами более эффективно.
Эта статья исследует важность и механику многомерных рынков газовых сборов, объясняя, как они улучшают масштабируемость и распределение ресурсов Ethereum.
Давайте сначала вглубь разберемся, что такое многомерное ценообразование на газ.
Многомерная ценовая политика по газу - это решение масштабирования L1, как увеличение предела газанедавноРеализованына Ethereum. Хотя она не прямо увеличивает общую пропускную способность Ethereum, она максимизирует использование ресурсов в пределах существующих ограничений. Это позволяет большему числу децентрализованных приложений (DApps) и пользователям совершать транзакции на базовом уровне Ethereum без лишней перегрузки.
В настоящее время Ethereum объединяет все затраты на ресурсы, такие как вычисления, хранение и пропускная способность, в единицу газа. Многомерное ценообразование на газ вместо этого разделяет эти ресурсы, оптимизируя их распределение, сохраняя при этом безопасность и децентрализацию Ethereum.
Чтобы понять, почему это выгодно, давайте рассмотрим аналогию из реального мира.
Представьте себе фитнес-клуб с различными удобствами, такими как беговые дорожки для кардио, стойки для приседаний для силовых тренировок и гантели для общего использования. У участников разные предпочтения: некоторые используют исключительно беговые дорожки, другие фокусируются на стойках для приседаний, а некоторые чередуют оба варианта.
В системе, где спортзал взимает фиксированную плату за вход на основе общего количества участников, возникают неэффективности. В дни, когда беговые дорожки переполнены, а тренажеры для приседаний недоиспользуются, фиксированная плата растет для всех, заставляя тренеров по весу платить за перегрузку, которую они не вызвали. Аналогично, когда тренажеры для приседаний пользуются большим спросом, а беговые дорожки пустуют, пользователи кардиотренировок несут ненужные затраты. Это одномерное ценообразование связывает способность спортзала с его наиболее перегруженным ресурсом, создавая недоиспользование других удобств. Это можно рассматривать как одномерную модель ценообразования.
Теперь представьте, что в спортзале вводится многомерная ценовая модель. Вместо фиксированной платы взимается отдельная плата за беговые дорожки и стойки для приседаний. Пользователи кардио и тренажеров для поднятия весов больше не влияют друг на друга, и спортзал может оптимизировать свою мощность, управляя этими ресурсами независимо. Благодаря более сбалансированному использованию спортзал может вместить больше пользователей без увеличения общей загруженности.
Этот подход демонстрирует суть многомерной ценообразования: разделение ресурсов на отдельные рынки для улучшения справедливости и эффективности. Однако излишняя детализация, такая как отдельное ценообразование для каждого оборудования, может внести ненужную сложность и усложнить использование системы. Поэтому на практике фитнес-клубы в основном имеют фиксированную цену за входной билет и настаивают на одномерной модели ценообразования.
Точно так же, как отдельные сборы за беговые дорожки и стойки для приседаний могут уменьшить заторы, Ethereum может использовать отдельные рынки ресурсов, таких как вычисления и использование данных.
Перед EIP-4844 Ethereum использовал одномерную модель ценообразования для газа, в которой все ресурсы транзакции, включая вычисления, хранение и пропускную способность, были объединены в одну метрику: газ. Эта модель неизбежно приводит к неэффективности, аналогично аналогии с фитнес-клубом:
Одним из ярких примеров этой неэффективности является то, как ранее роллапы хранили данные о транзакциях. До EIP-4844 роллапы размещали данные о своих транзакциях в поле calldata Ethereum и оплачивали газовые сборы на основе ценообразования calldata. Однако с принятием EIP-4844 в марте 2024 года роллапы теперь используют отдельную единицу под названием газовый блоб, что позволяет им хранить данные в специальных структурах, называемых блобами.
Хотя EIP-4844 представил второе измерение газа (газ блоба) для данных rollup, оно остается ограниченным в области применения: Газ блоба применяется только к транзакциям блоба. Другие компоненты транзакции, включая выполнение EVM, calldata и хранение, все еще оцениваются по единой модели газа. Транзакции Ethereum все еще потребляют несколько независимых ресурсов, но все они оцениваются в газе, что приводит к неэффективным крайним случаям.
Например, предположим, что одна транзакция потребляет весь предел газа (в настоящее время 36 миллионов) при выполнении в EVM. Даже если узлы Ethereum могли бы безопасно обрабатывать большие размеры данных, транзакция не может распространять дополнительные данные, поскольку газ рассматривается как единственное ограничение, а не как несколько независимых пределов.
Эта проблема становится еще более очевидной, если посмотреть на распределение размера блоков Ethereum. С июля 2024 года по декабрь 2024 года средний размер блока составлял ~73 КБ, при этом большинство блоков были значительно меньше 100 КБ. Однако в блоке #21419230, максимальный размер блока достиг 1,48 МБ, в 20 раз больше среднего.
Многомерное ценообразование по газу решает эту проблему, обрабатывая каждый ресурс независимо: вычисления, хранение и пропускная способность имеют отдельное ценообразование и ограничения. Это разделение предотвращает узкие места, где один ресурс доминирует в затратах на газ и оптимизирует мощность без увеличения рисков безопасности.
Статьи Виталика Бутерина предлагают несколько ключевых типов ресурсов для разделения. Давайте рассмотрим эти кандидатские ресурсы и почему их разделение может улучшить масштабируемость Ethereum.
При проектировании многомерного рынка сборов независимость ресурсов является одним из самых важных факторов. Если два взаимозависимых ресурса помещаются на отдельные рынки сборов, это может привести к неэффективности, неправильной ценообразование и избыточной сложности. Например, если вычисления (циклы ЦП) и использование памяти (ОЗУ) ценятся отдельно, но одно зависит от другого, пользователи могут манипулировать системой, перераспределяя затраты между собой, что приведет к неоптимальному ценообразованию.
Таким образом, прежде чем классифицировать ресурсы Ethereum на отдельные рынки газа, мы должны сначала определить, какие ресурсы достаточно независимы, чтобы их можно было ценить отдельно без искажения сетевой экономики.
По своей сути узел Ethereum — это компьютер, управляющий несколькими ресурсами параллельно. Традиционные аппаратные ресурсы категоризируются на отдельные компоненты, которые могут оптимизироваться независимо друг от друга:
Основной принцип здесь - параллелизуемость: если система может независимо обрабатывать эти ресурсы, их разделение для ценообразования имеет смысл. Применяя это к Ethereum, мы должны стремиться классифицировать ресурсы Ethereum таким образом, чтобы узлы Ethereum могли работать как можно более эффективно без необходимых зависимостей.
В отличие от компьютеров, операции Ethereum не вписываются в одну категорию. Многие операции потребляют несколько ресурсов одновременно, что затрудняет их идеальное разделение. Например
Эти взаимозависимости делают нецелесообразным выделение каждого отдельного ресурса в отдельный ценовой рынок. Вместо этого мы должны сосредоточиться на наиболее существенных узких местах, непосредственно влияющих на масштабируемость Ethereum.
Поскольку операции Ethereum включают множество ресурсов, кандидаты на обсуждение многомерной ценообразования в настоящее время включают:
Согласовывая эти категории с тем, как компьютерные системы управляют ресурсами, мы можем сделать структуру комиссий Ethereum более интуитивно понятной и эффективной.
В теории мы могли бы разделить ресурсы Ethereum на еще более мелкие категории, однако это привело бы к увеличению сложности без пропорциональной выгоды. Вместо этого мы должны сосредоточиться на основных узких местах, которые сегодня ограничивают производительность Ethereum.
Например, размер данных вызова транзакции напрямую определяет максимальный размер блока, что делает его критически важным узким местом для уровня консенсуса Ethereum. Кроме того, необходимо контролировать рост хранилища, чтобы полные узлы не становились слишком дорогими для работы, поддерживая децентрализацию.
Таким образом, вместо введения слишком многих измерений, сосредотачиваясь на нескольких ключевых ресурсах, которые доминируют в эффективности Ethereum, практичнее.
Идентифицировав эти первичные ресурсы, мы можем исследовать два различных способа реализации многомерной ценообразования: отдельные рынки сборов или модифицированные единицы газа.
Один из подходов к реализации многомерной ценообразования на газ заключается в создании независимых рынков сборов для каждого ресурса, что обеспечивает более эффективное распределение. Этот метод уже был частично реализован через EIP-4844, который ввел blob gas в качестве отдельной единицы для хранения данных роллапа.
Эта концепция может быть распространена на другие ресурсы, такие как рост штата или размер свидетеля, что позволяет Ethereum управлять ограничениями каждого ресурса отдельно, а не объединять все затраты в рамках одной газовой метрики.
Для формализации этого подхода давайте определим bi как базовую плату за ресурс i, gi как потребление ресурса i в транзакции, а ki как лимит ресурса i в одном блоке.
Общая комиссия за транзакцию будет вычисляться как ibi*gi, и блок должен удовлетворять ограничению all txbi ki , для всех i для всех ресурсов i. Как и в текущей модели EIP-1559, bi динамически корректируется на основе предыдущего использования блока. Ethereum могла бы принять экспоненциальные модели ценообразования (как используется для газа blob) или другой механизм обновления комиссий для регулирования потребления ресурсов.
Модель рынка раздельных комиссий имеет ключевые преимущества. Он обеспечивает точный контроль над каждым ресурсом, допуская независимое ограничение, что помогает избежать неэффективных оценок в худшем случае в рамках текущей газовой модели. Это также предотвращает ненужные перегрузки, гарантируя, что высокий спрос на один ресурс не приведет к непропорциональному увеличению платы за несвязанные операции. Кроме того, этот подход оптимизирует использование сети, позволяя напрямую ограничивать такие факторы, как распространение данных, такие как ограничение до 1 МБ или рост штата, вместо того, чтобы полагаться на косвенные корректировки цен на газ для регулирования потребления ресурсов.
В то время как отдельные рынки комиссий обеспечивают более эффективное распределение ресурсов, слишком детализированное разделение ресурсов создает значительные сложности. Создание независимых рынков для каждого типа ресурсов потребует серьезных модификаций протокола, что потенциально дестабилизирует базовый уровень Ethereum. Децентрализованные приложения и кошельки также столкнутся с дополнительными проблемами, поскольку им нужно будет отслеживать несколько рынков комиссий и прогнозировать колебания базовых комиссий для каждого ресурса, что затруднит экономически эффективное и своевременное включение транзакций.
Еще одна проблема возникает, когда на одном ресурсе наблюдается непредсказуемый скачок цен. Даже если кошелек оптимизирует комиссии для всех других ресурсов, внезапный всплеск только на одном рынке комиссий может помешать включению транзакции в блок, что приведет к неопределенности и неэффективности для пользователей.
Валидаторы сталкиваются с аналогичными проблемами, поскольку их целью является максимизация доходов при соблюдении ограничений каждого ресурса. При увеличении количества независимых рынков ресурсов эта ситуация становится сложной задачей оптимизации, напоминающей многомерную задачу о рюкзаке, где выбор наиболее прибыльных транзакций становится все более сложным.
Некоторые утверждают, что эта сложность может быть не столь существенной проблемой, поскольку доход от Максимально Извлекаемой Стоимости (MEV) вносит значительный вклад в прибыль валидаторов, делая приоритетные комиссии менее критичными в их принятии решения. Тем не менее, общая осуществимость реализации полностью отдельных рынков комиссий для каждого ресурса остается открытым исследовательским вопросом, требующим дальнейшего изучения компромиссов между эффективностью, удобством использования и стабильностью сети.
Более простой альтернативой полному разделению рынков комиссий является сохранение газа в качестве основной единицы при одновременном изменении способа расчета комиссий. Вместо введения новых единиц для каждого ресурса общая комиссия за транзакцию определяется ресурсом, который потребляет наибольшее количество газа.
Определим стоимость газа для ресурса i как ci, а количество используемого ресурса как gi. Комиссия за транзакцию определяется следующим образом:
(c1g1 , c2g2 , c3*g3,…)
Вместо того, чтобы суммировать использование газа по ресурсам, плата за транзакцию взимается только за самый дорогой ресурс, который она потребляет.
Например, рассмотрим транзакцию, которая потребляет 50 000 газа для выполнения EVM и 200 000 газа для calldata. В соответствии с этой моделью, комиссия за транзакцию составляет 200 000 газа, поскольку calldata является доминирующим ресурсом, а стоимость выполнения фактически игнорируется.
Хотя этот метод упрощает ценообразование, он вводит потенциальные проблемы:
Несмотря на эти опасения, основное преимущество этого подхода заключается в его простоте. Сохраняя газ как универсальную единицу ценообразования, Ethereum избегает сложности управления несколькими единицами ресурсов, сохраняя при этом различие между разными типами использования ресурсов.
EIP-7623, которое будет реализовано в Обновление Pectra, следует аналогичному, но немного модифицированному подходу. Он вводит механизм двойного ценообразования для транзакций с большим объемом данных, обеспечивая, что транзакции с неразумно высоким использованием данных будут платить более высокие комиссии. Хотя это не полноценная многомерная модель ценообразования газа, это представляет собой шаг к лучшему разграничению ресурсов без переделывания структуры газа Ethereum.
EIP-7623 вводит повышенные комиссии за транзакции доступности данных (DA), особенно когда использование calldata значительно превышает использование газа выполнения. Этот механизм гарантирует, что транзакции, потребляющие избыточные calldata, платят более высокие комиссии, отговаривая от ненужного хранения данных без необходимости в новых единицах ценообразования.
Упрощенный вариант расчета газа EIP-7623 выглядит следующим образом:
total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
Что еще больше упрощает:
total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)
Эта формула определяет общее использование газа, взяв максимум между газом выполнения и газом calldata. Если транзакция в основном использует calldata, ей будут начисляться более высокие сборы за calldata, а не субсидироваться более низкими затратами на выполнение. Это отпугивает избыточное хранение данных, обеспечивая при этом, что транзакции с высокой вычислительной нагрузкой не подвергаются несправедливому наказанию.
EIP-7623 - это упрощенная версия многомерной цены на газ, потому что он вводит неявное различие между газом исполнения и газом calldata, поощряя более сбалансированное распределение сетевых ресурсов.
Хотя многомерное ценообразование на газ часто рассматривается как экономическое или улучшение UI/UX, это фундаментальное улучшение масштабируемости, которое позволяет оптимизировать выделение ресурсов. Однако его внедрение сталкивается с серьезными проблемами, в первую очередь из-за значительных модификаций протокола, необходимых и из-за сложности полного отделения типов ресурсов. В результате, многомерное ценообразование на газ вряд ли будет принято в ближайшее время.
Несмотря на эти вызовы, многомерное ценообразование на газ предлагает существенные преимущества, включая улучшенное использование ресурсов, повышенную безопасность сети и устойчивую работу узла. Обеспечение более эффективного использования вычислительных и хранилищных мощностей Ethereum представляет собой жизнеспособный путь для масштабирования Ethereum с сохранением децентрализации и безопасности.