Tarifas de transacción flotantes en Bitcoin Core 0.10

Fuente: Bitcoin Foundation

Por Gavin Andresen, Director Científico

bitcoinfees

El código del monedero en la próxima versión de Bitcoin Core (0.10) será mucho más inteligente al tratar las tarifas que se pagan por cada transacción.

En lugar de utilizar reglas predeterminadas para las tarifas, el código observará cuánto tiempo está demorando la confirmación de transacciones y luego utilizará esos datos para calcular la tarifa recomendable para que una determinada transacción sea confirmada rápidamente – o para decidir que la transacción tiene una prioridad lo suficientemente alta como para ser enviada de forma gratuita y aún así ser confirmada rápidamente.

Habrá una nueva opción que permitirá controlar la rapidez con que se desea ver confirmada una transacción: txconfirmtarget. El valor por defecto será 1, lo que significa «me gustaría que mi transacción sea enviada con la suficiente prioridad o con una tarifa de un valor suficiente como para que sea muy probablemente incluida en el siguiente bloque». Si se fijara txconfirmtarget en 6, las transacciones  y tardarían en promedio seis bloques en conseguir su primera confirmación.

Las reglas codificadas han evolucionado con el tiempo, y son mucho más complicadas de lo que deberían ser. En resumen, el código actual del monedero de Bitcoin Core hace que una típica transacción de unos 250 bytes pague 0,0001 BTC – o alrededor de 0,0004 BTC por kilobyte.

Si la transacción tiene una gran cantidad de inputs y outputs y alcanza los 1000 bytes, el código actual del monedero de Bitcoin Core también impone una tarifa de 0,0001 BTC – y podrían pasar 15 bloques (¡más de dos horas en promedio!) antes de que la transacción sea confirmada por primera vez. Eso es malo; con el nuevo código los tiempos serán mucho más predecibles.

¿En qué quedó aquello de las tarifas 10 veces más bajas?

Hace un tiempo, la «tarifa mínima de transmisión» codificada en Bitcoin Core fue disminuida a 0,00001 BTC / kb, lo que fue (mal) informado de la siguiente manera: «los desarrolladores principales disminuyen las tarifas». La tarifa mínima de transmisión es una medida anti-spam, que impide que alguien inunde la red con transacciones pagando tarifas de 1 Satoshi – que los mineros nunca incluirían en sus bloques.

Puedes enviar una transacción pagando una tarifa de 0,00001 BTC y será retransmitida a través de la red. Pero demorará mucho tiempo en ser confirmada. Y cuando se confirme, es probable que sea debido a su alta prioridad más que a la tarifa en cuestión (las transacciones de alto valor que involucran el gasto de bitcoins más «antiguos» tienen una prioridad más alta, lo que significa que la prioridad de cualquier transacción va aumentando más y más cuanto más tiempo lleva esperando una confirmación).

Entonces, ¿qué va a pasar con las tarifas en el futuro?

Estimo que veremos tarifas de transacción en general más elevadas hasta que podamos implementar una solución definitiva que nos permita optimizar la propagación de bloques a través de la red, porque estimo que el volumen de transacciones aumentará y no creo que los mineros vayan a incluir más transacciones en sus bloques hasta que alguien resuelva un problema en el que unos cuantos ingenieros están trabajando, a saber: los bloques más grandes demoran más tiempo en transmitirse.

Felizmente, la solución a ese problema ya está en camino.

Leer entrada original, en inglés