Diseño de GAS innovador de MOVE: explorando el método de cálculo del consumo de GAS en la Cadena de bloques
Recientemente, un proyecto de cadena de bloques anunció su plan de GAS. Dado que la versión anterior del lenguaje MOVE no consideraba el mecanismo de GAS, esta es la primera vez que se introduce el diseño de GAS en el lenguaje MOVE, conocido como "una aventura".
El plan de GAS del proyecto aclara los principios, procesos, métodos de cálculo, ajustes posteriores y la participación de la comunidad, entre otros aspectos, para la elaboración del GAS.
La medición de GAS es un concepto básico de muchas cadenas de bloques, utilizado para abstraer la cantidad de recursos computacionales y de almacenamiento necesarios para ejecutar cálculos y almacenar transacciones. El plan de GAS determina el costo de todas las ejecuciones en cadena, utilizado para calcular el consumo de GAS durante la ejecución de la transacción.
Proceso de implementación
Para ejecutar de manera efectiva, este proyecto de cadena de bloques toma los siguientes pasos:
Definir principios
Preparar el marco de evaluación, determinar el precio de cada ejecución.
Establecer un sistema de medición de GAS y un álgebra de GAS seguro para MOVE
Importar el marco de GAS de upstream
Hacer que el marco GAS tenga conciencia de almacenamiento
Refinar aún más el plan de GAS
principios fundamentales
El equipo del proyecto definió los siguientes principios:
El costo de operación debe estar directamente relacionado con los recursos disponibles en la red, como CPU, memoria, red, almacenamiento I/O y uso de espacio. Después de las mejoras tecnológicas y de procesos, el costo de GAS debe disminuir en consecuencia.
El GAS debe ser 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 puede ajustarse rápidamente según las condiciones de la red a través de sugerencias de gobernanza.
El precio del GAS refleja la visión de acelerar el crecimiento y mantener la popularidad de la Cadena de bloques.
Fomentar la realización de buenas elecciones en el diseño, como priorizar la seguridad, la modularidad, las afirmaciones, etc.
método de cálculo de GAS
El usuario debe especificar dos cantidades al enviar la transacción:
Cantidad máxima de GAS: medida en unidades de GAS, representa la cantidad máxima de unidades de GAS que el usuario está dispuesto a gastar para ejecutar la transacción.
Precio del GAS: se calcula en octales por unidad de GAS, 1 octal = 0.00000001 APT.
Durante el proceso de ejecución de la transacción se cobrará:
Costos fijos: base fija más tarifas adicionales por transacciones grandes
Costo de ejecución: utilizado para ejecutar la instrucción MOVE
Costo de lectura: leer datos desde el almacenamiento persistente
Costo de escritura: escribir datos en almacenamiento persistente
Costo total de la transacción = Cantidad total de GAS consumido × Precio por 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 será 670 × 100 = 67000 Octa = 0.00067 APT.
Si se agota el GAS durante la ejecución de la transacción, el remitente será cobrado por la cantidad máxima de GAS y los cambios realizados en la transacción serán revertidos.
Construcción del plan GAS
Configuración básica
El plan GAS incluye componentes que no están relacionados con los detalles de una única 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 tienen un tamaño en el nivel de kilobytes. El módulo MOVE puede alcanzar varios kilobytes, mientras que el marco tiene alrededor de 100 KB. Los módulos de usuario normalmente oscilan entre 4 KB y 40 KB. El tamaño inicial de la transacción se estableció en 32 KB y luego se ajustó a 64 KB según los comentarios de la comunidad.
Las transacciones a gran escala pueden aumentar los costos de ancho de banda de la red y afectar el rendimiento. El proyecto busca un equilibrio entre el tamaño máximo de las transacciones y la accesibilidad.
Máximo de unidades de GAS
La unidad máxima de GAS definida en el plan de GAS determina la cantidad máxima de operaciones que se pueden ejecutar en una transacción. Establecerla demasiado alta puede causar efectos negativos en el rendimiento. La experiencia muestra que, incluso con la actualización máxima del marco, no se alcanza el 90% del valor máximo establecido (1,000,000).
Evaluación de costos de ejecución
El equipo construyó un marco de referencia y utilizó Valgrind para analizar MOVE VM, estimando el costo relativo de todas las instrucciones MOVE y funciones nativas. Tras considerar la robustez y la seguridad del sistema, se llegó a la cantidad final de instrucciones de máquina ejecutadas.
Costos de almacenamiento
El plan de almacenamiento de GAS considera la escasez instantánea de acceso a los datos y el costo de ocupación de disco permanente. Acceder y almacenar elementos de estado genera costos relacionados con la verificación de la estructura de datos del estado de la cadena de bloques.
Almacenamiento de tarifas de GAS = tarifa del proyecto + ( tarifa por byte × número de bytes )
Leer, crear y escribir operaciones
El acceso a los elementos de estado se divide en tres tipos: lectura, creación o escritura.
Lectura: la operación más común, calibrando los costos según las IOPS del disco y la capacidad de ancho de banda.
Crear: Añadir un nuevo elemento en el almacenamiento de estado, el costo más alto, calibrado según el espacio en disco de la red.
Escribir: Actualizar elementos existentes, cobrando la misma tarifa por los bytes en el elemento actualizado que por la creación.
Solo se necesita pagar una tarifa una vez por múltiples lecturas/escrituras del mismo recurso.
costo unitario de GAS estable
El costo unitario fijo de GAS ayuda a mantener el plan de GAS constante y a desvincularlo del valor del mercado de tokens. El proyecto representa las unidades de GAS con una precisión de aproximadamente 3 dígitos, lo que hace que el costo de las transacciones de transferencia sea de aproximadamente 700 unidades de GAS.
participación de la comunidad
Como proyecto comunitario, los miembros pueden:
Identificar los aspectos irracionales del plan GAS
Expresar preocupación por el plan GAS y participar en la discusión
Votar sobre propuestas de gobernanza relacionadas con GAS
ajuste de costo de GAS
El plan GAS se almacena como una configuración on-chain y puede ser modificado a través de propuestas de gobernanza. Está diseñado con escalabilidad, permitiendo actualizaciones a través de propuestas de gobernanza. Con el tiempo, los parámetros de GAS pueden ajustarse en función de los comentarios de los usuarios.
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.
Perspectivas futuras
Como el primer marco de GAS viable de MOVE, este proyecto sienta las bases para el trabajo futuro:
Reducir los costos de ejecución: mejorando la eficiencia del compilador y la máquina virtual.
Cálculo de GAS multidimensional: permite a los usuarios especificar presupuestos separados para la ejecución y el almacenamiento, logrando una definición más granular del precio máximo de GAS.
Aliviar la expansión del estado: explorar el concepto de TTL de cada proyecto y eliminar los elementos de estado no visitados al expirar el TTL.
Este diseño innovador de GAS abre nuevas posibilidades para el ecosistema del lenguaje MOVE, y se espera que se optimice y mejore aún más en el futuro.
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.
14 me gusta
Recompensa
14
4
Compartir
Comentar
0/400
MagicBean
· hace13h
¿También necesita gas move?
Ver originalesResponder0
SybilSlayer
· hace13h
Poner este tipo de cosas es quemar dinero.
Ver originalesResponder0
OnChainArchaeologist
· hace14h
Un profesional de una cadena de bloques pública que se sorprende y asombra por todo lo que ve, le gusta burlarse y criticar.
Ver originalesResponder0
MemecoinTrader
· hace14h
psst... el modelo de gas de move acaba de ser desplegado. temporada de filtraciones de prime alpha incoming fr fr
El lenguaje MOVE introduce un diseño de GAS, explorando un nuevo modelo de medición de recursos en proyectos de Cadena de bloques.
Diseño de GAS innovador de MOVE: explorando el método de cálculo del consumo de GAS en la Cadena de bloques
Recientemente, un proyecto de cadena de bloques anunció su plan de GAS. Dado que la versión anterior del lenguaje MOVE no consideraba el mecanismo de GAS, esta es la primera vez que se introduce el diseño de GAS en el lenguaje MOVE, conocido como "una aventura".
El plan de GAS del proyecto aclara los principios, procesos, métodos de cálculo, ajustes posteriores y la participación de la comunidad, entre otros aspectos, para la elaboración del GAS.
La medición de GAS es un concepto básico de muchas cadenas de bloques, utilizado para abstraer la cantidad de recursos computacionales y de almacenamiento necesarios para ejecutar cálculos y almacenar transacciones. El plan de GAS determina el costo de todas las ejecuciones en cadena, utilizado para calcular el consumo de GAS durante la ejecución de la transacción.
Proceso de implementación
Para ejecutar de manera efectiva, este proyecto de cadena de bloques toma los siguientes pasos:
principios fundamentales
El equipo del proyecto definió los siguientes principios:
El costo de operación debe estar directamente relacionado con los recursos disponibles en la red, como CPU, memoria, red, almacenamiento I/O y uso de espacio. Después de las mejoras tecnológicas y de procesos, el costo de GAS debe disminuir en consecuencia.
El GAS debe ser 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 puede ajustarse rápidamente según las condiciones de la red a través de sugerencias de gobernanza.
El precio del GAS refleja la visión de acelerar el crecimiento y mantener la popularidad de la Cadena de bloques.
Fomentar la realización de buenas elecciones en el diseño, como priorizar la seguridad, la modularidad, las afirmaciones, etc.
método de cálculo de GAS
El usuario debe especificar dos cantidades al enviar la transacción:
Cantidad máxima de GAS: medida en unidades de GAS, representa la cantidad máxima de unidades de GAS que el usuario está dispuesto a gastar para ejecutar la transacción.
Precio del GAS: se calcula en octales por unidad de GAS, 1 octal = 0.00000001 APT.
Durante el proceso de ejecución de la transacción se cobrará:
Costo total de la transacción = Cantidad total de GAS consumido × Precio por 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 será 670 × 100 = 67000 Octa = 0.00067 APT.
Si se agota el GAS durante la ejecución de la transacción, el remitente será cobrado por la cantidad máxima de GAS y los cambios realizados en la transacción serán revertidos.
Construcción del plan GAS
El plan GAS incluye componentes que no están relacionados con los detalles de una única operación, como el tamaño de la transacción y la unidad máxima de GAS.
La mayoría de las transacciones tienen un tamaño en el nivel de kilobytes. El módulo MOVE puede alcanzar varios kilobytes, mientras que el marco tiene alrededor de 100 KB. Los módulos de usuario normalmente oscilan entre 4 KB y 40 KB. El tamaño inicial de la transacción se estableció en 32 KB y luego se ajustó a 64 KB según los comentarios de la comunidad.
Las transacciones a gran escala pueden aumentar los costos de ancho de banda de la red y afectar el rendimiento. El proyecto busca un equilibrio entre el tamaño máximo de las transacciones y la accesibilidad.
La unidad máxima de GAS definida en el plan de GAS determina la cantidad máxima de operaciones que se pueden ejecutar en una transacción. Establecerla demasiado alta puede causar efectos negativos en el rendimiento. La experiencia muestra que, incluso con la actualización máxima del marco, no se alcanza el 90% del valor máximo establecido (1,000,000).
El equipo construyó un marco de referencia y utilizó Valgrind para analizar MOVE VM, estimando el costo relativo de todas las instrucciones MOVE y funciones nativas. Tras considerar la robustez y la seguridad del sistema, se llegó a la cantidad final de instrucciones de máquina ejecutadas.
El plan de almacenamiento de GAS considera la escasez instantánea de acceso a los datos y el costo de ocupación de disco permanente. Acceder y almacenar elementos de estado genera costos relacionados con la verificación de la estructura de datos del estado de la cadena de bloques.
Almacenamiento de tarifas de GAS = tarifa del proyecto + ( tarifa por byte × número de bytes )
Leer, crear y escribir operaciones
El acceso a los elementos de estado se divide en tres tipos: lectura, creación o escritura.
Solo se necesita pagar una tarifa una vez por múltiples lecturas/escrituras del mismo recurso.
costo unitario de GAS estable
El costo unitario fijo de GAS ayuda a mantener el plan de GAS constante y a desvincularlo del valor del mercado de tokens. El proyecto representa las unidades de GAS con una precisión de aproximadamente 3 dígitos, lo que hace que el costo de las transacciones de transferencia sea de aproximadamente 700 unidades de GAS.
participación de la comunidad
Como proyecto comunitario, los miembros pueden:
ajuste de costo de GAS
El plan GAS se almacena como una configuración on-chain y puede ser modificado a través de propuestas de gobernanza. Está diseñado con escalabilidad, permitiendo actualizaciones a través de propuestas de gobernanza. Con el tiempo, los parámetros de GAS pueden ajustarse en función de los comentarios de los usuarios.
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.
Perspectivas futuras
Como el primer marco de GAS viable de MOVE, este proyecto sienta las bases para el trabajo futuro:
Reducir los costos de ejecución: mejorando la eficiencia del compilador y la máquina virtual.
Cálculo de GAS multidimensional: permite a los usuarios especificar presupuestos separados para la ejecución y el almacenamiento, logrando una definición más granular del precio máximo de GAS.
Aliviar la expansión del estado: explorar el concepto de TTL de cada proyecto y eliminar los elementos de estado no visitados al expirar el TTL.
Este diseño innovador de GAS abre nuevas posibilidades para el ecosistema del lenguaje MOVE, y se espera que se optimice y mejore aún más en el futuro.