Problema de los generales bizantinos en Crypto

Problema de los generales bizantinos en Crypto

Desde la creación de Bitcoin (BTC) en 2008 como un sistema de dinero electrónico de igual a igual, se han creado varias otras criptomonedas, cada una con un mecanismo particular. Pero algo que casi todos tienen en común es una red Blockchain como elemento central de su arquitectura.

Con algunas excepciones, el Blockchains están diseñados intencionalmente para ser descentralizados, funcionando como un libro digital mantenido por una red distribuida de nodos (nodos) representados por computadoras. Por esta razón, la tecnología Blockchain permitió la creación de un sistema económico donde las transacciones financieras son transparentes y confiables, sin necesidad de intermediarios.

Las criptomonedas están ganando cada vez más terreno al presentarse como una alternativa al sistema bancario tradicional, que depende en gran medida de la confianza depositada en terceros.

En la mayoría de los sistemas informáticos distribuidos, los participantes en una red de criptomonedas deben acordar periódicamente el estado actual de su cadenas de bloques (Blockchain), y esto es lo que llamamos llegar a un consenso. Sin embargo, llegar a un consenso sobre redes distribuidas, de forma segura y confiable, está lejos de ser una tarea fácil.

Entonces, ¿cómo puede una red informática distribuida tomar una decisión si algunos nodos (nodos) se ven obligados a actuar de manera deficiente o deshonesta? Ésta es una cuestión fundamental del conocido problema de los generales bizantinos, que dio lugar al concepto de tolerancia a fallas bizantinas (BFT).

¿Cuál es el problema de los generales bizantinos?

En resumen, fue concebido en 1982 como un dilema lógico que ilustra cómo un grupo de generales bizantinos podría tener dificultades de comunicación tratando de llegar a un acuerdo sobre el próximo movimiento de guerra.

El dilema asume que cada general tiene su propio ejército y que cada grupo está situado en diferentes lugares de la ciudad que desean atacar. Los generales deben ponerse de acuerdo sobre cuándo atacar o retirarse. No importa si están atacando o retrocediendo, todos deben ponerse de acuerdo, por ejemplo, para llegar a un consenso sobre la ejecución de tácticas juntos.

Por tanto, debemos considerar los siguientes objetivos:

  • Cada general debe decidir: atacar o retirarse (sí o no);
  • Una vez que se ha tomado la decisión, no se puede cambiar;
  • Todos los generales deben ponerse de acuerdo sobre la misma táctica y ejecutarla sincrónicamente.

Los problemas de comunicación ya mencionados están relacionados con el hecho de que un general solo puede comunicarse con otro a través de mensajes, que se entregan por correo. En consecuencia, el desafío central del problema del general bizantino es que los mensajes de alguna manera pueden retrasarse, destruirse o perderse.

Además, incluso si un mensaje se entrega con éxito, uno o más generales pueden elegir (por cualquier motivo) actuar maliciosamente o enviar un mensaje fraudulento para confundir a otros generales, lo que lleva al desastre total.

Si aplicamos este dilema al contexto de las redes Blockchain, cada general representa un nodo en la red y los nodos necesitan llegar a un consenso cuando se trata del estado actual del sistema. En otras palabras, la mayoría de los participantes dentro de una red distribuida deben aceptar el mismo proceso para evitar fallas generalizadas.

Sin embargo, la única forma de llegar a un consenso en este tipo de sistemas distribuidos es tener al menos ⅔ o más nodos en la red que sean confiables y honestos. Esto significa que si la mayoría de la red decide actuar de manera maliciosa, el sistema será susceptible a fallas y ataques (como el 51 ataque%).

Tolerancia a fallas bizantinas

En resumen, la BFT (Tolerancia a fallas bizantinas) es la propiedad que tiene un sistema para resistir varios tipos de fallas que pueden ser causadas por el dilema de los generales bizantinos. Esto significa que un sistema BFT puede seguir funcionando incluso si algunos nodos de la red se comportan de forma defectuosa o maliciosa.

Hay varias formas de resolver el problema de los generales bizantinos, por lo tanto, varios métodos para construir un sistema BFT. Del mismo modo, se pueden explorar muchos enfoques para que un sistema Blockchain haga que BFT funcione correctamente, lo que lleva al algoritmo de consenso tan deseado.

Algoritmo de consenso de blockchain

Podemos definir el algoritmo de consenso como un mecanismo mediante el cual cada red Blockchain llega a un acuerdo sobre su estado. Las implementaciones más conocidas son la Prueba de trabajo (Prueba de trabajo PoW) y Prueba de participación (PoS). Pero usemos el caso de la criptomoneda Bitcoin como ejemplo.

Entonces, ¿cómo puede una red informática distribuida tomar una decisión si algunos nodos (nodos) se ven obligados a actuar de manera deficiente o deshonesta? Ésta es una cuestión fundamental del conocido problema de los generales bizantinos, que dio lugar al concepto de tolerancia a fallas bizantinas (BFT).

Si bien el protocolo Bitcoin prescribe las reglas del sistema principal, el algoritmo de consenso de PoW es lo que define cómo se seguirán estas reglas en un intento de llegar a un consenso (por ejemplo, durante la verificación y validación de transacciones).

Aunque el concepto de PoW es muy antiguo en monedas criptográficas, Satoshi Nakamoto desarrolló una versión modificada que hizo posible crear Bitcoin como un sistema BFT.

Tenga en cuenta que el algoritmo PoW no es 100% tolerante con las fallas bizantinas, pero dado el costoso proceso de minería y las técnicas criptográficas subyacentes, PoW ya ha demostrado ser una de las implementaciones más seguras y confiables para las redes Blockchain.

En este sentido, muchos consideran que el algoritmo de consenso PoW, desarrollado por Satoshi Nakamoto, es una solución ingeniosa para resolver el problema bizantino.

Conclusión

El problema bizantino es un dilema intrigante que dio lugar a los sistemas BFT, que se aplican en varios escenarios. Además del mundo Blockchain, el sistema BFT se utiliza en las industrias aeronáutica, espacial y de plantas de energía nuclear.

En el contexto de las criptomonedas, tener una red de comunicación eficiente junto con un buen mecanismo de consenso es vital para cualquier ecosistema Blockchain. Hacer que estos sistemas sean seguros es un esfuerzo continuo, y muchos algoritmos de consenso existentes aún tienen que trascender algunas limitaciones (como la escalabilidad).

Sin embargo, los algoritmos PoW y PoS son enfoques interesantes cuando funcionan como sistemas BFT, y las posibles aplicaciones ciertamente inspiran una innovación generalizada.

5/5 - (5 notas)

Puestos Relacionados

error: