¬ŅQu√© es Proof of Work (PoW)?
Inicio
Artículos
¬ŅQu√© es Proof of Work (PoW)?

¬ŅQu√© es Proof of Work (PoW)?

Intermedio
Publicación: Dec 6, 2018Actualización: Apr 18, 2024
10m

Aspectos clave

  • Proof of Work (PoW) es un mecanismo de consenso creado para evitar el doble gasto en sistemas de pago digital.

  • PoW es una parte clave del proceso de miner√≠a, que implica agregar nuevos bloques de transacciones a la blockchain y crear nuevas unidades de criptomonedas.

  • Bitcoin y muchas otras criptomonedas utilizan PoW como m√©todo para proteger su red y datos de blockchain.

Introducción

Proof of Work (PoW) es un mecanismo creado para evitar el doble gasto en sistemas de pago digital. Bitcoin y muchas otras criptomonedas utilizan PoW como m√©todo para proteger su red y datos de blockchain. Estos mecanismos se suelen llamar algoritmos de consenso o mecanismos de consenso, porque involucran a m√ļltiples partes que logran el consenso sin la necesidad de que haya confianza entre ellas.

Proof of Work fue el primer algoritmo de consenso en surgir y sigue siendo uno de los más importantes junto con Proof of Stake (PoS). PoW fue presentado por Satoshi Nakamoto en el whitepaper de Bitcoin de 2008, pero la tecnología en sí fue concebida mucho antes.

El HashCash de Adam Back es uno de los primeros ejemplos de algoritmo Proof of Work en la época previa a la aparición de las criptomonedas. Al requerir que los remitentes ejecutaran un mínimo de computación antes de enviar un correo electrónico, los destinatarios podí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 mandara correos electrónicos en masa.

¬ŅQu√© es el doble gasto?

El doble gasto ocurre cuando los mismos fondos se gastan más de una vez. El término se usa casi exclusivamente en el contexto del dinero digital. Después de todo, te resultaría difícil gastar el mismo efectivo físico dos veces. 

Cuando pagas por un café hoy, entregas dinero en efectivo a un cajero que probablemente lo guarde en la caja registradora. No puedes ir a la cafetería del otro lado de la calle y pagar otro café con los mismos billetes que ya entregaste. Sin embargo, en los sistemas de efectivo digital, existe la posibilidad de que puedas hacerlo. 

Seguramente has duplicado un archivo de computadora usando los comandos de copiar y pegar. También es fácil enviar el mismo archivo por correo electrónico a docenas de personas. Dado que el dinero digital es solo datos, debes evitar que las personas hagan un doble gasto, es decir, copien y gasten las mismas unidades en diferentes lugares. Un sistema de pago digital que no logre evitar el doble gasto colapsará en poco tiempo.

Para obtener más información sobre el doble gasto, consulta Explicación del doble gasto.

¬ŅPor qu√© el mecanismo Proof of Work es necesario?

Si leíste nuestro artículo sobre la tecnología blockchain, sabrás que los usuarios de criptomonedas transmiten constantemente transacciones a la red. Sin embargo, estas transacciones no se consideran válidas de inmediato. Esto solo sucede cuando se confirman y agregan a la blockchain.

La blockchain Bitcoin, por ejemplo, funciona como una base de datos de transacciones p√ļblicas (ledger) que todos los usuarios pueden ver. Pi√©nsalo as√≠: tres amigos y t√ļ tienen un bloc de notas para rastrear tus transacciones de Bitcoin. Cada vez que uno de ustedes quiera hacer una transferencia de valor, la anotan:

Alice le paga a Bob 5 BTC; Bob le paga a Carol 2 BTC, etc.

Pero, cada vez que haces una transacción, te refieres a la transacción de donde vinieron los fondos. Entonces, si Bob le estaba pagando a Carol con 2 BTC, la entrada se vería así: 

Bob le paga a Carol 2 BTC que provenían de esta transacción anterior con Alice.

Ahora tenemos una forma de rastrear las unidades de BTC. Si Bob intenta realizar otra transacción con los mismos 2 BTC que acaba de enviar 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.

Esto es algo que puede funcionar bien en un grupo peque√Īo. Todo el mundo se conoce entre s√≠, por lo que probablemente se pondr√°n de acuerdo respecto a qu√© amigos deber√≠an agregar transacciones al bloc de notas. ¬ŅPero qu√© ocurre si queremos tener un grupo con 10,000¬†participantes? La idea del bloc de notas no escala bien, porque nadie desea confiar en un extra√Īo que se ocupe de gestionarlo.

