Последняя версия языка MOVE изначально планировалась для работы в среде без GAS, поэтому не была подготовлена для механизма GAS. В последнее время один блокчейн-проект впервые разработал план GAS для языка MOVE, что считается инновационной попыткой. Команда проекта опубликовала принципы, процессы, методы расчета и планы по дальнейшим корректировкам для разработки GAS и выразила готовность принять предложения от сообщества.
GAS-измерение является основополагающей концепцией многих блокчейнов, используемой для количественной оценки вычислительных и хранилищных ресурсов, необходимых для выполнения и хранения цепочных транзакций. GAS-план определяет стоимость всех выполнений на цепи, используемую для расчета потребления GAS во время выполнения транзакций.
Процесс проектирования
Для эффективного выполнения проект принял следующие меры:
Определение принципов
Подготовьте оценочную рамку, определите цены на выполнение каждой задачи.
Создание системы измерения GAS и безопасной алгебры GAS для MOVE
Импортируйте верхний GAS фреймворк в проект
Сделать GAS-рамку обладающей способностью к хранению
Дальнейшее усовершенствование плана GAS
Принципы проектирования
Принципы, которым следует проект, включают:
Операционные затраты должны быть непосредственно связаны с доступными ресурсами сети и снижаться с развитием технологий.
GAS должен быть установлен через управление в цепочке и может быть гибко настроен.
GAS должен предотвращать DoS-атаки на фиксированные ресурсы сети, и может быстро адаптироваться в зависимости от состояния сети.
Цены на GAS должны отражать видение проекта по стимулированию роста и распространения блокчейна.
Поощряйте делать отличные выборы в дизайне, такие как акцент на безопасность, модульность и т.д.
Метод расчета GAS
Пользователь должен указать два значения при отправке транзакции:
Максимальное количество GAS: максимальное количество единиц GAS, которые пользователь готов заплатить за выполнение транзакции
Цена за GAS: рассчитывается в восьмеричной системе, 1 восьмеричное = 0.00000001 родного токена
В процессе выполнения сделки будет взиматься:
Фиксированные затраты: базовые расходы плюс значительная торговая надбавка
Исполнительные затраты: используются для выполнения MOVE команды
Чтение затрат: используется для чтения данных из постоянного хранилища
Стоимость записи: используется для записи данных в постоянное хранилище
Итоговая торговая комиссия = Общее количество использованного 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 учитывает мгновенную нехватку и постоянные затраты на занятие. Доступ к любому элементу состояния влечет за собой затраты, связанные с проверкой состояния всей блокчейн-системы.
Чтение: наиболее распространенная операция, калибровка на основе IOPS диска и пропускной способности
Создание: наибольшие затраты, основанные на калибровке по ссылочному дисковому пространству
Запись: Обновить существующий элемент, сборы за байты такие же, как при создании
Каждая сделка взимает плату за чтение/запись одного и того же ресурса только один раз.
Стабильная стоимость единицы GAS
Фиксированная стоимость единицы GAS помогает поддерживать стабильность плана GAS, не подверженного влиянию рыночной стоимости нативных токенов. Точная стоимость составляет примерно 3 знака, стоимость обычной транзакции перевода составляет около 700 единиц GAS.
Участие сообщества
Проект поощряет членов сообщества:
Обнаружение нерациональных сторон плана GAS
Участвуйте в обсуждениях сообщества, выражая свою озабоченность по поводу плана GAS
Проголосовать по предложениям по управлению, связанным с GAS
Корректировка стоимости GAS
План GAS как хранилище конфигурации на блокчейне может быть изменен через предложения по управлению. Дизайн имеет масштабируемость, позволяя улучшения через предложения. Сложные изменения требуют обновления программного обеспечения узлов и широкого принятия, а затем новая версия утверждается через предложение по управлению.
Будущие направления работы
Как первый жизнеспособный GAS-фреймворк MOVE, этот проект закладывает основу для будущей работы:
Снижение затрат на выполнение: оптимизация компилятора и виртуальной машины
Многоуровневый расчет GAS: позволяет пользователям устанавливать отдельный бюджет для выполнения и хранения
Снижение расширения состояния: исследовать введение концепции 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.
MOVE язык впервые вводит GAS механизм: полный анализ принципов проектирования и методов вычисления
Обсуждение первого дизайна GAS для языка MOVE
Последняя версия языка MOVE изначально планировалась для работы в среде без GAS, поэтому не была подготовлена для механизма GAS. В последнее время один блокчейн-проект впервые разработал план GAS для языка MOVE, что считается инновационной попыткой. Команда проекта опубликовала принципы, процессы, методы расчета и планы по дальнейшим корректировкам для разработки GAS и выразила готовность принять предложения от сообщества.
GAS-измерение является основополагающей концепцией многих блокчейнов, используемой для количественной оценки вычислительных и хранилищных ресурсов, необходимых для выполнения и хранения цепочных транзакций. GAS-план определяет стоимость всех выполнений на цепи, используемую для расчета потребления GAS во время выполнения транзакций.
Процесс проектирования
Для эффективного выполнения проект принял следующие меры:
Принципы проектирования
Принципы, которым следует проект, включают:
Метод расчета GAS
Пользователь должен указать два значения при отправке транзакции:
В процессе выполнения сделки будет взиматься:
Итоговая торговая комиссия = Общее количество использованного 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-оплаты = проектные расходы + ### байт-расходы × количество байтов (
) Чтение, создание и запись операций
Каждая сделка взимает плату за чтение/запись одного и того же ресурса только один раз.
Стабильная стоимость единицы GAS
Фиксированная стоимость единицы GAS помогает поддерживать стабильность плана GAS, не подверженного влиянию рыночной стоимости нативных токенов. Точная стоимость составляет примерно 3 знака, стоимость обычной транзакции перевода составляет около 700 единиц GAS.
Участие сообщества
Проект поощряет членов сообщества:
Корректировка стоимости GAS
План GAS как хранилище конфигурации на блокчейне может быть изменен через предложения по управлению. Дизайн имеет масштабируемость, позволяя улучшения через предложения. Сложные изменения требуют обновления программного обеспечения узлов и широкого принятия, а затем новая версия утверждается через предложение по управлению.
Будущие направления работы
Как первый жизнеспособный GAS-фреймворк MOVE, этот проект закладывает основу для будущей работы:
Этот GAS открыл новые возможности для экосистемы языка MOVE, в будущем есть еще много пространства для развития и улучшения.