Proof of History, o Prueba de historia, es un algoritmo de consenso que utiliza los relojes internos de los nodos para validar eventos y tiempo.
Utilizado en la cadena de bloques de Solana, Proof of History (PoH) es un método para incorporar el tiempo a la blockchain, buscando reducir así la carga de los nodos de la red mientras se procesan bloques.
En las cadenas de bloques más tradicionales, alcanzar el consenso del tiempo en que fue minado un bloque es tan importante como la validez de las transacciones en él.
La marca de tiempo es fundamental para cualquiera en la red que necesite saber el orden especifico en el que una transacción ha ocurrido.
A diferencia de Prueba de Trabajo, donde los nodos buscan ser los primeros en determinar el nonce adecuado mediante la utilización de poder computacional, en PoH se utiliza lo que se conoce como Verifiable Delay Function (VDF).
Donde solo se puede utilizar un core de un procesador para resolver el VDF, ya que debe realizar una serie de pasos consecutivos que no pueden ser paralelizados. De esta forma, es sencillo determinar cuanto le tomara llevar a cabo cada paso.
De esta forma, el algoritmo no solo resuelve el problema del tiempo en la blockchain, sino que hace que la cadena de bloques funcione de manera más ligera y rápida al reducir el trabajo de procesamiento.
En el caso de Solana, utiliza una solución híbrida entre Prueba de Historia y Tolerancia a Fallos Bizantina de la Torre (Tower BFT), para conseguir que el sistema sea seguro gracias a que los usuarios que stakean tokens votan para validar los hash.
Contenido
¿Cómo funciona la Prueba de Historia?
En la Prueba de Historia, cada nodo tiene su propio reloj interno que verifica eventos y el paso del tiempo. Aquí la prueba utiliza los VDF para hashear los eventos entrantes registrar cuando se producen eventos.
Cuando otros nodos miran la secuencia de hashes, estos pueden determinar inmediatamente el orden en que ocurrieron esos eventos sin tener que validar el tiempo con otros nodos.
Una forma de entender esto con un ejemplo es pensando en un reloj antiguo de agua, que funciona con un flujo continuó de este líquido que cae sobre un contenedor a una tasa constante.
Las marcas en el instrumento determina el incremento en el nivel del agua, lo cual le permitía a los griegos registrar el paso del tiempo.
Esto básicamente lo que se utiliza en una PoH, donde la cadena de bloques emplea una verifiable delya function, que es una función cuya salida es básicamente hashes que demuestran que el tiempo ha pasado.
Aquí el tiempo no es un incremento en el nivel del agua o segundos, sino salidas secuenciales de la cadena de bloques con hashes y recuentos.
De esta forma, al igual que sucede con el reloj, se sabe que los niveles inferiores o “marcas” (hashes) tuvieron que venir antes que los niveles superiores o “marcas” (hashes).
En su conjunto, esta estructura de datos nos cuenta que ha pasado el tiempo, permitiendo determinar con exactitud cuando un evento o mensaje ha sido insertado en este flujo.
Ventajas y Desventajas de PoH
Siempre que se crea un nuevo algoritmo de consenso, se busca que este presente mejoras con respecto a sus predecesores.
Sin embargo, ya hemos analizado varios en esta web y sabemos que si bien las ventajas pueden ser muchas, también hay algunos contratiempos.
Pros
- Bajas comisiones: si comparamos la implementación de PoH con otras criptomonedas, como pueden ser ETH o BTC, encontramos que este mecanismo de consenso permite que las transacciones sean realizadas pagando menos comisiones.
- Escalabilidad: la ventaja de arriba es en parte por la escalabilidad, ya que en la red de Solana se pueden procesar miles de transacciones a una velocidad muy grande que también hace que esta blockchain escale muy bien.
Contras
- Centralización: el problema es que cuando se busca la escalabilidad se pierden otras características como la descentralización. Esto es un problema llamado trilema de la blockchain, y hace que las soluciones ganen, por un lado, pero pierdan por otro.
- Poco utilizado: no está muy implementado aun, ya que solo una criptomoneda hace uso de este desarrollo. Lo cual es negativo, puesto que no se ha probado lo suficiente como para pensar que puede ser una solución en el largo plazo.
Posibles amenazas de Proof of History
Proof of History es un mecanismo que deriva de Prueba de Participación, pero con la diferencia de que el método para calcular el tiempo es diferente. Ahora los eventos históricos son utilizados para determinar que el tiempo ha transcurrido.
Los eventos, como vimos antes, son hasheados, los cuales solo pueden ser generados por eventos previos. De esta forma el hash no puede ser falsificado.
Todo esto permite que la red que lo implemente funcione extremadamente rápido. Como es el caso de Solana, donde se pueden procesar más de 60.000 transacciones por segundo.
Sin embargo, este método no ha sido probado a gran escala ni por un tiempo prolongado para determinar que funcionara correctamente.
Incluso hemos visto algunas vulnerabilidades y ataques a Solana en el pasado que han sido causados en parte por la Proof of History. Por lo que no podemos decir que es un mecanismo seguro hasta el momento.
Prueba de Participación (PoS) vs. Prueba de Historia (PoH)
En cierta forma, la Proof of Stake y la Proof of History son muy similares. Algo que se debe a que la segunda es una evolución de la primera.
Los dos algoritmos están construidos sobre los mismos cimientos. Donde los validadores son utilizados para garantizar que las transacciones son validadas cuando se crean los bloques.
Sin embargo, hay una diferencia sustancial que nos hace hablar de dos algoritmos diferentes, y tiene que ver en la forma en que se calcula el tiempo.
En el caso de PoS se utiliza una función de marca de tiempo. Lo que implica que cada nodo debe confiar en la marca del tiempo de la red. Y como el tiempo debe fluir por la red primero, esto hace que la misma funcione de manera más lenta.
Esto no sucede con PoH, ya que aquí se utiliza la VDS, que calcula el tiempo basado en eventos históricos de la red. Al analizar estos eventos, se construye un hash que puede ser confirmado por cualquiera.
Todos los bloques creados en la red tiene el hash agregados a ellos, lo que permite determinar el tiempo de manera muy rápida y de esta forma hacer que la cadena de bloques ea extremadamente veloz.
Criptomonedas que utilizan PoH
En la actualidad la única en implementar este método es Solana. Que si bien está entre las criptomonedas más populares según la capitalización de mercado y es un contrincante de Ethereum, ha sufrido problemas en el pasado que no son muy alentadores.
Habrá que ver si eta implementación puede resolver estos errores o que surjan implementación es que mejoren esta solución.
Agrega un Comentario