Protocolos de consenso

Se nos llena la boca hablando de las bondades que ofrece las Blockchain como Bitcoin, Ethereum y otras tantas, pero seguramente no acabe de quedar del todo claro el funcionamiento en una escala global de este gran libro de contabilidad. Una Blockchain – pública en este caso-, requiere de un algoritmo de consenso seguro y eficiente en el largo plazo.

Un algoritmo de consenso, asegura las reglas y principios de cómo se comunicarán los nodos de la red en cuestión. Es decir, una manera de organizar relaciones sin confianza. Además, vale para asegurar que el siguiente bloque de la cadena es la única versión existente y es verídico. En resumen, asegura que los nodos se han fieles y aseguren la red funcionando al unísono. Ahora estudiaremos cada uno de los prinicipales protocolos.

Proof of work (PoS)

En este modelo de protocolo de consenso, también conocido como prueba de trabajo en español. Los nodos de una red compiten por ser elegidos como líder o actor y así ser quien determine cual es el próximo bloque que se agregará a la cadena de bloques, debiendo encontrar una solución a un problema matemático singular.

Es un problema que requiere un elevado poder  de cálculo para poder ser resuelto.

Proof-of-work-Infografia

Hay varios, pondremos un  ejemplo:

  • – función hash, o cómo encontrar la entrada conociendo la salida.
  •  factorización de enteros, en palabras sencillas, cómo presentar un números  que sea productos de una multiplicación de una serie de dos números.
  • protocolo de rompecabezas guiado. Si el servidor intuye que puede estar bajo un ataque DoS, puede requierer de un cálculo de las funciones hash para los nodos en un orden espececifico. En este caso, es un problema de ‘cómo 
  • encontrar una cadena de valores de función hash.’

Los mineros resuelven esos problemas o rompecabezas para formar el nuevo bloque y confirman las transacciones contenidas en dicho bloque.

La complejidad de ese problema depende de la cantidad de nodos existentes, la potencia de la que se dispone y la carga de trabajo de la red. El hash de cada bloque siguiente contiene una referencia al hash del bloque anterior, lo que añade un plus de seguridad y asegura la legitimidad del bloque.

Si un minero logra resolver el rompecabezas, se forma el nuevo bloque. Las transacciones se colocan en este bloque y se consideran confirmadas.

Lógica bloques proof of work

¿Por qué usar un algoritmo de consenso PoW?

Los principales beneficios son la defensa ante ataques DoS y un bajo impacto de la participación en las posibilidades de minería.

  • Defensa de ataques DoS. La PoW impone ciertos límites a las acciones en la red. Necesitan mucho esfuerzo para ser ejecutados. Para llevar a cabo un ataque con exito requiere que el atacante disponga de una gran potencia computacional y disponer de mucho tiempo para hacer una serie de cálculos. Por lo tanto, el ataque no deja der posible pero muy poco util dado que dispara los costos para llevarlo a cabo.
  • – Posibilidades de minería. No importa cuántas monedas o dinero tengas dispuestos en tu cartera. Lo que importa es poseer un gran poder de computo para resolver los problemas y crear nuevos bloques.

Proof of Stake (PoS)

Busca eliminar el poder computacional para hallar un `hash valido’. Este protocoló agrega un nuevo aliciente para de agregar un nuevo  bloque a la cadena de manera determinista, esto depende de la cantidad de monedas que se hayan dispuesto o depositado en una wallet. 

En este curioso protocolo de consenso el creador de bloque se le llama validador y el acto de crear un nuevo bloque y validar las transacciones y difundirlas por la red se le llama forjar un bloque.

Podría verse, según como explica Vitalik Buterin, de la siguiente manera:

“SHA256(prevhash + address + timestamp) <= 2^256 * balance / diff”

En esta ‘operancion’ ,  prevhash es el hash del bloque anterior, address es la dirección donde están almacenadas las monedas, timestamp es el tiempo, balance es el saldo de la cartera y diff es un parámetro de dificultad ajustable. De esta forma, si una cuenta satisface esta ecuación en un momento dado, tendrá acceso a producir un bloque y agregarlo a la cadena, obteniendo por ello la respectiva recompensa en monedas.

Otra forma de verlo, es mediante un sorteo con varias fases donde quien tenga mas monedas dispuesta en el stake mas boletos y posibilidad de crear el nuevo bloque tiene.

Proof of Stake o prueba de estaca Infografia

A estas bases se les puede añadir más requisitos o dificultades, como utilizar no solo la cantidad de monedas, sino asociar a ellas la antigüedad de creación, generando un producto de «saldo x antigüedad» y de esta manera determinar cuáles son las carteras que llevan más tiempo apostando poder económico para la defensa e integridad de la red.

¿Porque usar Proof of Stake?

Cada protocolo de consenso debe ser usado según el tipo de blockchain que se desea usar y el tipo de «negocio propuesto». Aquí es donde entra en juego protocolos como Proof of stake. PoS propone un consumo de energía muy bajo, ni requiere de equipos especializados para sustentar la red, -no como su protocolo hermano PoW-. Por si fuese poco motivo para implementar una cadena basada en Proof Of Stake, también ofrece bajo costes de energía eléctrica y una mayor accesibilidad a todo tipo de usuario. 

¿Como funciona el protococolo PoS?

Poner en manchar una cartera para stake por es apto para cualquier persona. Basta con tener monedas en la billetera de la plataforma de turno y mantener el saldo. Con el requisito que se deben colocar en modo stake. Cuantas más tengamos y más poseamos en stake mas monedas gana el usuario.

Para conocer en profundidad cada parte de las fases de un stake permanece atento a nuestras entradas.

Delegated Proof of Stake (DPOS)

Se presenta como una alternativa a los anteriores protocolos. Ofrece un resultado más rápido, más eficiente y más escalable. DPOS aprovecha el poder de votación de las partes interesadas para resolver los problemas de consenso de una manera justa y democrática. 

Todos los parámetros de la red desde las comisiones, intervalos de bloque y hasta tamaños de transacción, pueden ajustarse a través de delegados electos. La selección determinista de los productores de bloques permite que las transacciones se confirmen en tan solo en unos pocos segundo.

Delegated Proof Of Stake o Prueba de estaca delegadada Infografia

El número de nodos con derecho a producir nuevos bloques en una red DPoS depende de las reglas de consenso de cada cadena. 


Un bloque se da por finalizado y se agrega cuando es votado por al menos 2/3 + 1 de los nodos productores del bloque. Los votantes también pueden ‘despachar’ a los nodos productores de bloques si se descubre que son maliciosos para la red y no votar por ellos.

Un ejemplo de este protocolo seria la blockhchain de EOS con un 21 votantes , Lisk con 101 nodos votante, etc…

¿Porque usar DPoS?

DPOS es un protocolo innovador que resuelve varios problemas más importantes en el mundillo de la blockchain, ofrece ciertas ventajas como una velocidad de transacción alta acompañado de un bajo consumo eléctrico. Sin embargo, para lograrlo hace un pequeño sacrificio respecto la descentralización, la verificación de bloques depende de un número cocnertado de testigos, que pueden llegar a simmular como una especie de entidad central.