Aquí es donde entra en juego el mecanismo Proof of Work. Garantiza que los usuarios no gasten dinero que no tienen derecho a gastar. Mediante el uso de una combinación de teoría de juegos y criptografía, un algoritmo PoW permite a cualquier persona actualizar la blockchain de acuerdo con las reglas del sistema.

¬ŅC√≥mo funciona PoW?

Imagina que nuestro bloc de notas del ejemplo anterior es la blockchain, pero allí no agregamos transacciones una por una, sino que las agrupamos en bloques. Anunciamos las transacciones a la red y luego los usuarios que creen 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 agregó a la base de datos de la blockchain.

El proceso de validar transacciones y agregar nuevos bloques se llama minería. Es costoso y difícil, pero también puede ser gratificante. La recompensa del bloque se compone de las comisiones de transacción de los usuarios y de los bitcoins nuevos creados por el protocolo. 

El mecanismo Proof of Work requiere que un minero (el usuario que crea el bloque) invierta recursos como electricidad y potencia informática para hacer el hash de los datos de su bloque candidato hasta que se encuentre una solución a un acertijo.

Hacer el hash de los datos del bloque significa pasarlos a trav√©s de una funci√≥n hash para generar un hash de bloque. El hash de bloque funciona como una "huella digital": es una identidad para tus datos input 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 logra encontrar un hash válido para su bloque candidato, lo transmite a la red, agrega el bloque a la blockchain y recoge las recompensas de minería.

Cuando un minero transmite su bloque candidato y su hash a la red, otros participantes de la red repetirán el proceso de hash para verificar que el output sea realmente válido. 

Aunque se necesitan innumerables intentos de hash para encontrar un hash válido, es fundamental que alguien confirme que el hash generado es correcto. Solo tienen que enviar el mismo input (datos de bloque) a través de la función hash y verificar si el output es el mismo.

En Proof of Work, debes proporcionar datos cuyo hash cumpla ciertas condiciones. Sin embargo, no sabes c√≥mo lograrlo. La √ļnica opci√≥n que tienes es pasar tus datos por una funci√≥n hash y comprobar si se cumplen las condiciones. Si no es as√≠, deber√°s modificar tus datos ligeramente para obtener un hash distinto. Incluso cambiar un √ļnico car√°cter de tus datos producir√° un resultado completamente diferente, por lo que no hay manera de predecir c√≥mo ser√° un output.

Como resultado, si quieres crear un bloque, est√°s jugando a un juego de adivinanzas. Por lo general, tomas informaci√≥n sobre todas las transacciones que deseas agregar y algunos otros datos importantes, y luego los agrupas. Pero como tu conjunto de datos no cambiar√°, debes agregar una informaci√≥n que sea variable. De lo contrario, siempre obtendr√≠as el mismo hash como output. Estos datos variables son lo que llamamos un nonce. Es un n√ļmero que cambiar√°s con cada intento, por lo que obtendr√°s un hash diferente cada vez.

En resumen, la minería es el proceso de recopilar datos de blockchain y aplicar el hash con un nonce hasta que encuentres un hash en particular. Si encuentras un hash que satisfaga las condiciones establecidas por el protocolo, tienes derecho a transmitir el nuevo bloque a la red. En este punto, los otros participantes de la red actualizan sus blockchains para incluir el nuevo bloque.

Para las principales criptomonedas de la actualidad, las condiciones son increíblemente desafiantes de cumplir. Cuanto más elevada sea la tasa de hash en la red, más difícil resultará encontrar un hash válido. Esto se hace para garantizar que los bloques no se encuentren demasiado rápido.

Como puedes imaginar, tratar de adivinar cantidades masivas de hashes puede resultar costoso para tu computadora: est√°s desperdiciando ciclos inform√°ticos y electricidad. Sin embargo, si encuentras un hash v√°lido, el protocolo te recompensar√° con criptomonedas.

Recapitulemos lo que sabemos hasta ahora:

  • La miner√≠a es dif√≠cil y costosa, pero proporciona seguridad a la red.

  • Los mineros que logran producir un bloque v√°lido son recompensados con criptomonedas reci√©n emitidas y comisiones de transacci√≥n.

  • Generar un hash v√°lido lleva tiempo, pero otros usuarios pueden verificar f√°cilmente su validez repitiendo el proceso de hash.

