Conclusiones clave
Prueba de trabajo (PoW) es un mecanismo de consenso creado para evitar el doble gasto en los sistemas de pago digitales.
PoW es una parte clave del proceso de minería, que implica agregar nuevos bloques de transacciones a la cadena de bloques y crear nuevas unidades de criptomonedas.
Bitcoin y muchas otras criptomonedas utilizan PoW como método para proteger su red y sus datos blockchain.
Introducción
En resumen, Proof of Work (PoW) es un mecanismo creado para evitar el doble gasto en los sistemas de pago digitales. Bitcoin y muchas otras criptomonedas utilizan PoW como método para proteger su red y sus datos blockchain. Estos mecanismos suelen denominarse algoritmos de consenso o mecanismos de consenso, porque implican que varias partes logren un consenso sin necesidad de confiar unas en otras.
La Prueba de trabajo fue el primer algoritmo de consenso que surgió 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 de 2008, pero la tecnología en sí fue concebida mucho antes.
HashCash de Adam Back es un ejemplo temprano de un algoritmo de prueba de trabajo en los días anteriores a las criptomonedas. Al exigir a los remitentes que realicen una pequeña cantidad de cálculos antes de enviar un correo electrónico, los receptores podrían mitigar el spam. Este cálculo no le costaría prácticamente nada a un remitente legítimo, pero se acumularía rápidamente para alguien que envía correos electrónicos en masa.
¿Qué es un doble gasto?
Un doble gasto ocurre cuando los mismos fondos se gastan más de una vez. El término se utiliza casi exclusivamente en el contexto del dinero digital; después de todo, sería difícil gastar el mismo dinero físico dos veces.
Cuando hoy pagas un café, entregas dinero en efectivo a un cajero, quien probablemente lo guarda bajo llave en una caja registradora. No puedes ir a la cafetería de enfrente y pagar otro café con la misma factura. Sin embargo, en los sistemas de efectivo digital, existe la posibilidad de que puedas hacerlo.
Seguramente has duplicado un archivo de computadora antes de usar los comandos de copiar y pegar. También le resultará fácil enviar el mismo archivo por correo electrónico a decenas de personas. Dado que el dinero digital es solo datos, es necesario evitar que las personas gasten dos veces, es decir, copien y gasten las mismas unidades en diferentes lugares. Un sistema de pago digital que no evite el doble gasto colapsará en poco tiempo.
Para obtener una visión más profunda del doble gasto, consulte Explicación del doble gasto.
¿Por qué es necesaria la prueba de trabajo?
Si ha leído nuestro artículo sobre la tecnología blockchain, sabrá que los usuarios de criptomonedas transmiten constantemente transacciones a la red. Sin embargo, estas transacciones no se consideran válidas de inmediato. Eso sólo sucede cuando se confirman y se agregan a la cadena de bloques.
La cadena de bloques de Bitcoin, por ejemplo, funciona como una base de datos pública de transacciones (libro mayor) que todos los usuarios pueden ver. Imagínelo así: usted y tres amigos tienen un bloc de notas para realizar un seguimiento de sus transacciones de bitcoins. Cada vez que alguno de vosotros quiera hacer una transferencia de valor, lo anota:
Alice le paga a Bob 5 BTC; Bob le paga a Carol 2 BTC, etc.
Pero cada vez que realiza una transacción, se refiere a la transacción de donde provienen los fondos. Entonces, si Bob le pagara a Carol con 2 BTC, la entrada se vería así:
Bob le paga a Carol 2 BTC que provienen de esta transacción anterior con Alice.
Ahora tenemos una manera de rastrear las unidades 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 permitirá que la transacción se agregue al bloc de notas porque esos 2 BTC ya se gastaron.
Ahora bien, esto podría funcionar bien en un grupo pequeño. Todos se conocen, por lo que probablemente estarán de acuerdo sobre cuál de los amigos debería agregar transacciones al bloc de notas. ¿Y si queremos un grupo de 10.000 participantes? La idea del bloc de notas no se adapta bien porque nadie quiere confiar en que un extraño lo administre.
Aquí es donde entra en juego la Prueba de trabajo. Garantiza que los usuarios no gasten dinero que no tienen derecho a gastar. Al utilizar una combinación de teoría de juegos y criptografía, un algoritmo PoW permite a cualquiera actualizar la cadena de bloques de acuerdo con las reglas del sistema.
¿Cómo funciona PoW?
Imagine que nuestro bloc de notas del ejemplo anterior es blockchain. Pero no agregamos transacciones una por una, sino que las agrupamos en bloques. Anunciamos las transacciones a la red y luego los usuarios que crean un bloque las incluirán en un bloque candidato. Las transacciones solo se considerarán válidas una vez que su bloque candidato se convierta en un bloque confirmado, lo que significa que se ha agregado a la base de datos de blockchain.
El proceso de validar transacciones y agregar nuevos bloques se llama minería. Es caro y difícil, pero también puede resultar gratificante. La recompensa en bloque se compone de tarifas de transacción de los usuarios y bitcoins nuevos creados por el protocolo.
El mecanismo de prueba de trabajo requiere que un minero (el usuario que crea el bloque) invierta recursos como electricidad y potencia informática para analizar los datos de su bloque candidato hasta que se encuentre una solución a un rompecabezas.
Hacer hash de los datos del bloque significa pasarlos a través de una función de hash para generar un hash de bloque. El hash de bloque funciona como una "huella digital": es una identidad para sus datos de entrada y es única para cada bloque.
En otras palabras, un minero tiene que verificar y recopilar transacciones pendientes, organizarlas en un bloque candidato y pasar los datos del bloque a través de una función hash para crear un hash válido. Si logran encontrar un hash válido para su bloque candidato, lo transmiten a la red, agregan el bloque a la cadena de bloques y recogen las recompensas mineras.
Cuando un minero transmite su bloque candidato y hash a la red, otros participantes de la red repetirán el proceso de hash para verificar que la salida sea realmente válida.
Aunque se necesitan innumerables intentos de hash para encontrar un hash válido, es trivial para cualquiera confirmar que el hash generado es correcto. Solo tienen que enviar la misma entrada (datos de bloque) a través de la función hash y verificar si la salida es la misma.
En Prueba de trabajo, debes proporcionar datos cuyo hash coincida con ciertas condiciones. Pero no sabes cómo llegar allí. Su única opción es pasar sus datos a través de una función hash y verificar si cumplen con las condiciones. Si no es así, tendrás que cambiar ligeramente tus datos para obtener un hash diferente. Cambiar incluso un carácter en sus datos dará como resultado un resultado totalmente diferente, por lo que no hay forma de predecir cuál podría ser el resultado.
Como resultado, si quieres crear un bloque, estás jugando un juego de adivinanzas. Por lo general, toma información sobre todas las transacciones que desea agregar y algunos otros datos importantes, luego los combina todos. Pero como su conjunto de datos no cambiará, debe agregar información que sea variable. De lo contrario, siempre obtendrás el mismo hash como resultado. Estos datos variables son lo que llamamos un nonce. Es un número que cambiará con cada intento, por lo que obtendrá un hash diferente cada vez.
En resumen, la minería es el proceso de recopilar datos de blockchain y combinarlos con un nonce hasta encontrar un hash en particular. Si encuentra un hash que cumple con las condiciones establecidas por el protocolo, obtiene el derecho de transmitir el nuevo bloque a la red. En este punto, los demás participantes de la red actualizan sus blockchains para incluir el nuevo bloque.
Para las principales criptomonedas actuales, las condiciones son increíblemente difíciles de cumplir. Cuanto mayor sea la tasa de hash en la red, más difícil será encontrar un hash válido. Esto se hace para garantizar que los bloques no se encuentren demasiado rápido.
Como puede imaginar, intentar adivinar cantidades masivas de hashes puede resultar costoso para su computadora. Estás desperdiciando ciclos computacionales y electricidad. Pero el protocolo te recompensará con criptomonedas si encuentras un hash válido.
Recapitulemos lo que sabemos hasta ahora:
La minería es difícil y costosa pero brinda seguridad a la red.
Los mineros que logran producir un bloque válido son recompensados con criptomonedas recién emitidas y tarifas de transacción.
Generar un hash válido lleva tiempo, pero otros usuarios pueden comprobar fácilmente su validez repitiendo el proceso de hash.
Hasta ahora, todo bien. ¿Pero qué pasa si intentas hacer trampa? ¿Qué le impide colocar un montón de transacciones fraudulentas en el bloque y producir un hash válido?
Ahí es donde entra en juego la criptografía de clave pública. No profundizaremos en este artículo, pero consulte ¿Qué es la criptografía de clave pública? para una mirada completa. En resumen, existen algunos trucos criptográficos ingeniosos que permiten a cualquier usuario verificar si alguien tiene derecho a transferir los fondos que intenta gastar.
Cuando creas una transacción, la firmas. Cualquiera en la red puede comparar su firma con su clave pública y comprobar si coinciden. También comprobarán si realmente puedes gastar tus fondos y si la suma de tus insumos es mayor que la suma de tus productos (es decir, que no estás gastando más de lo que tienes).
Cualquier bloque que incluya una transacción no válida será rechazado automáticamente por la red. Te resulta caro incluso intentar hacer trampa. Desperdiciarás tus propios recursos sin ninguna recompensa.
Ahí reside la belleza de la Prueba de Trabajo: hace que sea caro hacer trampa pero rentable actuar con honestidad. Cualquier minero racional buscará un retorno de su inversión, por lo que se puede esperar que se comporte de una manera que tenga más probabilidades de generar ingresos.
Prueba de trabajo (PoW) frente a prueba de participación (PoS)
Existen muchos algoritmos de consenso además de PoW, pero uno de los más populares es la Prueba de participación (PoS). El concepto se remonta a 2011 y se ha implementado en Ethereum y varios otros protocolos.
En los sistemas de Prueba de participación, los mineros son reemplazados por validadores. No hay minería involucrada ni carrera para adivinar hashes. En cambio, los usuarios son seleccionados al azar; si son elegidos, deben proponer (o “forjar”) un bloqueo. Si el bloque es válido, recibirán una recompensa compuesta por las tarifas de las transacciones del bloque.
Sin embargo, no se puede seleccionar cualquier usuario: el protocolo los elige en función de una serie de factores. Para ser elegible, los participantes deben asegurar una participación, que es una cantidad predeterminada de la moneda nativa de blockchain. La apuesta funciona como una fianza: así como los acusados aportan una gran suma de dinero para desincentivarlos de faltar al juicio, los validadores bloquean una apuesta para desincentivar las trampas. Si actúan de manera deshonesta, se les quitará su participación (o una parte de ella).
La Prueba de participación tiene algunos beneficios sobre la Prueba de trabajo. El más notable es la menor huella de carbono: dado que no hay necesidad de granjas mineras de alta potencia en PoS, la electricidad consumida es solo una fracción de la consumida en PoW.
Dicho esto, PoS no tiene el mismo historial que PoW. Aunque podría percibirse como un desperdicio, la minería es el único algoritmo de consenso que ha sido probado durante más de una década. Desde su lanzamiento, el PoW de Bitcoin ha asegurado transacciones por valor de billones de dólares. Para decir con certeza si PoS puede rivalizar con su seguridad, es necesario probar adecuadamente las apuestas a largo plazo.
Pensamientos finales
La prueba de trabajo fue la solución original al problema del doble gasto y ha demostrado ser confiable y segura. Bitcoin demostró que no necesitamos entidades centralizadas para evitar que los mismos fondos se gasten dos veces. Con un uso inteligente de la criptografía, las funciones hash y la teoría de juegos, los participantes en un entorno descentralizado pueden ponerse de acuerdo sobre el estado de una base de datos financiera.
Otras lecturas
¿Qué es la minería de criptomonedas y cómo funciona?
¿Qué es la criptografía de clave pública?
¿Qué es un algoritmo de consenso Blockchain?
Descargo de responsabilidad: Este contenido se le presenta "tal cual" para información general y fines educativos únicamente, sin representación ni garantía de ningún tipo. No debe interpretarse como asesoramiento financiero, legal o profesional, ni pretende recomendar la compra de ningún producto o servicio específico. Debe buscar su propio consejo de asesores profesionales adecuados. Cuando el artículo sea aportado por un colaborador externo, tenga en cuenta que las opiniones expresadas pertenecen al colaborador externo y no reflejan necesariamente las de Binance Academy. Lea nuestro descargo de responsabilidad completo aquí para obtener más detalles. Los precios de los activos digitales pueden ser volátiles. El valor de su inversión puede subir o bajar y es posible que no recupere el monto invertido. Usted es el único responsable de sus decisiones de inversión y Binance Academy no es responsable de las pérdidas en las que pueda incurrir. Este material no debe interpretarse como asesoramiento financiero, legal o de otro tipo. Para obtener más información, consulte nuestros Términos de uso y Advertencia de riesgos.

