Glosario / Transacciones y comisiones
Coinbase
- ¿Qué es el campo coinbase?
- El campo coinbase es el campo de formato libre, dentro de una transacción de recompensa de minería, donde el minero escribe bytes arbitrarios, y no tiene nada que ver con el exchange Coinbase.
Se especifica en el BIP-34.
Dos cosas sin relación entre sí comparten este nombre. El campo del protocolo es un espacio de 2 a 100 bytes en la transacción de la recompensa de bloque, que se usa desde 2009 para alturas de bloque, nombres de pools de minería y algún que otro mensaje; la empresa se fundó en junio de 2012 y tomó prestada la palabra. Los artículos de soporte y los formularios fiscales casi siempre se refieren a la empresa.
Cómo funciona
El campo coinbase ocupa el lugar donde una entrada ordinaria llevaría su script de desbloqueo, y como ese script nunca se ejecuta, el consenso casi no impone reglas sobre lo que va en él.
Existen dos reglas. El campo debe tener al menos 2 bytes y no más de 100 bytes, un límite que Bitcoin Core comprueba antes de mirar cualquier otra cosa del bloque, y desde BIP34 los primeros bytes deben codificar la altura del bloque que se está minando. Todo lo que viene después pertenece a quien encontró el bloque.
Los mineros llenan el resto por cuatro motivos.
Espacio para el nonce extra. El nonce del encabezado de bloque tiene 32 bits, así que una granja de minería agota sus 4.294.967.296 valores casi al instante. Cambiar un byte del campo coinbase cambia la transacción coinbase, lo que cambia la raíz de Merkle del encabezado, lo que a su vez entrega a las máquinas un espacio de búsqueda completamente nuevo. El protocolo Stratum lo formaliza: el pool asigna una porción del campo y el minero varía la otra.
Atribución. Los pools escriben una etiqueta como /Foundry USA Pool/ o /AntPool/, y los exploradores de bloques leen esas cadenas de caracteres para indicar quién minó qué. Es una convención que nada hace cumplir. Un pool puede escribir la etiqueta que quiera, o ninguna, así que las cifras publicadas de cuota de mercado de los pools se basan en lo que declaran ellos mismos.
Señalización. Antes de que las bifurcaciones blandas (soft forks) pasaran a los bits de versión del encabezado de bloque, los mineros votaban aquí con texto. BIP16 pidió a los mineros que lo apoyaban que incluyeran /P2SH/, y pay-to-script-hash se activó para toda la red el 1 de abril de 2012, una vez que suficientes bloques lo llevaron.
Mensajes. El bloque 0 lleva el titular de un periódico sobre un rescate bancario, y por eso la gente todavía abre el campo esperando encontrar algo. La mayoría de las veces encuentra el nombre de un pool y un contador.
Dónde aparece
Los exploradores de bloques decodifican el campo coinbase en la página de cada bloque, y suelen mostrar tanto el hexadecimal en bruto como el texto legible que se pueda extraer de él.
Es el único lugar donde aparece. El campo no se puede buscar desde su billetera, no acompaña a las monedas que le llegan más tarde y nunca influye en la validez de un pago. Si está leyendo uno, o bien está comprobando quién minó un bloque, o bien está buscando un mensaje que alguien asegura que hay ahí.
Coinbase, el campo, frente a Coinbase, el exchange
El campo forma parte del diseño de bitcoin de 2009; la empresa es un exchange estadounidense que empezó a cotizar en el Nasdaq en abril de 2021 y que tomó su nombre del término nueve años antes. Nada de lo que figura en un extracto de cuenta de Coinbase hace referencia a este campo. Cuando una herramienta fiscal, una solicitud de soporte o una noticia usen la palabra, dé por hecho que se refiere a la empresa, salvo que la frase trate claramente de minería.
Coinbase frente a altura de bloque en el campo coinbase
El campo coinbase es el campo entero, de hasta 100 bytes; la altura de bloque en el campo coinbase es solo el prefijo obligatorio que va al principio. Todo lo que un minero decide escribir va después de ese prefijo, y el prefijo es la única parte del campo que un nodo realmente valida.