Cargando...

Consenso: o los tipos de consenso que debe conocer

cadena de bloques

Contenido

Compartir enlace:

Cuando el término "cadena de bloques" se menciona en algún contexto, generalmente viene de la mano con el término complejo "algoritmo de consenso". La mayoría de los lectores ni siquiera piensan en molestarse en investigar qué es un algoritmo de consenso. De hecho, la mayoría ni siquiera sabe para qué se utiliza un algoritmo en el contexto de la cadena de bloques. Aún así, hay docenas de tipos de algoritmos y la mayoría de ellos se usan en el mundo de la cadena de bloques.

La idea de un consenso es llegar a una posición unificada sobre un problema. En informática, un consenso está relacionado con un problema de consenso. El problema fundamental en la computación distribuida y los sistemas multiagente es lograr la confiabilidad general del sistema en presencia de una serie de procesos defectuosos. Esto a menudo requiere que los procesos acuerden algunos datos que se necesitan durante el cálculo. La cadena de bloques se ve afectada por el mismo problema y los científicos y programadores han encontrado formas de resolverlo.

En esencia, un algoritmo es una serie de pasos analizados, programados y necesarios para lograr un determinado resultado. El algoritmo de consenso, ergo, significa tomar las acciones necesarias para lograr un acuerdo sobre un solo tema. En el mundo de la cadena de bloques, ese problema único significa llegar a un acuerdo sobre el cálculo de un bloque por parte de todos los participantes de la red para que pueda ser procesado.

En el mundo de bloques

Cuando se trata de blockchain, el algoritmo de consenso puede tener varios resultados como objetivo principal de todos los participantes de la red. Los propósitos más comunes del algoritmo son los siguientes:

  • Acuerdo: El mecanismo de consenso reúne todos los acuerdos del grupo de participantes de la red.
  • Colaboración: Cada miembro del grupo tiene como objetivo llegar a un mejor acuerdo que corresponda a los intereses del grupo en su conjunto.
  • Cooperación: cada individuo trabaja como parte de un equipo y deja de lado sus propios intereses por el bien común.
  • Igualdad de Derechos: Cada participante tiene el mismo valor en el proceso de votación. Bajo tal enfoque, cada voto cuenta, ya que sin un solo voto, el consenso no se aprobará.
  • Participación: todos los que están dentro de la red deben participar en el proceso de votación. Nadie quedará fuera ni podrá quedarse fuera de la votación, ya que eso detendría el funcionamiento del algoritmo.
  • Actividad: todos los miembros del grupo son igualmente activos. La responsabilidad en el grupo se comparte por igual entre todos los participantes.

Tipos

De hecho, actualmente hay más de 30 tipos de algoritmos de consenso disponibles. Los más comunes son los siguientes:

  • Prueba de trabajo
  • Prueba de participación
  • Prueba de participación delegada
  • Prueba de autoridad
  • Tolerancia a fallas bizantinas
  • Tolerancia a fallas bizantinas delegada (dBFT)

Y así sucesivamente y así sucesivamente. La lista puede continuar hasta el infinito, pero el hecho es que todos los algoritmos mencionados aquí y todos los demás que no caben en el material dado tienen propósitos igualmente importantes, que giran en torno a lograr un consenso. Lo único que cambia es el método que utilizan para lograrlo.

El salón de la Fama

Naturalmente, los tipos de algoritmos de consenso más populares son la Prueba de trabajo y la Prueba de participación, que surgieron junto con la cadena de bloques como los primogénitos.

La prueba de trabajo es el tipo de consenso más antiguo sobre blockchain y existe desde principios de 2003 con el nacimiento de Bitcoin y ha estado en fase de prueba desde 2009. Aunque no es nuevo, el algoritmo recibió nueva vida con Satoshi Nakamoto. Bajo su método propuesto, los participantes de la cadena de bloques (los mineros) tienen que resolver un problema computacional complejo y absolutamente inútil para poder agregar un bloque de transacciones a la cadena de bloques. Los problemas con este enfoque son numerosos. Es lento, consume mucha energía y no es respetuoso con el medio ambiente, y es susceptible de economías de escala.

El siguiente paso es el concepto de prueba de participación. Este enfoque surgió como una alternativa al último y proponía que en lugar de usar la minería para trac bloques, los participantes de la red necesitan tener algunas participaciones en forma de monedas en el sistema para poder participar en el proceso. Poseer una participación del 10 % otorga la probabilidad de extraer el siguiente bloque al 10 %. Cuantas más monedas tenga el propietario de la apuesta, mayor será la probabilidad de que trac el bloque. El enfoque también es defectuoso, ya que es propenso al problema de nada en juego. Sin embargo, consume menos energía, no es susceptible de economías de escala y está mejor protegido contra ataques.

Independientemente del enfoque utilizado para llegar a un consenso, los problemas siguen siendo en gran medida los mismos y se repiten de uno a otro. Los mayores problemas que enfrentan todos los modelos de consenso son los siguientes:

El consumo de energía es, con mucho, el mayor problema de la operación de blockchain. Por ejemplo, Bitcoin tiene 20 mil millones de hashes por segundo. Eso requiere inmensas cantidades de energía y no existen alternativas energéticas baratas en este momento para satisfacer la lujuria energética de las cadenas de bloques modernas.

La centralización de los mineros en las redes PoW es otro problema, ya que los grandes fabricantes pueden comenzar a requerir más energía para operar e intentarán torcer las reglas en el sistema minero o incluso emitir otras nuevas para satisfacer sus demandas. El resultado es la centralización dentro de una red descentralizada. Si la centralización se afianza, entonces el sistema ya no es una cadena de bloques y no tiene sentido el consenso.

Los ataques a la red siguen siendo populares y los piratas informáticos no van a ninguna parte. Un ataque del 51% es viable y no hay garantía de que no suceda. Si los atacantes se apoderan de las apuestas, es solo cuestión de tiempo y poder de cómputo hasta que controlen más de la mitad de todos los nodos y conviertan la red en una fuente de ingresos para ellos mismos.

Adentro con lo nuevo

Los problemas de los algoritmos de consenso anteriores se han examinado e investigado a fondo para permitir a los programadores llegar a nuevos modelos de consenso.

Uno de los modelos más nuevos y prometedores para blockchains es la Prueba de acuerdo, que es otro algoritmo de consenso que ha sido empleado por la plataforma Credits . Es un concepto bastante simple que parece complicado al principio pero es efectivo para llegar a un consenso. Todo el procedimiento para el consenso consiste en la formación de las transacciones y su distribución entre los nodos de la red y la ejecución de rondas cíclicas donde los Trusted Nodes (TN) tienen autoridad para realizar el consenso, lo que resulta en una resolución común que incluye las transacciones en un bloque y su generación. Los paquetes de transacciones incluyen un número ordenado de transacciones (hasta 500) y reciben un encabezado que contiene un hash calculado con el algoritmo Blake2s. Una vez que los nodos reciben la lista de paquetes de transacciones contenida en la mesa redonda, comienzan a verificar la disponibilidad de estos paquetes en el búfer local. Si faltan algunos paquetes, se inicia el proceso de sincronización. Un nodo solicita los paquetes que faltan a sus nodos vecinos y, si los paquetes también faltan en esos nodos, esos vecinos solicitan los paquetes a sus vecinos y el proceso se repite hasta que se encuentran los paquetes que faltan. La disponibilidad de todos los paquetes de transacciones contenidos en la mesa redonda en todos los nodos de confianza es la condición para que comience una ronda. Después de que todos los nodos de la red hayan liberado los paquetes de transacciones y los hayan intercambiado entre sí, se deben seleccionar los nodos responsables de la ejecución del consenso y esos nodos deberán validar las transacciones y generar un bloque. La formación de bloques simple y efectiva con la participación total de todos los nodos con la posibilidad de implementación en redes públicas es de lo que se trata este algoritmo de consenso.

El siguiente algoritmo prometedor es el LibraBFT . LibraBFT mejora HotStuff y lo adapta para un uso más amplio. Libra es un algoritmo de consenso de tipo tolerancia a fallas bizantinas, que se basa en HotStuff y es un sistema de replicación de máquinas de estado robusto y eficiente diseñado para Libra Blockchain. LibraBFT es una mejora de HotStuff con la implementación del mecanismo Pacemaker. Incluye análisis de vida que consiste en límites concretos al compromiso de transacción. En LibraBFT, los procesos se denominan Validadores. Cada uno de estos últimos trabaja en rondas, y cada uno tiene un validador designado llamado líder. Los líderes proponen nuevos bloques y reciben votos firmados de los validadores sobre las propuestas de generación de bloques. Una ronda es solo una fase de comunicación con un solo líder designado, y las propuestas de los líderes se organizan en una cadena utilizando hashes criptográficos. Cuando se lanza una ronda, el líder propone un bloque que extiende la cadena más larga que tiene a su disposición. Si la propuesta es válida y oportuna, cada nodo honesto la firmará y enviará un voto al líder. Una vez que hay suficientes votos para alcanzar el quórum, el líder agrega los votos en un Certificado de quórum (QC) que vuelve a extender la misma cadena y el QC se transmite a todos los nodos. Si el líder no logra armar un control de calidad, los participantes pasarán a la siguiente ronda.

Por ahora, Libra Blockchain se ha lanzado como una red autorizada. Los validadores fundadores incluyen firmas como Uber, Visa, MasterCard, PayPal, etc. Todos los fundadores se adhieren a pautas estrictas para ser los primeros validadores. Por ejemplo, se requería que los fondos de cobertura criptográficos tuvieran un AUM superior a $ 1 mil millones, mientras que los custodios centrados en activos digitales tenían que almacenar al menos $ 100 millones. Las empresas no criptográficas debían tener una capitalización de mercado de más de mil millones de dólares o saldos de clientes de más de 500 millones de dólares.

Otro algoritmo de consenso es la Prueba de tiempo transcurrido, que Intel inventó a principios de 2016 y Hyperledger Sawtooth 1.1 probó con éxito.

El principio de funcionamiento es bastante simple, ya que cada nodo de la red espera un período de tiempo elegido al azar. El primer nodo en transcurrir el tiempo de espera gana el derecho a emitir el siguiente bloque. Cada nodo de la red genera intervalos de tiempo de espera aleatorios y se desactiva de forma inactiva durante un tiempo determinado. El nodo que se despierta, y el que tiene el tiempo de espera más corto, agrega un nuevo bloque a la cadena de bloques y transmite los datos a toda la red. El proceso se repite hasta que se encuentra el siguiente bloque. Las ventajas de dicho algoritmo son los bajos costos de participación, la simple verificación de legitimidad y los bajos costos de control de verificación y elección. También hay contras, como la necesidad de hardware especializado y el hecho de que es inútil para redes públicas. Considerándolo todo

La variedad de algoritmos de consenso hace que las cadenas de bloques sean versátiles y adaptables a diversas aplicaciones y estructuras. Aunque son vulnerables a los ataques, a menudo engorrosas y altamente ineficientes desde el punto de vista energético, las cadenas de bloques todavía están aquí para quedarse y es solo cuestión de tiempo hasta que uno u otro algoritmo supere a los demás en la carrera por la eficiencia. Quizás, uno de los algoritmos en la larga lista de los oscuros y menos conocidos será el que elimine PoW y PoS en un futuro cercano.

Compartir enlace:

Cargando los artículos más leídos...

Manténgase al tanto de las noticias sobre criptomonedas y reciba actualizaciones diarias en su bandeja de entrada

Noticias relacionadas

criptopolitano
Suscríbete a CryptoPolitan