Publicado el 02.07.2022 a las 11:31
Para comprender qué es minar criptomonedas es necesario que sepas (al menos por encima) que el la tecnología de blockchain.
De forma muy resumida, blockchain es una base de datos que se almacena como bloques, donde los bloques están enlazados unos con otros y donde la información contenida en el bloque es inmutable, es decir, no se puede modificar.
Así se irán encadenando cada uno de los bloques.
La persona que calcula el hash del bloque en cuestión e inserta dicho bloque en la blockchain es el minero, y recibe una recompensa por hacerlo.
Para que no sea toda tan genérico te voy a contar cómo se hace con bitcoin.
En el caso concreto de bitcoin, lo que se almacena en la blockchain son las transacciones de bitcoin, es decir, los movimientos de bitcoin.
Aquí puedes ver los últimos bloques de la blockchain de bitcoin.
Los bloque están compuesto por texto plano, como si fuera una cartilla de banco. Por ejemplo:
Transacción 1-> La cuenta 111 envía 0,5 bitcoins a la cuenta 444 Transacción 2-> La cuenta 876 envía 1,3 bitcoins a la cuenta 536 ...
Cada bloque tendrá una capacidad de 1MB aproximadamente.
Esto nos da como resultado que aproximadamente cada bloque de la blockchain de bitcoin almacena unas 2000 transacciones
Cada 10 minutos aproximadamente se generará un único bloque. Así que podemos deducir que la tasa de crecimiento de la blockchain de bitcoin es de 1bloque/10minutos o de 2 ó 3 transacciones por segundo sabiendo que en un bloque se registran unas 2000 transacciones.
🚩 Este es el principal problema que le veo a bitcoin, que tiene una tasa de transacciones muy baja.
El minero recibirá por cada bloque insertado una recompensa en bitcoins. Para lo primeros bloques la recompensa era de 50 bitcoins y cada 210.000 bloques la recomensa se reduce a la mitad (halving).
Hoy día la recompensa es de 12 bitcoins.
👉 aquí puedes ver el contenido de un bloque de bitcoin.
En informática un hash es un identificador único y de longitud fija para unos datos independientemente de la longitud de dichos datos.
👉 aquí puedes crear hash para la cadena de texto que quieras.
Conociendo el algoritmo es muy fácil crear el hash para la información que quieras, pero partiendo del hash es casi imposible obtener los datos que generan dicho hash.
Siguiendo con el hilo anterior, hemos dicho que todo el contenido del bloque generará un hash, pues el hash generado no será válido si no comienza con un determinado número de ceros (dificultad), esta es la última regla.
La única forma de conseguir hacer esto es ir probando diferentes números hasta dar con el que añadiendo al final del bloque genere un hash que comience con el determinado número de ceros en cuestión.
Esto hace que se tarde en obtener un hash válido unos 10 minutos, y cuando varía la potencia de cómputo para obtener dicho hash se varía la dificultad para que se sigan necesitando 10 minutos en obtener un hash válido.
Esta prueba de trabajo es lo que hace que bitcoin y las criptomonedas basadas en pruebas de trabajo (POW) consuman tanta electricidad, ya que es necesario muchísima potencia de cómputo para obtener un hash válido para un bloque.
El objetivo del POW es garantizar la seguridad del blockchain, ya que para poder adulterar un bloque necesitarías tener más de la mitad de la potencia de cómputo de la red, lo cual es prácticamente imposible.
Generar un bloque conlleva un gasto importante en hardware y electricidad por lo que lo más rentable es crear bloques válidos y llevarte la recompensa.
Es fácil pensar que se está tirando una inmensa capacidad de cómputo y de electricidad para obtener tan sólo un hash válido cada 10 minutos de los miles de millones que se generan, pero esto es necesario para garantizar la seguridad de la blockchain de bitcoin.
En un mundo ideal no haría falta esa inmensa cantidad de recursos y electricidad, pero en ese mismo mundo ideal tampoco harían falta policía, ni ejército, ni jueces, ni abogados... estoy seguro de que me entiendes.
Cada 2016 bloques se revisa el tiempo que se está tardando en obtener un hash válido y si dista mucho de 10 minutos se aumenta o disminuye la dificultad (número de ceros por el que tiene que comenzar un hash para ser válido).
A este proceso de encontrar el hash que cumpla con la dificultad es a lo que estrictamente se le conoce como minar.
Los bitcoins que se dan como recompensa a los mineros son bitcoins nuevos, es decir, son creados en el momento que se inserta un nuevo bloque a la blockchain.
Pero entonces, ¿qué contenía el primer bloque necesario para la creación de los primeros 50 bitcoins si no existían bitcoins para hacer transacciones?
El primer bloque se generó con el artículo de un periódico y se le dio 50 bitcoins a quien lo minó.
Este artículo ha sido un poco más técnico que lo que me gusta escribir, pero no se me ha ocurrido otra forma de explicar qué es la minería de criptomonedas 🥴.
Hasta luego 🖖