Todas las colecciones
¿Nuevo en EOS? Comienza por aquí.
Usar tus EOS
¿Cómo evitar pagar demasiado por las transacciones que utilizan las Blockchains de Antelope?
¿Cómo evitar pagar demasiado por las transacciones que utilizan las Blockchains de Antelope?

Las Tarifas de transacción elevadas (>10ms CPU) pueden atribuirse a la facturación subjetiva local a un operador nodo y se renueva cada 24h.

Dario Cesaro avatar
Escrito por Dario Cesaro
Actualizado hace más de una semana

1. Introducción

Al intentar firmar una transacción, los usuarios suelen recibir un mensaje de error que indica que no hay suficiente CPU y pide pagar hasta 10 o 30 milisegundos de CPU o incluso más. Este tipo de comportamiento del sistema puede estar asociado 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 sujeta es una característica de la blockchain Antelope que permite a un operador de nodo facturar localmente a una cuenta de su nodo los recursos utilizados por transacciones fallidas sin compartir la información de facturación con el resto de la red. Se introdujo para reducir el uso de la CPU, pero a menudo conduce a transacciones que fallan persistentemente o a transacciones perdidas.

3. Ciclo de Vida de Transacción de la Blockchain Antelope

La blockchain Antelope adoptó conexiones de red Peer-to-Peer (P2P) para propagar las transacciones a través de la red. Cuando una transacción se desplaza de un nodo a otro, la ruta que toma depende de las configuraciones de los nodos y de la latencia de la red.

La figura 1 muestra el ciclo de vida de una transacción en la blockchain Antelope. Una transacción existe cuando un usuario la envía a un nodo mediante 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). Entonces, el productor del bloque incluye la transacción en el bloque actual y factura a la cuenta por la utilización de los recursos. Cada nodo de la red realiza una comprobación interna para determinar si una transacción debe reenviarse al nodo siguiente o rechazarse debido a la sobreutilización de recursos.

Cuando una transacción llega a un nodo con la facturación subjetiva activada, el nodo verifica su firma e identifica a qué cuenta pertenece la transacción. Si la cuenta supera su límite de facturación subjetiva, el nodo detiene la propagación de la transacción para que nunca llegue al productor de bloques 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 que una transacción pase por un nodo, la cuenta debe tener recursos suficientes para cubrir la facturación subjetiva en ese nodo. La facturación subjetiva se renueva cada 24 horas.

4. ¿En qué circunstancias podrían cobrarle de más por una transacción?

Cada nodo de blockchain lleva un registro del uso de CPU asociado a 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 a 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 te cobran por la transacción.

La tarifa que cobra un nodo es independiente de la que cobran otros nodos dentro de la red, lo que significa que algunos nodos pueden cobrarte más o menos que otros.

Si intenta y falla continuamente transacciones con un nodo en particular, deberá pagar más por cada transacción probada con ese nodo.

5. Cómo evitar pagar demasiado por una transacción

Cuando un powerup gratuito ya no es suficiente para pagar una transacción o una API conectada te cobra muy caro debido a la facturación subjetiva, tienes tres opciones para solventar esta situación, como se muestra en la figura 2.

Imagen por: Sukanta Manna

Opción 1: Si la transacción es urgente y no se puede retrasar, paynode solicita tanto a pagar. Lea aquí cómo añadir recursos a su cuenta EOS.

Opción 2: Su facturación subjetiva en otros nodos podría ser mucho menor que la facturación subjetiva al nodo conectado. Por lo tanto, cambiar la API podría reducir la facturación subjetiva de la transacción. Lea aquí cómo cambiar la API.

Opción 3: La facturación subjetiva se renueva cada 24 horas. Por lo tanto, espere 24 horas, haga powerup a su cuenta de forma gratuita y vuelva a intentarlo.

6. Conclusión

El envío de numerosas transacciones fallidas al nodo conectado puede dar lugar a cargos excesivos debido a la naturaleza acumulativa de la facturación subjetiva. Lo mejor sería que dejaras de enviar transacciones fallidas al nodo conectado.

Si la transacción tiene una importancia significativa, se recomienda pagar el importe cobrado por el nodo. Cambiar de API también puede resultar útil, ya que otros nodos pueden aplicar tarifas diferentes a las del nodo conectado.

Sin embargo, si la transacción no es urgente, la mejor solución es esperar 24 horas, hacer powerup a su cuenta, y volver a intentarlo.


Autor: Sukanta Manna

Editor: Markus Hinrichs; Randall Roland

Traductor: Thian

Fuentes y Referencias:

Lecturas complementarias

  • Créditos de imagen

    • Figura de facturación subjetiva creada por Sukanta Manna

    • Figura "Funcionamiento normal de la red P2P" del sitio web de la ENF

¿Ha quedado contestada tu pregunta?