La minería es la piedra angular de criptomonedas como bitcoin, monero y ether. Los mineros se encargan de procesar bloques, los cuales están compuestos de transacciones realizadas por los usuarios. Estos bloques confirmados, a su vez, constituyen las cadenas de una red blockchain.
Es debido a su papel fundamental que resulta tan imprescindible conocer el funcionamiento de la minería, así como su importancia para la eficiencia y seguridad de la red. A continuación, profundizaremos sobre este tema:
1 ¿Qué es la minería de criptomonedas?
La minería de criptomonedas se puede definir como el proceso por el cual se validan y agrupan transacciones de una red, para luego añadirlas a un libro contable, conocido como blockchain. Este proceso brinda seguridad a la red al mismo tiempo que permite la generación de nuevas monedas. En pocas palabras, es la actividad que permite que las criptomonedas como Bitcoin funcionen.
A este proceso se le conoce por el nombre de “minería” debido a que, en esencia, es similar a la minería de cualquier mineral como el oro o el carbón. Solo que, en vez de tomar un pico y una carretilla para extraer valor de la tierra, usas programas y hardware de computación para extraer valor de la red.
Cuando minas criptomonedas, pones el poder de procesamiento de tu hardware al servicio de una red, llámese Bitcoin, Ethereum, Litecoin, Monero, etc. Estas redes de criptomonedas necesitan el poder de tus equipos para confirmar que las transacciones de sus usuarios son válidas. Todas las transacciones válidas son agrupadas en un bloque que luego añades a la blockchain, procesando así lotes de operaciones comerciales.
La minería cumple con el objetivo de mantener la red en funcionamiento
Por medio del proceso de minería, las transacciones son procesadas, los bloques se registran en la red y se generan nuevas monedas para su circulación. Gracias a este trabajo que hacen con sus equipos especializados, los mineros reciben una recompensa y las comisiones por transacción de los usuarios.
Agregar nuevos bloques a la cadena te hace merecedor de una recompensa que consta de dos partes. La primera son las comisiones pagadas por los usuarios que hicieron las transacciones que incluiste en el bloque. La segunda, y la más jugosa por los momentos, son las nuevas monedas que emite la red de forma programada.
Sí, tal como lees, la minería también es un elemento clave para generar monedas en estas redes. Con cada bloque nuevo se emiten nuevas criptomonedas y tú, que lo minaste, las recibes. Es como si el banco central de tu país te enviara billetes recién impresos por prestarle tu computadora; excepto que, al hablar de Bitcoin, hablamos de dinero verdaderamente orgánico.
Es importante mencionar que existen redes que validan sus transacciones con métodos que no requieren el uso de poder de procesamiento. Esto depende, en gran medida, del algoritmo de consenso que use la blockchain para verificar sus transacciones. En el caso de Bitcoin, que se basa en el algoritmo de Prueba de Trabajo (PoW), los mineros utilizan equipos especializados (ASIC) que trabajan con poder computacional.
2 ¿Por qué es necesaria la minería de bitcoin?
Tomando en cuenta la definición anteriormente propuesta, podemos decir con seguridad que la minería es la columna vertebral de gran parte de las criptomonedas. Por medio de este proceso, todos los datos de la red son transferidos y registrados en la blockchain. O sea, las criptomonedas funcionan como método de pago electrónico —al igual que Visa o Mastercard — gracias a los mineros que confirman transacciones y minan bloques.
Asimismo, debido a su estructura peer-to-peer (P2P), es posible que se procese dinero de manera descentralizada. Porque, sí, es también la minería —conformada por nodos y mineros ubicados alrededor del mundo— la que hace posible que la blockchain “esté encendida” procesando datos sin tener que depender de un servidor central auspiciado por un intermediario.
Esto diferencia a las criptomonedas de otros servicios financieros, tales como los bancos tradicionales o los procesadores de pagos, quienes son los que verifican, aprueban y registran todas las operaciones de sus clientes. Recapitulando, ya la minería ha cumplido con dos funciones vitales: mantener a las criptomonedas en funcionamiento 24/7 e introducir una manera de procesar datos de forma descentralizada.
Sin embargo, esto no es lo único que hace la minería. El proceso también resulta fundamental para garantizar la seguridad de las redes de criptomonedas. Por ejemplo, gracias al trabajo de los mineros se registran únicamente las transacciones que sean válidas, auditando la legitimidad de los datos y evitando el doble gasto.
Asimismo, protegen a la red ante posibles intentos de alteración de los datos registrados o de ataques para controlar su funcionamiento. Debido a que la única forma de revertir las transacciones de una criptomoneda es acumulando más del 51% de la potencia computacional (hash rate) de toda la red, mientras más activa es la minería de una blockchain, más difícil es centralizarla y, por ende, su seguridad es más robusta.
La seguridad de las redes PoW depende de la minería
La descentralización del poder computacional de las redes de criptomonedas salvaguarda su inmutabilidad, dificultan la posibilidad de que una entidad maliciosa quiera controlar la red o alterar los datos registrados.
Por último, pero no menos importante, la minería es una actividad que forma parte del ciclo de emisión de nuevos activos criptográficos en una red. Aunque la tasa de emisión de criptomonedas se establece en el código del protocolo de una red, son los mineros con su poder de cómputo quienes desbloquean las nuevas monedas a generarse cada vez que minan un bloque.
En este sentido, como forma de recompensa por las actividades realizadas, los mineros reciben una cantidad definida de bitcoins u otros activos que son recién emitidos. Estas criptomonedas jamás han sido transferidas o comercializadas por otros usuarios, puesto que provienen del protocolo mismo y son emitidas con base en la política monetaria de la red.
En el caso de redes como Bitcoin o Litecoin, esta recompensa se va ajustando con el pasar del tiempo y está planeado que —en un futuro próximo— se llegue a un límite y se dejen de generar nuevos activos. A este proceso, mediante el cual se reduce progresivamente el número de activos que se genera, se le conoce como halving y se trata de un mecanismo que plantea la posibilidad de que estas monedas no se devalúen a largo plazo.
3 ¿Cómo funciona la minería?
Tal y como hemos dicho anteriormente, la minería de criptomonedas es el proceso mediante el cual se verifican transacciones comerciales de una red y se generan nuevas monedas. Esto se logra resolviendo problemas matemáticos (hash) con equipo informático de gran potencia —un ASIC, GPU o CPU— y software especializado —cliente de nodo—. Pero, más allá de esta definición, muchos se deben estar preguntando por qué y cómo se lleva a cabo esta actividad.
Lo primero que hay que tomar en cuenta es que este proceso es realizado bajo el concepto de árbol de Merkle, o también conocido como árbol de hash binario, que en pocas palabras es el esquema con el que se añaden e identifican nuevos bloques de transacciones de la red. La blockchain se compone de estos múltiples bloques, los cuales escalan progresivamente hasta llegar a un elemento identificador único, conocido como nodo raíz o Merkle Root.
Conocer estas partes de la blockchain resulta importante porque la raíz de Merkle, combinada con otros datos como el hash del bloque anterior, la marca de tiempo, el objetivo de dificultad y el nonce, permiten que los mineros ejecuten la función hash para resolver el problema matemático que confirmará el bloque. O sea, en pocas palabras, al procesar esta información por medio de un equipo especializado los mineros pueden dar con el identificador de bloque (ID Block) que lo registrará de forma automática en la red.
Si te cuesta entender este proceso, podemos explicarlo de una forma incluso más simple. Imaginemos una caja fuerte. Este dispositivo, en donde se resguarda dinero u objetos valiosos, posee un mecanismo de seguridad que depende de la combinación de tres o más dígitos (clave) para liberar su contenido.
Si la persona no sabe cuál es la contraseña de la caja fuerte, esta nunca se abrirá. Solo existe una única combinación aceptada por dicha caja, así que se tendrá que llegar a ella luego de varios intentos para poder acceder a los objetos que están en su interior. La confirmación de los bloques de las redes blockchain funciona de una manera similar, puesto que los mineros deben encontrar el hash único que identifique al nuevo bloque —que funge como una especie de clave—para poder minarlo.
Sin embargo, a diferencia de una combinación de tres o cuatro dígitos de las cajas fuertes, la función hash de redes como Bitcoin está compuesta por una combinación alfanumérica de 64 caracteres. Debido a estas características, las posibilidades de dar con la combinación correcta que libere a los BTC y confirme las transacciones es realmente difícil. A un ser humano le tomaría decenas de años dar con la identificación del bloque que están minando.
La situación se vuelve aún más compleja si hay miles de personas tratando de conseguir dicha respuesta al mismo tiempo. Si se equivocan en las combinaciones o, peor aún, no llegan a la respuesta con la misma rapidez que otro participante, tienen que empezar de cero a minar otro bloque. Sin lugar a dudas, es una tarea que no tendría muchos adeptos si no se puede hacer de manera rápida y sería imposible procesar transacciones de forma eficiente sin usar una máquina.
Para eso se usan las computadoras o los equipos especializados, puesto que estos dispositivos pueden calcular una gran variedad de combinaciones en cuestión de minutos. Es decir, gracias al poder computacional de las máquinas, es posible llegar a la resolución de un bloque sin tener que pasar días o años probando diversas combinaciones. De esta manera, un nuevo bloque se confirma, como una caja fuerte se abre con la combinación correcta, y las transacciones son procesadas de manera exitosa.
O sea, en resumidas cuentas, la minería funciona gracias a una máquina que calcula posibles claves/identificadores. Mientras que los mineros cobran por el poder computacional que prestaron y la electricidad usada para llevar a cabo este servicio.
4 ¿Qué hace un minero para verificar un bloque de transacciones?
Si tenemos en cuenta todos estos detalles, podemos entender con mayor facilidad cada uno de los pasos que hace funcionar a la minería de Bitcoin. Por ejemplo, son los nodos mineros —y en algunos casos los operadores de grupos de mineros, conocidos como pools— quienes se encargan de seleccionar las transacciones en espera (de la Mempool) y añadirlas a una plantilla de bloque para ser minada. Asimismo, son ellos quienes se encargan de verificar su legitimidad incluso antes de agregarlas al bloque.
Vamos a ver esto en mayor profundidad:
Primer paso: Los nodos completos verifican que cada una de las transacciones son legítimas
Los nodos completos, entre los cuales destacan los nodos mineros por tener una copia de la blockchain y la posibilidad de trabajar con algoritmos de minería, son los participantes encargados de auditar las transacciones realizadas por los usuarios. La tarea principal es comprobar que las criptomonedas que se están enviando no han sido utilizadas en otro pago anteriormente. O sea, que no se esté realizando un doble gasto.
Pongamos un ejemplo. Un usuario malicioso tiene 2 BTC en su monedero, quiere transferirle la totalidad de esas monedas a un usuario A y volver a enviar 2 BTC (aunque ya no tiene más) para transferir a un usuario B. Tal y como podemos ver, desea usar más dinero del que tiene en su cuenta para realizar múltiples transacciones y engañar al sistema.
Lo que no sabe este usuario es que la red reportará esta anomalía en la transacción misma. ¿Cómo se logra esto? Por medio del hash que identifica la transacción. Sí, toda la red blockchain registra su información bajo hash únicos que se conforman por un conjunto de datos limitados.
Lo sorprendente de la función hash es que, si alteras solo uno de los datos de la transacción, se generará un código alfanumérico completamente distinto para dicha operación. O sea, las dos transacciones de nuestro usuario malicioso, a pesar de que vengan del mismo monedero y estén usando los mismos bitcoins, son completamente distintas porque cambian la dirección de destino.
Los nodos se encargan de verificar el hash y dan un voto de confirmación para considerarla válida. Aquella transacción que tenga más confirmaciones es la que se considera como más segura, puesto que posee el consenso de los nodos completos de la red. Por lo general, es esta la transacción que los nodos mineros incluyen en la plantilla de bloques para minarla.
Paso 2: Los nodos mineros agrupan transacciones y bloques no confirmados
Todas aquellas transacciones enviadas por los usuarios, que aún están siendo verificadas por los nodos completos y no han sido confirmadas, esperan en la Mempool de la blockchain para que sea seleccionadas por los nodos mineros.
Estos participantes, que la mayoría de las veces son pools de minería, se encargan de seleccionar las transacciones con mejores comisiones y que han sido verificadas previamente por los nodos completos. De esta manera, las agrupan en una plantilla o lista y las agregan a un bloque que todavía no ha sido confirmado.
Los nodos mineros deben respetar el tamaño que tienen los bloques de la red, según el protocolo que rige la blockchain. Por ejemplo, en el caso de Bitcoin, todos los bloques tienen un tamaño máximo de 2MB. En ese sentido, todo el lote de transacciones agrupadas debe pesar cerca de los 2MB, pero nunca más de ese tamaño; porque, si no, no será procesado.
Paso 3: Se agrega el hash del bloque anterior y otros datos al bloque no confirmado
Una vez agregadas las transacciones al bloque, los nodos mineros también se encargan de registrar información vital para minar criptomonedas y confirmar el bloque. Por ejemplo, los bloques tienen un encabezado en donde se identifica el hash (ID Block) del bloque anterior.
La dificultad también se especifica, la marca de tiempo y se calcula un posible nonce. De esta manera, se están preparando todos los elementos para poner a correr la función hash e iniciar el trabajo de dar con el hash único (identificador) del bloque que se está creando. Es decir, empieza la prueba de trabajo.
Paso 4: El equipo especializado empieza a resolver el problema matemático para dar con un resultado
Tal y como explicamos anteriormente, todo cálculo matemático de la función hash es llevada a cabo por dispositivos especializados en estas actividades. En algunos casos, como en la red Monero, puede hacerse con tarjetas de video o gráficas (GPU), mientras que con Bitcoin se utilizan dispositivos ASIC.
Estas máquinas, gracias a los datos anteriormente propuestos por el nodo minero y el nonce determinado, tratan de generar el identificador de bloque correcto para confirmar las transacciones y liberar las monedas. En caso de no lograrlo en el primer intento, se utiliza otro nonce y se empieza a correr la función hash una vez y así, sucesivamente, hasta que dé con la respuesta u otro minero resuelva el acertijo matemático.
El bloque se confirma si, y solo si, la máquina da con el hash de identificación que el protocolo determinó para ese bloque en específico. Los mineros saben que esto ocurre cuando su bloque se registra en la red y se libera la transacción con los bitcoins recién generados (conocida como transacción coinbase).
Paso 5: El bloque se agrega a la red y se anula cualquier otra transacción pendiente con posibilidad de doble gasto
Cuando un minero da con la solución de la función hash, entonces un bloque nuevo se genera en la red y queda registrado para la posteridad. La información dentro de esta blockchain ya no puede ser modificada y, en redes como Bitcoin o Ethereum, dichos datos pueden ser consultados públicamente.
En el caso de los usuarios maliciosos que envían más de una transacción con los mismos bitcoins, como vimos en el primer paso, cuando un bloque se confirma con una de sus transacciones, la otra se anula automáticamente. El protocolo está programado para evitar el doble gasto, así que se considera como única transacción válida aquella que fue aprobada primero y que tenía la mayor cantidad de confirmaciones de los nodos completos.
De esta manera, se cierra el ciclo de minar un bloque, mientras los participantes se preparan para pasar al siguiente y así, sucesivamente, todos los días. Un proceso que mantiene a las redes de criptomonedas vivas y funcionando las 24 horas del día, los 7 días de la semana.