Proof of Work explicado: Pros y contras del PoW

Esta página está traducida automáticamente. Abrir página en el idioma original.
Apr 20, 2020 3
Proof of Work explicado: Pros y contras del PoW

Los algoritmos de consenso son una parte inherente de todas las tecnologías basadas en blockchain ya que no se supone que una unidad de autoridad valide las transacciones de la red. Los algoritmos de consenso están aquí para proporcionar el funcionamiento descentralizado a prueba de problemas de la red. No podemos subestimar la importancia del algoritmo de consenso aplicado para cada proyecto basado en blockchain en particular. Bitcoin está utilizando la Prueba de trabajo, que también es un algoritmo de consenso original para la cadena de bloques Ethereum. La gente debate si vale la pena usar este algoritmo de consenso o si es mejor usar otras opciones.

La historia temprana de la prueba de trabajo

El primer ejemplo del algoritmo cercano a Proof of Work fue presentado en 1993 por Cynthia Dward y Moni Naor, quienes idearon una solución antispam en el documento científico llamado "Funciones relacionadas con la memoria para combatir el spam" . El método descrito en este documento supone que el remitente desconocido del mensaje debe pasar algún tiempo de su CPU (por ejemplo, 10 segundos) para demostrar que el remitente no es un spammer.

Según Dward y Naor, los spammers que tienen que gastar 10 segundos de tiempo de CPU podrían enviar solo hasta 8 mil mensajes de spam por día en lugar de un número ilimitado de mensajes de spam que pueden enviar hoy. No es difícil verificar una función detrás de la prueba de trabajo, pero computarla es un verdadero dolor de cabeza para los remitentes de spam.

logo
Intercambie criptomonedas al mejor precio en unos minutos

El término Prueba de trabajo fue acuñado en 1999. Surgió en el artículo llamado "Pruebas de trabajo y protocolos de budín de pan" (los autores Markus Jakobsson y Ari Juels). La misma noción de Prueba de trabajo supone que el "probador" debe proporcionar al "verificador" la evidencia del trabajo informático requerido realizado en el lapso de tiempo designado. El concepto parecía ser bastante interesante, sin embargo, no se hizo realidad hasta la creación de Bitcoin, que depende en gran medida de la Prueba de trabajo para crear una red gobernada por un consenso distribuido sin confianza.

Bitcoin y prueba de trabajo

Una prueba de trabajo es un algoritmo de consenso que requiere un proceso de producción costoso y que agota el tiempo de una pieza de datos cuya corrección puede verificarse sin esfuerzo. El sistema de prueba de trabajo Hashcash se creó como salvación de los bots de spam, pero terminó siendo un elemento básico de la red Bitcoin.

Mientras las personas se envían monedas entre sí, el libro mayor refleja esta información en forma de bloques de transacciones. La validación de estas transacciones requiere la participación de algún trabajador o trabajadores que realizan minería.

Las personas ansiosas por validar las transacciones (conocidas como "mineros") deben ejecutar el procedimiento de prueba de trabajo para alcanzar su objetivo. Un trabajador es un nodo. La dificultad de este trabajo (tareas) es flexible, por lo que el nuevo bloque debe generarse cada 10 minutos. Como el número de mineros es increíblemente grande y el lapso de tiempo de 10 minutos es relativamente corto, es extremadamente difícil predecir qué trabajador (minero) será el que genere un nuevo bloque (verificando todas las transacciones en el bloque).

El mecanismo de prueba de trabajo

Para generar un nuevo bloque, el minero debe proporcionar el hash correcto para el bloque de transacciones. Para hacerlo, el minero debe descubrir la función nonce y hash donde un nonce es un número aleatorio que solo se usa una vez (la red Bitcoin usa números enteros entre cero y 4,294,967,296 como nonce), y hash es una cadena de 64 símbolos (una mezcla de dígitos y letras) que contienen los datos cifrados.

