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

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

Попередня версія мови 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: обчислюється в восьмирічній системі, 1 вісімкове = 0.00000001 рідного токена

У процесі виконання транзакції стягуватиметься:

  1. Фіксовані витрати
  2. Вартість виконання
  3. Читання вартості
  4. Витрати на запис

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

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

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

створення плану GAS

  1. Основні налаштування

План GAS містить кілька складових, які не залежать від окремої операції, такі як розмір транзакції та максимальна одиниця GAS.

  1. Масштаб угоди

Більшість обсягів транзакцій на рівні кілобайтів, але модуль MOVE може досягати кількох тисяч кілобайт, а рамки проєкту становлять близько 100 КБ. Спочатку обсяг транзакцій було встановлено на рівні 32 КБ, а згодом, відповідно до потреб спільноти, було відкориговано до 64 КБ для спрощення розробки застосунків.

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

Максимальна одиниця GAS у плані GAS визначає максимальну кількість операцій, які можуть бути виконані в одній транзакції. Занадто високе значення може негативно вплинути на продуктивність у блокчейні. Наразі встановлено на рівні 1 000 000, навіть при максимальному оновленні фрейму не перевищує 90%.

  1. Виконати

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

  1. Зберігання

Зберігання 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.

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

Як спільнотний проєкт, учасники можуть:

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

Як налаштувати вартість GAS?

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

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

Майбутня робота

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
SingleForYearsvip
· 13хв. тому
Гарний напрямок прориву
Переглянути оригіналвідповісти на0
TokenTaxonomistvip
· 59хв. тому
Ще потрібно більше протестувати.
Переглянути оригіналвідповісти на0
ConsensusDissentervip
· 19год тому
Підтримка сміливих інноваційних спроб
Переглянути оригіналвідповісти на0
liquidation_watchervip
· 19год тому
Справедлива тарификация є дуже важливою
Переглянути оригіналвідповісти на0
HodlKumamonvip
· 19год тому
Дизайн витрат справді елегантний
Переглянути оригіналвідповісти на0
LiquidationWizardvip
· 19год тому
Коли стаєш жорстким, навіть проти себе.
Переглянути оригіналвідповісти на0
  • Закріпити