Volver al inicio
Cinco ideas. Empieza donde quieras.

Prueba de trabajo

Prueba de trabajo: ¿por qué es difícil de encontrar, pero fácil de comprobar?

Si se permite que muchas personas intenten crear el siguiente bloque, la red necesita una forma de determinar quién tuvo éxito de verdad, sin un administrador que asigne turnos.

Bitcoin y Kaspa usan un método llamado prueba de trabajo.

La idea central es simple:

Encontrar un resultado que cumpla el requisito de la red es difícil, pero una vez que alguien lo encuentra, comprobarlo es fácil.

Los mineros lo intentan una y otra vez

Un minero prepara un bloque que quiere proponer.

Después hace un cálculo sobre la información del bloque.

Ese cálculo produce un resultado numérico.

Si el resultado no cumple el requisito, el minero cambia un pequeño fragmento de información y lo intenta de nuevo.

Y otra vez.

Y otra vez.

Puede hacer falta una cantidad enorme de intentos antes de que uno funcione.

Un minero no puede saber de antemano qué intento va a tener éxito

El minero no puede predecir:

«Si cambio este valor, el siguiente intento seguro va a funcionar.»

Cada intento produce un resultado que es difícil de predecir de antemano.

Así que el método práctico es simplemente intentarlo muchas veces.

El resultado de este cálculo se llama hash.

Un modelo mental simple es:

Entra información → sale un resultado numérico

Un cambio pequeño en la entrada suele producir un resultado muy distinto.

¿Cuándo un intento cuenta como un éxito?

Cada intento produce un hash: un número que es difícil de predecir de antemano.

Las reglas del protocolo definen un número objetivo.

Para que el intento tenga éxito, el hash tiene que ser menor que el objetivo.

Eso no es solo una analogía. Es la idea real que está debajo.

Un ejemplo diminuto:

Imagina resultados posibles del 0 al 99.

Si la regla dice:

«Todo lo que esté por debajo de 10 tiene éxito»

entonces funcionan del 0 al 9: aproximadamente un resultado de cada diez.

Si la regla cambia a:

«Solo tienen éxito los resultados por debajo de 2»

entonces solo funcionan 0 o 1, así que el éxito se vuelve mucho más difícil de encontrar.

En la realidad el rango de números es enorme, pero la idea es la misma:

Un objetivo más bajo significa menos resultados aceptables, así que en promedio hacen falta más intentos.

Difícil de encontrar, fácil de verificar

Esta es la parte importante de la prueba de trabajo.

Un minero puede haber hecho millones o miles de millones de intentos antes de encontrar un resultado válido.

Pero cuando el minero publica el bloque, otra computadora no necesita repetir todos esos intentos fallidos.

Hace la comprobación exigida y pregunta:

¿Este resultado cumple de verdad el requisito?

Si la respuesta es sí, la prueba de trabajo es válida.

Si no, el bloque se rechaza.

Muchos intentos pueden fallar antes de que uno tenga éxito. Otra computadora revisa el resultado exitoso directamente, sin repetir los intentos que fallaron. Los números de los intentos son ilustrativos.

Más potencia de cómputo significa más intentos

Un minero que puede hacer más cálculos cada segundo obtiene más intentos.

Eso le da una probabilidad más alta de encontrar un resultado válido.

Pero ni siquiera un minero muy grande recibe un turno reservado.

Un minero pequeño todavía puede encontrar el siguiente resultado.

Simplemente tiene menos intentos en comparación con el número total de intentos de toda la red.

El número de intentos de minería que se pueden hacer por segundo se llama hashrate.

¿Quién fija la dificultad?

Nadie se sienta a elegir a mano el siguiente objetivo.

Las reglas del protocolo ya definen cómo se calcula.

Las computadoras miran con qué rapidez se crearon los bloques recientemente y usan las mismas reglas para calcular la dificultad exigida.

Si los bloques llegan demasiado rápido en comparación con la tasa objetivo, encontrar un resultado válido se vuelve más difícil.

Si los bloques llegan demasiado despacio, se vuelve más fácil.

Este nivel de dificultad se llama dificultad.

Bitcoin y Kaspa la ajustan de formas distintas y con calendarios distintos, pero la idea es la misma:

El protocolo ajusta la dificultad a la cantidad de potencia de cómputo de la red para poder mantener la tasa de bloques prevista.

Si un minero intenta usar un objetivo más fácil del que permite el protocolo, los nodos pueden detectarlo y rechazar el bloque.

¿Por qué usar la prueba de trabajo?

Si cada computadora pudiera simplemente decir:

«Quiero crear el siguiente bloque»

no habría una forma simple de decidir qué afirmación debería importar.

Contar computadoras o identidades tampoco resuelve el problema.

Una persona puede crear miles de identidades en línea y fingir que es miles de participantes independientes.

La prueba de trabajo vincula la influencia para encontrar bloques con algo que es más difícil de crear gratis:

Cómputo real.

Para aumentar la probabilidad de encontrar bloques, un minero tiene que hacer más intentos, y eso exige hardware y electricidad.

Así que Bitcoin y Kaspa no asignan influencia según cuántos nombres o cuentas pueda crear alguien.

La influencia para encontrar bloques está conectada con trabajo computacional real.

La prueba de trabajo no le da a un minero permiso para cambiar las reglas

Imagina que un minero muy potente encuentra un bloque.

Dentro, el minero intenta incluir una transacción que gasta el dinero de otra persona sin permiso.

La prueba de trabajo del bloque puede ser perfectamente válida.

La transacción sigue siendo inválida.

Los nodos también comprueban las reglas de las transacciones.

Si el bloque rompe esas reglas, lo rechazan.

Así que:

La prueba de trabajo le da a un minero una oportunidad de proponer un bloque.

No le da al minero permiso para reescribir las reglas de la red.

El trabajo acumulado también hace más difícil reemplazar la historia

Cada bloque exige trabajo nuevo.

A medida que más bloques se construyen sobre una historia en particular, se acumula más trabajo detrás de ella.

Alguien que intente crear una historia alternativa no puede simplemente editar un bloque viejo.

Necesita hacer suficiente trabajo nuevo para que la historia alternativa compita con la que la red ya está siguiendo.

A medida que se acumula más trabajo, eso en general se vuelve más difícil y más caro.

¿Qué te llevas de esta página?

La prueba de trabajo es una competencia hecha de intentos computacionales repetidos.

Un resultado válido es difícil de encontrar.

Un resultado que ya se encontró es fácil de verificar.

Más potencia de cómputo significa más intentos y, por lo tanto, una probabilidad más alta de éxito.

Pero incluso después de que un minero tiene éxito, los nodos todavía verifican que el bloque siga las reglas.

Y el trabajo acumulado ayuda a que la historia aceptada sea cada vez más difícil de reemplazar.

Fuentes

Las fuentes externas están en inglés.