Explicación detallada del mecanismo de tarifas GAS del lenguaje MOVE: Métodos de cálculo y desarrollo futuro

robot
Generación de resúmenes en curso

Diseño de GAS de MOVE: Análisis del método de facturación de GAS en cierta cadena

La medición de GAS es un concepto fundamental en muchas blockchain, que define la cantidad de recursos computacionales y de almacenamiento necesarios para ejecutar y almacenar transacciones on-chain. El plan de GAS determina el costo consumido por todas las ejecuciones on-chain, utilizado para calcular el gasto de GAS durante la ejecución de transacciones.

proceso

Para una ejecución efectiva, el proceso on-chain es:

  1. Principio de definición
  2. Preparar el marco de evaluación, determinar el precio de cada ejecución
  3. Establecer un sistema de medición de GAS y un álgebra de GAS seguro para MOVE
  4. Importar el marco de GAS de upstream
  5. Hacer que el marco GAS tenga conciencia de almacenamiento
  6. Refinar aún más el plan de GAS

principio

Los principios definidos incluyen:

  1. El costo de operación debe estar directamente relacionado con los recursos disponibles en la red y disminuir con las mejoras tecnológicas.
  2. GAS debe ser configurado por la gobernanza on-chain, y se puede configurar sin problemas.
  3. GAS puede prevenir ataques DoS y ajustarse rápidamente según la situación de la red.
  4. El precio del GAS refleja la visión de acelerar el crecimiento y la adopción de la blockchain.
  5. Fomentar buenas elecciones en el diseño, como priorizar la seguridad, la modularidad, etc.

método de cálculo de GAS

El usuario debe especificar dos cantidades al enviar la transacción:

  • Cantidad máxima de GAS: el número máximo de unidades de GAS que el usuario está dispuesto a pagar
  • Precio del GAS: calculado en octal por unidad de GAS, 1 octal = 0.00000001 APT

Se cobrará durante el proceso de ejecución de la transacción:

  1. Costos fijos
  2. Costo de ejecutar la instrucción MOVE
  3. Costo de leer datos desde el almacenamiento
  4. El costo de escribir datos en el almacenamiento

Coste total de la transacción = Cantidad total de GAS consumido × Precio del GAS

Establecimiento del plan GAS ###

  1. Configuración básica: incluye el tamaño de la transacción y la unidad máxima de GAS

  2. Escala de transacciones: actualmente establecida en 64KB, equilibrando la escala y la accesibilidad.

  3. Unidad máxima de GAS: define la cantidad máxima de operaciones que se pueden ejecutar en una sola transacción, establecida en 1,000,000

  4. Coste de ejecución: Evaluar el coste relativo de las instrucciones MOVE y las funciones nativas a través de pruebas de referencia y análisis.

  5. Costos de almacenamiento: considerar el ancho de banda del dispositivo de almacenamiento, IOPS y costos de ocupación permanente.

Almacenamiento de tarifas de GAS = Costo del proyecto + ( tarifa por byte × número de bytes )

leer, crear y escribir operaciones

  • Operación de lectura: la más común, calibrada según el IOPS del disco y la capacidad de ancho de banda.
  • Operación de creación: costo más alto, calibrado según el espacio en disco de referencia
  • Operaciones de escritura: actualizar elementos existentes, se cobrará la misma tarifa por los bytes actualizados que por la creación.

Se definen 6 parámetros de GAS que componen el costo total:

  • per_item_read
  • per_byte_read
  • per_item_create
  • per_byte_create
  • per_item_write
  • per_byte_write

costo unitario de GAS estable

Mantener un costo unitario de GAS fijo para mantener la estabilidad del plan de GAS. El costo de la transacción de transferencia es de aproximadamente 700 unidades de GAS.

participación de la comunidad

Los miembros de la comunidad pueden:

  1. Señalar las irregularidades del plan GAS
  2. Participar en la discusión de la comunidad
  3. Votar sobre propuestas de gobernanza relacionadas

ajuste de costos de GAS

El plan GAS, como almacenamiento de configuración on-chain, puede ser modificado a través de propuestas de gobernanza. Diseñado para ser escalable, permite mejoras mediante propuestas. Los cambios complejos requieren actualizar el software del nodo y obtener una amplia adopción.

dirección futura del trabajo

  1. Reducir los costos de ejecución
  2. Implementar el cálculo de GAS multidimensional, permitiendo especificar por separado el presupuesto de ejecución y almacenamiento.
  3. Aliviar la sobrecarga del estado, explorar el concepto de TTL de cada proyecto

Este es el primer marco de GAS viable para el lenguaje MOVE, que establece una base para el trabajo futuro. El equipo continuará mejorando el compilador y la máquina virtual para reducir los costos de ejecución, explorará soluciones de precios de GAS más granulares y abordará el desafío de la eliminación de datos on-chain.

Ver originales
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.
  • Recompensa
  • 7
  • Compartir
Comentar
0/400
GasGasGasBrovip
· hace11h
gas está demasiado caro, no puedo soportarlo.
Ver originalesResponder0
BloodInStreetsvip
· hace11h
Quemar gas hasta la quiebra, nueva postura de atado ha llegado.
Ver originalesResponder0
digital_archaeologistvip
· 07-11 17:04
Ese gas de la cadena es demasiado alto.
Ver originalesResponder0
VCsSuckMyLiquidityvip
· 07-11 06:44
Hablaste con mucho detalle, siento que se está gastando dinero otra vez.
Ver originalesResponder0
ChainDoctorvip
· 07-11 06:38
Este gas es tan caro que quiero salir del juego.
Ver originalesResponder0
AltcoinAnalystvip
· 07-11 06:34
Desde los datos, la trampa del consumo de gas sigue siendo demasiado alta.
Ver originalesResponder0
RumbleValidatorvip
· 07-11 06:24
¿Crees que esta es la mejor medición de gas? Los nodos de validación experimentados no piensan así.
Ver originalesResponder0
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)