Historia de los mecanismos de consenso ¿Qué mecanismos de consenso conoces?
Ningún algoritmo de consenso es perfecto, pero todos tienen sus propias ventajas. En el campo del cifrado, existen algoritmos de consenso para evitar el doble gasto.
Detrás de cada gran Criptomoneda, hay un gran algoritmo de consenso. Ningún algoritmo de consenso es perfecto, pero todos tienen sus propias ventajas. En el campo del cifrado, existen algoritmos de consenso para evitar el doble gasto. La siguiente es una descripción general rápida de algunos de los algoritmos de consenso más populares hasta la fecha, desde blockchain hasta DAG y todo lo demás.
Prueba de trabajo (PoW)
Pros: Sabemos que es efectivo
Desventaja: rendimiento lento
Prueba de trabajo es el primer algoritmo de consenso de blockchain. Diseñado por Satoshi Nakamoto para la cadena de bloques de Bitcoin , nos gustaría agradecer a PoW, que contribuye a las operaciones mineras a gran escala y al consumo de energía que vemos en todo el mundo. Sabemos que es factible (para muchos otros algoritmos de consenso, podemos decir más), pero en esta etapa en este campo, se empieza a considerar una tecnología tradicional. Con tantas alternativas nuevas, es difícil entender por qué las nuevas cadenas de bloques usarán PoW.
En PoW, los mineros crean bloques resolviendo problemas difíciles e inútiles. PoW se ejecuta en el sistema de "ganancias de la cadena más larga". Entonces, suponiendo que la mayoría de los mineros trabajen en la misma cadena, el de más rápido crecimiento es el más largo y confiable. Por lo tanto, mientras más del 50 % del trabajo de los mineros sea honesto, Bitcoin es seguro.
Prueba de participación (PoS)
Ventajas: ataques más caros; más descentralización; eficiencia energética
Desventajas: No hay tabú en el compromiso.
En PoS, los mineros no crean bloques, pero los mineros usan sus fichas para "apostar" qué bloques son válidos. En el caso de un tenedor, la menta gasta sus fichas para votar por qué tenedor. Suponiendo que la mayoría de la gente vote por la bifurcación correcta, los validadores que voten por la bifurcación incorrecta "perderán su compromiso" por la bifurcación correcta.
Un argumento común en contra de la prueba de interés es el tema de "sin tabú en el compromiso". El problema es que, dado que los verificadores pueden admitir bifurcaciones PoW casi sin poder de cómputo, pueden votar en ambos lados de cada bifurcación que se produzca. Las bifurcaciones de PoS pueden ser más comunes que las de PoW, y a algunas personas les preocupa que dañe la credibilidad de esta moneda.
Prueba de participación delegada (DPoS): elija su propio validador
Ventajas: transacciones baratas; escalable; alta eficiencia y ahorro de energía
Desventaja: parcialmente centralizado
DPoS es la cristalización de la sabiduría de Daniel Larimer, y en realidad es muy diferente de PoS. En DPoS, los titulares de fichas no votan sobre la validez del bloque en sí, sino que votan para elegir representantes para verificar en su nombre. En el sistema DPoS, generalmente hay entre 21 y 100 representantes electos. Los delegados barajan las cartas regularmente y reciben órdenes de entregar sus bloques. Un pequeño número de delegados puede permitirles organizarse de manera efectiva y crear un período de tiempo designado para que cada delegado publique sus bloques. Si los representantes continúan perdiendo sus bloques o publican transacciones no válidas, el contribuyente votará para eliminarlos y reemplazarlos con mejores representantes.
En DPoS, los mineros pueden colaborar para producir bloques en lugar de competir entre sí como en PoW y PoS. Al centralizar parcialmente la creación de bloques, DPoS puede ejecutar varios órdenes de magnitud más rápido que la mayoría de los otros algoritmos de consenso.
Prueba de autoridad (PoA)
Ventajas: alto rendimiento; escalable
Desventaja: sistema centralizado
La prueba de autoridad (Proof-of-Authority) es un algoritmo de consenso en el que las transacciones son verificadas por una cuenta aprobada, un poco como el "administrador" del sistema. Estas cuentas son la autoridad para que otros nodos obtengan la verdad. PoA tiene un alto rendimiento y está optimizado para redes privadas. Debido a la naturaleza centralizada de PoA, es poco probable que PoA se ejecute en la cadena pública.
Prueba de peso (PoWeight)
Ventajas: personalizable; extensible
Desventajas: El mecanismo de incentivos es un desafío
La prueba de peso es una clasificación amplia de algoritmos de consenso basada en el modelo de consenso de Algorand. La idea general es que en PoS, el porcentaje de tokens que posee un usuario en la red representa la probabilidad de que el usuario "descubra" el siguiente bloque. En el sistema PoWeight se utilizan algunos otros valores relativamente ponderados. Ejemplo específico: la prueba de espacio-tiempo de Filecoin depende de la cantidad de datos de IPFS que almacene el usuario. Otros sistemas pueden incluir algunos pesos, como prueba de credibilidad.
Tolerancia a fallas bizantinas (BFT)
Ventajas: alto rendimiento; bajo costo; escalable
Desventaja: confianza a medias
Un problema clásico es que la informática distribuida suele ser explicada por generales bizantinos. El problema es que varios generales bizantinos y sus respectivos ejércitos rodearon una ciudad. Deben decidir por unanimidad si atacar. Si algunos generales atacan solos, su asedio terminará en tragedia. Los generales suelen estar separados por una distancia y deben comunicarse pasando información. Algunos protocolos de criptomonedas usan ciertas versiones de BFT para llegar a un consenso, y cada versión tiene sus propias ventajas y desventajas:
Tolerancia práctica a fallas bizantinas (PBFT): La primera solución a este problema se llama Tolerancia práctica a fallas bizantinas. Utilizado en Hyperledger Fabric,pocos (<20) generales preseleccionados PBFT se ejecutan de manera muy eficiente.
Ventajas: alto rendimiento de transacciones
desventajas: centralización
Acuerdo bizantino federal (FBA): FBA es otro método para resolver el problema de los generales bizantinos, como Stellar y Ripple . La idea general es que cada general bizantino es responsable de su propia cadena, porque establece el mensaje de clasificación de la verdad tan pronto como ingresa. En Ripple,los generales (validadores) son preseleccionados por la Fundación Ripple. En Stellar, cualquiera puede convertirse en validador, por lo que puede elegir en qué validador confiar.
Gráfico acíclico dirigido (DAG)
Ventajas: escalabilidad de la red; bajo costo
Desventajas: depende de la implementación
DAG es una forma de consenso. No utiliza la estructura de datos de la cadena de bloques y procesa principalmente las transacciones de forma asíncrona. En teoría, la mayor ventaja de DAG son las transacciones ilimitadas por segundo, pero al igual que otros consensos, DAG también tiene ventajas y desventajas.
Tangle : Tangle es el algoritmo de consenso DAG utilizado por Iota. Para enviar una transacción de Iota, el usuario debe verificar las dos transacciones recibidas anteriormente. Cuando se agregan más transacciones a Tangle, el consenso fortalece la efectividad de las transacciones. Debido a que el consenso se establece a través de transacciones, en teoría, si alguien puede generar 1/3 de la transacción, puede convencer a otros miembros de la red de que su transacción no válida es válida. Hasta que no haya suficiente volumen de transacciones para crear 1/3 del volumen de transacciones, Iota "volverá a verificar" todas las transacciones de la red en un nodo centralizado llamado "coordinador". Iota dijo que el coordinador es como la rueda de entrenamiento del sistema, una vez que el Tangle sea lo suficientemente grande, se eliminará.
Hashgraph : Hashgraph es un consenso de protocolo de chismes desarrollado por Leemon Baird. Los nodos comparten aleatoriamente sus transacciones conocidas con otros nodos, por lo que eventualmente todas las transacciones se propagan a todos los nodos. Hashgraph es muy rápido (más de 250 000 transacciones por segundo), pero no puede resistir los ataques de brujas. Por lo tanto, Hashgraph para la red privada es una buena opción, pero no lo verá pronto en la realización de Ethernet Square o en la red pública de Dispatch.
Block-lattice : Nano (anteriormente conocido como Raiblocks) se ejecuta en la cadena de bloques y se llama Block-lattice. Block-lattice es una estructura en la que cada usuario (dirección) tiene su propia cadena, solo ellos pueden escribir en la cadena y todos tienen una copia de todas las cadenas. Cada transacción se descompone en un bloque de envío en la cadena de envío y un bloque de recepción en la cadena de recepción. Block-lattice parece demasiado simple, pero ya se está ejecutando en la naturaleza. Esta estructura única abre Block-lattice a algunos vectores de ataque únicos, como el ataque Penny-spend, en el que el atacante exagera la cantidad de cadenas que un nodo debe rastrear enviando una cantidad insignificante a una gran cantidad de billeteras vacías.
SPECTRE : Serialización de eventos de Prueba de Trabajo: Confirmación de transacciones a través de elecciones recursivas. El nombre más conocido es SPECTRE. Es una solución de extensión de Bitcoin propuesta que utiliza una combinación de PoW y DAG para alcanzar un consenso escalable. En SPECTRE, los bloques se dirigen a varios nodos principales, no solo a uno, por lo que la red puede procesar varios bloques por segundo. La minería de bloques que apuntan a algunos bloques principales respalda la validez de estos bloques. En comparación con la "ganancia de cadena más larga" de PoW, SPECTRE usa "un bloque con la mayor cantidad de subelementos para ganar".
Prueba de capacidad
En el método de prueba de capacidad, las respuestas a problemas matemáticos complejos se almacenan en almacenamiento digital, como discos duros. Todo el proceso se llama dibujo. Cuando el dispositivo de almacenamiento está lleno de soluciones a acertijos matemáticos, los usuarios pueden utilizar el dispositivo de almacenamiento para generar bloques. El usuario que encuentra la solución más rápido tiene la oportunidad de crear un nuevo bloque. Por lo tanto, los usuarios con mayor capacidad de almacenamiento tendrán más posibilidades de generar nuevos bloques.
Prueba de tiempo transcurrido (Prueba de tiempo transcurrido)
El proceso de prueba de tiempo transcurrido determina de forma aleatoria y justa el productor del nuevo bloque en función del tiempo de espera. Para ello, el mecanismo proporciona un tiempo de espera aleatorio para cada usuario, y el usuario que tenga el tiempo de espera más temprano generará un nuevo bloque. Este mecanismo de consenso solo funcionará cuando el sistema pueda verificar que ningún usuario puede ejecutar múltiples nodos y el tiempo de espera es realmente aleatorio.
Prueba de identidad
La prueba de identidad compara la clave privada del usuario con la identidad autorizada. Básicamente, un certificado de identidad es una prueba cifrada de la clave privada de un usuario, que se adjunta a una transacción específica de forma cifrada. Cualquier usuario identificado en la red blockchain puede crear un bloque de datos, que se puede presentar a cualquier persona en la red. El certificado de identidad asegura la integridad y autenticidad de los datos creados. Además, las ciudades inteligentes pueden usar mecanismos de consenso de blockchain, como prueba de identidad, para verificar la identidad de sus ciudadanos.
Prueba de actividad
El mecanismo de prueba de actividad es una combinación de prueba de trabajo y prueba de derechos. En la prueba de actividad, los mineros intentan encontrar soluciones a los acertijos y obtener recompensas. Sin embargo, el bloque creado en el mecanismo de prueba de actividad es una plantilla simple, que extrae la dirección de la recompensa y la información del encabezado. Luego use la información del encabezado para seleccionar aleatoriamente un grupo de verificadores para firmar el bloque. Los verificadores con mayores participaciones tienen más probabilidades de ser seleccionados para firmar nuevos bloques. Una vez que el verificador seleccionado firma un nuevo bloque, pasa a formar parte de la red. Si algún verificador no firma el bloque, se descartará y se utilizará un nuevo bloque. Las tarifas de red generadas durante este proceso se distribuyen entre los mineros ganadores y los validadores.