Первое проектирование GAS в языке MOVE: Анализ методов расчета затрат на GAS в блокчейне
Ранние версии языка MOVE не учитывали механизм GAS, поэтому GAS-план, разработанный для одного блокчейн-проекта, называется "приключением". Этот план описывает принципы, процессы, методы расчета и последующие корректировки для установления GAS, и сообщество приветствуется с предложениями.
GAS-измерение является основополагающим понятием многих блокчейнов, используемым для оценки вычислительных и хранилищных ресурсов, необходимых для выполнения и хранения транзакций в блокчейне. GAS-план определяет стоимость всех выполнений в блокчейне, используемую для расчета затрат на GAS во время выполнения транзакции.
процесс
Процесс реализации GAS данного блокчейн-проекта включает:
Определение принципов
Подготовьте оценочную рамку, определите цену для каждого исполнения
Создание системы измерения GAS и безопасной алгебры GAS для MOVE
Импортировать фреймворк GAS из верхнего потока
Сделать рамки GAS осознанными для хранения
Дальнейшая детализация плана GAS
принцип
Принципы определения проекта включают:
Операционные затраты должны быть напрямую связаны с доступными ресурсами сети и снижаться с развитием технологий.
GAS устанавливается через в блокчейне управление и может быть бесшовно настроен
GAS может предотвратить атаки DoS и может быстро настраиваться в зависимости от состояния сети.
Цена GAS отражает видение ускоренного роста и поддержания популярности в блокчейне
Поощрение выбора, способствующего безопасности, модульности и т.д. в дизайне
Расчет GAS
Пользователь должен указать при отправке транзакции:
Максимальное количество GAS: максимальное количество единиц GAS, которые вы готовы потратить на выполнение сделки.
Итоговая комиссия за сделку = Общее количество потребляемого GAS × Цена за GAS
Например, если транзакция потребляет 670 единиц GAS, а пользователь указывает цену GAS в 100 Octa/единица, то окончательная стоимость составит 670 × 100 = 67000 Octa = 0.00067 нативного токена.
Если во время выполнения транзакции GAS исчерпан, отправитель будет взимать плату в соответствии с максимальным объемом GAS, все изменения, сделанные этой транзакцией, будут отменены.
Создание таблицы плана GAS
1. Базовая конфигурация
План GAS включает в себя компоненты, не связанные с отдельной операцией, такие как размер транзакции и максимальное количество единиц GAS.
2. Масштаб сделки
Большинство торговых операций имеют размер в несколько килобайт, но публикация модуля MOVE может достигать нескольких тысяч байт. Изначально размер транзакции был установлен на уровне 32 КБ, затем в соответствии с отзывами сообщества был изменен на 64 КБ.
Слишком крупные транзакции увеличивают стоимость сетевой пропускной способности и могут повлиять на производительность. Пул памяти будет склонен игнорировать более крупные транзакции, поэтому необходимо сбалансировать максимум размеров и доступность.
3. Максимальное количество GAS
Максимальная единица GAS в плане GAS определяет максимальное количество операций, которые могут быть выполнены в транзакции. Слишком высокая установка может привести к негативным последствиям для производительности, таким как бесконечный цикл. В ходе тестирования было установлено, что даже при максимальном обновлении фрейма, это не достигает 90% от установленной максимальной единицы GAS (1,000,000).
4. Выполнение
Команда разработала базовую структуру и использовала аналитические инструменты для оценки затрат на выполнение, грубо оценив относительные затраты всех инструкций MOVE и нативных функций. Учитывая образцы кодирования, повышающие устойчивость и безопасность системы, была получена конечная сумма машинных инструкций для выполнения.
5. Хранение
При доступе к элементам состояния или данным в бухгалтерской книге узел отправляет запросы на чтение и запись на устройство хранения. Общее количество доступов к данным ограничивается пропускной способностью устройства хранения и емкостью IOPS. Команда учитывает эти затраты при разработке плана хранения GAS.
Доступ к элементам состояния и их хранение влекут за собой затраты, связанные с данными структурами, которые необходимы для проверки всего состояния в блокчейне. Формула для расчета расходов:
Доступ к элементам состояния делится на три типа: чтение, создание и запись:
Чтение операции наиболее распространено, ограничено лишь временной нехваткой ресурсов
Создание операции добавляет новый элемент в хранилище состояния, стоимость максимальна
Запись операции обновляет существующий элемент, не создавая дополнительных накладных расходов на структуру данных аутентификации.
Хранение связанных затрат оценивается на основе каждой транзакции, многократное чтение и запись одних и тех же ресурсов обходится только в одну плату.
Команда определила 6 параметров GAS, составляющих общую стоимость GAS:
per_item_read: калибровка по IOPs
per_byte_read: согласно калибровке по полосе пропускания
per_item_create:корректировка в соответствии с общей целью проекта
per_byte_create: Калибровка в зависимости от целевого общего размера
per_item_write: То же, что и per_item_read
per_byte_write: То же, что и per_byte_create
стабильная стоимость единицы GAS
Каждая операция и сама сделка требуют фиксированной единицы стоимости по сравнению со стоимостью хранения и выполнения. Фиксированная стоимость единицы GAS помогает сохранить план GAS неизменным и отвязать его от рыночной стоимости родного токена.
Команда представляет единицы GAS с точностью около 3 знаков, например, стоимость транзакции перевода составляет около 700 единиц GAS.
Участие сообщества
Члены сообщества могут:
Найдите неразумные аспекты плана GAS
Выразите обеспокоенность по поводу плана GAS и участвуйте в обсуждении
Голосование по предложениям о регулировании GAS
Как настроить стоимость GAS?
План GAS используется для хранения конфигураций в блокчейне, может быть изменен через предложения по управлению и позволяет бесшовно добавлять новые команды или функции.
Проект GAS спроектирован с возможностью расширения и позволяет обновления через предложения по управлению. С улучшением проекта и учетом отзывов пользователей параметры GAS могут постепенно корректироваться.
Сложные изменения формулы GAS требуют обновления программного обеспечения узлов. После массового использования новое изменение должно быть одобрено через предложение по управлению.
Будущее работы
В качестве первой жизнеспособной GAS-структуры Move, этот проект закладывает основы для будущей работы:
Снижение затрат на выполнение: улучшение эффективности компилятора и виртуальной машины
Многомерный расчет GAS: позволяет пользователям задавать отдельный бюджет для выполнения и хранения
Устранение избыточного состояния: исследовать концепцию TTL для каждого проекта, удалять не посещенные состояния проектов по истечении TTL.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
MOVE язык встречает первый дизайн GAS: полное объяснение схемы учета ресурсов в блокчейне
Первое проектирование GAS в языке MOVE: Анализ методов расчета затрат на GAS в блокчейне
Ранние версии языка MOVE не учитывали механизм GAS, поэтому GAS-план, разработанный для одного блокчейн-проекта, называется "приключением". Этот план описывает принципы, процессы, методы расчета и последующие корректировки для установления GAS, и сообщество приветствуется с предложениями.
GAS-измерение является основополагающим понятием многих блокчейнов, используемым для оценки вычислительных и хранилищных ресурсов, необходимых для выполнения и хранения транзакций в блокчейне. GAS-план определяет стоимость всех выполнений в блокчейне, используемую для расчета затрат на GAS во время выполнения транзакции.
процесс
Процесс реализации GAS данного блокчейн-проекта включает:
принцип
Принципы определения проекта включают:
Расчет GAS
Пользователь должен указать при отправке транзакции:
Во время выполнения сделки взимается:
Итоговая комиссия за сделку = Общее количество потребляемого GAS × Цена за GAS
Например, если транзакция потребляет 670 единиц GAS, а пользователь указывает цену GAS в 100 Octa/единица, то окончательная стоимость составит 670 × 100 = 67000 Octa = 0.00067 нативного токена.
Если во время выполнения транзакции GAS исчерпан, отправитель будет взимать плату в соответствии с максимальным объемом GAS, все изменения, сделанные этой транзакцией, будут отменены.
Создание таблицы плана GAS
1. Базовая конфигурация
План GAS включает в себя компоненты, не связанные с отдельной операцией, такие как размер транзакции и максимальное количество единиц GAS.
2. Масштаб сделки
Большинство торговых операций имеют размер в несколько килобайт, но публикация модуля MOVE может достигать нескольких тысяч байт. Изначально размер транзакции был установлен на уровне 32 КБ, затем в соответствии с отзывами сообщества был изменен на 64 КБ.
Слишком крупные транзакции увеличивают стоимость сетевой пропускной способности и могут повлиять на производительность. Пул памяти будет склонен игнорировать более крупные транзакции, поэтому необходимо сбалансировать максимум размеров и доступность.
3. Максимальное количество GAS
Максимальная единица GAS в плане GAS определяет максимальное количество операций, которые могут быть выполнены в транзакции. Слишком высокая установка может привести к негативным последствиям для производительности, таким как бесконечный цикл. В ходе тестирования было установлено, что даже при максимальном обновлении фрейма, это не достигает 90% от установленной максимальной единицы GAS (1,000,000).
4. Выполнение
Команда разработала базовую структуру и использовала аналитические инструменты для оценки затрат на выполнение, грубо оценив относительные затраты всех инструкций MOVE и нативных функций. Учитывая образцы кодирования, повышающие устойчивость и безопасность системы, была получена конечная сумма машинных инструкций для выполнения.
5. Хранение
При доступе к элементам состояния или данным в бухгалтерской книге узел отправляет запросы на чтение и запись на устройство хранения. Общее количество доступов к данным ограничивается пропускной способностью устройства хранения и емкостью IOPS. Команда учитывает эти затраты при разработке плана хранения GAS.
Доступ к элементам состояния и их хранение влекут за собой затраты, связанные с данными структурами, которые необходимы для проверки всего состояния в блокчейне. Формула для расчета расходов:
Хранение GAS-расходов = проектные расходы + ( байт-расходов × количество байтов )
читать, создавать и писать
Доступ к элементам состояния делится на три типа: чтение, создание и запись:
Хранение связанных затрат оценивается на основе каждой транзакции, многократное чтение и запись одних и тех же ресурсов обходится только в одну плату.
Команда определила 6 параметров GAS, составляющих общую стоимость GAS:
стабильная стоимость единицы GAS
Каждая операция и сама сделка требуют фиксированной единицы стоимости по сравнению со стоимостью хранения и выполнения. Фиксированная стоимость единицы GAS помогает сохранить план GAS неизменным и отвязать его от рыночной стоимости родного токена.
Команда представляет единицы GAS с точностью около 3 знаков, например, стоимость транзакции перевода составляет около 700 единиц GAS.
Участие сообщества
Члены сообщества могут:
Как настроить стоимость GAS?
План GAS используется для хранения конфигураций в блокчейне, может быть изменен через предложения по управлению и позволяет бесшовно добавлять новые команды или функции.
Проект GAS спроектирован с возможностью расширения и позволяет обновления через предложения по управлению. С улучшением проекта и учетом отзывов пользователей параметры GAS могут постепенно корректироваться.
Сложные изменения формулы GAS требуют обновления программного обеспечения узлов. После массового использования новое изменение должно быть одобрено через предложение по управлению.
Будущее работы
В качестве первой жизнеспособной GAS-структуры Move, этот проект закладывает основы для будущей работы: