El lenguaje MOVE recibe su primer diseño de GAS: Análisis completo del plan de facturación de recursos on-chain.

Diseño de GAS de MOVE: Análisis del método de cálculo del gasto de GAS on-chain

La primera versión del lenguaje MOVE no consideró el mecanismo de GAS, por lo que el plan de GAS diseñado para un proyecto de blockchain se denominó "una aventura". Este plan expone los principios, procesos, métodos de cálculo y ajustes posteriores para establecer el GAS, y se invita a la comunidad a proporcionar sugerencias.

La medición de GAS es un concepto básico en muchas blockchains, utilizado para medir los recursos computacionales y de almacenamiento necesarios para ejecutar y almacenar transacciones on-chain. El plan de GAS determina el costo de todas las ejecuciones on-chain, utilizado para calcular el gasto de GAS durante la ejecución de la transacción.

proceso

El proceso de implementación de GAS para este proyecto de blockchain incluye:

  1. Definición de principios
  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 GAS 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 por el proyecto incluyen:

  1. Los costos de operación deben estar directamente relacionados con los recursos disponibles en la red y disminuir con los avances tecnológicos.
  2. GAS se configura sin problemas mediante la gobernanza on-chain.
  3. GAS puede prevenir ataques DoS y ajustar rápidamente según las condiciones de la red.
  4. El precio del GAS refleja la visión de un crecimiento acelerado y de mantener la popularidad de la blockchain.
  5. Fomentar elecciones en el diseño que favorezcan la seguridad, la modularidad, etc.

calcular GAS

El usuario debe especificar al enviar la transacción:

  • Cantidad máxima de GAS: número máximo de unidades de GAS que está dispuesto a gastar para ejecutar la transacción.
  • Precio del GAS: calculado en octal, 1 octal = 0.00000001 token nativo

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

  1. Costos fijos
  2. Coste de ejecución
  3. Costo de lectura
  4. Costo de escritura

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

Por ejemplo, si una transacción consume 670 unidades de GAS y el usuario especifica un precio de GAS de 100 Octa/unidad, entonces el costo final es 670 × 100 = 67000 Octa = 0.00067 token nativo.

Si se agota el GAS durante la ejecución de la transacción, el remitente será cobrado según la cantidad máxima de GAS, y todos los cambios realizados por la transacción serán revertidos.

Establecer el plan de GAS

1. Configuración básica

El plan de GAS incluye componentes que no están relacionados con una sola operación, como el tamaño de la transacción y la unidad máxima de GAS.

2. Escala de transacciones

La mayoría de las transacciones tienen un tamaño de nivel de kilobyte, pero la publicación del módulo MOVE puede alcanzar varios kilobytes. Inicialmente, el tamaño de la transacción se estableció en 32KB, y luego se ajustó a 64KB según los comentarios de la comunidad.

Las transacciones a gran escala aumentarán el costo del ancho de banda de la red y pueden afectar el rendimiento. El pool de memoria tenderá a ignorar las transacciones de mayor tamaño, por lo que es necesario equilibrar entre la máxima escala y la accesibilidad.

3. Máximo de unidades de GAS

La unidad máxima de GAS definida en el plan de GAS establece el número máximo de operaciones que se pueden ejecutar en una transacción. Establecerlo demasiado alto puede causar efectos negativos en el rendimiento, como bucles infinitos. Las pruebas han demostrado que, incluso con la actualización máxima del marco, no se alcanza el 90% de la unidad máxima de GAS establecida (1,000,000).

4. Ejecución

El equipo construyó un marco de referencia y utilizó herramientas de análisis para evaluar los costos de ejecución, estimando de manera aproximada el costo relativo de todas las instrucciones MOVE y funciones nativas. Al considerar ejemplos de codificación que mejoran la robustez y la seguridad del sistema, se llegó al número final de instrucciones de máquina ejecutadas.

5. Almacenamiento

Al acceder a elementos o datos del estado del libro mayor, los nodos emiten solicitudes de lectura y escritura a los dispositivos de almacenamiento. El número total de accesos a datos está limitado por el ancho de banda del dispositivo de almacenamiento y la capacidad de IOPS. El equipo considera estos costos al diseñar el plan de GAS de almacenamiento.

Acceder y almacenar elementos de estado generará costos relacionados con la estructura de datos para validar todo el estado de la cadena de bloques. La fórmula de cálculo de tarifas es:

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

leer, crear y escribir

El acceso a los elementos de estado se divide en tres tipos: lectura, creación y escritura.

  • La operación de lectura es la más común, limitada solo por la escasez de recursos momentánea.
  • La operación de creación agrega un nuevo elemento en el almacenamiento de estado, con un costo máximo.
  • La operación de escritura actualiza los elementos existentes sin generar un costo adicional en la estructura de datos de verificación de identidad.

Los costos relacionados con el almacenamiento se evalúan por cada transacción, y se cobra una sola vez por múltiples lecturas y escrituras del mismo recurso.

El equipo definió 6 parámetros de GAS que componen el costo total de GAS:

  • per_item_read: según la calibración de IOPs
  • per_byte_read: calibrado según el ancho de banda
  • per_item_create: Calibrar según el total del proyecto objetivo
  • per_byte_create: ajustar según el tamaño total objetivo
  • per_item_write: igual que per_item_read
  • per_byte_write: igual que per_byte_create

costo unitario de GAS estable

Cada operación y transacción en sí misma requiere un costo unitario fijo en relación con los costos de almacenamiento y ejecución. El costo unitario fijo de GAS ayuda a mantener el plan de GAS constante y desvinculado del valor de mercado del token nativo.

El equipo representa la unidad de GAS con una precisión de aproximadamente 3 dígitos, como el costo de una transacción de transferencia de aproximadamente 700 unidades de GAS.

participación de la comunidad

Los miembros de la comunidad pueden:

  1. Identificar las irregularidades en el plan de GAS
  2. Expresar preocupaciones sobre el plan GAS y participar en la discusión
  3. Votación sobre propuestas de gobernanza relacionadas con GAS

¿Cómo ajustar el costo de GAS?

El plan GAS se configura como almacenamiento on-chain, se puede modificar a través de propuestas de gobernanza y se pueden agregar nuevas instrucciones o funciones sin problemas.

El diseño del plan GAS es escalable, permitiendo actualizaciones a través de propuestas de gobernanza. A medida que el proyecto mejora e incorpora los comentarios de los usuarios, los parámetros de GAS se pueden ajustar gradualmente.

Los cambios complejos en la fórmula de GAS requieren actualizar el software del nodo, y después de la adopción a gran escala, se aprueba el uso de la nueva versión a través de propuestas de gobernanza.

trabajo futuro

Como el primer marco de GAS viable de MOVE, este proyecto sienta las bases para el trabajo futuro:

  1. Reducir los costos de ejecución: mejorar la eficiencia del compilador y de la máquina virtual
  2. Cálculo de GAS multidimensional: permite a los usuarios asignar presupuestos separados para la ejecución y el almacenamiento.
  3. Aliviar el estado de sobrecarga: explorar el concepto TTL de cada proyecto, eliminar los elementos de estado no visitados cuando expire el TTL
MOVE3.86%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 1
  • Compartir
Comentar
0/400
StablecoinGuardianvip
· 07-25 15:15
Finalmente hay GAS confiable.
Ver originalesResponder0
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)