Antes de comenzar a comprender qué significa la dificultad de la minería de bitcoin, necesitamos saber cómo funciona la minería de criptomonedas. Hemos cubierto este tema en detalle anteriormente, por lo que solo daremos una pequeña descripción antes de explicar con mayor profundidad en qué consiste la dificultad para producir nuevos bitcoins. A continuación, veremos cómo se calcula la dificultad de minería y cómo cambia para adaptarse a las necesidades de la red.

¿Cómo funciona la minería? ¿Cuánto tiempo se tarda en extraer 1 Bitcoin?

La red de Bitcoin tiene varios nodos especializados llamados «mineros» que usan equipos especializados para resolver acertijos criptográficamente complejos. Si el minero tiene éxito, entonce tendrán la oportunidad de agregar bloques a la blockchain de BTC con éxito. Así es como funciona:

  • El minero recoge las transacciones que esperan en el mempool y las procesa.
  • Seguidamente agrega un valor hexadecimal aleatorio al frente del hash y numera (hashes) todo el valor.

Este hash debe ser menor que un valor particular, que se llama «dificultad».

¿Qué determina la dificultad de minería de bitcoin? ¿Por qué aumenta la dificultad de BTC?

Mantenimiento de la integridad de la red

El nivel de dificultad de minería de Bitcoin aumenta o disminuye según la facilidad de realizar el proceso de minado dentro del protocolo. Recuerde, Bitcoin debe mantener un tiempo de procesamiento de bloques constante de 10 minutos. En otras palabras, nuevos bitcoins se pueden inyectar en el suministro circulante cada 10 minutos. Para asegurarse de que este tiempo de procesamiento se mantenga sin cambios, el protocolo de Bitcoin:

  • Aumenta la dificultad de la red cuando es más fácil para los mineros minar.
  • Disminuye la dificultad de la red cuando resulta más difícil para los mineros minar.

La red Bitcoin tiene una dificultad de procesamiento de bloques universal. Todos los bloques válidos deben tener un hash debajo del objetivo. Los grupos mineros también tienen una dificultad de minado específica compartida dentro del grupo, que establece un límite inferior para los participantes del pool de mineros.

Relación con la tasa de hash

Una de las métricas críticas para juzgar la salud de una red de prueba de trabajo como Bitcoin es la tasa de hash o hashrate. En pocas palabras, la tasa de hash muestra cuán poderosos son los mineros dentro de la red. A mayor hashrate de la red bitcoin, mayor es la seguridad y velocidad generales. Sin embargo, estas redes necesitan mantener su hashrate bajo control para tener una producción de bloques consistente. Esta es la razón por la cual, cuando el hashrate aumenta, la dificultad de minería de bitcoin eventualmente también aumenta, lo que dificulta a los mineros extraer nuevas criptomonedas dentro de la red.

Lo opuesto también es cierto. Si la tasa de hash de Bitcoin disminuye, la dificultad de la red también se reducirá. La tasa de hash puede disminuir debido a las siguientes razones:

  • Bitcoin actualmente tiene una gran dificultad de minado, por lo que los mineros están teniendo dificultades para minar en el sistema.
  • El precio de BTC bajó, por lo que muchos mineros abandonaron la minería.

De hecho, existe una correlación muy estrecha entre ambos aspectos. Alrededor del 26 de marzo, la dificultad de la red cayó un 16% de 16.55 billones a 13.9 billones. Este fue el mayor colapso en la dificultad de la red desde principios de 2013. Para comprender por qué sucedió en esta ocasión, primero tenemos que ver como disminuyó el hashrate justo antes de que cayera la dificultad de minado de Bitcoin. Esta caída en la tasa de hash se produjo debido a la baja en los precios de Bitcoin, que obligó a muchos mineros a abandonar sus operaciones.

¿Cómo calcula Bitcoin la dificultad de minería?

El objetivo de dificultad para la red bitcoin se establece para garantizar que se minen nuevos bloques de transacciones de bitcoin (es decir, se agreguen a la blockchain de bitcoin) a un ritmo promedio de 1 bloque cada 10 minutos.

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

