Parte del incentivo para mantener a los mineros operativos y, por ende, garantizar la eficiencia y seguridad de la red, es la comisión o fee de minería.
Éstas son una especie de donativo con el que ayudamos a mantener motivados a los mineros para que realicen su trabajo. Además, cuando ya no
se minen más bitcoins, la comisión o fee de minería serán las únicas recompensas que recibirán los mineros por su arduo trabajo y todo el gasto que implica realizarlo.
Las comisión o fee de minería son pequeñas cantidades de criptomonedas asignadas a los mineros para que procesen una
transacción. Estos pequeños pagos, recompensan a los mineros por la labor realizada. Recordemos que estos son los encargados de validar las
operaciones, generar nuevos bloques, añadirlos a la blockchain y asegurar la red. De allí, su importancia.
En los inicios de Bitcoin, no era necesario incluir comisiones o fees para que nuestras transacciones fueran procesadas. Esto se debía a que la prioridad de las transacciones que se realizaban para ese entonces era bastante alta. Pues no se realizaban tantas transacciones con bitcoins y quedaba mucho espacio libre dentro de los bloques minados.
Pero hoy día, la cantidad de transacciones que se realizan diariamente en Bitcoin ha crecido exponencialmente debido a su popularidad. Por ello, la necesidad de los mineros de incluir fees, a fin de evitar transacciones spam, y optimizar el uso del espacio limitado de cada bloque, ya que actualmente existen muchas más transacciones que las que se pueden procesar dentro de un bloque.
En este punto, quizás te preguntes ¿Cómo calcular estas comisiones? ¿Cómo saber cuánto debemos pagar por cada transacción? Pues bien, aquí aprenderás cómo determinar estos costos para que los mineros incluyan tus transacciones sin tener que pagar de más.
Calcular o determinar cuál es el valor de la comisión o fee de minería depende de varios factores. Siendo uno de los más determinantes el tamaño de la
transacción dentro del bloque. Pero además, también influye la actividad de la red para el momento de la transacción. Así como también, la urgencia o
rapidez en la que quieras que se confirme tu operación.
Ahora veamos cada uno de estos puntos con más detalle.
Tamaño de la transacción:
Uno de los puntos que inciden en el pago de la comisión o fee de minería es el tamaño de la transacción. Para ver esto, pongamos como ejemplo al Bitcoin. Como bien sabemos, Bitcoin no opera como los sistemas tradicionales. En Bitcoin no importa la cantidad de bitcoin de la transacción que realicemos para calcular la comisión, lo que nos importa es su tamaño en bytes. La fee no es un porcentaje de la cantidad a enviar, no importa si mueves 0.01 BTC o 2000 BTC.
En artículos anteriores hemos explicado ¿Qué es una transacción y cómo funciona?. Si aún no lo has leído, te invitamos a que lo hagas para que amplíes tus conocimientos. No obstante en este artículo haremos una breve mención. Una transacción en Bitcoin y otras criptomonedas está conformada por varios elementos: inputs, outputs, monto, TXid y, por supuesto, las fees o comisiones.
Entonces, en base a la cantidad de entradas (inputs) y salidas (outputs) que posea una transacción se determinará su tamaño. Es decir, la cantidad de
bytes que ocupa dentro de la blockchain.
Esta misma situación se repite en otras criptomonedas como en Ethereum o Litecoin. Y es que en general, casi todas las criptomonedas siguen el patrón del Bitcoin para calcular el costo de una transacción.
Estado de la red:
Otro factor importante para determinar una comisión o fee de minería es el estado de la red en el momento de realizar la transacción. Si ésta se encuentra congestionada o sobrecargada, hay probabilidades que la fee a pagar sea mucho más elevada. Sino tu transacción puede demorar horas. Esto se debe al funcionamiento de la mempool y como los mineros pueden seleccionar a su antojo qué transacciones añadir a un bloque. Cuando la red
se encuentra en un estado normal, los mineros procesarán todas las transacciones que se encuentren pendientes en ella. Mientras que si la red está sobrecargada, le darán prioridad a aquellas transacciones que posean mejores comisiones. Hoy día existen diversas web sites que muestran el estado actual de red. De igual forma, algunas wallets o monederos muestran cual es la comisión que se necesita pagar para que una transacción se procese por los mineros de forma óptima en un momento dado.
Rapidez en la confirmación de la transacción:
Hay usuarios que no tienen problemas en esperar unos minutos (a veces horas) a que se confirme sus transacciones. Mientras que otros están
dispuestos a pagar mucho más para que este tiempo disminuya y se agilice la confirmación. Todo depende de qué tan importante sea el factor tiempo.
No obstante, por mucho que pagues, tu transacción nunca se va a confirmar si un bloque no se mina. Pagar más significa tener más prioridades para que tu transacción sea añadida en el siguiente bloque, que tal vez con suerte ocurra en unos minutos o en una hora. Es decir, podrías haber pagado mucho y tu transacción no confirmarse hasta pasada una hora, momento en el cual se creó el siguiente bloque.
En promedio, la comisión o fee de minería sugerida varía entre los 21 y 30 satoshis por byte. Aunque esto puede ser modificado siempre y cuando
usted lo desee. No obstante, a menor fee mayor será el tiempo de espera para una confirmación. Ya que los mineros optan por elegir o escoger las transacciones que les brinden mayores beneficios. Es decir, las de los usuarios que ofrezcan mejores fees.
Pues bien, todos estos puntos nos dejan algo muy en claro. Las fees en Bitcoin son un mercado en competencia de oferta / demanda por el espacio limitado de un bloque. Actualmente 1 MB es el tamaño máximo de un bloque que limita la cantidad de transacciones que pueden ser incluidos en él. En
este contexto, promediando un tamaño de 250 bytes por transacción, en un bloque sólo podrán ser añadidas unas 4.000 transacciones. El resto que se
encuentre pendiente tendrá que esperar por un nuevo bloque. Importancia de las fees. Como ya mencionamos, los mineros son los que se encargan de conservar operativa la red de las criptomonedas. Por lo que el principal objetivo de las fees es mantenerlos motivados, y que así, puedan seguir realizando su labor. Del mismo modo, las fees ayudan a evitar las transacciones spam dentro de la blockchain, previniendo ataques a la red.
No obstante, a día de hoy, el factor más importante es el de evitar ataques a la red bitcoin, ya que el mayor incentivo de los mineros es la recompensa de
nuevos bitcoins que reciben al crearse un nuevo bloque. Sin la necesidad de pagar estas pequeñas comisiones, los hackers podrían enviar pequeñas transacciones a la red con el objetivo de atacarla. Sin embargo, tener que realizar dichos pagos por cada transacción reduce significativamente está posibilidad.
Cada día las fees adquieren un papel mucho más importante dentro de la red. Siendo las que en un futuro, mantengan la estabilidad de la misma. Más aún, considerando que cuanto termine de emitirse los 21 millones de monedas bitcoins en el trabajo de los mineros, los mineros ya no recibirán nuevos
bitcoins por minería, únicamente recibirán las fees. Costeando sus gastos, como la electricidad o los mineros, exclusivamente a través de estas comisiones generadas por las transacciones procesadas.
¿Por qué suben las fees?
Como ya mencionamos, las cantidades de la comisión o fee de minería pueden subir o disminuir en base al estado de la red. Es decir, del uso o demanda de la red en un momento dado. Esto debido al tamaño limitado de los bloques. Por lo que, sí existen muchas más personas enviando transacciones en un
determinado momento, los mineros darán mayor prioridad a aquellas que ofrecen mayores fees. Esto provoca que otras personas que necesitan también confirmar su transacción vayan subiendo los costes de la comisión. Por lo que van pagando más. Los que no, simplemente quedan en el fondo del mempool, pudiendo tardar horas, e incluso días, en confirmar su operación.
¿Por qué mi transacción no se confirma?
Las transacciones sin confirmar son aquellas que se quedan en la mempool de la red Bitcoin esperando a que un minero las tome y las incluya en un bloque. Esto puede ocurrir porque al momento de enviar la transacción se hizo con una fee muy baja o nula. Por lo que será ignorada por los mineros mientras existan otras transacciones con mejores comisiones.
Pasado un tiempo, puede que exista un minero que incluya tu transacción en un bloque. Si de todas formas deseas apresurar la confirmación de una
transacción puedes hacer dos cosas. La primera es realizar una Child Pays For Parents (CPFP) o hacer un RBF. Las transacciones del tipo Child Pays For Parent (CPFP) son aquellas en las que se crea una transacción con una tarifa de minería más alta, para que al enviarse a la red esta nueva transacción fuerce la confirmación de otra transacción anterior aún sin confirmar. Esto con el fin de incentivar a los mineros a que realicen la confirmación de esas transacciones de forma mucho más rápida.
Aunque su concepto parezca muy similar a las transacciones de reemplazo por tarifa (Replace By Free) no deben confundirse con ésta. Ya que en las
transacciones CPFP no se invalida la transacción anterior, sino que por el contrario, debe ser confirmada junto a la nueva transacción creada. Además,
en CPFP la transacción secundaria solamente es creada para motivar a los mineros a procesar y confirmar ambas transacciones, y así poder recibir la comisión asociada. Por ello, se conocen como “el niño paga por el padre”.
¿Cómo funcionan las transacciones Child Pays For Parent?
Cuando una transacción permanece sin confirmar en la blockchain de Bitcoin, mientras aparecen nuevos bloques, se debe, principalmente, al pago de una tarifa insuficiente. Es se nota especialmente cuando la red está congestionada. En estos momentos de congestión o de alta demanda, los mineros priorizan sólo aquellas transacciones que poseen una tarifa de comisión alta o mínimamente aceptable. Por lo que aquellas transacciones con una comisión muy baja pueden quedar estancadas y sin confirmar en la mempool de Bitcoin por varios días, e incluso semanas. Dejando a sus receptores a la espera de los fondos transferidos por un tiempo indefinido. Para solucionar esto, se implementa el método Child Pays For Parent (CPFP), donde el usuario de la transacción sin confirmar puede crear una nueva transacción, conocida como transacción hija. En ella deberá poner una comisión de transacción mucho más alta que la transacción original. Esta nueva transacción CPFP usará este saldo generado por la transacción principal sin confirmar para crear una nueva transacción que lleve dicho saldo a una nueva dirección. Es decir, si un usuario crea una transacción para enviar
X cantidad de fondos, y posee en su monedero un poco más que esos fondos, el monedero creará automáticamente 2 salidas. La primera para enviar X
cantidad de fondos al receptor, y la segunda para recibir las vueltas o el cambio de dicha transacción. Recordemos que en las transacciones de Bitcoin, todas las salidas deben ser gastadas. Esto es posible gracias a que la primera transacción generó una transacción de envío de criptomoneda. Pero al mismo tiempo nos devolvió una determinada cantidad de criptomoneda no usada a una dirección de cambio bajo nuestra posesión. Esta cantidad de criptomonedas no usadas recibe el nombre de salida de transacción no gastada o UTXO. En pocas palabras, una CPFP lo que usa es nuestro saldo UTXO para generar una nueva transacción con mayor fee de minería con el fin de acelerar la confirmación de la transacción inicial. Entonces, si esa operación queda sin confirmar, el usuario puede crear una transacción hija (CPFP) asociada a la transacción padre, donde enviará esas
vueltas o cambio a otra dirección propia. Lo importante es que esta nueva transacción dispondrá de una tarifa de comisión muy atractiva para los
mineros y que cubra la comisión necesaria para procesar ambas transacciones.
En el momento en el que los mineros vean la transacción secundaria, se sentirán atraídos a confirmarla para cobrar la tarifa de comisión que posee
asociada. Pero no podrán confirmar dicha transacción de forma independiente, sin antes confirmar primeramente la transacción principal. Por
lo que evaluarán y verificarán la transacción secundaria para ver si ésta dispone de las tarifas necesarias para cubrir ambas transacciones.
Una vez que los mineros comprueben esto, optarán por añadir la transacción principal al siguiente bloque minado, y así poder confirmar también la
transacción secundaria. Para cobrar la tarifa de comisión incluida en ésta, y que es aceptable para procesar ambas transacciones.
¿Qué clientes o monederos incluyen la opción CPFP?
Entre las wallets más empleadas que permiten la creación de una transacción Child Pays For Parent (CPFP) se encuentran el cliente original Bitcoin Core, o la wallet de Electrum, entre otras. Y aunque en éstas no aparezca la función CPFP como tal, sí se pueden enviar los UTXO de la transacción original hacia otra dirección propia diferente. Incluyendo, por supuesto, las comisiones necesarias para cubrir ambas transacciones, con lo que se estaría creando una transacción CPFP. Esta función es muy útil para aquellas wallets que no cuentan con un mecanismo definido que permita acelerar la confirmación de un transacción en espera. Por lo que con generar una transacción secundaria se puede activar CPFP. Este método tampoco implica ningún proceso complicado o difícil, al contrario, se trata de uno bastante sencillo y fácil de aplicar. Está basado en las reglas del protocolo de Bitcoin, y en conocer el comportamiento natural de los mineros. Y es que los mineros obviamente optarán por procesar de forma rápida aquellas transacciones con tarifas de comisión mucho más altas.
¿Qué es el Replace-by-Fee (RBF)?
El reemplazo por tarifa o Replace by Fee (RBF), es un método que nos permite poder reemplazar una transacción, antes de ser confirmada, por
otra versión con una tarifa más elevada. Es muy útil y práctica en casos donde se envía una transacción y ésta tarda mucho en confirmarse. Asi se puede enviar una nueva transacción para que sea priorizada por los mineros. Además se invalida la anterior al compartir las mismas entradas. De esa forma, podemos incrementar la tarifa de comisión que pagaremos a los mineros, para que estos agilicen la confirmación de esa nueva transacción, quedando la otra inservible. Imagine que realizó una transacción para pagar por un producto que necesita urgente, y que su vendedor no lo enviará hasta que se confirme la transacción. Pero en el momento en que realizó la transferencia, usted eligió una tarifa de comisión más baja de la recomendable en ese momento. Por lo que han pasado horas y su transacción sigue sin confirmar. En este caso usted puede emplear la opción de Replace by Fee (RBF). Sólo
debe crear una nueva transacción con la misma cantidad de criptomoneda que transfirió originalmente. Y enviarla a la misma dirección, pero con una
tarifa más alta. Con lo que los mineros se verán motivados por dicha comisión, y procesarán la transacción de forma inmediata. Así usted podrá recibir su producto sin más demoras. La transacción inicial es invalidada y con ello no supone un nuevo gasto para usted.
¿Cómo funciona el proceso de Replace by Fee (RBF)?
En realidad, cuando aplicamos el Replace by Fee (RBF), no estamos aumentando la tarifa de la transacción que realizamos y está sin confirmar. En su lugar, estamos creando una nueva transacción con las mismas entradas y salidas que la anterior, pero con una comisión mucho más alta. Por lo que los mineros le darán prioridad a ésta, incluyéndola en un bloque de forma más rápida. En este caso lo importante son las entradas sin gastar que se usan. Si ambas transacciones comparten las mismas entradas, una vez sean gastadas en una transacción, la segunda será omitida por los mineros, pues previamente tras tomar la transacción del mempool revisan que sea válida la transacción, y entre las comprobaciones se encuentra revisar que las entradas no hayan sido gastadas en otra transacción ya confirmada o en el mismo bloque que se está confirmando.
Cuando realizamos una transacción, nuestra wallet nos mostrará una sugerencia de la comisión que se debería pagar según la prioridad que tenga nuestra transacción y la rapidez con la que queremos que se confirme. Pero la red puede sobrecargarse en cuestión de minutos, por lo que nuestra fee
puede llegar a ser insuficiente segundos después de haber enviado la transacción. Esto hace que nuestra transacción se quede estancada en la mempool de la red. Por ello, la implementación de Replace by Fee (RBF) es una gran alternativa de solución a esta problemática. Ya que el usuario cambia la transacción estancada por otra que incluya una tarifa más alta, para que sea procesada y confirmada en la red. Asi se puede combatir la congestión de la red. Una situación que generaba cientos y miles de transacciones estancadas en la mempool. Y aunque no es solución perfecta, si resuelve en parte la problemática de las transacciones. No obstante, esta opción sólo permite reenviar una transacción a la misma
dirección de destino. Con la diferencia la de que la comisión a pagar debe ser mayor.
Recursos para calcular la fee o comisión de minería para nuestras transacciones:
Una forma muy sencilla de calcular las mejores fee para nuestras transacciones las podemos encontrar en sitios web que se dedican a esto. La finalidad de los mismos es brindarle a los usuarios la mejor relación de pago de fee. Esto con la intención de tus transacciones se realicen de forma rápida y segura. Entre estos sitios web podemos mencionar los siguientes:
Bitcoinfees
El sitio web de Bitcoinfee , es uno de los espacios más conocidos para obtener un valor de fee acorde para nuestras transacciones en Bitcoin. En esta web, podemos ver una gráfica bien detallada en la que se nos muestran la cantidad de transacciones que están en la red, repartidas en distintos niveles de fee. Esto nos permite saber con exactitud cuántas transacciones existen en un rango de fee y elegir el que mejor se ajuste a nuestra necesidad. Todo con el fin de pagar el fee exacto para que nuestra transacciones sea procesada en el menor tiempo posible.
Statoshis
Otro servicio bien conocido es Statoshi , en este sitio web puedes obtener una gran cantidad de información de la red Bitcoin. Entre esta información está el fee promedio de la red y recomendaciones para el mismo.