Años a tras la actividad
Minera se podía hacer con una computadora sin embargo en la actualidad se
necesita de gran conjuntos industrial
repletos de máquinas especializadas en la labor de minar, generando millones de
operaciones por segundo para minar bitcoins.
Bitcoin tiene una dificultad o complejidad de minería dinámica. Esencialmente
supone que la complejidad de minería de un bloque en Bitcoin, no es
constantemente igual. En ocasiones sube y en ocasiones baja (aunque al extenso
plazo en la actualidad tiende al alza).
El concepto “dificultad” se emplea como una unidad
de medida en el proceso de minería en criptomonedas, realizando alusión a cómo
de difícil es hallar el hash del bloque.
En esta situación el hash
debería llevar a cabo con las propiedades buscadas en dicha blockchain. Cada bloque en la red se crea a
un ritmo definido por el protocolo de la blockchain. Y este ritmo debería
quedar, en el tamaño, de manera constante.
La dificultad de minado no
es más que la estimación de cuánto esfuerzo implica minar bitcoins, siendo
regulada aproximadamente cada 2 semanas según la tasa de hash con la que se
cuente. Actualmente la dificultad de minado se encuentra en 24.4 T, según
Coinwarz.
¿Por
qué la dificultad de minado no es fija?
Una persona que tenga mucha
potencia de cálculo (por ejemplo una cantidad enorme de ASIC, o descubriendo un
nuevo mecanismo para hacer la operación más rápidamente) va a poder hallar el
nonce bastante veloz, rompiendo la media de los 10 min que se busca. Allí es
donde Bitcoin agregó uno de sus elementos más relevantes: el reajuste de la
complejidad de minería.
Sin este reajuste, aquel
minero minaría todos los bloques en poco tiempo, rompiendo la curva de emisión
de bitcoins preestablecida en el modelo económico que subyace al protocolo de
Bitcoin. O sea, en poco tiempo todos los bitcoins estarían minados. Para eludir
esto el reajuste de minado entra en acción, realizando subir la dificultad del
problema matemático buscado, y estabilizando otra vez la era de cada bloque a
10 min (de media).
Reajuste
de complejidad de la minería en Bitcoin
El ajuste de la complejidad
de minería es dependiente de la programación y los protocolos de manejo de cada
blockchain y criptomonedas. Como ya hemos explicado, la complejidad de minería
en Bitcoin debería permitir a los mineros solucionar y crear un nuevo bloque
alrededor de cada 10 min. Y una vez que esta condición no se cumple, el nivel
de complejidad se acomoda.
Este reajuste pasa de manera
automática cada 2.016 bloques (aproximadamente cada 2 semanas). O sea, en todos
los nodos de la red bitcoin ya existe una parte de código en su código fuente
que fue preparado para esto. Por consiguiente, cada vez que se alcancen los
2.016 bloques minados, todos los nodos recalcularán dando como consecuencia un
nuevo grado complejidad para la prueba de trabajo (PoW).
¿Cómo
se establece la complejidad de minería en Bitcoin?
Primero que nada, es
fundamental señalar que la complejidad de minado es plenamente sin dependencia
del número de transacciones o del costo de las transacciones. Sin embargo sí
que se correlaciona con el poder de hash de la red, y por ende, con el fin y la
época de minado.
La fórmula para el cálculo
de la complejidad es la siguiente:
complejidad =
dificultad_1_target / current_target
Donde la finalidad (target)
es un número de 256 bits. dificultad_1_target podría ser distinto para
numerosas maneras de medir la complejidad. Comunmente, representa un hash donde
los 32 bits iniciales son cero y lo demás es uno (esto se sabe como “dificultad
de grupo” o “pdiff“). El protocolo Bitcoin representa fines como un tipo de
punto flotante personalizado con exactitud reducida. Como consecuencia, los
consumidores de Bitcoin constantemente se aproximan a la complejidad en
funcionalidad de esto, que se sabe como “bdiff“.
Paralelamente, la red
Bitcoin verifica la época real que se tardó en minar los últimos 2.016 bloques
de la cadena y lo compara con 20.160 min. Este costo se debería a que como cada
bloque debió ser minado en una época de 10 min, la era querido para minar los
2.016 bloques es de 20.160 min. Entonces, mediante dichos datos, se calcula la
interacción entre el intervalo de tiempo real y el intervalo de tiempo querido.
Llevando a cabo los ajustes que corresponden a la complejidad según los
resultados logrados, sea que se necesite aumentarla o disminuirla.
¿Cómo
se puede traducir la dificultad?
La complejidad en la
blockchain juega un papel bastante fundamental. Antes que nada, regula la
construcción y activación de la criptomoneda a un ritmo constante y
establecido. En segundo sitio, posibilita conservar la época de producción de
bloques de la criptomoneda de manera uniforme evitando inconvenientes de
estabilidad y evitando probables fraudes. De dicha manera, una vez que el costo
de una criptomoneda aumenta, los mineros son atraídos a unirse a la red, con lo
cual se incrementa el poder de hash de la misma y la complejidad se adapta y
aumenta. Por consiguiente, el ritmo de emisión de monedas permanece constante.
Adicional a esto, al haber
una época enorme entre cada bloque, los mineros aportan una más grande
estabilidad a la red, logrando revisar que todos los bloques cumplen con los
requisitos.
Por consiguiente, está
funcionalidad es fundamental debido a que asegura que los bloques sean causados
a la rapidez predeterminada por el protocolo y la estabilidad de la red,
permaneciendo resistente inclusive mientras más mineros se incorporen a la red
y aumenten el poder de hash de la misma.
