Diseño de GAS del lenguaje MOVE: una forma innovadora de cálculo de recursos on-chain
La última versión del lenguaje MOVE fue diseñada originalmente para funcionar sin GAS, por lo que no estaba completamente preparada para un plan de GAS. Para adaptarse a las necesidades del ecosistema de blockchain, una conocida plataforma de cadena pública anunció recientemente su único plan de GAS, que es el primer diseño de GAS para el lenguaje MOVE y se considera un intento audaz.
El plan GAS describe los principios, procesos, métodos de cálculo y mecanismos de ajuste futuros. La plataforma afirma que adoptará activamente las sugerencias de la comunidad para mejorar conjuntamente este mecanismo innovador.
La medición de GAS es un concepto básico de muchas blockchains, que define la cantidad abstracta de recursos computacionales y de almacenamiento necesarios para ejecutar y almacenar transacciones en la cadena. El plan de GAS determina el costo de todas las ejecuciones en la cadena, utilizado para calcular el consumo de recursos durante la ejecución de transacciones.
proceso de diseño
Para lograr una ejecución efectiva, la plataforma ha tomado los siguientes pasos:
Principios de diseño claros
Establecer un marco de evaluación para determinar los precios de cada ejecución.
Establecer un sistema de medición de GAS y un álgebra de GAS seguro para MOVE
Integrar el marco GAS upstream en la plataforma
Mejorar la capacidad de percepción de almacenamiento del marco GAS
Optimización continua del plan de GAS
principios fundamentales
El diseño de GAS sigue los siguientes principios:
Los costos de operación deben estar directamente relacionados con los recursos disponibles en la red y disminuir con el avance tecnológico.
GAS es establecido por la gobernanza on-chain y puede ser configurado de manera flexible.
GAS puede prevenir ataques DoS a los recursos fijos de la red y ajustarse rápidamente según la situación de la red.
El precio del GAS refleja la visión de la plataforma para fomentar el crecimiento y mantener la popularidad de la blockchain.
Fomentar la priorización de buenas prácticas como la seguridad y la modularidad en el diseño.
método de cálculo 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 para ejecutar la transacción.
Precio del GAS: calculado en octal por unidad de GAS, 1 octal = 0.00000001 tokens de la plataforma
Se cobrará durante el proceso de ejecución de la transacción:
Costos fijos: gastos básicos más costos adicionales por transacciones grandes
Costo de ejecución: utilizado para ejecutar instrucciones MOVE
Costo de lectura: el costo de leer datos del almacenamiento persistente
Costo de escritura: el costo de escribir datos en almacenamiento persistente
Costo final de la transacción = Total de GAS consumido × Precio del GAS
Si se agota el GAS durante la ejecución de la transacción, se cobrará al remitente la cantidad máxima de GAS, y todos los cambios serán revertidos.
construcción del plan GAS
Configuración básica
El plan GAS incluye algunos 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.
Escala de transacciones
La mayoría de las transacciones son de tamaño en el nivel de KB, pero el módulo MOVE publicado puede alcanzar desde varios KB hasta decenas de KB. La plataforma inicialmente estableció el tamaño de las transacciones en 32KB, y luego se ajustó a 64KB según los comentarios de la comunidad, para facilitar el desarrollo de aplicaciones.
Máximo de unidades de GAS
La unidad máxima de GAS definida en el plan de GAS establece la cantidad máxima de operaciones que se pueden ejecutar en una sola transacción, actualmente fijada en 1,000,000. Incluso con la actualización de marco a gran escala, generalmente no supera el 90% de este límite.
Evaluación de costos de ejecución
A través de la construcción de un marco de referencia y el uso de herramientas de análisis, el equipo estimó el costo relativo de todas las instrucciones MOVE y funciones locales. Teniendo en cuenta la robustez y seguridad del sistema, se determinó finalmente la cantidad de instrucciones de máquina necesarias para la ejecución.
Costos de almacenamiento
El costo del almacenamiento de la tarifa de GAS considera el ancho de banda de acceso a los datos, la capacidad de IOPS y el costo de almacenamiento permanente. Acceder a cualquier elemento de estado incurre en costos relacionados con la verificación del estado completo de la cadena de bloques.
Almacenamiento de tarifas de GAS = tarifa del proyecto + ( tarifa por byte × número de bytes )
operaciones de lectura, creación y escritura
Lectura: la operación más común, calibrada en función de IOPS del disco y capacidad de ancho de banda.
Crear: Agregar un nuevo elemento en el almacenamiento de estado, costo más alto
Escritura: Actualizar elementos existentes, el costo en bytes es el mismo que al crear
costo unitario de GAS estable
Cada operación y transacción tiene un costo unitario relativamente fijo, lo que ayuda a mantener estable el plan de GAS y desvincularlo del valor del mercado de tokens.
participación de la comunidad
La plataforma alienta a los miembros de la comunidad:
Señalar las irregularidades en el plan de GAS
Participar en discusiones relacionadas
Votar sobre las propuestas de gobernanza relacionadas con GAS
mecanismo de ajuste de costos de GAS
El plan GAS actúa como un almacenamiento de configuración on-chain y puede ser modificado a través de propuestas de gobernanza. Está diseñado para ser escalable, permitiendo actualizaciones a través de propuestas de gobernanza.
Perspectivas futuras
Como el primer marco de GAS del lenguaje MOVE, este diseño sienta las bases para el trabajo futuro:
Reducir los costos de ejecución
Implementar cálculos multidimensionales de GAS
Aliviar el problema de la hinchazón del estado
El equipo está explorando el concepto de TTL para cada proyecto, con el fin de eliminar automáticamente los proyectos de estado no visitados cuando el TTL expire, optimizando así la gestión de datos on-chain.
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.
Diseño de GAS innovador en el lenguaje MOVE: nueva forma de cálculo de recursos on-chain.
Diseño de GAS del lenguaje MOVE: una forma innovadora de cálculo de recursos on-chain
La última versión del lenguaje MOVE fue diseñada originalmente para funcionar sin GAS, por lo que no estaba completamente preparada para un plan de GAS. Para adaptarse a las necesidades del ecosistema de blockchain, una conocida plataforma de cadena pública anunció recientemente su único plan de GAS, que es el primer diseño de GAS para el lenguaje MOVE y se considera un intento audaz.
El plan GAS describe los principios, procesos, métodos de cálculo y mecanismos de ajuste futuros. La plataforma afirma que adoptará activamente las sugerencias de la comunidad para mejorar conjuntamente este mecanismo innovador.
La medición de GAS es un concepto básico de muchas blockchains, que define la cantidad abstracta de recursos computacionales y de almacenamiento necesarios para ejecutar y almacenar transacciones en la cadena. El plan de GAS determina el costo de todas las ejecuciones en la cadena, utilizado para calcular el consumo de recursos durante la ejecución de transacciones.
proceso de diseño
Para lograr una ejecución efectiva, la plataforma ha tomado los siguientes pasos:
principios fundamentales
El diseño de GAS sigue los siguientes principios:
método de cálculo GAS
El usuario debe especificar dos cantidades al enviar la transacción:
Se cobrará durante el proceso de ejecución de la transacción:
Costo final de la transacción = Total de GAS consumido × Precio del GAS
Si se agota el GAS durante la ejecución de la transacción, se cobrará al remitente la cantidad máxima de GAS, y todos los cambios serán revertidos.
construcción del plan GAS
El plan GAS incluye algunos 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.
La mayoría de las transacciones son de tamaño en el nivel de KB, pero el módulo MOVE publicado puede alcanzar desde varios KB hasta decenas de KB. La plataforma inicialmente estableció el tamaño de las transacciones en 32KB, y luego se ajustó a 64KB según los comentarios de la comunidad, para facilitar el desarrollo de aplicaciones.
La unidad máxima de GAS definida en el plan de GAS establece la cantidad máxima de operaciones que se pueden ejecutar en una sola transacción, actualmente fijada en 1,000,000. Incluso con la actualización de marco a gran escala, generalmente no supera el 90% de este límite.
A través de la construcción de un marco de referencia y el uso de herramientas de análisis, el equipo estimó el costo relativo de todas las instrucciones MOVE y funciones locales. Teniendo en cuenta la robustez y seguridad del sistema, se determinó finalmente la cantidad de instrucciones de máquina necesarias para la ejecución.
El costo del almacenamiento de la tarifa de GAS considera el ancho de banda de acceso a los datos, la capacidad de IOPS y el costo de almacenamiento permanente. Acceder a cualquier elemento de estado incurre en costos relacionados con la verificación del estado completo de la cadena de bloques.
Almacenamiento de tarifas de GAS = tarifa del proyecto + ( tarifa por byte × número de bytes )
operaciones de lectura, creación y escritura
costo unitario de GAS estable
Cada operación y transacción tiene un costo unitario relativamente fijo, lo que ayuda a mantener estable el plan de GAS y desvincularlo del valor del mercado de tokens.
participación de la comunidad
La plataforma alienta a los miembros de la comunidad:
mecanismo de ajuste de costos de GAS
El plan GAS actúa como un almacenamiento de configuración on-chain y puede ser modificado a través de propuestas de gobernanza. Está diseñado para ser escalable, permitiendo actualizaciones a través de propuestas de gobernanza.
Perspectivas futuras
Como el primer marco de GAS del lenguaje MOVE, este diseño sienta las bases para el trabajo futuro:
El equipo está explorando el concepto de TTL para cada proyecto, con el fin de eliminar automáticamente los proyectos de estado no visitados cuando el TTL expire, optimizando así la gestión de datos on-chain.