El ajuste del objetivo de dificultad se realiza mediante la comparación, por un lado, de la cantidad de tiempo que se tardó en minar 2,016 bloques, y, por otro lado, el tiempo que debería tomar para minar 2,016 bloques en función del intervalo de 10 minutos deseado, es decir, 20160 minutos (10 minutos x 2.016 bloques).

La cantidad de tiempo dedicado a la extracción de los 2.016 bloques anteriores se determina en función de las marcas de tiempo que los mineros incluyen en el encabezado de cada bloque de transacciones. La marca de tiempo utilizada en cada encabezado de bloque representa el tiempo aproximado de creación de un bloque minado, expresado como la cantidad de segundos que han transcurrido desde la fecha 01 de enero de 1970, medianoche (UTC).

Si la cantidad de tiempo necesario para minar 2,016 bloques es mayor que los 20,160 minutos deseados, la dificultad de minería disminuye, lo que significa que el objetivo de dificultad se establecerá más alto. Si la cantidad de tiempo necesario para extraer 2,016 bloques es menor que los 20,160 minutos deseados, la dificultad de minería aumenta, lo que significa que el objetivo de dificultad se reducirá. También se deduce que el ajuste del objetivo de dificultad es independiente del volumen o valor de transacción que está procesando la red de bitcoin.

El cambio en la dificultad se puede describir de la siguiente manera:

Nueva dificultad de minería = Dificultad de minería anterior * (Tiempo para minar los últimos 2016 bloques/20,160 minutos)

Dificultad de minería de Bitcoin

Evolución de la tasa de hash (verde) y la dificultad de minería (rojo) a mediados de 2014

El ajuste de la dificultad de minería en cualquier punto de re-objetivo no puede exceder un factor de 4. En el caso de que un cambio en la tasa de hash de la red bitcoin sea tal que se requiera una corrección que exceda un factor de 4 frente al dificultad minera actual, se aplicará el factor máximo de 4. Cualquier ajuste adicional tendrá lugar en los siguientes puntos de re-objetivo, según sea el caso.

¿Quién ajusta el objetivo de dificultad?

La recalibración del objetivo de dificultad ocurre de manera descentralizada. Esto significa que cada nodo completo evaluará y ajustará independientemente (según sea el caso) la dificultad de minería, de acuerdo con el método de cálculo mencionado anteriormente, y solo aceptará bloques que cumplan con la dificultad que ha calculado.

¿Cómo se establece la dificultad de minería en Bitcoin?

Los mineros usan hardware ASIC especializado para minar Bitcoins. Estas máquinas son extremadamente rápidas y producen tetrahashes cada segundo. Sería extremadamente poco práctico para un sistema verificar minuciosamente cada uno de estos hashes para ver si cumplen con todas las condiciones necesarias o no. Esto es exponencialmente cierto para los grupos mineros. No pueden verificar todos los hashes producidos por un minero de bitcoin cada segundo.

Esta es la razón por la cual los grupos de minería usan un concepto llamado «Tiempo Compartido» (Share Time).Entonces, imaginemos que un grupo de minería de bitcoins ha establecido un Tiempo Compartido de 5 segundos. Esto significa que, en promedio, el grupo de minería requerirá que los mineros envíen el trabajo procesado (los hashes producidos) cada 5 segundos.

¿Cómo se hace esto exactamente?

El grupo de minería de bitcoin establece un valor llamado Dificultad Compartida (Share Difficulty) para cada minero del pool. La dificultad compartida de un minero es directamente proporcional a su tasa de hashes individual. Como tal, cuanto mayor sea el hashrate del minero, mayor será su Dificultad Compartida. La idea es que el minero use su equipo para generar toneladas de hashes. En el momento en que un minero encuentre un hash que cumpla la dificultad compartida objetivo, enviará el hash al grupo.

¿Cómo son recompensados los mineros?

Los mineros en un grupo de minería son recompensados en base a un sistema de «Pago por acción» (PPS). En este sistema, los mineros son recompensados por las acciones que envían. Los valores de las acciones dependen completamente de lo difícil que es descubrir la acción.

