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

robot
Генерация тезисов в процессе

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

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

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

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

Процесс реализации

Чтобы эффективно выполнить, процессы в блокчейне включают:

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

Принципы проектирования

  1. Операционные расходы должны быть напрямую связаны с доступными ресурсами сети (такими как ЦП, память, сеть, хранение I/O и использование пространства и т. д.). С улучшением технологий и процессов, стоимость GAS должна соответственно снижаться.

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

  3. GAS может предотвратить DoS-атаки на фиксированные ресурсы сети и может быстро корректироваться через управление в зависимости от состояния сети.

  4. Цена газа должна отражать видение ускоренного роста и поддержания популярности в блокчейне.

  5. Поощряйте делать отличные выборы в дизайне, такие как приоритет безопасности, модульности и утверждений и т.д.

метод расчета GAS

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

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

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

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

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

Например, транзакция потребляет 670 единиц GAS, пользователем заданная цена GAS составляет 100 Octa/единица, следовательно, итоговая стоимость составляет 670 × 100 = 67000 Octa = 0.00067 нативных токенов.

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

Подробное объяснение GAS-решения

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

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

  1. Масштаб сделки

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

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

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

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

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

Команда использует базовый фреймворк и инструменты анализа Valgrind для оценки затрат на выполнение, чтобы определить относительные затраты MOVE-инструкций и нативных функций. Учитывая примеры кодирования, повышающие надежность и безопасность системы, было определено окончательное количество машинных инструкций для выполнения.

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

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

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

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

Издержки на хранение оцениваются на основе каждой транзакции, и даже если один и тот же ресурс читается/записывается несколько раз, взимается только одна плата.

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

Как проект сообщества, участники могут:

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

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

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

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

Будущая работа

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

  1. Снижение затрат на выполнение: за счет улучшения эффективности компилятора и виртуальной машины.

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

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

Посмотреть Оригинал
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
GateUser-3824aa38vip
· 07-06 09:00
Сэкономьте бензин и все готово
Посмотреть ОригиналОтветить0
CascadingDipBuyervip
· 07-06 08:56
бык啊 终于有人管Газ了
Посмотреть ОригиналОтветить0
GigaBrainAnonvip
· 07-06 08:54
Этот газ слишком жестокий, так дорог, что у меня подкашиваются ноги.
Посмотреть ОригиналОтветить0
ZkSnarkervip
· 07-06 08:53
ну, технически эта газовая модель - это просто zkvm с дополнительными шагами
Посмотреть ОригиналОтветить0
RugpullAlertOfficervip
· 07-06 08:38
Что за новая схема, позволяющая Мошенничество?
Посмотреть ОригиналОтветить0
  • Закрепить