Первое проектирование GAS языка MOVE: исследование методов расчета GAS в блокчейне
Предыдущая версия языка MOVE изначально планировалась для работы в безгазовой среде, поэтому не была подготовлена для использования газа. Недавно команда блокчейн-проекта представила первое решение по разработке газа для своего блокчейна на основе языка MOVE, что было названо «приключенческим» испытанием.
В этом GAS-решении команда четко определила принципы, процессы, методы расчета GAS, механизмы последующих корректировок и заявила о приветствии предложений от сообщества.
GAS-измерение является основным понятием этого проекта и многих других блокчейнов, оно определяет абстрактный расчет объема вычислительных и хранилищных ресурсов, необходимых для выполнения и хранения транзакций в блокчейне. GAS-схема определяет стоимость всех выполнений в блокчейне, используемую для расчета GAS-расходов, понесенных во время выполнения транзакций.
процесс
Чтобы эффективно выполнить, процесс проекта в блокчейне выглядит следующим образом:
Определение принципов
Подготовьте оценочную рамку, определите цену для каждого исполнения
Создание системы измерения GAS и безопасной алгебры GAS для MOVE
Импортируйте верхний GAS-фреймворк в проект
Сделать GAS-рамку осведомленной о хранилище
Дальнейшая детализация GAS схемы
принцип
Определенные принципы включают:
Операционные расходы должны быть непосредственно связаны с доступными ресурсами сети и снижаться с технологическими достижениями.
GAS должен быть установлен управлением в блокчейне и может быть гибко настроен.
GAS может предотвратить DoS-атаки и быстро адаптироваться к состоянию сети.
Цена GAS отражает видение фонда проекта по стимулированию роста и поддержанию доступности блокчейна.
Поощряйте делать отличные выборы в дизайне, такие как внимание к безопасности, модульность и т. д.
Расчет GAS
Пользователь должен указать два количества при подаче транзакции:
Максимальное количество GAS: максимальное количество единиц GAS, которое пользователь готов заплатить за выполнение сделки.
Цена на GAS: рассчитывается в восьмеричной системе для каждого единицы GAS, 1 восьмеричное = 0.00000001 нативного токена
В процессе выполнения транзакции будет взиматься:
Фиксированные затраты
Исполнительные расходы
Чтение затрат
Стоимость записи
Итоговая комиссия за транзакцию = Общее количество использованного GAS × Цена за единицу GAS
Например, если транзакция потребляет 670 единиц GAS, а пользователь указывает цену GAS в 100 Octa за единицу, то окончательная стоимость транзакции составит 670 × 100 = 67000 Octa = 0.00067 родных токенов.
Если в процессе выполнения транзакции исчерпается GAS, отправитель будет charged по максимальному количеству GAS, и все изменения, внесенные в транзакцию, будут отменены.
создание плана GAS
Базовая конфигурация
План GAS включает несколько компонентов, не связанных с отдельной операцией, таких как размер транзакции и максимальное количество единиц GAS.
Масштаб сделки
Большинство сделок имеют размер в тысячу байт, но модуль MOVE может достигать нескольких тысяч байт, а общий объем проекта составляет около 100 КБ. Изначально размер транзакции был установлен на 32 КБ, затем в соответствии с потребностями сообщества был скорректирован до 64 КБ для упрощения разработки приложений.
Максимальное количество GAS
Максимальное количество GAS, определенное в плане GAS, определяет максимальное число операций, которые могут быть выполнены в одной транзакции. Слишком высокие значения могут негативно сказаться на производительности в блокчейне. В настоящее время установлено на уровне 1,000,000, даже при максимальном обновлении фрейма это значение не превышает 90%.
Выполнение
Оценка затрат на выполнение с помощью эталонной рамки и аналитических инструментов, оценка относительных затрат всех инструкций MOVE и нативных функций. Учитывая устойчивость и безопасность системы, определите общее количество выполняемых машинных инструкций и сбалансируйте это с хранилищем и максимальным количеством единиц GAS.
Хранение
Хранение GAS-план учитывает мгновенную нехватку доступа к данным и стоимость постоянного использования диска. Доступ и хранение элементов состояния создают затраты, связанные с проверкой состояния всей блокчейн-системы. Стоимость хранения GAS = стоимость проекта + ( байт × количество байт )
читать, создавать и писать
Доступ к элементам состояния делится на три типа: чтение, создание и запись, каждый из которых имеет разные способы расчета стоимости. Операция чтения наиболее распространена, создание имеет наивысшую стоимость, а запись находится между двумя этими вариантами.
Учитывая эти соображения, определены 6 параметров GAS:
per_item_read
per_byte_read
per_item_create
per_byte_create
per_item_write
per_byte_write
стабильная стоимость единицы GAS
Каждая операция и сама сделка требуют фиксированной единичной стоимости относительно затрат на хранение и выполнение, что помогает поддерживать стабильность плана GAS. Команда проекта представляет единицы GAS с точностью примерно до трех знаков, что делает стоимость транзакции перевода около 700 единиц GAS.
участие сообщества
Как проект сообщества, участники могут:
Укажите на неразумные моменты в плане GAS
Выразить беспокойство по поводу плана GAS и участвовать в обсуждении
Проголосовать по предложениям по управлению, связанным с GAS
Как настроить стоимость GAS?
План GAS используется в качестве конфигурационного хранилища в блокчейне и может быть изменен через предложения по управлению, а также могут быть безшовно добавлены новые инструкции или нативные функции. Параметры GAS могут корректироваться со временем, чтобы соответствовать развитию проекта и сообщества.
Некоторые сложные изменения формул GAS могут потребовать обновления программного обеспечения узлов и различения с помощью новых характеристик GAS. Это требует широкого принятия нового программного обеспечения операторами узлов и одобрения использования новой версии через предложения управления.
Будущая работа
В качестве первого жизнеспособного GAS-фреймворка на языке MOVE этот проект проложил путь для будущей работы:
Снизить затраты на выполнение
Реализация многомерного вычисления GAS, позволяющая пользователям задавать отдельные бюджеты для выполнения и хранения
Снизить уровень загроможденности, исследовать концепцию TTL для каждого проекта, удалить невостребованные элементы состояния по истечении TTL
Этот GAS является важной основой для развития экосистемы языка MOVE, в будущем есть много возможностей для оптимизации и улучшения.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
22 Лайков
Награда
22
7
Поделиться
комментарий
0/400
LongTermDreamer
· 13ч назад
Базовый дизайн очень важен
Посмотреть ОригиналОтветить0
SingleForYears
· 07-16 03:51
Хорошее направление для прорыва
Посмотреть ОригиналОтветить0
TokenTaxonomist
· 07-16 03:05
Нужно ещё много протестировать.
Посмотреть ОригиналОтветить0
ConsensusDissenter
· 07-15 08:49
Поддержка смелых инновационных экспериментов
Посмотреть ОригиналОтветить0
liquidation_watcher
· 07-15 08:47
Справедливое выставление счетов очень важно
Посмотреть ОригиналОтветить0
HodlKumamon
· 07-15 08:46
Дизайн затрат действительно элегантен
Посмотреть ОригиналОтветить0
LiquidationWizard
· 07-15 08:42
Когда становишься жестоким, можешь навредить даже себе.
MOVE язык впервые разработал дизайн GAS: полное объяснение расчета затрат в блокчейне
Первое проектирование GAS языка MOVE: исследование методов расчета GAS в блокчейне
Предыдущая версия языка MOVE изначально планировалась для работы в безгазовой среде, поэтому не была подготовлена для использования газа. Недавно команда блокчейн-проекта представила первое решение по разработке газа для своего блокчейна на основе языка MOVE, что было названо «приключенческим» испытанием.
В этом GAS-решении команда четко определила принципы, процессы, методы расчета GAS, механизмы последующих корректировок и заявила о приветствии предложений от сообщества.
GAS-измерение является основным понятием этого проекта и многих других блокчейнов, оно определяет абстрактный расчет объема вычислительных и хранилищных ресурсов, необходимых для выполнения и хранения транзакций в блокчейне. GAS-схема определяет стоимость всех выполнений в блокчейне, используемую для расчета GAS-расходов, понесенных во время выполнения транзакций.
процесс
Чтобы эффективно выполнить, процесс проекта в блокчейне выглядит следующим образом:
принцип
Определенные принципы включают:
Расчет GAS
Пользователь должен указать два количества при подаче транзакции:
В процессе выполнения транзакции будет взиматься:
Итоговая комиссия за транзакцию = Общее количество использованного GAS × Цена за единицу GAS
Например, если транзакция потребляет 670 единиц GAS, а пользователь указывает цену GAS в 100 Octa за единицу, то окончательная стоимость транзакции составит 670 × 100 = 67000 Octa = 0.00067 родных токенов.
Если в процессе выполнения транзакции исчерпается GAS, отправитель будет charged по максимальному количеству GAS, и все изменения, внесенные в транзакцию, будут отменены.
создание плана GAS
План GAS включает несколько компонентов, не связанных с отдельной операцией, таких как размер транзакции и максимальное количество единиц GAS.
Большинство сделок имеют размер в тысячу байт, но модуль MOVE может достигать нескольких тысяч байт, а общий объем проекта составляет около 100 КБ. Изначально размер транзакции был установлен на 32 КБ, затем в соответствии с потребностями сообщества был скорректирован до 64 КБ для упрощения разработки приложений.
Максимальное количество GAS, определенное в плане GAS, определяет максимальное число операций, которые могут быть выполнены в одной транзакции. Слишком высокие значения могут негативно сказаться на производительности в блокчейне. В настоящее время установлено на уровне 1,000,000, даже при максимальном обновлении фрейма это значение не превышает 90%.
Оценка затрат на выполнение с помощью эталонной рамки и аналитических инструментов, оценка относительных затрат всех инструкций MOVE и нативных функций. Учитывая устойчивость и безопасность системы, определите общее количество выполняемых машинных инструкций и сбалансируйте это с хранилищем и максимальным количеством единиц GAS.
Хранение GAS-план учитывает мгновенную нехватку доступа к данным и стоимость постоянного использования диска. Доступ и хранение элементов состояния создают затраты, связанные с проверкой состояния всей блокчейн-системы. Стоимость хранения GAS = стоимость проекта + ( байт × количество байт )
читать, создавать и писать
Доступ к элементам состояния делится на три типа: чтение, создание и запись, каждый из которых имеет разные способы расчета стоимости. Операция чтения наиболее распространена, создание имеет наивысшую стоимость, а запись находится между двумя этими вариантами.
Учитывая эти соображения, определены 6 параметров GAS:
стабильная стоимость единицы GAS
Каждая операция и сама сделка требуют фиксированной единичной стоимости относительно затрат на хранение и выполнение, что помогает поддерживать стабильность плана GAS. Команда проекта представляет единицы GAS с точностью примерно до трех знаков, что делает стоимость транзакции перевода около 700 единиц GAS.
участие сообщества
Как проект сообщества, участники могут:
Как настроить стоимость GAS?
План GAS используется в качестве конфигурационного хранилища в блокчейне и может быть изменен через предложения по управлению, а также могут быть безшовно добавлены новые инструкции или нативные функции. Параметры GAS могут корректироваться со временем, чтобы соответствовать развитию проекта и сообщества.
Некоторые сложные изменения формул GAS могут потребовать обновления программного обеспечения узлов и различения с помощью новых характеристик GAS. Это требует широкого принятия нового программного обеспечения операторами узлов и одобрения использования новой версии через предложения управления.
Будущая работа
В качестве первого жизнеспособного GAS-фреймворка на языке MOVE этот проект проложил путь для будущей работы:
Этот GAS является важной основой для развития экосистемы языка MOVE, в будущем есть много возможностей для оптимизации и улучшения.