Qué son las Fallas Bizantinas en criptomonedas

0 3

Las fallas bizantinas son una condición que ocurre dentro de los sistemas informáticos (especialmente dentro de los sistemas informáticos distribuidos). Sucede cuando uno o más componentes fallan y no se puede afirmar con seguridad si se trata del fallo de un componente o de información errónea.

Cuando sucede una falla bizantina, los componentes que forman parte del sistema computacional pueden fallar de manera inconsistente y dar la impresión para el sistema de detección de fallos de que lo hacen correctamente. Esto es debido a que el sistema presenta diferentes síntomas para los diferentes observadores. Debido a esto, es difícil para los demás componentes de la red tomar la decisión de declararlo como un error y excluirlo de la red. Para poder solucionarlo, es necesario llegar primero a un consenso sobre qué componente ha fallado.

¿En que consiste el problema de las Fallas Bizantinas?

El término tiene su origen en el problema de los generales bizantinos. En él, los distintos oficiales deben acordar conjuntamente una estrategia coordinada para evitar fallas catastróficas en el sistema, el problema se da cuando algunos de los participantes no son confiables.

Los expertos Leslie Lamport, Robert Shostak y Marshall Pease describieron el «Problema de los generales bizantinos» en un artículo en el año 1982. Para su descripción, explicaban un ejemplo que involucraba a un grupo de generales al mando de una fracción del ejército bizantino que rodeaba la ciudad. El objetivo de los oficiales es hacer un plan para atacar. El planteamiento más sencillo consiste en que estos generales solo necesitan decidir si atacar o si es mejor la retirada. El problema es que algunos soldados prefieren una alternativa mientras que otros prefieres lógicamente la otra. Por esta razón, es muy importante que se acuerde una solución común, es decir que se produzca un consenso. Esto es así porque en caso de separarse, el fracaso está prácticamente asegurado. Por tanto esta opción siempre será peor que realizar un ataque coordinado o una retirada del conjunto de todos los soldados.

fallas bizantinas

¿Cómo afectan las Fallas Bizantinas a un sistema informático?

Las fallas bizantinas se consideran el tipo más común y complejo de falla dentro de los sistemas informáticos. Esto se debe a que el nodo defectuoso dentro de la red puede estar generando datos de forma arbitraria pero afirmando que la información es correcta. Por esta razón, Las fallas bizantinas pueden confundir a su vez los propios sistemas de detección de fallas. No obstante, una falla bizantina no tiene porque ser necesariamente un problema de seguridad que tenga que involucrar a personas que tengan una intención negativa y que quieran perjudicar la red, puede darse de forma casual debido a fallas eléctricas o a otro tipo de errores no intencionados.

Las Fallas Bizantinas y la Blockchain

Dentro del funcionamiento de la tecnología blockchain, la participación de nodos no confiables o con intenciones maliciosas podrían provocar una falla bizantina. Si algunos de los nodos que conforman la red envían información errónea sobre las transacciones a los demás se destruiría la confianza en la tecnología de la cadena de bloques. Sin embargo, las criptomonedas cuentan con protocolos que evitan que se produzca este problema.

En el caso de Bitcoin, cuando Satoshi Nakamoto lo creó, el programador consideró que Bitcoin como sistema de contabilidad público y distribuido debería tener esta función para ser fiable y poder ser realmente útil. Si esto no fuera así, el propio sistema sería propenso a tener este tipo de fallas y no sería seguro. La forma de permitir que Bitcoin sea tolerante a este tipo error común de los sistemas informáticos fue la implementación del protocolo de consenso de ‘prueba de trabajo‘.

Otro problema que surge en la tecnología de la cadena de bloques y que está relacionado con el problemas de las fallas bizantinas es la situación que se conoce como doble gasto. Este doble gasto es una forma fraudulenta de usar la red por la que los participantes usan una misma criptomoneda para dos transacciones diferentes. Para evitar esto, la red blockchain debe poder comprobar el hecho de que una misma cantidad de criptomoneda no se usa de esta manera fraudulenta. Antes esta situación, el reto consistía en crear un protocolo que evitara este tipo de problemas de forma fiable y automática.

fallas bizantinas

¿Cómo funciona la tolerancia a este tipo de fallas?

Para que la blockchain cumpla con la tolerancia a fallas bizantinas, el protocolo que hace posible la red necesita definir un conjunto de reglas que actúen de forma general y que sean de obligatorio cumplimiento. Estas normas son las que permitirán que el problema de los generales bizantinos se resuelva puesto que se forzará el consenso. Esto puede lograrse gracias a una serie de pasos de aplicación común:

  • Cada proceso debe comenzar en un estado indeterminado.
  • Se garantiza un método de comunicación que muestre los mensajes de forma segura.
  • Se comienza el proceso de toma de decisiones. Para poder llegar a esto dentro de un sistema informático se tiene que llevar a cabo un proceso determinista. Gracias a esto, se intenta evitar que exista algún tipo de manipulación externa.
  • Una vez identificados los participantes, se envía la comunicación y se van agregando las decisiones. La que haya obtenido un mayor número de apoyos es la ganadora.

Aplicación práctica

Pongamos un ejemplo del funcionamiento de este proceso. Cuando hacemos una transacción dentro de una cadena de bloques, la transacción comienza en un estado a priori no definido. La confirmación de esta transacción se produce cuando cada nodo de la red inicia el proceso de confirmación de su validez y la incluye dentro de un bloque. El proceso de confirmación se realiza gracias a la minería, que es un proceso que si que tiene un carácter puramente determinista. Gracias a que el conjunto de transacciones dependen de operaciones matemáticas, las cuáles son prácticamente imposibles de manipular, comienza a producirse un consenso sobre la transacción que garantiza que la información es correcta.

Por tanto cuantos más nodos participen en la red de una blockchain mayor tolerancia habrá para este tipo de error. Es por esto que el hecho de que la red de computo de Bitcoin sea actualmente la más grande del mundo lo convierte en un activo muy seguro.

¿Te ha gustado?
También podría gustarte

Deja un comentario

Tu dirección de email no será publicada.