Una de las novedades que tiene Solana es el algoritmo de consenso híbrido único llamado “Proof of History” (PoH), que presenta un avance fundamental en la estructura de las redes blockchain en cuanto a velocidad y escalabilidad.
Antes de introducirte en PoH, es importante que conozcas los dos mecanismos de consenso más comunes que le proporcionan seguridad a las redes blockchain: Proof of Work (PoW) y Proof of Stake (PoS).
Contenidos
Proof of Work: Prueba de Trabajo.
Proof of Work, o prueba de trabajo, es el método más conocido ya que es utilizado por Bitcoin y Ethereum desde sus comienzos. En este protocolo de consenso, los mineros compiten entre sí en la red para resolver acertijos matemáticos y, aunque son difíciles de encontrar, es fácil verificar la solución correcta. Cuando un minero encuentra la solución, envía un bloque con la solución a la red, y así todos los demás mineros verifican si la solución efectivamente es correcta. Este proceso se repite una y otra vez para que los bloques de la red formen una cadena; de ahí el nombre blockchain. Además, la primera computadora en hacerlo con éxito es recompensada con una pequeña cantidad de criptomonedas.
La principal ventaja de la PoW es su seguridad ya que como los mineros tienen que destinar muchos recursos a la red, como hardware informático y la electricidad necesaria para alimentarlo, cualquier persona que quiera cometer fraude y/o atacar la red necesitaría obtener más de la mitad de la potencia hash de la red, es decir, tendría que tener una capacidad más grande que el 51% de toda la red para lograr tener la blockchain más larga. A esto se le llama ataque del 51%. Esta es una de las principales características que asegura la red y permite que se realicen transacciones por billones de dólares de valor.
Proof of Work vs Proof of Stake:
A partir del 2021 oficialmente Ethereum “migra” de su protocolo de Proof of Work (o prueba de trabajo) hacia el nuevo mecanismo conocido como Proof of Stake, o prueba de participación, haciéndose llamar “Ethereum 2.0”.
Este cambio viene de la mano con una serie de mejoras en comparación al sistema de prueba de trabajo como:
- Mejor eficiencia energética ya que no es necesario utilizar muchos bloques de minería de energía.
- Barreras de entrada más bajas y requisitos de hardware reducidos, es decir, que no necesita hardware de élite para tener la oportunidad de crear nuevos bloques.
- Mayor inmunidad a la centralización porque el PoS debería conducir a más nodos en la red.
- Mayor soporte para las cadenas de fragmentos, una mejora clave para escalar la red Ethereum, facilitando la ejecución de un nodo al mantener bajos los requisitos de hardware.
De todas formas, Proof of Stake y Proof of Work tienen mucho en común. Ambos tienen la misma función: validar transacciones y luego actualizar el ledger para que se ajusten a las reglas de la red. Además, tanto los mineros, en Proof of Work, como los validadores, en Proof of Stake, son recompensados por su trabajo con la criptomoneda nativa de la red.
Proof of Stake: Prueba de Participación
Una de las mayores diferencias entre PoW y PoS es la utilización de validadores en vez de mineros. Los validadores apuestan una cierta cantidad de la respectiva criptomoneda en la red y, con esto, validan la blockchain.
Desde una perspectiva más técnica, Proof-of-Stake (PoS) es una alternativa al modelo de minería Proof-of-Work (PoW) ya que, en lugar de que los mineros resuelvan acertijos criptográficos utilizando la potencia informática para verificar las transacciones como lo hacen con PoW, los usuarios de PoS utilizan monedas existentes y con estas verifican las transacciones en proporción a la cantidad de monedas que han bloqueado o “enlazado” en una billetera de stacking.
Desde la perspectiva del usuario, todo lo que una persona tiene que hacer es mantener una cierta cantidad de monedas “encerradas” durante un cierto período de tiempo y así ganar monedas recién acuñadas, ya sea la moneda base o una moneda relacionada. Es importante tener en cuenta que la duración y la cantidad mínima de apuesta difieren según la criptomoneda que estemos discutiendo.
En vez de competir por quien tiene la computadora más grande, se compite por quién tiene más monedas. Así, cuanto mayor sea la apuesta -o mayor es el pool de monedas- mayores serán las posibilidades de generar un bloque y así ser seleccionado como validador. Cuando se selecciona el validador, este debe proponer un bloque. Si este es validado por otros usuarios, el validador obtiene una recompensa consistente en las tarifas de las transacciones de ese bloque.
El mayor obstáculo para la participación en este mecanismo es que una persona tiene que poseer la criptomoneda nativa de la plataforma blockchain particular basada en PoS. Las barreras tecnológicas y técnicas que surgen de poseer estas criptomonedas específicas y comprender lo que es la blockchain pueden disuadir a una persona de participar en la plataforma.
Por el otro lado, la mayor desventaja de PoS es su susceptibilidad al ataque que explicamos antes llamado “ataque del 51%”: un participante o grupo de participantes puede controlar una blockchain después de poseer más del 50% de las capacidades de autenticación. Aunque tanto PoW como PoS son susceptibles a un ataque del 51%, en las plataformas blockchain basadas en PoS (especialmente aquellas con criptomonedas más nuevas y de menor valor) un individuo o grupo puede adquirir suficientes criptomonedas para obtener una ventaja frente a otros participantes y aumentar sus posibilidades de ser elegido como validador.
De ahí que el nuevo algoritmo de consenso de Solana es tan importante: asegura que una blockchain sea muy rápida pero al mismo tiempo manteniendo su seguridad descentralizada.
Proof of History: Prueba de Historial
Como vimos antes, Solana combina Proof-of-Stake con Proof-of-History (PoH), otorgándole un algoritmo de consenso híbrido único. Esta se centra en el concepto de que, en lugar de confiar en las marcas de tiempo dadas en un bloque, puede probar que un mensaje se produjo en un momento específico antes y después de una acción.
¿Cómo funciona?
Todos los eventos y transacciones de Solana se procesan con la función hash SHA256. Con esta, Solana toma una entrada de una transacción y produce una salida de esta única que es extremadamente difícil de predecir, y la usa como entrada para el siguiente hash. Así, la secuencia de transacciones está integrada en la salida hash. El proceso de hash crea una cadena larga e ininterrumpida de transacciones hash. Esta característica crea una secuencia clara y verificable de transacciones que un validador agrega a un bloque sin la necesidad de una marca de tiempo convencional. El hash también requiere un cierto tiempo para completarse y los validadores pueden verificar fácilmente cuánto tiempo pasó.
Básicamente, Proof of History es una secuencia de cálculo que puede proporcionar una forma de verificar criptográficamente el paso del tiempo entre dos eventos. Utiliza una función segura escrita para que la salida no se pueda predecir a partir de la entrada, y debe ejecutarse por completo para generar la salida. Es decir que esta permite crear un registro histórico que prueba un evento que ocurrió en un momento específico en el tiempo.
Por el otro lado, PoH utiliza un nuevo concepto criptográfico llamado “función de retardo verificable hash secuencial”, o mejor conocido como Verifiable Delay Function. Solo puede resolverse mediante el uso de un solo núcleo de un CPU que aplique una serie de pasos, y requiere una cantidad específica de pasos secuenciales para evaluar, pero produce una salida única que puede ser verificada pública y eficientemente. Además, tampoco se permite la validación en paralelo de transacciones, por lo que es fácil definir exactamente cuánto tiempo lleva aplicar esos pasos (el paso del tiempo es evidente y sumamente importante).
En otras palabras, VDF utiliza una función criptográficamente segura escrita para que la salida no se pueda predecir a partir de la entrada, y debe ejecutarse por completo para generar la salida.
Solana combina el algoritmo PoH con un protocolo de seguridad llamado Tower Byzantine Fault Tolerance (Tower BFT), que permite a los participantes de la red acumular los tokens, y así estos pueden votar sobre la validez de los Hash del Proof of History.
Este protocolo de seguridad es un poco parecido a los PoS, ya que penaliza a los usuarios que votan a favor de un hard fork que no coincida con los registros originales del PoH, o por si la mayoría de la red voto como “malos actores” a ciertos nodos sospechosos.