Tomemos un ejemplo para ver cómo funciona esto:

  1. Supongamos que hay un minero en un grupo de minería con un hashrate individual de 50 TH/s.
  2. El grupo de minería al que se ha unido ha establecido su Dificultad Compartida en 1,000,000.
  3. En el momento en que obtenga acciones por encima de 1,000,000, será recompensado por el grupo.
  4. El grupo puede cambiar su dificultad para asegurarse de que no envíe sus acciones demasiado rápido.
  5. Ahora, si el minero compra equipos nuevos y aumenta su hashrate hasta 150 TH/s, el grupo aumentará su dificultad a 3,000,000. De esta manera, el minero acciones a la misma velocidad que antes. Sin embargo, obtendrá 3 veces la recompensa que recibió anteriormente por las acciones que envíe.
  6. La razón por la cual los grupos mineros recomiendan mayores dificultades para un hardware más rápido es reducir la carga de red tanto en el sistema del minero como en el grupo. También disminuye el retraso de reinicio del hardware de minería mientras se prepara para la próxima unidad de trabajo. Al mismo tiempo, el grupo debe tener cuidado de no establecer una dificultad demasiado alta, lo que resultará en una gran cantidad de acciones estancadas.

La importancia de la dificultad en el consenso de Nakamoto

Para comprender cuán crítica es la dificultad para el ecosistema de Bitcoin, es necesario entender cómo funciona el consenso de Nakamoto. Para una red ampliamente extendida y sin una entidad centralizada, los protocolos de consenso son la única forma de mantener cualquier forma de gobierno. Sin embargo, los algoritmos de consenso tradicionales como Raft no son ideales para mantener un protocolo criptoeconómico de amplio alcance como Bitcoin. Es por eso que Satoshi Nakamoto, el creador de Bitcoin, creó el consenso de Nakamoto.

El principio central del consenso de Nakamoto es que para participar en el sistema, uno debe pagar un precio. En el caso de la prueba de trabajo (POW), es decir, el consenso de Bitcoin, los mineros pagan un precio con «trabajo». El trabajo, en este caso, es la gran cantidad de energía computacional que un minero debe gastar para minar un Bitcoin. Aquí es donde entra la dificultad. La dificultad es la métrica que complica la minería de Bitcoin, además, esto es lo que el consenso de Nakamoto aprovecha para resolver el problema del doble gasto.

¿Qué es el doble gasto?

El doble gasto es la razón por la cual todos los intentos de crear una criptomoneda descentralizada habían fallado miserablemente antes de Bitcoin. En términos simples, es una falla que puede permitir que una criptomoneda se gaste más de una vez al mismo tiempo. Nunca encontramos este problema al tratar con efectivo físico. Después de todo, si compramos algo con una nota bancaria de $20, no podemos comprar simultáneamente otra cosa con esa misma nota, ¿verdad?

Sin embargo, un token digital tiene archivos digitales que pueden duplicarse fácilmente, lo que lleva a un doble gasto inevitable. Como puede imaginar, el doble gasto puede tener varios efectos devastadores en la economía del ecosistema:

  • En primer lugar, infla el suministro total de las monedas dentro del ecosistema, lo que descontrola la ecuación de oferta y demanda.
  • En segundo lugar, si alguien, en cualquier lugar, puede gastar la misma moneda sin restricciones, reducirá la fe de las personas en la santidad de esa moneda.

Bitcoin requiere que todas las transacciones se incluyan en la cadena de bloques, sin falta. Esto asegura que cualquier persona en la red pueda rastrear cada Bitcoin hasta su propia fuente. Un nivel tan alto de transparencia asegura que nadie podrá duplicar el gasto sin que toda la red lo note. Sin embargo, pensemos en algo más diabólico. Supongamos que alguien decide secuestrar la cadena de bloques de bitcoin bifurcando e intentando un doble gasto con todos los Bitcoins.

¿Qué pasa entonces?

Bueno, resulta que debido a la dificultad de la red, la cantidad de recursos y dinero que el atacante necesitaría para apoderarse de la blockchain sería exponencial. Como tal, simplemente no vale la pena actuar en contra de los intereses del sistema. Así es como la dificultad de la red le da al Consenso de Nakamoto la potencia de fuego que necesita para mantener la seguridad y la integridad de la red.