Diseño de Gas del lenguaje MOVE: Método de cálculo del consumo de Gas en la cadena Aptos
La medición de Gas es un concepto fundamental de Aptos y muchas otras cadenas de bloques, que define la cantidad de recursos computacionales y de almacenamiento necesarios para ejecutar y almacenar transacciones en la cadena. El plan de Gas determina el costo de todos los consumos de ejecución en la cadena, utilizado para calcular el gasto de Gas durante la ejecución de transacciones.
Proceso
Para una ejecución efectiva, los procesos en la cadena de Aptos incluyen:
Definición de 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 segura para MOVE
Importar el marco de Gas upstream en Aptos
Hacer que el marco Gas tenga conciencia de almacenamiento
Refinar aún más el plan de Gas
Principios
Los principios definidos incluyen:
El costo de operación debe estar directamente relacionado con los recursos disponibles en la red. Después de las mejoras tecnológicas y de procesos, el costo del Gas debería disminuir.
El gas debe ser configurado por la gobernanza on-chain y puede ser configurado sin problemas.
Gas puede prevenir ataques DoS a conjuntos de recursos fijos de la red, y puede ser necesario ajustar rápidamente a través de propuestas de gobernanza según las condiciones de la red.
El precio del gas de Aptos refleja el deseo de acelerar el crecimiento y mantener la popularidad de la blockchain.
Fomentar la realización de elecciones excelentes en el diseño, como priorizar la seguridad, la modularidad, las afirmaciones, etc.
Cálculo de Gas
Cuando el usuario envía una transacción, necesita especificar dos cantidades:
Cantidad máxima de Gas: medida en unidades de Gas, el número máximo de unidades de Gas que el usuario está dispuesto a gastar para ejecutar la transacción.
Precio del Gas: se calcula en octal por unidad de Gas, 1 octal = 0.00000001 APT.
Durante el proceso de ejecución, se cobrará una tarifa por la transacción:
Costos fijos: base fija más los costos adicionales de transacciones grandes
Costo de ejecución: utilizado para ejecutar instrucciones MOVE
Costo de lectura: utilizado para leer datos del almacenamiento persistente
Costo de escritura: utilizado para escribir datos en el almacenamiento persistente
La tarifa de transacción final se puede calcular multiplicando la cantidad total de Gas consumido por el precio del Gas por unidad. Por ejemplo, si una transacción consume 670 unidades de Gas y el precio del Gas especificado por el usuario es de 100 Octa por unidad, la tarifa de transacción 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 de acuerdo con la cantidad máxima de Gas, y todos los cambios realizados por esa transacción serán revertidos.
Establecimiento del plan de Gas
configuración básica
El plan de Gas tiene varios componentes que no están relacionados con los detalles de una operación individual, incluyendo el tamaño de la transacción y la unidad máxima de Gas.
escala de transacciones
La mayoría de los tamaños de transacción pueden estar en el rango de kilobytes. La publicación del módulo MOVE puede tener varios miles de bytes, mientras que el marco Aptos tiene aproximadamente 100 KB. El tamaño del módulo de usuario generalmente varía entre 4 KB y 40 KB. El tamaño de la transacción se estableció inicialmente en 32 KB y luego se ajustó a 64 KB según las reacciones de la comunidad.
Transacciones a gran escala pueden aumentar los costos de ancho de banda de la red, lo que podría tener un impacto negativo en el rendimiento. Se alentará a la memoria a ignorar transacciones de mayor tamaño, por lo que es necesario encontrar un equilibrio entre el tamaño máximo de transacción y la accesibilidad.
unidad máxima de Gas
La unidad máxima de Gas definida en el plan de Gas establece cuántas operaciones puede ejecutar una transacción como máximo. Esto es diferente de la cantidad máxima de Gas que el usuario especifica en la transacción. Establecer un límite demasiado alto puede tener un impacto negativo en el rendimiento de la blockchain. Incluso con la actualización máxima del marco, no se alcanzará el 90% de la unidad máxima de Gas del plan de Gas ( configurada en 1,000,000).
ejecutar
Para evaluar los costos de ejecución, se construyó un marco de referencia y se utilizó Valgrind para analizar Move VM. La salida es un conjunto de código fuente comentado que muestra la cantidad de instrucciones de máquina generadas por cada línea de código.
Con base en los resultados del análisis, se estimaron los costos relativos de todas las instrucciones MOVE y funciones nativas. Se notó que existían algunos problemas con las funciones en línea, que se resolvieron sumando los números.
Considerando ejemplos de codificación que mejoren la robustez y seguridad del sistema, se obtiene la cantidad final de instrucciones de máquina ejecutadas. Este número se pondera con el almacenamiento y la unidad máxima de Gas, determinando el valor actual en el plan de Gas.
almacenamiento
Cuando un nodo de Aptos accede a los ítems de estado del libro mayor o datos almacenados en el almacenamiento persistente, envía una solicitud de lectura o escritura al dispositivo de almacenamiento. El número total de accesos a datos por segundo depende del ancho de banda y la capacidad de IOPS del dispositivo de almacenamiento. El acceso a datos es la escasez instantánea que los usuarios compiten en el mercado de tarifas bajo una carga del sistema. El costo de ocupación del disco para escribir datos es permanente en la cadena.
Acceder y almacenar cualquier ítem de estado genera costos relacionados con la estructura de datos ( árbol de Merkle de medusa ) que verifica el estado completo de la cadena de bloques. Este costo está relacionado con la cardinalidad de los diferentes ítems de estado. También hay un costo que es proporcional al tamaño de cada ítem.
Costo de almacenamiento de Gas = item_fee + (byte_fee * bytes)
leer, crear y escribir
El acceso a los elementos de estado se divide en tres tipos: lectura, creación o escritura. El acceso se cobra según el costo del proyecto y el costo por byte.
Las operaciones de lectura son las más comunes y solo están limitadas por la escasez momentánea de recursos. Los costos de lectura se calibran según el IOPS del disco y la capacidad de ancho de banda de las especificaciones de hardware de referencia.
Crear implica agregar nuevos elementos en el almacenamiento de estado, aumentando la estructura de datos de autenticación, con un costo máximo. La tarifa de creación se calibra según el espacio en disco de referencia que tiene la red.
Las operaciones de escritura actualizan los elementos existentes en el almacenamiento de estado, sin generar costos adicionales en la estructura de datos de autenticación. Se cobra la misma tarifa por los bytes en los elementos actualizados que al crear.
Los costos relacionados con el almacenamiento se evalúan en función de cada transacción: incluso si se lee/escribe el mismo recurso varias veces, solo se paga una tarifa.
Con base en lo anterior, se definen 6 parámetros de Gas:
per_item_read: según la calibración de IOPs
per_byte_read: calibrar según el ancho de banda real
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, desvinculándolo del valor de mercado libre de APT. El equipo de Aptos representa el costo de Gas con una precisión de aproximadamente 3 cifras. El costo de las transacciones de transferencia es de aproximadamente 700 unidades de Gas.
Participación de la comunidad
Los miembros de la comunidad Aptos pueden:
Identificar las irregularidades del plan de Gas
Expresar preocupaciones sobre el plan de Gas, participar en discusiones de la comunidad
Votar sobre las propuestas de gobernanza relacionadas con Gas en Aptos
Ajuste de costos de Gas
El plan Gas se configura como almacenamiento en cadena y puede ser modificado a través de propuestas de gobernanza de Aptos, además de permitir la adición sin problemas de nuevas instrucciones o funciones nativas. El plan Gas está diseñado para ser escalable, permitiendo actualizaciones a través de propuestas de gobernanza. A medida que Aptos y la comunidad mejoran Move VM e incorporan la retroalimentación de los usuarios, los parámetros de Gas pueden ajustarse con el tiempo.
Los cambios complejos en la fórmula de Gas requieren actualizar el software del nodo y distinguirlo con diferentes marcas características de Gas. Se debe publicar el software del nodo y adoptarlo en gran medida, y finalmente publicar y aprobar la propuesta de gobernanza para usar la nueva versión de Gas.
Trabajo Futuro
Como el primer marco de Gas viable de MOVE, las direcciones de trabajo futuras incluyen:
Reducir los costos de ejecución: mejorar la eficiencia del compilador y de la máquina virtual.
Cálculo de Gas multidimensional: permite a los usuarios especificar un presupuesto separado para la ejecución y el almacenamiento.
Aliviar el estado de hinchazón: explorar el concepto de TTL de cada proyecto, eliminando los proyectos de estado no visitados al expirar el TTL.
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.
20 me gusta
Recompensa
20
10
Republicar
Compartir
Comentar
0/400
FlashLoanKing
· 07-15 09:55
El arbitraje off-chain también es bueno.
Ver originalesResponder0
FloorPriceWatcher
· 07-15 04:26
el gas aún no es tan bueno como subir hasta el techo
Ver originalesResponder0
SandwichDetector
· 07-14 16:16
Es un poco complicado, lo revisaré de nuevo el próximo mes.
Ver originalesResponder0
DancingCandles
· 07-12 16:24
Realmente no siento que haya algo especial en move~
Ver originalesResponder0
BlockDetective
· 07-12 16:22
move es el rey de la popularidad
Ver originalesResponder0
VitaliksTwin
· 07-12 16:21
move卷麻了
Responder0
CryptoComedian
· 07-12 16:16
Otra vez va a haber una gran pérdida, ¿verdad que quieren jugar con las tarifas de gas?
Innovación en el lenguaje MOVE: análisis del método de cálculo del consumo de Gas en la cadena Aptos
Diseño de Gas del lenguaje MOVE: Método de cálculo del consumo de Gas en la cadena Aptos
La medición de Gas es un concepto fundamental de Aptos y muchas otras cadenas de bloques, que define la cantidad de recursos computacionales y de almacenamiento necesarios para ejecutar y almacenar transacciones en la cadena. El plan de Gas determina el costo de todos los consumos de ejecución en la cadena, utilizado para calcular el gasto de Gas durante la ejecución de transacciones.
Proceso
Para una ejecución efectiva, los procesos en la cadena de Aptos incluyen:
Principios
Los principios definidos incluyen:
Cálculo de Gas
Cuando el usuario envía una transacción, necesita especificar dos cantidades:
Durante el proceso de ejecución, se cobrará una tarifa por la transacción:
La tarifa de transacción final se puede calcular multiplicando la cantidad total de Gas consumido por el precio del Gas por unidad. Por ejemplo, si una transacción consume 670 unidades de Gas y el precio del Gas especificado por el usuario es de 100 Octa por unidad, la tarifa de transacción 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 de acuerdo con la cantidad máxima de Gas, y todos los cambios realizados por esa transacción serán revertidos.
Establecimiento del plan de Gas
configuración básica
El plan de Gas tiene varios componentes que no están relacionados con los detalles de una operación individual, incluyendo el tamaño de la transacción y la unidad máxima de Gas.
escala de transacciones
La mayoría de los tamaños de transacción pueden estar en el rango de kilobytes. La publicación del módulo MOVE puede tener varios miles de bytes, mientras que el marco Aptos tiene aproximadamente 100 KB. El tamaño del módulo de usuario generalmente varía entre 4 KB y 40 KB. El tamaño de la transacción se estableció inicialmente en 32 KB y luego se ajustó a 64 KB según las reacciones de la comunidad.
Transacciones a gran escala pueden aumentar los costos de ancho de banda de la red, lo que podría tener un impacto negativo en el rendimiento. Se alentará a la memoria a ignorar transacciones de mayor tamaño, por lo que es necesario encontrar un equilibrio entre el tamaño máximo de transacción y la accesibilidad.
unidad máxima de Gas
La unidad máxima de Gas definida en el plan de Gas establece cuántas operaciones puede ejecutar una transacción como máximo. Esto es diferente de la cantidad máxima de Gas que el usuario especifica en la transacción. Establecer un límite demasiado alto puede tener un impacto negativo en el rendimiento de la blockchain. Incluso con la actualización máxima del marco, no se alcanzará el 90% de la unidad máxima de Gas del plan de Gas ( configurada en 1,000,000).
ejecutar
Para evaluar los costos de ejecución, se construyó un marco de referencia y se utilizó Valgrind para analizar Move VM. La salida es un conjunto de código fuente comentado que muestra la cantidad de instrucciones de máquina generadas por cada línea de código.
Con base en los resultados del análisis, se estimaron los costos relativos de todas las instrucciones MOVE y funciones nativas. Se notó que existían algunos problemas con las funciones en línea, que se resolvieron sumando los números.
Considerando ejemplos de codificación que mejoren la robustez y seguridad del sistema, se obtiene la cantidad final de instrucciones de máquina ejecutadas. Este número se pondera con el almacenamiento y la unidad máxima de Gas, determinando el valor actual en el plan de Gas.
almacenamiento
Cuando un nodo de Aptos accede a los ítems de estado del libro mayor o datos almacenados en el almacenamiento persistente, envía una solicitud de lectura o escritura al dispositivo de almacenamiento. El número total de accesos a datos por segundo depende del ancho de banda y la capacidad de IOPS del dispositivo de almacenamiento. El acceso a datos es la escasez instantánea que los usuarios compiten en el mercado de tarifas bajo una carga del sistema. El costo de ocupación del disco para escribir datos es permanente en la cadena.
Acceder y almacenar cualquier ítem de estado genera costos relacionados con la estructura de datos ( árbol de Merkle de medusa ) que verifica el estado completo de la cadena de bloques. Este costo está relacionado con la cardinalidad de los diferentes ítems de estado. También hay un costo que es proporcional al tamaño de cada ítem.
Costo de almacenamiento de Gas = item_fee + (byte_fee * bytes)
leer, crear y escribir
El acceso a los elementos de estado se divide en tres tipos: lectura, creación o escritura. El acceso se cobra según el costo del proyecto y el costo por byte.
Las operaciones de lectura son las más comunes y solo están limitadas por la escasez momentánea de recursos. Los costos de lectura se calibran según el IOPS del disco y la capacidad de ancho de banda de las especificaciones de hardware de referencia.
Crear implica agregar nuevos elementos en el almacenamiento de estado, aumentando la estructura de datos de autenticación, con un costo máximo. La tarifa de creación se calibra según el espacio en disco de referencia que tiene la red.
Las operaciones de escritura actualizan los elementos existentes en el almacenamiento de estado, sin generar costos adicionales en la estructura de datos de autenticación. Se cobra la misma tarifa por los bytes en los elementos actualizados que al crear.
Los costos relacionados con el almacenamiento se evalúan en función de cada transacción: incluso si se lee/escribe el mismo recurso varias veces, solo se paga una tarifa.
Con base en lo anterior, se definen 6 parámetros de Gas:
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, desvinculándolo del valor de mercado libre de APT. El equipo de Aptos representa el costo de Gas con una precisión de aproximadamente 3 cifras. El costo de las transacciones de transferencia es de aproximadamente 700 unidades de Gas.
Participación de la comunidad
Los miembros de la comunidad Aptos pueden:
Ajuste de costos de Gas
El plan Gas se configura como almacenamiento en cadena y puede ser modificado a través de propuestas de gobernanza de Aptos, además de permitir la adición sin problemas de nuevas instrucciones o funciones nativas. El plan Gas está diseñado para ser escalable, permitiendo actualizaciones a través de propuestas de gobernanza. A medida que Aptos y la comunidad mejoran Move VM e incorporan la retroalimentación de los usuarios, los parámetros de Gas pueden ajustarse con el tiempo.
Los cambios complejos en la fórmula de Gas requieren actualizar el software del nodo y distinguirlo con diferentes marcas características de Gas. Se debe publicar el software del nodo y adoptarlo en gran medida, y finalmente publicar y aprobar la propuesta de gobernanza para usar la nueva versión de Gas.
Trabajo Futuro
Como el primer marco de Gas viable de MOVE, las direcciones de trabajo futuras incluyen: