Minería de Bitcoin

¿Qué Es La Dificultad De La Minería De Bitcoin?

Qué Es La Dificultad De La Minería De Bitcoin

La dificultad de la minería es una medida que nos indica que tan difícil es minar un bloque en la blockchain de Bitcoin, o de cualquier criptomoneda.

Una dificultad alta implica que será necesario una potencial de cálculo más grande a la hora de validar los nuevos bloques que son agregados a la cadena. Algo que se consigue a través de un proceso que se llama minería.

El uso que le da Bitcoin y otras criptomonedas a este parámetro es para mantener el promedio de bloques que son creados continuamente mientras que el poder de hash aumenta.

La dificultad de la minería es importante para las criptomonedas, ya que una dificultad alta ayuda a asegurar la cadena de bloques en contra de ataques de personas mal intencionadas.

Pero todos estos conceptos pueden ser un poco difíciles de entender si no conocemos los aspectos básicos de la minería.

Por eso he preparado una serie de puntos que te iniciara en estos temas para que cuando ampliemos la definición de la dificultad de la minería de Bitcoin puedas comprenderlo fácilmente.

¿Cómo funciona la minería?

La red de Bitcoin tiene varios nodos especializados que se conoce como mineros, que poseen el hardware necesario para poder resolver un acertijo criptográfico bastante difícil.

Si son capaces de lograrlo, entonces tendrán la oportunidad de agregar un nuevo bloque a la cadena y a cambio obtener una recompensa en forma de BTC. Nada mal estarás pensando, pero todo esto conlleva una dificultad.

El proceso funciona de la siguiente forma:

  1. El minero elige una serie de transacciones que están esperando a ser aprobadas de la mempool y las transforma en hash.
  2. Luego completa la cabecera del bloque, donde se encuentran el hash de todas las transacciones también, y lo pasa por una función hash.
  3. Esto lo compara con un hash objetivo que determina que tan difícil debe ser todo el proceso. En caso de que el hash encontrado sea menor que el objetivo entonces ha conseguido validad el bloque, caso contrario pasa al siguiente paso.
  4. Dentro de la cabecera hay un parámetro conocido como nonce que tiene una única funcionalidad: ser modificado para que cada vez el hash de la cabecera sea diferente. Ahora vuelve al paso 3 y repite hasta hallar el nonce correcto.

Lee esto si quieres saber más sobre la minería de Bitcoin.

¿Qué determina la dificultad en Bitcoin? ¿Por qué se incrementa?

En función de mantener la integridad de la red, es necesario modificar el nivel de dificultad para los mineros sean capaces de encontrar un bloque en aproximadamente 10 minutos. Esto es importante porque permite mantener controlado el ritmo de emisión de nuevos BTC.

Para conseguir que los nuevos bitcoins que se generan como recompensas para los mineros lo hagan cada 10 minutos, el protocolo de Bitcoin tiene dos herramientas:

  • Incrementar la dificultad de la red cuando se vuelve más fácil para los mineros minar.
  • Disminuir la dificultad de la red cuando se vuelve más difícil para los mineros minar.

La red tiene una dificultad universal en un momento particular que todos los mineros deben cumplir si quieren que sus bloques sean válidos.

Una métrica importante para conocer la salud de una red que utiliza el método de consenso Prueba de Trabajo es su hashrate.

Esta medida nos dice que tanto poder de cálculo tienen los mineros, es decir, cuantos hashes son capaces de generar por segundos.

Cuanto más alto es el hashrate, más segura se puede decir que es la cadena de bloques de Bitcoin. Aunque también más veloz se vuelve.

Por eso la red necesita de una forma de contrarrestar el aumento del hashrate total para que la producción de nuevos bloques sea consistente.

Esto es explora porque cuando el hashrate aumenta a la larga también lo hace la dificultad, haciendo que los mineros lo tengan más complicado a la hora de poder encontrar un nuevo bloque que cumpla con los requerimientos antes vistos.

Pero también sucede el efecto contrario cuando el hashrate desciende por cualquier motivo. Alguno de ellos son:

  • Que la dificultad de la minería sea demasiado alta y los mineros tengan problemas para ajustarse a ella.
  • Que el precio de los BTC caiga haciendo que muchos mineros dejen de trabajar.
Gráfico de la dificultad de la minería de Bitcoin

Podemos verlo en el gráfico de aquí arriba, que mide la dificultad de la red de Bitcoin. Que a mediados de 2021, cuando el precio de Bitcoin cayó de más de $60.000 a $30.000, también lo hizo abruptamente la dificultad.

¿Cómo se calcula la dificultad?

El objetivo de dificultad de la red Bitcoin se utiliza para garantizar que se minen nuevos bloques de transacciones de bitcoin (es decir, que se añadan a la cadena de bloques bitcoin) a un ritmo medio de 1 bloque cada 10 minutos.

El objetivo de dificultad es recalculado y ajustado automáticamente (según el caso) por cada nodo completo de la red, cada 2.016 bloques.

El ajuste del objetivo de dificultad se realiza comparando, por un lado, la cantidad de tiempo que se ha tardado en minar 2.016 bloques y, por otro, el tiempo que se debería tardar en minar 2.016 bloques basándose en el intervalo deseado de 10 minutos, es decir, 20.160 minutos (10 minutos x 2.016 bloques).

El tiempo empleado en minar los 2.016 bloques anteriores se determina con base en las marcas de tiempo que incluyen los mineros en la cabecera de cada bloque de transacciones.

La marca de tiempo se encuentra en un formato Unix, y representa la hora aproximada de creación de un bloque minado, expresada en el número de segundos que han transcurrido desde la fecha del 01 de enero de 1970 a la medianoche (UTC).

Si la cantidad de tiempo que se tardó en minar 2.016 bloques es mayor que los 20.160 minutos deseados, la dificultad de minado se reduce, lo que significa que el objetivo de dificultad se aumenta.

Si el tiempo que se tarda en minar 2.016 bloques es inferior a los 20.160 minutos deseados, la dificultad de minado aumenta, lo que significa que el objetivo de dificultad se reducirá.

También se entiende que el ajuste del objetivo de dificultad es independiente del volumen o valor de las transacciones que está procesando la red bitcoin.

El cambio de dificultad se puede describir con la siguiente fórmula:

Nueva dificultad de minado = Dificultad de minado anterior * (Tiempo de minado de los últimos bloques de 2016 / 20.160 minutos)

Un detalle interesa del mecanismo que ajusta la dificultad es que esta no puede ser ajustada por un factor mayor a 4. En el caso de que un cambio en el hashrate de la red sea tal que se requiera una corrección que exceda un factor de 4 con respecto a la dificultad de minado actual, se aplicará el factor máximo de 4.

Cualquier otro ajuste tendrá lugar en el siguiente punto o puntos de reajuste, según el caso.

Una nota al margen que merece la pena mencionar con respecto a esto es que se incluyó un aparente error en la implementación original del cliente núcleo de Bitcoin, haciendo que el cálculo de la dificultad cada 2.016 bloques se basara, no en el tiempo empleado en minar los 2.016 bloques anteriores, sino en los 2.015 bloques anteriores.

Beneficios de la dificultad

Una pregunta que muchos se hacen es ¿por qué los participantes de la red buscarían hacer más difícil la dificultad a la hora d encontrar un nuevo bloque?.

Se trata de una acción que se repite una y otra vez solamente para conseguir bitcoins, algo que podría hacerse más fácil si la dificultad fuera constante.

Pero existen dos beneficios muy importantes en los cambios en la dificultad, y son:

1. Un ritmo constante de nuevos bloques

En el whitepaper de Bitcoin, escrito por Satoshi Nakamoto, este explica como la dificultad en la prueba de trabajo ayuda a generar una producción estable de nuevos bloques que son agregados a la cadena:

Para compensar el aumento de la velocidad del hardware y el interés variable de los nodos en funcionamiento a lo largo del tiempo, la dificultad de la prueba de trabajo se determina mediante una media móvil que apunta a un número medio de bloques por hora. Si se generan demasiado rápido, la dificultad aumenta.

Satoshi Nakamoto

Bitcoin ha sido diseñado para que nuevos bloques surjan cada 10 minutos en promedio. Aunque otras criptomonedas han optado por distintos valores, como en el caso de Litecoin que es de 2,5 minutos.

El problema es que la cantidad de poder de cálculo de una red puede variar enormemente con el tiempo a largo plazo, e incluso hacerlo en el corto también.

Cuando Satoshi Nakamoto mino el primero bloque, solo había un ordenador en la red, probablemente uno de escritorio o portátil.

Actualmente, existen numerosos centros mineros con equipos ASIC con una potencia varias veces la de cualquier ordenador doméstico. Estos mineros ASIC son máquinas diseñas específicamente para conseguir hashear lo más rápido posible, consiguiendo así millones de hashes por segundos.

En función de asegurar que la red produzca bloques nuevos dentro del promedio establecido, es necesario que el software automáticamente ajusta el hash objetivo hacia arriba o hacia abajo, para hacer más fácil o difícil la minería respectivamente.

Si te preguntabas cual era la dificultad cuando Satoshi mino el bloque génesis, esta era de 1.

2. Mejorar la seguridad

El hashrate total que existe dentro de la red de la criptomoneda provee un mecanismo para que los malos actores necesiten superar este valor si es que quieren tomar el control total.

Cuando aumenta la dificultad, esto significa que el hashrate total también lo ha hecho. Lo que provoca que el atacante ahora lo tenga más dificil, y además más costoso.

Este tipo de ataques se lo conoce como “ataque del 51%”, y en el caso de Bitcoin hoy es prácticamente imposible. Aunque no se puede decir lo mismo de otras criptomonedas más pequeñas.

¿Por qué se modifica para conseguir los 10 minutos?

Este periodo de tiempo se cree que ha sido elegido deliberadamente por Satoshi Nakamoto, el inventor de Bitcoin, como un compromiso entre la velocidad de la red y la estabilidad que se consigue.

Velocidad de la red

Por un lado, un promedio de 10 minutos asegura que las transacciones de Bitcoin que hay dentro de los bloques sean confirmadas relativamente rápido.

Esto es beneficioso para la usabilidad de Bitcoin si es que queremos utilizar esta criptomoneda para realizar pagos.

Estabilidad de la red

Por el otro, un promedio de 10 minutos minimiza la posibilidad de que 2 bloques o más sean minados al mismo tiempo.

Esta situación se puede dar cuando dos mineros encuentran un bloque válido a escasos segundos de difernecia, antes de que los dos se den cuentan que el otro también lo ha conseguido.

El tamaño de la red de Bitcoin es tal que puede transcurrir un breve periodo de tiempo antes de que la difusión de un bloque recién minado se propague por toda ella.

Por lo tanto, es perfectamente posible que se mine un nuevo bloque, aunque ya se haya difundido a la red bitcoin otro bloque minado, pero que aún no haya sido recibido por el minero del bloque más reciente.

En este caso, existirán temporalmente dos versiones diferentes de la cadena de bloques de bitcoin entre los nodos de la red de bitcoin (lo que a menudo se denomina “bifurcación”), hasta que los nodos acaben reconvirtiéndose en una única cadena que se considera la cadena principal de bitcoin, que contiene el mayor número de bloques y, por tanto, muestra la mayor cantidad de pruebas de trabajo.

Al garantizar que, de media, transcurra un tiempo suficiente (10 minutos) entre los nuevos bloques minados, se mitiga el riesgo de que se produzca una bifurcación, aunque no se excluye por completo.

Resumen

  • La dificultad de la minería es una medida de cuan difícil es minar bloques en una criptomoneda en particular.
  • Si la dificultada es alta significa que se requerirá un mayor poder de cómputo para validar las transacciones que se generan en la blockchain.
  • Cuanto mayor es la dificultad para crear un bloque, más importante es la seguridad que tiene esa criptomoneda para protegerse de atacantes que buscan el control de la misma.

Conclusión

La dificultad de minado depende del objetivo de dificultad, es decir, la dificultad a la que la potencia de cálculo de la red bitcoin es capaz de resolver el algoritmo de prueba de trabajo de media en 10 minutos.

Se ajusta automáticamente cada 2.016 bloques, basándose en el tiempo empleado en minar los 2.016 bloques anteriores. Se cree que el intervalo medio de bloques de 10 minutos fue elegido deliberadamente, como un compromiso entre la velocidad de la red bitcoin y la estabilidad de la red bitcoin.

Acerca del autor

Criptotario

Me llamo Martin, soy ingeniero y apasionado de las inversiones y la tecnología. Me gusta mucho leer libros y todo aquello que me haga mejorar día a día.

Agrega un Comentario

Haz clic aquí para añadir un comentario