La Mineria de Bitcoin

Miner
Internet ha ido evolucionando y ha ido añadiendo diversos protocolos a su ecosistema, tanto que hoy tenemos un protocolo para la comunicación entre maquinas, otro para el envió de correos, otro para la transferencia de contenido en streaming, etc. De esa misma forma, Bitcoin tiene diversos protocolos que le permiten interactuar con todo el ecosistema que lo conforma.
Uno de estos ecosistemas es el de los mineros.
 
La forma en que Bitcoin ha sido diseñado hace que en lugar de tener un ente Central que asegure y controle la oferta y la emisión monetaria, ese trabajo se extienda a toda la red (no como en el dinero fiat, que tiene entidades centralizadas que realizan ese control).
Pero permíteme decir que el trabajo «pesado» recae en los mineros y voy a tratar de explicarte porque pienso eso, a continuación.
 
 

La minería en Bitcoin

El termino de minería en Bitcoin toma ese nombre ya que implementa un proceso que podría ser equivalente al trabajo que se realiza en una mina, por ejemplo en una mina de Oro. Es decir, en el proceso de minado del Oro interviene un componente de esfuerzo para realizar la extracción, el cual junto a la escasez del Oro y otros atributos le dan un valor.
 
 
En línea con el ejemplo del Oro, diríamos que el proceso de minería de Bitcoin tiene:
  • Un proceso llamado Proof of Work, el cual le da la equivalencia al esfuerzo de extracción, es realizado a través de equipos de computo, y
  • Unas reglas monetarias y de emisión que brindan escasez (como la regla del halving) y que en su conjunto le dan valor a bitcoin.
 
En la red Bitcoin, que anida muchas computadoras, los mineros toman o recolectan las transacciones de la red con el objetivo de incluirlas en paquetes llamados bloques.

 

Estos bloques se van uniendo en un registro encadenado o continuo que se ha llamado blockchain o Cadena de Bloques, yo soy más de la opinión de que el nombre correcto debería ser timechain, ya que lo que almacena no son bloques, sino transacciones ordenadas cronológicamente. Independientemente del nombre que usemos, la timechain o blockchain, es un gran libro contable que registra que todas las transacciones ahí escritas cumplen con las reglas de consenso (reglas establecidas entre los participantes).

 

Esto es necesario porque sin estas verificaciones las transacciones podrían permitir un doble gastos y este es uno de los pilares de Bitcoin, el evitar el doble gasto es fundamental para la confianza.

 

La forma en que Bitcoin se asegura de que solo haya una cadena valida, es haciendo que los bloques contenidos dentro de ella sean realmente difíciles de producir (y de cambiar). Por ello, los mineros tienen que realizar una operación matemática que validen que cada bloque revisado (cada bloque minado) cumple con ciertos criterios (ese criterio es la obtención de un hash criptográfico).

Las personas del mundo Bitcoin (bitcoiners), conocen a este proceso como «hashing».

 

Ese proceso por su complejidad (complejidad en cuanto a la rapidez con la que debe desarrollarse) es realizado con equipos de computo y esos equipos de computo cada día son más especializados (son capaces de realizar más operaciones matemáticas por segundo).

Para poder encontrar el hash valido de un bloque, es necesario que el minero tome ese bloque e intente calcular un montón de operaciones sobre el hasta encontrar el hash valido, ese proceso de hashing requiere de un esfuerzo y un gasto computacional, que se traduce en un gasto energético, y que hace que el interés de realizar fraude sea costoso, pero si se tiene éxito de manera honrada, entonces se obtiene una recompensa, porque la creación de un bloque valido ha requerido un esfuerzo y un gasto.

 

Los bitcoin obtenidos por el minado van de acuerdo con un programa preestablecido y controlado por el halving (así es, en Bitcoin !existe una política monetaria!, que es conocida y predecible), además el minero que resuelve y valida un bloque cobra también las comisiones (fee) contenidas en cada transacción del bloque y que se deben pagar para ser incluidas en la blockchain (esas transacciones son en su inmensa mayoría envíos de bitcoin de una cartera a otra).

 

La primera transacción de cualquier bloque es una transacción especial, llamada Coinbase Transaction, la cual contiene la recompensa por el esfuerzo minero. De aquí tomo su nombre un famoso exchange, pero nada que ver.

A diferencia de las transacciones regulares, la transacción Coinbase no gasta UTXO como insumo. Tiene una sola entrada, llamada también coinbase, que crea los bitcoin de la recompensa «de la nada» (no es tan así, existen reglas en el código que son las que permiten su creación). La transacción Coinbase tiene una salida, la cual es pagadera a la dirección bitcoin del minero.

 

La transacción Coinbase es la única de todo el bloque que es manipulada por los mineros, dentro de esa transacción el minero que ha encontrado el hash, incluye la recompensa por el bloque minado (actualmente de 6.25 bitcoins) más las comisiones a pagar por cada transacción incluida dentro de ese bloque. Recordemos que existe el concepto de halving, por lo cual la recompensa del bloque irá disminuyendo cada 210.000 bloques.

 

Como dato curioso comentar que un minero que ha resuelto y hallado el problema de un bloque, podría reclamar menos recompensa de la que le corresponde, por ejemplo si la suma de la recompensa más las comisiones fuera de 20 bitcoins, el minero podría reclamar 19.96 bitcoins. Pero nunca podrá reclamar de más. Los Nodos validadores o Nodos Completos, se encargan de verificar por código que no se pueda reclamar más que la recompensa y las comisiones. Es una situación que no interesa al minero y que desde luego vigilan no ocurra, pero es posible, de hecho se han dado casos.

 

Otro dato importante a saber es que un minero solo puede gastar los bitcoin que ha recibido en recompensa, una vez que haya 100 confirmaciones (Coinbase Maturity), sobre el bloque que ha firmado. Esto es porque se considera que una vez que han pasado 100 confirmaciones, ese bloque ha tenido ya tantas confirmaciones que es considerado como valido e imposible de reversar. Por ejemplo imagina un minero que introduce un bloque «falso» o con transacciones no validas, la red de nodos validadores deberá ser capaz de detectar ese bloque en menos de 100 confirmaciones y desechar ese bloque, por lo cual ese minero no podrá gastar los bitcoin que supuestamente le corresponderían por haber firmado el bloque. 

 

Ahora bien, el proceso de hashing no se mantiene estático, esta regulado debido a que computadoras cada vez más potentes puedan realizar los cálculos con menor esfuerzo y en tiempos menores, a ese proceso de regulación se le denomina ajuste de la dificultad (difficulty).

 

Los criterios para el cálculo de la dificultad son ajustados cada 2016 bloques (aproximadamente cada 2 semanas), van en función de la frecuencia con la que los mineros son capaces de ir generando nuevos bloques (minando). Si la red registra que cada vez son minados más bloques y en intervalos de tiempo menores, entonces se produce un ajuste en la dificultad del proceso de hashing (la red espera un bloque en un intervalo de más o menos cada 10 minutos en promedio), lo que resulta que a partir de ese ajuste, los mineros van a requerir más capacidad computacional para resolver el problema matemático.

 

Este proceso puede ir a la inversa, es decir el ajuste de dificultad no solo es a la alza, puede ir a la baja en el supuesto de que cada vez haya menos capacidad de computo en la red (menos mineros minando), por lo que al bajarse la dificultad se requiere menos esfuerzo para resolver el hashing. 

Información actualizada al 14 abril de 2024 desde mi propio nodo utilizando el proyecto "mempool.space"

Hash rate

La minería de Bitcoin usa como base para medir la potencia de computo que existe en la red lo que se denomina hash rate o tasa de hash.

 

El hash rate es el número de operaciones de hashing que se realizan en un periodo de tiempo determinado, o la velocidad de rendimiento del minero que las ejecuta.

En pocas palabras, una tasa de hash es una forma de medir la capacidad de procesamiento de una red concreta.

Al minar Bitcoins, los bloques de transacciones verificadas se «hashean» antes de añadirse a la cadena de bloques. Cada hash se crea cuando un minero completa con éxito el puzzle o problema matemático que hemos comentado previamente.

Así, la tasa de hash mide cuántas veces los mineros pueden intentar completar el puzzle en un segundo, y lo difícil que es completarlo.

 

La tasa de hash es un buen indicador de la salud de una red. Cuanto mayor sea, más segura será la cadena de bloques frente a ataques del 51%.

Una tasa de hash más baja conlleva menos seguridad en la red. Cuanto menos segura es la red, más susceptible es de sufrir ataques del 51%.

 

Contenido de los bloques

Como mencionaba al inicio, en los bloques van contenidas transacciones, por lo que además, un minero debe validar que en un bloque solo se están incluyendo transacciones válidas, si no lo hace perderá la oportunidad de obtener la recompensa ya que el resto de la red, valida a su vez que el minero a «dicho la verdad», es decir que el bloque al que le ha dedicado esfuerzo y gasto y sobre el que ha encontrado el hash valido contiene a su vez transacciones validadas y ninguna es «falsa». Debido a este último punto, es más importante para el minero ser honesto y demostrarlo que intentar engañar, porque le es más costoso engañar que decir la verdad.

 

Como resultado a todo este trabajo que el minero realiza sobre la blockchain, cuando un cliente de Bitcoin inicia sesión en la red (por ejemplo una billetera), puede confiar en la blockchain que tiene más trabajo (pueden existir bifurcaciones en la red pero es evidente que la blockchain que tenga más trabajo, es la blockchain sobre la que la mayoría de los mineros están trabajando).

 

A día de hoy existe hardware de minería dedicado como podrían ser los equipos ASIC (application-specific integrated circuit), los cuales pueden probar billones de hashes por segundo, esto ha ocasionado que para poder ser competitivos los mineros necesitan juntarse (pools de minería) o usar hardware altamente especializado, de lo contrario, tenderán a gastar más en electricidad de lo que las recompensas les puedan redituar.

 

Así púes, en resumen, los mineros usan software para realizar el proceso llamado de minería y los pasos que hacen son:

  • Recopilan transacciones de la red.
  • Las validan y no permiten conflictos en las transacciones.
  • Las incluyen en paquetes llamados bloques
  • Realizan el cálculo del hash criptográfico una y otra vez, en un proceso de prueba y error, hasta que encuentran un hash valido.
  • Una vez obtenido un hash valido es enviado a la red para ser validado por el resto de la red.
  • Agregan el bloque a la cadena de bloques y una vez que obtienen confirmación de la red que su resultado es valido, obtienen la recompensa de minado y fees (comisiones).

 

Adicional a todos esto y ya de forma más genérica , el ecosistema minero es muy amplio, ya que a su vez los equipos de hardware y el software usado para minar es cada día más especializado, podemos hablar de CPU de minado, GPU de minado, FPGA de minado ASIC de minado, servicios de minería o Cloud Services Mining y los ya mencionados Pools de minería, entre otras formas del ecosistema de minería que además evoluciona continuamente, por ello es probable que al momento de esta lectura, haya más equipos o modalidades de minería dentro de Bitcoin.

 

Ya por último, se habla mucho de los peligros que la minería tiene para Bitcoin, principalmente o por lo menos los que yo he oído son:

  • Qué un grupo de mineros tan grande dentro de la red tome el control y pueda manipular la propia red (51% attack), si te interesa entender por que esto no sería nada fácil y porque el costo de hacerlo es mayor al beneficio de no, te dejo este link, y
  • Qué la necesidad de consumo energético que requiere la minería, hace que sea demasiado caro y además poco considerado con el medio ambiente (green friendly), lo cual aún esta en debate, ya que si bien el consumo energético es una realidad, los mineros buscan cada día usar fuentes de energía menos costosas (green) ya que sus margenes de ganancia dependen de ello y otro aspecto del debate es lo que cuesta actualmente el dinero fiat en términos de agresión al medio ambiente. Sin duda un tema que aún dará mucho para discutir.

 

Y tú, ¿qué piensas?, cual es tu opinión, me gustaría saberla. Gracias por tu tiempo!!.

5/5

Puedes dejar una propina con el botón «Invítame un café».

O mediante Lightning network:

⚡[email protected]

También puedes hacerlo onchain, vía Paynyms de Samourai Wallet:

PayNym: +decentralized

1 comentario

  1. Vicente Cea

    ¡¡Muy bueno!!
    Un saludo

Los comentarios están cerrados