MOVE мова вперше вводить проектування GAS: аналіз рішення для обчислення споживання ресурсів у блокчейні

robot
Генерація анотацій у процесі

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

Нещодавно один з блокчейн-проєктів оголосив про свій план GAS. Як перший дизайн GAS для мови MOVE, це вважається інноваційною спробою. Команда проєкту детально виклала принципи, процес, методи обчислення та майбутні плани коригування 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, яку користувач готовий сплатити
  • Ціна GAS: ціна за одиницю GAS, обчислюється в восьмеричній системі (1 восьмерична = 0.00000001 токена)

Під час виконання угоди буде стягнуто такі збори:

  1. Фіксовані витрати
  2. Витрати на виконання (виконання команди Move)
  3. Витрати на читання (зберігання даних)
  4. Витрати на запис (запис даних у сховище)

Кінцеві комісії за транзакції = Загальна кількість спожитого GAS × Ціна за GAS

Наприклад, якщо транзакція споживає 670 одиниць GAS, а вказана користувачем ціна GAS становить 100 Octa/одиниця, то остаточна вартість дорівнює 670 × 100 = 67000 Octa = 0.00067 токенів.

Якщо виконання транзакції вичерпає GAS, відправник буде стягнутий за максимальну кількість GAS, зміни, внесені біржею, будуть скасовані.

Побудова плану GAS

  1. Основні налаштування: включають розмір угоди та максимальну одиницю GAS та інші складові, що не пов'язані з окремою операцією.

  2. Обсяг交易: спочатку встановлено на 32KB, пізніше за відгуками спільноти відкориговано до 64KB

  3. Максимальна одиниця GAS: визначає максимальну кількість операцій, які можуть бути виконані в одній транзакції, встановлена на 1,000,000

  4. Витрати на виконання: оцінка відносних витрат інструкцій MOVE та рідних функцій за допомогою базової структури та аналітичних інструментів

  5. Витрати на зберігання: враховуйте пропускну спроможність накопичувачів, ємність IOPS та витрати на постійне використання диска

Зберігання GAS-кошту = Проектний кошт + ( байт-кошту × Кількість байтів )

читання, створення та запис операцій

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

У кожній транзакції, навіть якщо один і той же ресурс читається/записується кілька разів, стягується лише одна плата.

стабільна вартість одиниці GAS

Фіксована вартість одиниці GAS допомагає підтримувати стабільність GAS-плану, відокремлюючи його від ринкової вартості токенів. Команди проекту представляють одиниці GAS з точністю приблизно до трьох знаків, наприклад, вартість транзакції з переказу становить приблизно 700 одиниць GAS.

участь у спільноті

Проект заохочує членів спільноти:

  1. Вказати на нераціональні моменти в плані GAS
  2. Брати участь у обговореннях спільноти, висловлювати думки щодо GAS-плану
  3. Проголосувати за пропозиції щодо управління, пов'язані з GAS

Корекція вартості GAS

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

майбутні напрямки роботи

  1. Зменшити витрати на виконання: шляхом вдосконалення компілятора та віртуальної машини
  2. Багатовимірний облік GAS: дозволяє користувачам визначати окремі бюджети для виконання та зберігання
  3. Зменшення обсягу стану: дослідження концепції TTL для кожного проекту, видалення невідвідуваних станів проекту після закінчення TTL

Як перший дизайн GAS для мови MOVE, цей проєкт заклав основу для подальшої роботи, сподіваючись на подальшу оптимізацію механізму GAS у блокчейні через безперервне вдосконалення та участь спільноти.

MOVE-8.77%
GAS-9.18%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
MetaMuskRatvip
· 07-19 08:44
Цей газ знову обдурює людей, як лохів.
Переглянути оригіналвідповісти на0
DegenWhisperervip
· 07-18 17:00
перемістити правда, блин, дорого
Переглянути оригіналвідповісти на0
RumbleValidatorvip
· 07-16 20:07
Оптимізація верхньої межі ефективності верифікації перша особа Абсолютне домінування оптимізації зберігання даних
Переглянути оригіналвідповісти на0
PrivateKeyParanoiavip
· 07-16 20:03
Цей газ стягується занадто абсурдно, чи не так?
Переглянути оригіналвідповісти на0
  • Закріпити