[ESP] Proof of Work (PoW) & Proof of Stake (PoS) — Consensus

Velorum
6 min readMay 17, 2021

Recientemente este tema se ha vuelto viral y polémico en CT (Crypto Twitter), Elon Musk publicó un comunicado sobre Tesla notificando que no iban a aceptar mas pagos a través de Bitcoin por motivos medioambientales ya que la minería de Bitcoin (PoW) no usaba energía limpia en su totalidad, por otro lado dijo que iban a buscar otras opciones en crypto que utilicen menos del 1% de la energía que usa Bitcoin por transacción.

Link: https://twitter.com/elonmusk/status/1392602041025843203

Esto puso rápidamente los ojos en aquellas cryptos que necesitasen menos energía y ahí es donde sale a la luz el modelo de Proof of Stake. Proof of Stake cumple con la característica de que necesita menos del 1% de energía que usa Bitcoin, ¿Entonces donde está el contra? ¿Por que Bitcoin usa PoW si el PoS usa menos energía? Bien, para esto tenemos primero que describir como funciona cada modelo y por que son necesarios.

¿Por que es necesario un modelo Proof of Work, Proof of Stake, etc…?

Estos modelos son simplemente formas o protocolos los cuales seguir para poder estar de acuerdo en como clasificar operaciones válidas y no válidas en un espacio descentralizado, a esto, se le denomina Consensus.

Si no hubiera un consenso en la red, cualquiera podría editar su interior a su antojo e indiscriminadamente haciendo que la red careciera de legitimidad.

Por ejemplo, en nuestras economías actuales, centralizadas, el consenso lo marcan las autoridades y las leyes, nosotros confiamos en una autoridad (Proof of Authority (PoA) ), como por ejemplo una entidad bancaria, para que ejecute las operaciones válidas y se aseguren de que no haya manipulaciones en el sistema.

Sin embargo, el control que les otorgamos da poder total a la autoridad para hacer cualquier manipulación, pero confiamos en que no lo hagan ya que nos dan su identidad como garantía de transparencia. Cuando la autoridad abusa de su control manipulando el sistema para su beneficio es lo que llamamos corrupción.

Byzantine Generals’ Problem

En 1982 los investigadores de SRI International Research Institute presentaron este problema con una analogía bélica, Byzantine Generals’ Problem, dice así:

Hay un número de generales bizantinos asediando una ciudad que solo se pueden comunicar mediante mensajeros. Los generales tienen que acordar el plan de acción en común: Atacar la ciudad o Replegarse. Entre los generales habrá algunos que serán traidores y querrán actuar en contra del plan de acción que diría el consenso, el numero e identidad de estos generales traidores es desconocido.

La pregunta que muestra el problema es: ¿Es posible llegar a un consenso por parte de los generales ignorando la influencia de los traidores?¿Cual sería el método a seguir para llevarlo a cabo?

El análisis de estos investigadores llego a la conclusión de que sí, es posible, pero el numero de generales leales debe ser estrictamente superior a dos tercios y siempre superior al 51%. Por ejemplo, en una situación con tres generales, uno traidor y dos leales, los leales nunca podrían garantizar ser capaces de llegar a un consenso.

(Para entender esto mejor os podéis imaginar una partida de Among Us donde solo quedan 2 inocentes y 1 traidor y sin pruebas tenéis que decidir quien es el traidor entre los tres siendo tu inocente, sería imposible)

Si ahora sustituimos a los generales por nodos de una red blockchain donde se tienen que poner de acuerdo y establecer un consenso en que transacciones son válidas y cuales son maliciosas, los modelos que se han creado para decidirlo son los siguientes:

Proof of Work (PoW)

Es el método mas utilizado y testeado en redes blockchain, es el que posee Bitcoin, actualmente Ethereum (aunque este ultimo planea moverse a PoS para el año que viene) y otras monedas como Doge (mencionada por el interés reciente en ella) también lo utilizan.

En un rápido resumen de como funciona este método de consenso podríamos decir que básicamente la red de bloques con mas trabajo computacional es la que se toma como la cadena principal, es por eso que seguramente habréis escuchado aquello de “51% Attack” y es que si el 51% de la red de mineros (que son los que se encargan de validar y confirmar las transacciones) se pone de acuerdo en que cadena utilizar esta será la que se utilice y perdure en el tiempo.

Entendiendo esto, ¿Cómo se puede saber que una transacción o bloque de transacciones es valido y no han sido manipuladas por el minero? No pueden validar una transacción que debería ser invalida por que tendrían que enfrentarse a las firmas criptográficas de los usuarios que han hecho estas transacciones, ya que estas no se pueden alterar sin conocer las “claves privadas” y la única forma para averiguarlas es ir probando combinaciones hasta dar la correcta, habiendo 2²⁵⁶ posibilidades (en el algoritmo de encriptado SHA-256 que usa Bitcoin y muchas páginas de internet para sus encriptados), siendo diferente para cada transacción ya que es encriptada con el mensaje, para adivinar la combinación correcta, el actor malicioso tendría que dedicar una cantidad de poder computacional exagerada e impensable, muchas plataformas y páginas de internet usan estos algoritmos de encriptado y son considerados de extrema seguridad, hay muchas especulaciones sobre que los ordenadores cuánticos podrían llegar a esta cantidad pero igualmente existen algoritmos de encriptados aun mas seguros que los resistirían y es fácil aplicarlos en alguna actualización a las cadenas.

Para más información sobre como funciona PoW por dentro o para tener un mejor apoyo visual os recomiendo este video https://www.youtube.com/watch?v=bBC-nXj3Ng4

Proof of Stake (PoS)

Este método es menos utilizado que el PoW y menos testeado, es por eso que cuando se habla sobre su implementación siempre hay cierta duda de si se puede implementar correctamente, ya que no hay ningún proyecto que haya llegado lejos con este método comparando a los proyectos PoW. Actualmente el proyecto Cardano es el que mas lejos ha llegado usando este método y Ethereum planea su movimiento a PoS hacia el próximo año.

Para definir como funciona el método Proof of Stake, la manera más fácil es coger el modelo de Proof of Work y en vez de “ la red de bloques con más trabajo computacional es la que se toma como la cadena principal ” insertamos “ la red de bloques con más cantidad de moneda en staking es la que se toma como la cadena principal ”.

En vez de mineros, en la red habrá validadores, los cuales deberán depositar una mínima cantidad de monedas designada por el sistema en staking (bloqueando estas monedas) y se les “entregaran” trabajos dependiendo directamente de la cantidad que monedas que tengan en staking, haciendo que la barrera para poder controlar la red sea tener el 51% de las monedas en staking en vez de aumentar el hashrate, esto hace que el hashrate carezca de tanta importancia como en Proof of Work para la seguridad de la red y el consumo energético de la red disminuya drásticamente.

Conclusión y principales polémicas.

Entonces, ¿Cuál es mejor? No es tan fácil como concluir que una es mejor que otra (si no no habría polémica lol), los “contras” del Proof of Work es que su consumo energético es muy alto y este suele ser sacado de la energía mas barata (ya que los mineros buscan maximizar beneficios reduciendo costes) que tiende a ser mayormente energía “sucia” y que afecta negativamente al medioambiente, pero esto puede ser contra-argumentado con que ese aspecto negativo es lo que se paga por tener una mayor seguridad ya que tener el 51% del hashrate es mas complicado que tener el 51% de monedas en staking.

Agradecimientos a la gente en Ethereum R&D y Flexpool que me ayudaron para crear este artículo.

--

--