Puntos clave
Prueba de trabajo (PoW) es un mecanismo de consenso diseñado para evitar el doble gasto en los sistemas de pago digitales.
PoW es una parte clave de la minería, que implica agregar bloques de transacciones a la cadena de bloques y crear nuevas unidades de criptomonedas.
Bitcoin y muchas otras criptomonedas utilizan un mecanismo PoW para proteger sus redes y datos de blockchain.
Introducción
En definitiva, Proof of Work (PoW) es un mecanismo diseñado para evitar el doble gasto en los sistemas de pago digitales. Bitcoin y muchas otras criptomonedas utilizan PoW para proteger sus redes y datos de blockchain. Estos elementos se denominan mecanismos de consenso (o algoritmos) porque permiten que varias partes lleguen a un consenso sin tener que confiar entre sí.
La Prueba de trabajo fue el primer algoritmo de consenso y sigue siendo uno de los más importantes junto con la Prueba de participación (PoS). PoW fue introducido por Satoshi Nakamoto en el documento técnico de Bitcoin en 2008, pero la tecnología en sí se propuso mucho antes.
Un ejemplo temprano del uso del algoritmo de prueba de trabajo es el sistema HashCash de Adam Back, que apareció incluso antes que las criptomonedas. Requerir una pequeña cantidad de cálculos antes de enviar un correo electrónico ha reducido la cantidad de spam. Estos cálculos no cuestan prácticamente nada para el remitente medio, pero complican significativamente el proceso de envío masivo de correos.
¿Qué es el doble gasto?
El doble gasto ocurre cuando los mismos fondos se gastan más de una vez. Este término casi siempre se utiliza en relación con la moneda digital, ya que en la vida real es difícil imaginar una situación en la que se gaste el mismo dinero dos veces.
Por ejemplo, cuando compras café, entregas dinero al cajero, quien lo deposita en la caja registradora. No podrás ir a otra cafetería y pagar un segundo café con la misma factura. Sin embargo, en los sistemas de dinero digital esto es posible.
Probablemente ya hayas copiado archivos en tu computadora. El mismo archivo se puede enviar fácilmente a decenas de personas. Y como el dinero digital son solo datos, es necesario eliminar la posibilidad de doble gasto, es decir, copiar y enviar las mismas unidades en diferentes lugares. Si un sistema de pago digital no puede evitar el doble gasto, colapsará rápidamente.
Para obtener más información sobre el doble gasto, consulte el artículo ¿Qué es el doble gasto?
¿Por qué se necesita prueba de trabajo?
Si ya leyó nuestra guía sobre blockchain, entonces sabrá que los usuarios de criptomonedas transmiten transacciones a la red. Pero las transacciones no son válidas inmediatamente, sino sólo después de su verificación y adición a la cadena de bloques.
Por ejemplo, la cadena de bloques de Bitcoin funciona como una base de datos pública de transacciones (registro) que puede ser vista por cualquier usuario. Digamos que usted y tres de sus amigos tienen un bloc de notas en el que anotan sus transacciones de Bitcoin. Si uno de ustedes quiere transferir fondos, anotará en su cuaderno:
Alice le paga a Bob 5 BTC. Bob le paga a Carol 2 BTC y así sucesivamente.
Al realizar cada transferencia, debes hacer referencia a la transacción anterior de la cual se recibieron los fondos. Es decir, cuando Bob transfiere 2 BTC a Carol, la entrada se ve así:
Bob transfiere 2 BTC de una transacción anterior con Alice a Carol.
De esta manera podemos rastrear todas las transferencias de BTC. Si Bob intenta realizar otra transacción utilizando los mismos 2 BTC que acaba de enviarle a Carol, todos lo sabrán de inmediato. El grupo no le permitirá registrar dicha transacción en el cuaderno, ya que ya gastó esos 2 BTC.
Un sistema de este tipo puede funcionar bien en un grupo pequeño de personas donde todos los participantes se conocen bien, porque les resultará más fácil ponerse de acuerdo sobre cuál de ellos será responsable de agregar transacciones a la lista general. Pero ¿y si queremos reunir un grupo de 10.000 miembros? La idea de usar un bloc de notas no se adapta bien porque nadie confiaría en un extraño para administrar un libro de contabilidad financiero de este tipo.
Por eso es necesario el algoritmo de prueba de trabajo. Garantiza que los usuarios no gasten dinero que no pueden gastar. Utilizando la teoría de juegos junto con la criptografía, el algoritmo permite a cualquier usuario actualizar la cadena de bloques de acuerdo con las reglas del sistema.
¿Cómo funciona PoW?
Piense en el bloc de notas del ejemplo anterior como una cadena de bloques. Sin embargo, las transacciones no se agregan al sistema una por una, sino que se combinan en bloques. Los usuarios que crean un bloque incluyen transacciones en el bloque candidato. Las transacciones se considerarán válidas sólo después de que el bloque candidato se confirme y se agregue a la base de datos de blockchain.
El proceso de confirmar transacciones y agregar nuevos bloques se llama minería. Es bastante complejo y requiere costos, pero puede generar ganancias en forma de recompensas en bloque. Consiste en tarifas de transacción y nuevos bitcoins creados por el protocolo.
El mecanismo de prueba de trabajo requiere que el minero (el usuario que crea el bloque) invierta recursos (electricidad y potencia informática) en el procesamiento de datos de un bloque candidato hasta que se encuentre una solución.
El hash de un bloque implica pasarlo a través de una función hash para generar un hash. El hash del bloque actúa como una "huella digital" y sirve como identificador de los datos de entrada que son únicos para cada bloque.
En otras palabras, el minero debe verificar y recopilar las transacciones pendientes, luego combinarlas en un bloque candidato y ejecutar los datos del bloque a través de una función hash para obtener el hash correcto. Si el minero logra encontrar el hash correcto para su bloque candidato, lo enviará a la red, agregará el bloque a la cadena de bloques y recibirá una recompensa minera.
Una vez que el minero envía el bloque candidato y el hash a la red, otros participantes de la red repetirán el proceso de hash para garantizar la validez del resultado.
Encontrar el hash correcto requiere una gran cantidad de intentos, pero verificar la exactitud del hash terminado es bastante fácil. Para hacer esto, simplemente necesita pasar los mismos datos de entrada (datos de bloque) a través de una función hash y verificar si el resultado coincide.
En Prueba de trabajo, debes proporcionar datos cuyo hash siga ciertas reglas establecidas en el protocolo, siempre que no sepas cómo recuperarlos directamente. La única opción es ejecutar los datos a través de una función hash y verificar si coinciden con las condiciones. Si no hay ninguna coincidencia, tendrás que cambiar los datos para obtener un hash diferente. Cambiar incluso un carácter en sus datos conducirá a un resultado completamente diferente, por esta razón es imposible predecir simplemente cuál podría ser el resultado.
Entonces, para crear un bloque, necesitas calcular el hash. Para hacer esto, el usuario reúne información sobre todas las transacciones que deben agregarse a los bloques y algunos otros datos. Pero como el conjunto de datos no cambia, el usuario agrega una información que se convertirá en una variable. De lo contrario, la salida siempre será el mismo hash. Estos datos variables se llaman nonce. Se cambian en cada intento de obtener un nuevo hash.
Entonces, la minería es el proceso de recopilar datos de blockchain y aplicarlos junto con un código de un solo uso hasta encontrar un hash adecuado. Si encuentra un hash que cumple con las condiciones establecidas por el protocolo, obtiene el derecho de transmitir un nuevo bloque a la red. En este punto, otros participantes de la red necesitan actualizar sus blockchains para incluir el nuevo bloque.
Las condiciones impuestas por las principales criptomonedas son increíblemente difíciles de cumplir. Cuanto mayor sea el hashrate de la red, más difícil será encontrar un hash válido. Esto se hace para evitar que los bloques se generen demasiado rápido.
Los intentos regulares de adivinar una gran cantidad de hashes son costosos porque desperdician una gran cantidad de recursos informáticos y energía eléctrica. Sin embargo, si los mineros logran encontrar un hash válido, el protocolo los recompensa por su trabajo.
Repasemos lo que cubrimos:
La minería es un proceso complejo y costoso que garantiza la seguridad de la red.
Los mineros que crean un bloque válido reciben recompensas en forma de nuevas criptomonedas y tarifas de transacción.
Generar el hash correcto lleva algo de tiempo, pero su precisión se puede verificar fácil y rápidamente repitiendo el proceso de hash.
¿Pero qué pasa si intentas engañar al sistema? ¿Qué le impide poner un montón de transacciones fraudulentas en un bloque y crear un hash válido?
Para ello se desarrolló la criptografía de clave pública. Para obtener más información sobre este tema, consulte nuestro artículo ¿Qué es la criptografía de clave pública? En resumen, el algoritmo utiliza ciertas técnicas criptográficas que permiten a cualquier usuario verificar el derecho de un participante individual de la red a transferir fondos a otra dirección.
Cuando creas una transacción, la firmas. Cualquier participante de la red puede comparar su firma con su clave pública para ver si coincide. Esto le permite saber si puede gastar sus fondos y si sus gastos no exceden el monto permitido.
Cualquier bloque que contenga una transacción no válida será rechazado automáticamente. Intentar engañar a la red te costará mucho porque terminarás desperdiciando tus recursos informáticos sin obtener ninguna recompensa por ello.
Ésta es la idea del Proof of Work: es más rentable para los usuarios actuar con honestidad que intentar engañar al sistema. Los mineros están tratando de recuperar su inversión, por lo que la mayoría seguirá las reglas para obtener ganancias.
Prueba de trabajo (PoW) o Prueba de participación (PoS)
Hay muchos otros algoritmos de consenso además de PoW, pero uno de los más populares es la Prueba de participación (PoS). Su concepto se remonta a 2011 y se ha implementado en Ethereum y varios otros protocolos.
En redes con consenso de Prueba de participación, el papel de los mineros lo desempeñan los validadores, ya que el protocolo no está asociado con el proceso de minería ni con la adivinación de hashes. En cambio, los usuarios se seleccionan al azar y el participante seleccionado debe proponer un nuevo bloque. Si se determina que un bloque es válido, el validador recibirá una recompensa que consiste en tarifas de transacción para ese bloque.
El protocolo selecciona un nuevo validador en función de varios factores. Para tener la oportunidad de ser seleccionado, debes bloquear algunos de los tokens agregándolos a la apuesta. Esta cantidad actúa como una especie de garantía: los validadores bloquean una cierta cantidad de monedas en el sistema, que se perderán si el validador intenta engañar al sistema. Se perderán las monedas apostadas si un validador intenta validar un bloque no válido.
La Prueba de participación tiene algunas ventajas sobre la Prueba de trabajo. Uno de ellos es una menor huella de carbono. Esto se debe al hecho de que la Prueba de participación no requiere el mantenimiento de potentes granjas mineras y, por lo tanto, consume mucha menos electricidad que la Prueba de trabajo.
Sin embargo, PoS no tiene un historial tan bueno como PoW. Si bien PoW puede percibirse como un desperdicio, la minería es actualmente el único algoritmo de consenso que ha funcionado bien durante más de una década. Durante este tiempo, el mecanismo PoW de Bitcoin ha procesado de forma segura billones de dólares en transacciones. El protocolo PoS aún tiene que demostrar su eficacia y competitividad a largo plazo.
En conclusión
La prueba de trabajo es una solución confiable y segura al problema del doble gasto. Bitcoin ha demostrado que no requiere organizaciones centralizadas. Con el uso adecuado de la criptografía, las funciones hash y la teoría de juegos, los participantes en un entorno descentralizado pueden monitorear por sí mismos el funcionamiento correcto de toda la base de datos financiera.
Lectura recomendada
¿Qué es la minería de criptomonedas y cómo funciona?
¿Qué es la criptografía de clave pública?
¿Qué es el algoritmo de consenso de blockchain?
Descargo de responsabilidad: Los siguientes materiales se proporcionan "tal cual" sin garantía de ningún tipo para referencia general y fines educativos únicamente. Esta información no debe considerarse asesoramiento financiero, asesoramiento legal ni recomendación para comprar ningún producto o servicio específico. Debe buscar su propio consejo en asesores profesionales adecuados. Dado que este artículo fue escrito por un autor externo, tenga en cuenta que las opiniones expresadas son las del autor externo y no reflejan necesariamente los puntos de vista de Binance Academy. Para obtener información más detallada, siga el enlace. El valor de los activos digitales puede ser volátil. El valor de los fondos invertidos puede subir y bajar. Es posible que no recupere los fondos invertidos. Usted es el único responsable de sus decisiones de inversión. Binance Academy no se hace responsable de sus posibles pérdidas. Esta información no constituye asesoramiento financiero, legal o profesional. Para obtener más información, lea nuestros Términos de uso y Divulgación de riesgos.