Los bloques en blockchain tienen hashes individuales (tal hash se llama "id"). Cada hash se crea como resultado de la verificación exitosa del bloque. Para verificar el siguiente bloque, el minero agrega el último hash al bloque actual creando un gran bloque de texto. Luego, se agrega un nonce (un número aleatorio) al final del bloque de texto. Este texto consta del hash de bloque anterior, las nuevas transacciones en espera de verificación y nonce. Ahí es donde comienza el cálculo. Durante los cálculos, el trabajador cambia el número aleatorio hasta el momento en que se define el número correcto de ceros delante de una cadena.

La dificultad de esta tarea no debe subestimarse. Como se mencionó anteriormente, la dificultad se establece en el nivel que, independientemente de la cantidad de mineros y la potencia de su equipo, cada problema se resuelve solo una vez cada 10 minutos. Para hacer este trabajo, la computadora tiene que generar millones de posibles hashes por segundo.

Para verificar si algún nodo ha ejecutado el trabajo requerido correctamente, necesitará una cadena que apareció como resultado de la validación y un número nonce. La aplicación de la función en estos dos valores dará el número de ceros delante de la cadena. En caso de que este número sea correcto, entonces el trabajo se hizo bien. Si alguien tiene malas intenciones e intenta agregar algunos datos no válidos a la cadena, los demás participantes de la minería lo detendrán. A lo largo de la escala de 10 años, este esquema protegió con éxito la cadena de bloques de Bitcoin. Lo que hace que el algoritmo SHA-256 sea especial es que nadie puede cambiar ni un solo bit de información en el bloque en secreto. Es por eso que este libro mayor se llama inmutable.

Contras de prueba de trabajo

No podemos estar de acuerdo en que el increíble consumo de electricidad requerido por PoW es solo un desperdicio de recursos (muchos oponentes de PoW hacen tales afirmaciones) ya que ya hemos explicado que este algoritmo de consenso es altamente efectivo cuando se trata de proteger la cadena de bloques. Sin embargo, no podemos ignorar el hecho de que Prueba de trabajo gasta enormes cantidades de energía para adivinar la cantidad de ceros al validar las transacciones. Actualmente, la red de Bitcoin consume tres veces menos energía que el sistema monetario tradicional , pero si imaginamos que Bitcoin obtiene una adopción masiva, el consumo de energía aumentará drásticamente. De todos modos, Bitcoin no está reemplazando a los bancos tradicionales, por lo que el consumo aumenta gracias a Bitcoin.

El otro problema es que las personas que usan sus dispositivos de CPU, GPU o ASIC para la minería tienen muy pocas posibilidades de encontrar un nuevo bloque y obtener una recompensa, ya que tienen que competir con los grupos de minería que utilizan docenas de miles de dispositivos para minar. Alrededor de la mitad de la minería ocurre en el grupo relativamente pequeño de piscinas mineras. Existe el riesgo de que si los propietarios de estos grupos deciden unirse y gobernar la cadena de bloques de Bitcoin utilizando su poder de hashing, podrían hacerlo. Una autoridad que tiene más del 50% del poder de hash en realidad puede gobernar la cadena de bloques. Tales intrusiones se conocen como 51% de ataque.

Otro hecho notable es que el 70% del poder de hashing proviene de China porque este país tiene electricidad barata. Le da a este país una ventaja en la minería de Bitcoin y disminuye el nivel de descentralización.

Conclusión

Prueba de trabajo en realidad se las arregla para proteger la red de los malos actores, aunque el costo de este algoritmo de consenso nos hace pensar en otras formas posibles de validar las transacciones y mantener la red funcionando correctamente y sin problemas. No es de extrañar que ya existan varios otros algoritmos de consenso aplicados a diferentes proyectos de blockchain. El competidor más destacado de PoW es Proof of Stake.

 



No hay comentarios aún. ¡Sé el primero!