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

Обсуждение первого дизайна GAS для языка MOVE

Последняя версия языка MOVE изначально планировалась для работы в среде без GAS, поэтому не была подготовлена для механизма GAS. В последнее время один блокчейн-проект впервые разработал план GAS для языка MOVE, что считается инновационной попыткой. Команда проекта опубликовала принципы, процессы, методы расчета и планы по дальнейшим корректировкам для разработки 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, которые пользователь готов заплатить за выполнение транзакции
  • Цена за GAS: рассчитывается в восьмеричной системе, 1 восьмеричное = 0.00000001 родного токена

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

  1. Фиксированные затраты: базовые расходы плюс значительная торговая надбавка
  2. Исполнительные затраты: используются для выполнения MOVE команды
  3. Чтение затрат: используется для чтения данных из постоянного хранилища
  4. Стоимость записи: используется для записи данных в постоянное хранилище

Итоговая торговая комиссия = Общее количество использованного GAS × Цена за GAS

Если в процессе выполнения сделки исчерпается GAS, отправитель будет charged за максимальное количество GAS, изменения, внесенные биржей, будут отменены.

Построение плана GAS

Основная конфигурация

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

объем сделки

Большинство объемов транзакций составляет уровень KB, но публикация модуля MOVE может достигать нескольких тысяч байт. Проектная структура составляет около 100KB, большинство пользовательских модулей находятся в диапазоне от 4 до 40KB. Изначально объем транзакций был установлен на 32KB, затем по отзывам сообщества был скорректирован до 64KB.

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

максимальная единица GAS

Максимальное количество GAS, определенное в плане GAS, задает максимальный объем операций, которые могут быть выполнены в одной транзакции. Слишком высокие значения могут привести к проблемам с производительностью, таким как бесконечные циклы. Даже при проведении обновления фрейма максимального размера, используется менее 90% от максимального количества GAS, установленного на 1,000,000(.

) Оценка затрат на выполнение

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

стоимость хранения

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

Хранение GAS-оплаты = проектные расходы + ### байт-расходы × количество байтов (

) Чтение, создание и запись операций

  • Чтение: наиболее распространенная операция, калибровка на основе IOPS диска и пропускной способности
  • Создание: наибольшие затраты, основанные на калибровке по ссылочному дисковому пространству
  • Запись: Обновить существующий элемент, сборы за байты такие же, как при создании

Каждая сделка взимает плату за чтение/запись одного и того же ресурса только один раз.

Стабильная стоимость единицы GAS

Фиксированная стоимость единицы GAS помогает поддерживать стабильность плана GAS, не подверженного влиянию рыночной стоимости нативных токенов. Точная стоимость составляет примерно 3 знака, стоимость обычной транзакции перевода составляет около 700 единиц GAS.

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

Проект поощряет членов сообщества:

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

Корректировка стоимости GAS

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

Будущие направления работы

Как первый жизнеспособный GAS-фреймворк MOVE, этот проект закладывает основу для будущей работы:

  1. Снижение затрат на выполнение: оптимизация компилятора и виртуальной машины
  2. Многоуровневый расчет GAS: позволяет пользователям устанавливать отдельный бюджет для выполнения и хранения
  3. Снижение расширения состояния: исследовать введение концепции TTL для элементов состояния, автоматически удаляющих устаревшие не посещенные элементы.

Этот GAS открыл новые возможности для экосистемы языка MOVE, в будущем есть еще много пространства для развития и улучшения.

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • 5
  • Поделиться
комментарий
0/400
FUD_Whisperervip
· 07-02 03:34
move можно сказать, что наконец-то прорвался, эй
Посмотреть ОригиналОтветить0
0xLostKeyvip
· 07-02 03:34
Сижу и жду, когда потеряю Газ.
Посмотреть ОригиналОтветить0
HappyToBeDumpedvip
· 07-02 03:34
Снова炒 концепцию, а без газа разве не лучше?
Посмотреть ОригиналОтветить0
HalfIsEmptyvip
· 07-02 03:24
Брат, твой Газ наконец-то запущен!
Посмотреть ОригиналОтветить0
EthMaximalistvip
· 07-02 03:08
move тоже будет жечь Газ?! tm так скучно
Посмотреть ОригиналОтветить0
  • Закрепить