MOVE язык встречает первый дизайн GAS: полное объяснение схемы учета ресурсов в блокчейне

Первое проектирование GAS в языке MOVE: Анализ методов расчета затрат на GAS в блокчейне

Ранние версии языка MOVE не учитывали механизм GAS, поэтому GAS-план, разработанный для одного блокчейн-проекта, называется "приключением". Этот план описывает принципы, процессы, методы расчета и последующие корректировки для установления GAS, и сообщество приветствуется с предложениями.

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

процесс

Процесс реализации GAS данного блокчейн-проекта включает:

  1. Определение принципов
  2. Подготовьте оценочную рамку, определите цену для каждого исполнения
  3. Создание системы измерения GAS и безопасной алгебры GAS для MOVE
  4. Импортировать фреймворк GAS из верхнего потока
  5. Сделать рамки GAS осознанными для хранения
  6. Дальнейшая детализация плана GAS

принцип

Принципы определения проекта включают:

  1. Операционные затраты должны быть напрямую связаны с доступными ресурсами сети и снижаться с развитием технологий.
  2. GAS устанавливается через в блокчейне управление и может быть бесшовно настроен
  3. GAS может предотвратить атаки DoS и может быстро настраиваться в зависимости от состояния сети.
  4. Цена GAS отражает видение ускоренного роста и поддержания популярности в блокчейне
  5. Поощрение выбора, способствующего безопасности, модульности и т.д. в дизайне

Расчет GAS

Пользователь должен указать при отправке транзакции:

  • Максимальное количество GAS: максимальное количество единиц GAS, которые вы готовы потратить на выполнение сделки.
  • Цена газа: рассчитывается в восьмеричной системе, 1 восьмеричное = 0.00000001 родного токена

Во время выполнения сделки взимается:

  1. Фиксированные затраты
  2. Исполнительные расходы
  3. Чтение затрат
  4. Стоимость записи

Итоговая комиссия за сделку = Общее количество потребляемого 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:

  • 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.

Участие сообщества

Члены сообщества могут:

  1. Найдите неразумные аспекты плана GAS
  2. Выразите обеспокоенность по поводу плана GAS и участвуйте в обсуждении
  3. Голосование по предложениям о регулировании GAS

Как настроить стоимость GAS?

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

Проект GAS спроектирован с возможностью расширения и позволяет обновления через предложения по управлению. С улучшением проекта и учетом отзывов пользователей параметры GAS могут постепенно корректироваться.

Сложные изменения формулы GAS требуют обновления программного обеспечения узлов. После массового использования новое изменение должно быть одобрено через предложение по управлению.

Будущее работы

В качестве первой жизнеспособной GAS-структуры Move, этот проект закладывает основы для будущей работы:

  1. Снижение затрат на выполнение: улучшение эффективности компилятора и виртуальной машины
  2. Многомерный расчет GAS: позволяет пользователям задавать отдельный бюджет для выполнения и хранения
  3. Устранение избыточного состояния: исследовать концепцию TTL для каждого проекта, удалять не посещенные состояния проектов по истечении TTL.
MOVE0.52%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 1
  • Поделиться
комментарий
0/400
StablecoinGuardianvip
· 07-25 15:15
Наконец-то есть надежный GAS
Посмотреть ОригиналОтветить0
  • Закрепить