Consenso de Taraxa (4/5): propuestas justas y eficientes

La elegancia de PoW

PoW es un algoritmo de consenso simple y elegante. Cada nodo resuelve un rompecabezas criptográfico simple, a cuya solución se llega haciendo conjeturas rápidas, y quien adivinó primero la respuesta correcta se elige para producir el siguiente bloque en la red.

Eso es.

Este algoritmo simple proporciona simultáneamente una verdadera aleatoriedad que hace que las propuestas de bloques sean justas y descentralizadas, un retraso para garantizar el tiempo suficiente para la propagación para minimizar la bifurcación y una participación económica en forma de inversiones en hardware y energía eléctrica para que los mineros tengan un interés personal en comportarse honestamente.

Entonces, ¿qué hay de malo en PoW? ¿Por qué necesitamos construir algo diferente?

La paralelización es la culpable

Línea de montaje temprana trabajando en paralelo

Un problema crítico con el consenso PoW simple y elegante es que es un rompecabezas que puede ser altamente paralelo. Estos acertijos suelen ser una función de hash mediante la cual los nodos solo siguen generando cadenas aleatorias, haciéndolas hash, y ver si el valor de hash resultante coincide con un determinado criterio. Si solo eres un jugador (por ejemplo, una máquina, un hilo), digamos que en promedio puedes adivinar la respuesta correcta después de N segundos. Pero si son 100 jugadores, entonces, en promedio, pueden adivinar la respuesta correcta después de N / 100 segundos, ya que simplemente pueden dividir el trabajo. Por ejemplo, si hay un total de M posibles conjeturas, el jugador 1 puede encargarse de probar las conjeturas 1 a M / 100, el jugador 2 está a cargo de probar las conjeturas M / 100 a 2M / 100, y así sucesivamente.

Los mineros que trabajan en sistemas de cadena de bloques PoW generalmente compran una gran cantidad de computadoras especializadas o circuitos integrados específicos de aplicación (ASIC), y luego usan programas para coordinar estos ASIC para dividir las conjeturas para que, en promedio, puedan adivinar la respuesta correcta más rápido. A medida que pasa el tiempo, diferentes mineros deciden unirse y dividir el trabajo entre sus grandes grupos de ASIC, creando grupos de minería.

Para redes como BTC, existe un algoritmo interno que hace que adivinar el número correcto sea más difícil si la red detecta que los mineros adivinan las respuestas correctas demasiado rápido, para mantener un retraso promedio de ~ 10 minutos entre bloques. Entonces, cuanto más rápido adivinen los mineros, más difícil será adivinar, creando incentivos para que los mineros sigan avanzando cada vez más rápido mediante la creación de ASIC más rápidos, pero lo más importante, la construcción de MÁS ASIC.

Máquinas más rápidas y más de ellas consumen cada vez más y más energía, y así sucesivamente, hasta que la cantidad de energía utilizada para mantener una red se vuelve absurdamente alta.

Por lo tanto, el hecho de que las funciones de hashing utilizadas en el consenso de PoW puedan ser paralelas es el principal culpable de crear incentivos económicos adversos que impulsen una carrera armamentista de hardware entre los mineros, consumiendo cantidades de energía insosteniblemente grandes.

Objetivo de diseño: retraso aleatorio

Por lo tanto, si queremos diseñar un sistema que no sea tan derrochador como PoW pero que también produzca un retraso aleatorio, necesitaremos alcanzar los siguientes objetivos de diseño,

Aleatoriedad verdadera para garantizar la equidad y la descentralizaciónRetrasar que no se puede reducir mediante la paralelización para minimizar el uso de energía

Veamos cómo podemos hacerlo mejor.