Інновації MOVE: аналіз методу обчислення витрат Gas на ланцюзі Aptos

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

Перший дизайн Gas для MOVE: Метод обчислення витрат Gas у блокчейні Aptos

Вимірювання Gas є основною концепцією Aptos та багатьох інших блокчейнів, яка визначає абстрактне обчислення кількості обчислювальних та зберігаючих ресурсів, необхідних для виконання та зберігання транзакцій у блокчейні. План Gas визначає вартість усіх витрат на виконання в блокчейні, що використовується для обчислення витрат на Gas під час виконання транзакцій.

Процес

Для ефективного виконання процеси на Aptos у блокчейні включають:

  1. Визначення принципів
  2. Підготовка оцінювальної рамки, визначення ціни для кожного виконання
  3. Створення системи обліку Gas та безпечної алгебри Gas для MOVE
  4. Імпортувати верхній Gas фрейм у Aptos
  5. Зробіть рамку Gas свідомою до зберігання
  6. Додаткове уточнення плану Gas

Принципи

Визначені принципи включають:

  1. Вартість операцій повинна бути безпосередньо пов'язана з доступними ресурсами мережі. Після вдосконалення технологій та процесів, витрати на Gas повинні зменшитися.
  2. Газ має бути встановлений управлінням у блокчейні і може бути безшовно налаштований.
  3. Gas може запобігти DoS-атакам на фіксований набір ресурсів мережі, можливо, знадобиться швидко скорегувати відповідно до рекомендацій керування залежно від стану мережі.
  4. Ціна газу Aptos відображає прагнення до прискореного зростання та підтримання популярності у блокчейні.
  5. Заохочуйте робити відмінний вибір у дизайні, наприклад, надаючи пріоритет безпеці, модульності, асерціям тощо.

Обчислення газу

Користувач повинен вказати дві кількості під час подачі транзакції:

  • Максимальна кількість Gas: вимірюється в одиницях Gas, максимальна кількість одиниць Gas, яку користувач готовий витратити на виконання транзакції.
  • Ціна газу: вираховується в восьмеричній системі для кожної одиниці газу, 1 восьмеричне = 0.00000001 APT.

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

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

Кінцеві торгові витрати можна розрахувати, помноживши загальну кількість спожитого Gas на ціну Gas за одиницю. Наприклад, якщо одна транзакція спожила 670 одиниць Gas, а вказана користувачем ціна Gas становить 100 Octa за одиницю, тоді кінцеві торгові витрати становитимуть 670 * 100 = 67000 Octa = 0.00067 APT.

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

Створення плану Gas

базова конфігурація

У плані Gas є кілька складових, які не пов'язані з окремими операційними деталями, включаючи розмір транзакції та максимальну одиницю Gas.

обсяг торгівлі

Більшість обсягів транзакцій може бути на рівні тисячі байт. Публікація модуля MOVE може мати кілька тисяч байт, а фреймворк Aptos приблизно 100 КБ. Розмір модуля користувача зазвичай коливається від 4 КБ до 40 КБ. Початковий обсяг транзакцій був встановлений на 32 КБ, а потім був скоригований до 64 КБ залежно від реакції спільноти.

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

найбільша одиниця Gas

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

виконати

Для оцінки витрат на виконання побудовано базову структуру та використано Valgrind для аналізу Move VM. Вихідними даними є набір з коментарями вихідного коду, що показує кількість машинних інструкцій, які генеруються кожним рядком коду.

На основі результатів аналізу було оцінено відносну вартість усіх інструкцій MOVE та вбудованих функцій. Звернено увагу на деякі проблеми з вбудованими функціями, які були вирішені шляхом додавання чисел.

Розглянувши приклади коду, що підвищують надійність і безпеку системи, отримують кількість машинних інструкцій, що виконуються в кінцевому підсумку. Це число визначає компроміс між зберіганням та максимальними одиницями Gas, щоб встановити поточне значення в плані Gas.

зберігання

Коли вузол Aptos звертається до елементів стану бухгалтерського обліку або даних, що зберігаються в постійному сховищі, він надсилає запит на читання або запис до зберігаючого пристрою. Загальна кількість доступів до даних за секунду залежить від пропускної здатності та ємності IOPS зберігаючого пристрою. Доступ до даних є миттєвим дефіцитом, за який користувачі змагаються на ринку зборів під час навантаження системи. Вартість дискового простору для запису даних є постійною у блокчейні.

Відвідування та зберігання будь-якого статусного елемента призводить до витрат, пов'язаних зі структурою даних (, що стосується перевірки всього стану блокчейну, а саме водяної медузи Меркле ). Ці витрати пов'язані з кардинальністю різних статусних елементів. Існують також витрати, пропорційні розміру кожного елемента.

Зберігання Gas-кошту = item_fee + (byte_fee * bytes)

Читати, створювати та писати

Доступ до елементів стану поділяється на три типи: читання, створення або запис. Доступ стягує збори за проєкти та байти.

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

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

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

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

Виходячи з вищезазначеного, визначено 6 параметрів Gas:

  • per_item_read:коригування відповідно до IOPs
  • per_byte_read: калібрується відповідно до фактичної пропускної здатності
  • per_item_create: коригування за загальною метою проекту
  • per_byte_create: налаштування відповідно до загального розміру цілі
  • per_item_write: Те саме, що і per_item_read
  • per_byte_write: Те саме, що per_byte_create

Стабільна вартість одиниці газу

Кожна операція та сама транзакція потребують фіксованої одиничної вартості у відношенні до витрат на зберігання та виконання. Фіксована одинична вартість Gas допомагає підтримувати незмінним план Gas, відокремлюючи його від ринкової вартості APT. Команда Aptos представляє одиницю Gas з точністю приблизно до 3-х знаків. Вартість транзакції переказу становить близько 700 одиниць Gas.

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

Члени спільноти Aptos можуть:

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

Коригування витрат на газ

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

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

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

Як перша життєздатна Gas-рамка для MOVE, майбутні напрямки роботи включають:

  1. Зниження витрат на виконання: покращення ефективності компілятора та віртуальної машини
  2. Багатовимірний розрахунок Gas: дозволяє користувачам встановлювати окремий бюджет для виконання та зберігання.
  3. Полегшення обсягу: дослідження концепції TTL кожного проекту, видалення невідвіданих станів проекту після закінчення терміну дії TTL
MOVE-10.05%
APT-9.42%
GAS-6.05%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 10
  • Репост
  • Поділіться
Прокоментувати
0/400
FlashLoanKingvip
· 07-15 09:55
поза блокчейном Арбітраж також непогано.
Переглянути оригіналвідповісти на0
FloorPriceWatchervip
· 07-15 04:26
газ ще не зрівнявся з ростом до стелі.
Переглянути оригіналвідповісти на0
SandwichDetectorvip
· 07-14 16:16
Трохи складно, наступного місяця оптимізуємо і подивимось.
Переглянути оригіналвідповісти на0
DancingCandlesvip
· 07-12 16:24
Справді, я не відчуваю, що move має щось особливе~
Переглянути оригіналвідповісти на0
BlockDetectivevip
· 07-12 16:22
move є королем популярності
Переглянути оригіналвідповісти на0
VitaliksTwinvip
· 07-12 16:21
перемістіть卷麻了
Переглянути оригіналвідповісти на0
CryptoComedianvip
· 07-12 16:16
Знову велике витрачання, газові витрати знову хочуть гратися?
Переглянути оригіналвідповісти на0
CryptoPunstervip
· 07-12 16:07
Ще одна обман для дурнів нова відмовка
Переглянути оригіналвідповісти на0
  • Закріпити