Saltar al contenido
buybitcoinsmart

Glosario / Minería y consenso

Madurez de Coinbase

También se conoce como Maduración de Coinbase.

¿Qué es la madurez de Coinbase?
La madurez de las salidas coinbase, sin relación con el exchange Coinbase, es la regla de consenso que bloquea las monedas recién creadas de un bloque durante 100 bloques más antes de que puedan gastarse.

Las recompensas de minería no son dinero gastable en el momento en que se encuentra un bloque. Bitcoin Core establece en 100 la constante COINBASE_MATURITY de su archivo de encabezado de consenso, así que la espera es de 100 bloques, alrededor de 16 horas y 40 minutos con el objetivo de diez minutos por bloque. Las monedas que usted compra en un exchange nunca quedan atrapadas por la regla, porque todo lo que le ha llegado ya se ha gastado al menos una vez.

Cómo funciona

Cada nodo completo hace cumplir la madurez de las salidas coinbase como regla de la red, lo que significa que ninguna opción de configuración, ninguna billetera y ningún pool de minería puede relajarla.

La comprobación en sí es una resta. Al validar una transacción, un nodo inspecciona cada entrada y, cuando la moneda procede de una transacción coinbase, resta la altura del bloque de esa moneda de la altura en la que quedaría incluido el gasto. Si la diferencia es inferior a 100, Bitcoin Core rechaza la transacción con el código bad-txns-premature-spend-of-coinbase y un mensaje que indica la profundidad a la que se intentó. Una recompensa pagada en el bloque 900.000 se puede gastar por primera vez en el bloque 900.100, la altura más baja en la que esa resta llega a 100.

El retraso existe porque una salida coinbase es el único tipo de moneda que puede dejar de existir. Las monedas ordinarias sobreviven a una reorganización de la cadena: las transacciones que las contienen vuelven a la mempool y se minan de nuevo. La recompensa de un bloque existe solo porque ese bloque está en la cadena, así que, si gana una rama en competencia, la recompensa desaparece, y también todo lo que descienda de ella. Los gastos construidos sobre una recompensa que después se evaporara arrastrarían consigo a todas las billeteras que la hubieran tocado.

Bitcoin Core también vigila el intervalo entre bloques. Cada elemento de la mempool lleva una marca que indica si gasta una salida coinbase, y el comentario del código fuente explica por qué: esos elementos se vuelven a escanear durante las reorganizaciones para comprobar que se sigue cumpliendo la regla de los 100 bloques. Todo lo que haya vuelto a quedar inmaduro se descarta en lugar de minarse.

Una propiedad de la regla toma por sorpresa a mucha gente. La espera se cuenta en bloques, no en horas, así que una época de dificultad lenta la alarga y una rápida la acorta. Bitcoin apunta a un bloque cada 600 segundos, que es de donde salen tanto las 16 horas y 40 minutos como los conocidos 144 bloques al día, y un promedio de once minutos alarga los mismos 100 bloques hasta 18 horas y 20 minutos.

Dónde aparece

La forma más habitual de ver la madurez de las salidas coinbase es una billetera que informa de dos saldos en lugar de uno.

La llamada RPC getbalances de Bitcoin Core devuelve un campo immature, que el código fuente documenta como el saldo procedente de salidas coinbase inmaduras, y las llamadas RPC getreceivedbyaddress y listunspent aceptan un argumento include_immature_coinbase que por defecto vale false. La billetera de Core es un bloque más estricta que el consenso: mantiene una recompensa como inmadura hasta que el bloque que la pagó está a 101 bloques de profundidad, así que un minero en solitario ve que el saldo se desbloquea un bloque más tarde de lo que exige la regla de la red por sí sola.

Los paneles de los pools usan su propio vocabulario, normalmente una columna de saldo pendiente o inmaduro junto a otra de saldo confirmado. Un pool que paga un monto fijo por share acredita a sus mineros mucho antes de que las monedas maduren, así que adelanta dinero a cuenta de una recompensa que todavía no puede mover, y quien queda expuesto si ese bloque se reemplaza es el pool y no el minero.

La regla también marca el tiempo mínimo que tardan las monedas minadas en llegar a un mercado. Un minero que quiere vender espera los 100 bloques, envía las monedas a un exchange y después espera lo que exija su política de depósitos, normalmente un puñado de confirmaciones y no cien.

Madurez de Coinbase frente a confirmación

La madurez de las salidas coinbase es una profundidad fija escrita en el consenso, mientras que un recuento de confirmaciones es un total acumulado del que cualquiera puede elegir un umbral.

Un exchange que pide seis confirmaciones antes de acreditar un depósito eligió esa cifra por su cuenta y puede cambiarla mañana. La regla de los 100 bloques no es una elección. Solo abarca las monedas creadas por un bloque, se aplica de forma idéntica en cada nodo que valida, y una transacción que la incumple no es lenta sino inválida: ningún minero puede incluirla, porque el bloque que la lleve también sería rechazado.

No confundir con

Preguntas frecuentes

¿Por qué un minero no puede gastar una recompensa de bloque de inmediato?

Porque el consenso no aceptará el gasto hasta que el bloque que creó las monedas esté a 100 bloques de profundidad, alrededor de 16 horas y 40 minutos con el objetivo de diez minutos por bloque. Un bloque que pierde en una reorganización de la cadena se lleva consigo su recompensa, así que el retraso impide que esas monedas circulen antes de que pase ese riesgo.

¿Afecta la madurez de las salidas coinbase a las monedas que compro en un exchange?

No, solo se aplica a las salidas creadas por un bloque. Las monedas que usted compra ya se minaron y se gastaron al menos una vez, así que la única regla de espera que afecta a su depósito o a su retiro es la propia política de confirmaciones del exchange.

¿Son lo mismo 100 bloques que 100 confirmaciones?

Casi. Bitcoin Core acepta un gasto en su mempool en cuanto el bloque que acuñó la moneda muestra 100 confirmaciones, así que el gasto de una recompensa pagada en el bloque 900.000 puede minarse en el bloque 900.100. La propia billetera de Core es un bloque más prudente y mantiene las monedas en el saldo inmaduro hasta las 101 confirmaciones, así que lo que le ofrece su billetera y lo que aceptaría la red pueden diferir en un bloque.

Para seguir leyendo

Términos relacionados

Más en la sección Minería y consenso

Leer esta página en inglés