Hasta aqu√≠ todo bien. Pero ¬Ņy si tratas de hacer trampa? ¬ŅQu√© te impide poner 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 esto en este art√≠culo, pero consulta ¬ŅQu√© es la criptograf√≠a de clave p√ļblica? para obtener una visi√≥n integral del tema. En resumen, hay algunos trucos criptogr√°ficos que permiten a cualquier usuario verificar si alguien tiene derecho a mover los fondos que est√° intentando gastar.

Cuando creas una transacci√≥n, la firmas. Cualquier persona de la red puede comparar tu firma con tu clave p√ļblica y comprobar si coinciden. Tambi√©n verificar√°n si realmente puedes gastar tus fondos y si la suma de tus inputs es mayor que la suma de tus outputs (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. Incluso, intentar hacer trampa es costoso: perderás tus propios recursos sin obtener ninguna recompensa.

Ah√≠ radica la belleza del mecanismo Proof of Work: hace que sea costoso enga√Īar, 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.

Proof of Work (PoW) vs. Proof of Stake (PoS)

Aparte de PoW, existen muchos algoritmos de consenso, pero uno de los m√°s populares es Proof of Stake (PoS). El concepto se remonta a 2011 y se ha implementado en Ethereum y varios otros protocolos.

En los sistemas Proof of Stake, los mineros son reemplazados por validadores. No hay minería involucrada ni una carrera para adivinar los hashes. En cambio, los usuarios son seleccionados al azar: si son elegidos, deben proponer (o "forjar") un bloque. Si el bloque es válido, recibirán una recompensa compuesta por las comisiones de las transacciones del bloque.

Sin embargo, no se puede seleccionar a cualquier usuario: el protocolo los elige en funci√≥n de una serie de factores. Para ser elegibles, los participantes deben bloquear un stake, que es una cantidad predeterminada de la moneda nativa de la blockchain. El stake funciona como una fianza: as√≠ como los acusados pagan una gran suma de dinero para no tener que ir a juicio, los validadores bloquean un stake para desincentivar el enga√Īo. Si act√ļan de manera deshonesta, se tomar√° su stake (o una parte de √©l).

El mecanismo Proof of Stake tiene algunas ventajas respecto a Proof of Work. La más notable es la menor huella de carbono: como en PoS no es necesario contar con granjas de minería de alta potencia, 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 de recursos, la miner√≠a es el √ļnico algoritmo de consenso que ha sido probado en batalla durante m√°s de una d√©cada. Desde su lanzamiento, el mecanismo PoW de Bitcoin ha asegurado transacciones valoradas en billones de d√≥lares. Para decir con certeza si PoS puede rivalizar con la seguridad de PoW, el staking debe probarse adecuadamente a largo plazo.

Conclusiones

Proof of Work fue la solución original al problema del doble gasto y ha demostrado ser confiable y seguro. Bitcoin demostró que no necesitamos entidades centralizadas para evitar que los mismos fondos se gasten dos veces. Con el 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.

Lecturas adicionales

Aviso legal y Advertencia de riesgo: Este contenido se presenta "tal cual" √ļnicamente para fines de informaci√≥n general y educativos, sin declaraci√≥n ni garant√≠a de ning√ļn tipo. No debe interpretarse como un asesoramiento financiero, legal o de otra √≠ndole profesional ni pretende recomendar la compra de ning√ļn producto o servicio espec√≠ficos. Debes buscar consejo particular de asesores profesionales id√≥neos. Dado que este art√≠culo es producto de la contribuci√≥n de terceros, ten en cuenta que las opiniones expresadas pertenecen al tercero colaborador y no reflejan necesariamente las de Binance Academy. Para obtener m√°s informaci√≥n, lee nuestro aviso legal completo aqu√≠. Los precios de los activos digitales pueden ser vol√°tiles. El valor de una inversi√≥n puede bajar o subir, y podr√≠a darse el caso de que no recuperes el monto invertido. Solo t√ļ eres responsable de tus decisiones de inversi√≥n. Binance Academy no se responsabiliza de ninguna p√©rdida en la que puedas incurrir. Este material no se debe interpretar como una asesor√≠a financiera, legal o de otra √≠ndole profesional. Si deseas obtener m√°s informaci√≥n, consulta nuestros T√©rminos de uso y la Advertencia de riesgo.