07 / 736HASH

Minería

Mining

Cómo los pagos pendientes se convierten en un bloque confirmado, por qué cobran los mineros y por qué los demás deben comprobar el resultado.

La minería es la competición por añadir el siguiente bloque al historial de Bitcoin. Los mineros agrupan transacciones y realizan trabajo de cálculo para encontrar un resultado fácil de verificar. Un bloque aceptado puede proporcionar al minero nuevos bitcoins y las comisiones de los pagos incluidos. Eso no le permite fijar las reglas: los demás ordenadores de la red comprueban cada propuesta de forma independiente y rechazan los bloques inválidos.

Mining: modelo de resultado operativoCompara una participación esperada del subsidio de bloque con la electricidad según el hashrate, consumo y comisión de pool elegidos.

La minería no desentierra monedas escondidas dentro de un ordenador. Se trata de proponer el siguiente bloque válido: un conjunto de transacciones que continúa el historial existente. El minero busca para su propuesta un resultado de cálculo difícil de obtener. Cuando lo encuentra, envía el bloque a los demás. Estos comprueban tanto el cálculo como las transacciones y aplican las mismas reglas para decidir si pueden aceptarlo. Los nuevos bitcoins son parte de la recompensa, pero emitir monedas no es la única función de la minería. Para quien paga, lo importante es que una transacción pendiente pase a estar registrada en un historial verificable. [1] [2]

Cuando envías un pago, primero se propaga entre nodos. Un nodo es un ordenador que participa en la red Bitcoin; su mempool es una colección local de transacciones sin confirmar. No existe una única cola administrada para todo el mundo. El minero construye un bloque candidato con las transacciones disponibles, teniendo en cuenta sus comisiones y el espacio limitado. Si una transacción gasta una salida de otra aún no confirmada, esa transacción anterior debe aparecer primero en el bloque. El comando getblocktemplate proporciona los datos necesarios para construirlo, incluidas estas dependencias. Los límites de peso del bloque y del trabajo de comprobación de firmas también condicionan la selección. [1]

La primera transacción del bloque se llama Coinbase Transaction. No tiene relación con una cuenta en la plataforma del mismo nombre: es una transacción especial con la que el minero se asigna la recompensa permitida. Esta combina la subvención de bloque, bitcoins recién creados, con las comisiones de las demás transacciones. Una comisión es la diferencia entre el valor de las entradas y el de las salidas, por lo que solo transfiere bitcoins existentes. Si el minero reclama demasiado, los nodos rechazan todo el bloque. Ni siquiera una recompensa correcta puede gastarse inmediatamente: una salida de Coinbase Transaction solo puede gastarse a partir de un bloque situado 100 alturas después. [2]

Imagina una lotería cuyo resultado ganador nadie conoce de antemano, pero cualquiera puede comprobar rápidamente una vez publicado. Los mineros calculan un hash, una huella digital de los datos que también puede leerse como un número grande. Para un bloque de Bitcoin, ese número debe ser menor o igual que un umbral llamado target. Ese es el requisito de Proof of Work. En concreto, la función hash SHA-256 se aplica dos veces a la cabecera de 80 bytes del bloque, que contiene sus datos básicos resumidos. Los mineros no resuelven los pagos uno a uno. Cambian los datos del cálculo y prueban si el nuevo resultado cumple la condición. [3]

Un ASIC es un chip diseñado para una tarea de cálculo concreta; un ASIC de minería Bitcoin aplica repetidamente SHA-256 doble a variantes de una cabecera de 80 bytes. Uno de los campos modificables es el nonce, un número de cuatro bytes dentro de la cabecera. Su rango es finito. Al agotarlo, se puede cambiar el extra nonce, un dato adicional de la Coinbase Transaction. Esto cambia el Merkle Root, la huella conjunta de las transacciones, y después la cabecera, lo que permite probar nuevos candidatos. Ningún intento fallido acerca la máquina a una victoria garantizada. Tampoco se prometen diez minutos a cada minero: es el promedio objetivo de toda la red. [3]

Los mineros tienen motivos para construir bloques válidos: una propuesta rechazada no proporciona una recompensa utilizable. Pero sus comprobaciones no sustituyen las de los demás. Un Full Node es un ordenador que verifica por sí mismo las reglas de Bitcoin, incluidas las transacciones, la recompensa y Proof of Work. Rechaza, por ejemplo, un bloque que cree más bitcoins de los permitidos, aunque el minero haya invertido mucha potencia de cálculo. Con un nodo propio, el usuario no tiene que confiar en que el minero diga que el bloque está bien. [2] [4]

Un minero en solitario puede esperar mucho tiempo hasta lograr un resultado. Un Mining Pool permite repartir trabajo e ingresos entre varios participantes. Para estimar la contribución de las máquinas, el operador acepta también resultados que cumplen un objetivo interno más fácil. Cada uno se llama share. La mayoría de los shares no basta para la red Bitcoin; solo algunos cumplen también su condición más estricta. Los pagos dependen del modelo de remuneración elegido, las condiciones acordadas y las comisiones del pool. Participar en un pool no da derecho a cambiar las reglas de Bitcoin. El operador tampoco tiene por qué ser dueño de los equipos conectados. Su porcentaje de bloques encontrados no demuestra por sí solo que posea esas máquinas. [3]

Tras un cálculo exitoso, el bloque completo aún debe llegar a los demás nodos. Dos mineros pueden encontrar casi al mismo tiempo bloques válidos distintos que continúan al mismo predecesor. Durante un breve periodo, una parte de la red conoce una rama y otra parte la segunda. Los nodos siguen la rama válida con más trabajo acumulado, la suma del trabajo atribuido a sus bloques. El siguiente bloque puede inclinar la elección a favor de una rama. El bloque de la rama abandonada puede ser válido, pero su recompensa no forma parte del historial activo. Por eso importan tanto la difusión rápida como dejar de trabajar en una propuesta desactualizada al recibir una nueva punta de la cadena. [4]

El Hashrate mide los intentos de hash por segundo. La proporción de un minero en la potencia total de la red permite estimar con qué frecuencia podría tener éxito, pero no garantiza ingresos regulares. Y los ingresos no son el beneficio: hay que descontar electricidad, refrigeración, equipos, mantenimiento y comisiones del pool. Las paradas pueden empeorar el resultado. También importan las unidades: TH/s mide rendimiento de cálculo, mientras que los vatios miden potencia eléctrica consumida. Una máquina potente puede perder dinero con electricidad cara, y un único hallazgo afortunado dice poco sobre la rentabilidad a largo plazo. [3]

En tu propio nodo puedes comparar la propuesta de getblocktemplate con la cabecera, la Coinbase Transaction y las transacciones normales de un bloque encontrado. Comandos como getblocktemplate pertenecen a la interfaz técnica del nodo; no son un servicio al que debas confiar dinero. submitblock entrega un bloque terminado al nodo para su comprobación. La aceptación local no garantiza que permanezca en el historial de toda la red. En un pool distingue tres cosas: los shares enviados, los bloques Bitcoin aceptados y las cantidades realmente pagadas. Junto con los gastos operativos, muestran el resultado económico de la minería. [5]

Para obtener la imagen más completa, lee esta entrada junto con Proof of Work, Difficulty Adjustment, Block Subsidy, Transaction Fees, Mempool. También enlazan con esta entrada Proof of Work, Difficulty Adjustment, Block Subsidy, Halving.

DOC · 001Bitcoin Core v29.0: block assemblerFuente primaria DOC · 002Bitcoin Core v29.0: block validationFuente primaria DOC · 003Bitcoin Developer Guide: MiningFuente primaria DOC · 004Bitcoin whitepaperFuente primaria DOC · 005BIP 22: getblocktemplateFuente primaria
Revisado: Fuentes primero · No es asesoramiento financiero