Consenso de prueba de trabajo (PoW)

La idea de Prueba de trabajo (PoW) fue publicada por primera vez en 1993 por Cynthia Dwork y Moni Naor y luego fue aplicada por Satoshi Nakamoto en el artículo de Bitcoin en 2008. El consenso de Prueba de trabajo es el mecanismo de elección para la mayoría de las criptomonedas actualmente en circulación. El término «prueba de trabajo» fue utilizado por primera vez por Markus Jakobsson y Ari Juels en una publicación en 1999.

Principio: Una solución que es difícil de encontrar pero fácil de verificar.

El propósito de un mecanismo de consenso es lograr que todos los Nodes estén de acuerdo, es decir, que confíen entre sí, en un entorno en el que los Nodes no confían entre sí.

Luego, todas las transacciones en el nuevo bloque se validan y el nuevo bloque se agrega a la string de bloques. Tenga en cuenta que el bloque se agregará a la string que tenga la altura de bloque más larga (consulte las bifurcaciones de blockchain para comprender cómo pueden existir varias strings en un momento dado). Los mineros (computadoras especiales en la red) realizan trabajos de cálculo para resolver un problema matemático complejo para agregar el bloque a la red, por lo que se denomina Prueba de trabajo. Con el tiempo, el problema matemático se vuelve más complejo.

¿Cómo funciona PoW?
Un curso de edX describe Blockchain PoW como:

“El algoritmo de consenso de Prueba de trabajo implica resolver un rompecabezas computacional desafiante para crear nuevos bloques en la string de bloques de Bitcoin. Coloquialmente, el proceso se conoce como ‘minería’, y los Nodes de la red que participan en la minería se conocen como ‘mineros’. El incentivo para las transacciones mineras radica en los beneficios económicos, donde los mineros de la competencia son recompensados ​​con 12,5 bitcoins (al momento de escribir este artículo, esta recompensa se reducirá a la mitad de su valor actual con el tiempo) y una pequeña tarifa de transacción».

El proceso de verificar las transacciones en el bloque que se agregará, organizar estas transacciones en un orden cronológico en el bloque y anunciar el bloque recién minado a toda la red no requiere mucha energía ni tiempo. La parte que consume energía es resolver el «problema matemático difícil» para vincular el nuevo bloque con el último bloque en la string de bloques válida.

Cuando un minero finalmente encuentra la solución correcta, el Node la transmite a toda la red al mismo tiempo, recibiendo un premio en criptomoneda (la recompensa) proporcionado por el protocolo PoW. Al momento de escribir este artículo, minar un bloque en la red de bitcoin le da al minero ganador 12.5 bitcoins. La cantidad de bitcoins ganados se reduce a la mitad cada cuatro años más o menos (así es como está diseñada la red bitcoin). Por lo tanto, la próxima deducción en la cantidad de bitcoin vence alrededor de 2020-21 (con la tasa y el crecimiento actuales).

Con más mineros viene la inevitabilidad del tiempo que toma minar el nuevo bloque cada vez más corto. Esto significa que los nuevos bloques se encuentran más rápido. Para encontrar constantemente 1 bloque cada 10 minutos (Esa es la cantidad de tiempo que los desarrolladores de bitcoin creen que es necesario para un flujo constante y decreciente de monedas nuevas hasta que se alcance el número máximo de 21 millones (se espera algún tiempo con la tasa actual alrededor de 2140)), la red Bitcoin cambia regularmente el nivel de dificultad de extraer un nuevo bloque.

Figura – Prueba de trabajo

Nota:
Para ver más sobre lo que contiene un bloque, visite Blockchain Explorer a través de Google para una navegación más interesante

El hecho de que el Bloque GFG1 esté conectado al Bloque GFG2 a través de su número hash es importante. La importancia radica en el hecho de que este ‘número hash’ conecta un bloque nuevo con el último bloque en la string de bloques válida. Si, por otro lado, el número de hash del bloque GFG1 en el bloque GFG2 tuviera un número de hash diferente al del bloque GFG1, no coincidirían y el bloque GFG2 no se verificaría.

Nota:
El primer bloque en la string de bloques se llama Bloque Génesis y no tiene valor de hash de bloque anterior .

Cambiar un bloque (que solo se puede hacer creando un nuevo bloque que contenga el mismo predecesor) requiere regenerar todos los sucesores y rehacer el trabajo que contienen (lo que equivale a calcular toda la string de «problemas matemáticos difíciles»), lo cual es prácticamente imposible. Esto protege la string de bloques de la manipulación.

Sistema de prueba de trabajo de Bitcoin :
Bitcoin utiliza el sistema de prueba de trabajo Hashcash como base de minería. El ‘problema matemático difícil’ se puede escribir de forma abstracta como a continuación:

Dados los datos A, encuentre un número x tal que el hash de x agregado a los resultados de A sea un número menor que B.

Los mineros agrupan un grupo de transacciones en un bloque e intentan minar. Para extraerlo, se debe resolver un problema matemático difícil. Este problema se denomina problema de prueba de trabajo y debe resolverse para demostrar que el minero ha realizado algún trabajo para encontrar la solución al problema y, por lo tanto, el bloque extraído debe ser válido.
La respuesta al problema debe ser un número menor que el hash del bloque para que sea aceptado, conocido como ‘ hash objetivo ‘. Un hash objetivo es un número que el encabezado de un bloque hash debe ser igual o menor. que un nuevo bloque, junto con la recompensa, para ser otorgado a un minero. Cuanto más bajo es un objetivo, más difícil es generar un bloque.

Un minero continúa probando diferentes valores únicos (conocidos como nonce(s)) hasta que se produce uno adecuado.
El minero que logra resolver el problema obtiene la recompensa de bitcoin y agrega el bloque a la string de bloques transmitiendo que el bloque ha sido minado.

Nota:
El hash objetivo se ajusta una vez cada 2016 bloques o aproximadamente una vez cada 2 semanas. Todos los mineros dejan de trabajar inmediatamente en dicho bloque y comienzan a extraer el siguiente bloque.

Protocolos criptográficos comunes utilizados en los sistemas de prueba de trabajo:
el consenso de prueba de trabajo más utilizado se basa en SHA-256 y se introdujo como parte de Bitcoin. Otros incluyen Scrypt, SHA-3, scrypt-jane, scrypt-n, etc.

Características del sistema de Prueba de Trabajo:
Hay principalmente dos características que han contribuido a la gran popularidad de este protocolo de consenso y son:

  • Es difícil encontrar una solución para el problema matemático.
  • Es fácil verificar la corrección de esa solución.

Principales problemas con el consenso de Prueba de trabajo:
El mecanismo de consenso de Prueba de trabajo tiene algunos problemas que son los siguientes:

  • El riesgo del 51 % : si una entidad controladora posee el 51 % o más del 51 % de los Nodes de la red, la entidad puede corromper la string de bloques al obtener la mayoría de la red.
  • Consume mucho tiempo : los mineros tienen que verificar muchos valores nonce para encontrar la solución correcta al rompecabezas que debe resolverse para extraer el bloque, lo cual es un proceso que requiere mucho tiempo.
  • Consumo de recursos : los mineros consumen grandes cantidades de potencia informática para encontrar la solución al difícil rompecabezas matemático. Conduce a un desperdicio de recursos preciosos (dinero, energía, espacio, hardware). Se espera que el 0,3% de la electricidad mundial se gaste para verificar las transacciones a finales de 2018.
  • La confirmación de la transacción tarda entre 10 y 60 minutos. Entonces, no es una transacción instantánea; porque lleva algún tiempo extraer la transacción y agregarla a la string de bloques, lo que compromete la transacción.

Criptomonedas usando PoW:

  • Litecoin
  • Etéreo
  • moneda monero
  • dogecoin

Otras alternativas al consenso PoW:
estos problemas han llevado al desarrollo de nuevos protocolos de consenso como:

  • prueba de participación
  • prueba de quemadura
  • balsa de consenso
  • consenso federado
  • Prueba de actividad
  • Prueba del tiempo transcurrido
  • Prueba de capacidad
  • Prueba de importancia

Publicación traducida automáticamente

Artículo escrito por Parikshit Hooda y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *