Bitcoins y el Problema de los Generales Bizantinos – Freddy L. Abad L.

Bitcoins y el Problema de los Generales Bizantinos – Freddy L. Abad L.

es la orden mandada desde los distintos generales al general al que estamos evaluando su decisión.

El enfoque que permitió las aplicaciones bizantinas tolerantes a fallas con poca sobrecarga fue Practical Byzantine Fault Tolerance ( PBFT ) . PBFT fue propuesto por primera vez por Miguel Castro y Barbara Liskov en 1999. PBFT puede procesar una enorme cantidad de mensajes P2P directos con latencia mínima. Para poder tolerar f fallas en el sistema, PBFT necesita 3f + 1 réplicas Entonces, PBFT utiliza el concepto de réplicas primarias y secundarias, donde las réplicas secundarias comprueban automáticamente la cordura y la vida de las decisiones tomadas por la primaria, y pueden cambiar colectivamente a una nueva primaria si se descubre que la primaria está comprometida. Cada nodo mantiene un estado interno. Al recibir un mensaje, el nodo respectivo usa el mensaje, junto con el estado interno, para ejecutar un cálculo u operación. Esto dirige al nodo sobre qué hacer o pensar sobre el mensaje que recibió. Una vez que el nodo llega a una decisión individual sobre el mensaje respectivo, propaga esta decisión con todos los demás nodos que participan en el sistema. Se llega a una decisión consensuada, basada en decisiones propagadas por todos los nodos participantes.

Tipos de algoritmos de consenso.

Los siguientes tres algoritmos o protocolos de consenso se utilizan en la mayoría de las plataformas blockchain:

También haremos una comparación rápida de estos tres, en las secciones posteriores. Antes de analizar estos diferentes algoritmos de consenso, echemos un vistazo a las razones detrás de la variedad de algoritmos. Las siguientes son algunas de las razones de esa variedad:

  • Necesidad empresarial : las demandas empresariales determinan qué algoritmo utilizar.
  • Caso de uso : el caso de uso para usar una cadena de bloques pública o privada influye en el algoritmo que se utilizará.
  • Necesidad de emergencia : No todos los casos de negocio necesita utilizar fichas o cryptocurrencies, y puede que sólo quieren utilizar el blockchain subyacente con un consenso.
  • Seguridad y privacidad : los requisitos de seguridad pueden variar, y lo mismo ocurre con la privacidad. Algunos pueden querer una blockchain pública, mientras que otros prefieren los privados.
  • Rendimiento : las cadenas de bloques públicas pueden necesitar más tiempo para llegar a un consenso, mientras que las privadas pueden hacerlo más rápido.
  • Robustez : los casos de uso bancario pueden requerir criptografía extremadamente alta y algoritmos de consenso, en comparación con otros.

Proof of Work (POW)

El algoritmo PoW, también utilizado por Bitcoin, es el método más conocido para lograr un consenso en una cadena de bloques. Para lograr un consenso en PoW, a diferencia de PBFT, no se requiere la presentación de conclusiones individuales de todos los nodos de la red. En cambio, PoW utiliza una función hash para crear condiciones que permiten a un participante individual / individual anunciar sus conclusiones sobre la información presentada, que luego son verificadas por todos los demás participantes del sistema. La función hash tiene un parámetro que garantiza que la información falsa no se pueda calcular de una manera aceptable para evitar conclusiones falsas.

Los participantes en el sistema Bitcoin, que verifican públicamente la información en nombre de la red, son recompensados ​​con un Bitcoin recién creado. Este proceso de búsqueda de hashes válidos para la verificación de información se llama minería . Este sistema de participación gratificante en la red permite una amplia participación, lo que resulta en la construcción de una red más sólida y una cadena de bloques más segura. Esta amplia participación garantiza una mayor estabilidad de la red con requisitos mínimos para cada participante y permite a los participantes permanecer en el anonimato.

Desafíos con PoW

Aunque PoW tiene sus beneficios, además de ser el método más conocido, también tiene sus propios desafíos inherentes. Los nodos necesitan usar recursos del mundo real, como computadoras y electricidad. Se necesita mucha potencia para ejecutar las computadoras, o grupos de computadoras, que calculan diferentes soluciones potenciales, lo que desde un punto de vista ecológico no es ideal y también es malo para el medio ambiente.

Los nodos necesitan mucho hardware informático para llegar a un consenso y dicho hardware es realmente costoso. Existe la posibilidad de que los mineros muevan su hardware para extraer una moneda diferente o una moneda vieja si la recompensa es mejor allí. En este caso, los mineros y los nodos son menos leales. PoW incentiva el proceso de consenso, que es una motivación para que los mineros extraen bloques y gane recompensas. Sin embargo, con la capacidad máxima de 21 millones de Bitcoins, con más y más puntos lanzados durante un período de tiempo, las recompensas de los mineros disminuirán a medida que las monedas se vuelvan más difíciles de extraer. Esto puede conducir a la desmotivación de los mineros para continuar la minería, lo que podría desafiar el consenso general.

El hecho de que necesite una gran cantidad de poder de cómputo, más de lo que la persona promedio podría pagar o incluso podría trabajar, significa que la comunidad minera se está volviendo más pequeña y más exclusiva. Esto va en contra de la idea de descentralización y podría conducir a un ataque del 51%.

Proof of Stake / Prueba de estaca

PoS es la alternativa más común a PoW para verificar y validar las transacciones en el bloque. En este tipo de algoritmo de consenso, en lugar de invertir en costosos equipos informáticos en una carrera para extraer bloques, un validador invierte en las monedas del sistema.

Tenga en cuenta el término validador, ya que no se realiza la creación o extracción de monedas en PoS. En cambio, todas las monedas existen desde el primer día y los validadores, también llamados partes interesadas, se combinan estrictamente en las tarifas de transacción solamente.

En PoS, la selección de individuos para la aprobación de nuevos mensajes para confirmar la validez de la nueva información enviada a la base de datos se realiza de una manera más determinista. Esta selección la realiza la red en función de la participación proporcional de cada individuo en la red. En PoS, su probabilidad de ser elegido para crear el próximo bloque nuevo depende de la fracción de monedas en el sistema que posee o tiene que reservar como una apuesta. Por ejemplo, un validador con 500 monedas tendrá cinco veces más probabilidades de ser elegido que alguien con 100 monedas.

Cambiar a PoS podría ayudar a fomentar una mayor participación de la comunidad, así como ayudar a la descentralización. Quitar la minería de las manos de los pocos grupos de granjas de GPU que realizan la mayor parte de la minería, que en cierto modo se asemeja a un oligopolio, y luego distribuirlo de manera uniforme a través de la red, debería conducir a un sistema descentralizado más real. Los algoritmos ingenuos de PoS sufren el problema de no mantener nada en juego. No castiga a los actores por validar más de una historia, lo que significa que la red podría estar en desacuerdo fácilmente sobre la historia real. Un participante que no tiene nada que perder o que no tiene participación en juego no tiene motivos para no comportarse mal. Estas implementaciones no proporcionan incentivos para que los nodos voten sobre el bloque correcto. Por lo tanto, los nodos pueden votar en múltiples bloques, admitiendo múltiples tenedores, para maximizar sus posibilidades de ganar una recompensa, ya que no gastan nada en hacerlo. Este problema de nada en juego debe abordarse para la implementación correcta y eficiente de PoS.

Proof of Elapsed Time / Prueba de tiempo transcurrido

PoET es un algoritmo de consenso similar a PoW que consume mucha menos electricidad, que Intel ha desarrollado para su propio uso. El algoritmo utiliza un t entorno de ejecución oxidado ( TEE ) , tales como software Guardia Extensiones ( SGX ), para asegurarse de obtener bloques producidos de una manera lotería al azar sin ningún tipo de trabajo realizado, en lugar de tener los participantes resuelven un rompecabezas criptográfica. Este enfoque se basa en una tasa de tiempo garantizada proporcionada por el TEE. Según Intel, el algoritmo PoET escala a miles de nodos y se ejecutará de manera eficiente en cualquier procesador Intel que admita SGX. Un inconveniente importante para PoET es el requisito de confiar siempre en Intel, cuándo alejarse de confiar en terceros es la razón fundamental de la cadena de bloques pública. Este algoritmo puede considerarse como otro enfoque alternativo.

Ahora compararemos los tres algoritmos de consenso que hemos visto para una mejor comprensión y los compararemos con ciertos parámetros. La siguiente tabla muestra el estado de los algoritmos de consenso respectivos para cada parámetro:

Tabla 1: Comparativa PoW, PoET, PoS. Fuente: [2]

Analizando la Tabla 1.

  • Tipo Blockchain : Indica el tipo de plataforma blockchain, permiso, en el que el modelo de consenso se puede utilizar. Esto se rige principalmente por el tipo de membresía permitida por el modelo de consenso. Si bien los modelos de PoW se crean exclusivamente para la plataforma sin permisos con participación abierta, técnicamente se pueden usar con plataformas de permisos, pero no serán ideales en ese entorno. PoS y PoET, por diseño, pueden funcionar en ambos tipos de funciones.
  • Finalidad de la transacción : Esto indica si la transacción, una vez agregada a un bloque en la cadena de bloques, se considera final. Los modelos de consenso basados ​​en PoW y PoET conllevan el riesgo de que se extraigan múltiples bloques al mismo tiempo debido a su modelo de relación con el líder en combinación con la latencia de la red.
  • Tasa de transacción : las plataformas que pueden confirmar las transacciones de inmediato y alcanzar un consenso rápidamente tienen una tasa de transacción más alta. Los enfoques de PoW son probabilísticos y tienen que pasar una cantidad significativa de tiempo resolviendo un rompecabezas criptográfico. Por lo tanto, estos modelos tienen altas latencias transaccionales, por lo tanto, una tasa de transacción baja.
  • Token necesario : como los diseños se basan en la existencia de un token, se requiere un token criptográfico para los modelos PoW y PoS, mientras que los modelos PoET no requieren un token para lograr un consenso.
  • Costo de participación: Hay costos inherentes asociados para que PoW y PoS participen en un consenso. Para desarrollar el depósito de seguridad para declarar intereses y bonos con la plataforma, PoW requiere gastar energía, que es un recurso externo al protocolo de consenso, mientras que PoS requiere que los nodos compren alguna criptomoneda inicial.
  • Escalabilidad de la red de pares : la escalabilidad del modelo de consenso es su capacidad para alcanzar el consenso cuando el número de nodos de pares aumenta constantemente. Todos los modelos resumidos anteriormente tienen una alta escalabilidad.
  • Modelo de confianza : determina si los nodos que participan en el consenso deben ser conocidos o confiables. En PoW, PoS y PoET, los nodos pueden desconfiar ya que el mecanismo para alcanzar el consenso se basa en otros medios, como el trabajo computacional o los depósitos de seguridad. Mientras más del 25 al 50% de la red no sea contenciosa, las decisiones de consenso no serán efectivas.

Hay un parámetro más que no se enumera aquí, que es la tolerancia al adversario : esa es la fracción de la red que puede verse comprometida sin que se vea afectado el consenso. Cada modelo de consenso tiene un cierto umbral o verdadera tolerancia al adversario.

Este curso explora el mundo de la analítica de datos complejos: sistemas de información que pueden analizar grandes datos y transformar estos flujos inquietos de datos en conocimiento, decisiones y acción. La analítica compleja se centra en cómo se extrae los datos de un sistema complejo, como un mercado financiero, una red de transporte o una red social, y cómo los procesamos en patrones significativos y conocimientos procesables.

Después de comenzar el curso con una descripción general del tema, se ve la aparición de grandes datos y el universo en expansión de datos oscuros; se trata sobre el proceso continuo de datafication, la cuantificación de más y más aspectos de nuestras vidas y los muchos problemas que trae con respecto a la privacidad. En la segunda sección, se trata sobre el surgimiento de algoritmos a medida que están llegando a afectar cada vez más esferas de nuestro mundo. Presenta el funcionamiento de los sistemas de aprendizaje automático y los diferentes enfoques utilizados, profundizando en las redes neuronales y el aprendizaje profundo antes de evaluar las limitaciones de los algoritmos.

1. Cristina Pérez-Solá,Jordi Herrera-Joancomartí, “Bitcoins y el problema de los generales bizantinos” RECSI 2014. Fuente: https://web.ua.es/en/recsi2014/documentos/papers/bitcoins-y-el-problema-de-los-generales-bizantinos.pdf [Accedido: 06-nov-2019].

2. Editores Wikipedia, “Problema de los generales bizantinos”. Fuente: https://es.wikipedia.org/wiki/Problema_de_los_generales_bizantinos [Accedido: 06-nov-2019].

3. Marvin G. Soto, “El Problema de los Generales Bizantinos (PGB).” RECSI 2014. Fuente: https://medium.com/@marvin.soto/el-problema-de-los-generales-bizantinos-pgb-e0cb8c4279c2 [Accedido: 06-nov-2019].

4. Kirankalyan Kulkarni, The Byzantine Generals’ Problem & Learn Bitcoin and Blockchain” O’REILLY. Fuente: https://learning.oreilly.com/library/view/learn-bitcoin-and/9781789536133/fed6b85d-ed0a-4c0e-a5f4-e6c0e2fc37fb.xhtml [Accedido: 06-nov-2019].

Published at Sat, 09 Nov 2019 20:40:05 +0000

{flickr|100|campaign}

Spread the word. Share this post!

Leave a comment