Cómo evitar pagar demasiado por transacciones utilizando blockchains Antelope
1. Introducción
Cuando intentas firmar una transacción, los usuarios a menudo obtienen un mensaje de error que indica que no hay suficiente CPU y piden pagar hasta 10 a 30 milisegundos de CPU o incluso más. Este tipo de comportamiento del sistema se puede asociar con la facturación subjetiva. En este artículo, te guiaré sobre cómo manejar la situación.
2. ¿Qué es la facturación subjetiva?
La facturación subjetiva es una característica de la cadena de bloques Antelope que permite a un operador de nodo cargar a una cuenta localmente en su nodo por los recursos utilizados por transacciones fallidas sin compartir información de facturación con el resto de la red. Se introdujo para reducir el uso de CPU, pero a menudo conduce a transacciones que fallan persistentemente o se pierden.
3. Ciclo de vida de la transacción de la cadena de bloques Antelope
La cadena de bloques Antelope adoptó conexiones de red Peer-to-Peer (P2P) para propagar transacciones a través de la red. Cuando una transacción se mueve de un nodo a otro, el camino que toma depende de las configuraciones de los nodos y la latencia de la red.

Figura de la sitio web de ENF
La Figura 1 muestra el ciclo de vida de una transacción en la cadena de bloques Antelope. Una transacción existe cuando un usuario la envía a un nodo utilizando una API (1.1). El nodo API pasa la transacción enviada a su protocolo P2P (1.2). Este protocolo propaga la transacción de un nodo a otro (1.3) hasta que llega al productor del bloque actual (1.4). Luego, el productor del bloque incluye la transacción en el bloque actual y carga a la cuenta por la utilización de recursos. Cada nodo dentro de la red realiza una verificación interna para determinar si una transacción debe ser enviada al siguiente nodo o rechazada debido a la sobreutilización de recursos.
Cuando una transacción llega a un nodo con facturación subjetiva habilitada, el nodo verifica su firma e identifica a qué cuenta pertenece la transacción. Si la cuenta excede su límite de facturación subjetiva, el nodo detiene la propagación de la transacción para que nunca llegue al productor del bloque actual.
La facturación subjetiva es aditiva; cuando una transacción llega a un nodo desde una cuenta, el nodo aumenta los cargos a la cuenta para utilizar sus recursos. Para pasar una transacción a través de un nodo, la cuenta debe tener suficientes recursos para cubrir la facturación subjetiva en ese nodo. La facturación subjetiva se renueva cada 24 horas.
4. ¿En qué circunstancias podrías ser sobrecargado por una transacción?
Cada nodo de la cadena de bloques realiza un seguimiento del uso de CPU asociado con una cuenta. Tu contador de uso con ese nodo específico aumenta cada vez que intentas una transacción fallida con un nodo. Sin embargo, las transacciones fallidas no afectan los contadores de uso de otros nodos. Por lo tanto, el nodo al que estás conectado te dará información sobre la tarifa que se te cobra por la transacción.
La tarifa cobrada por un nodo es independiente de la tarifa cobrada por otros nodos dentro de la red, lo que significa que algunos nodos pueden cobrarte más o menos que otros.
Si intentas continuamente y fallas transacciones con un nodo en particular, se te requerirá pagar más por cada transacción intentada con ese nodo.
5. Cómo evitar pagar demasiado por una transacción
Cuando una carga de energía gratuita ya no es suficiente para pagar una transacción o una API conectada te cobra muy alto debido a la facturación subjetiva, tienes tres opciones para superar esta situación, como se muestra en la Figura 2.

Imagen de: Sukanta Manna
Opción 1: Si la transacción es urgente y no se puede retrasar, el nodo solicita pagar tanto. Lee aquí cómo agregar recursos a tu cuenta de EOS.
Opción 2: La facturación subjetiva en otros nodos podría ser mucho menor que la facturación subjetiva en el nodo conectado. Por lo tanto, cambiar la API podría reducir la facturación subjetiva para la transacción. Lee aquí cómo cambiar la API.
Opción 3: La facturación subjetiva se renueva cada 24 horas. Por lo tanto, espera 24 horas, carga de energía tu cuenta de forma gratuita y vuelve a intentarlo.
6. Conclusión
Enviar numerosas transacciones fallidas al nodo conectado puede resultar en cargos excesivos debido a la naturaleza acumulativa de la facturación subjetiva. Lo mejor sería que dejaras de enviar transacciones no exitosas al nodo conectado.
Si la transacción tiene una importancia significativa, se recomienda pagar el monto cobrado por el nodo. También puede ser útil cambiar de API, ya que otros nodos pueden cobrar diferentes tarifas que el nodo conectado.
Sin embargo, si la transacción no es urgente, la mejor solución es esperar 24 horas, cargar de energía tu cuenta y volver a intentarlo.
Autor: Sukanta Manna
Editor: Markus Hinrichs; Randall Roland
Fuentes y referencias:
Lectura adicional
Créditos de imagen
Figura de facturación subjetiva creada por Sukanta Manna
Figura de "Operación normal de la red P2P" del sitio web de ENF
Last updated:
Was this article helpful?
Have a specific question about this article?