Uno de los conceptos claves para el desarrollo de redes descentralizadas seguras y confiables es el concepto de tolerancia a fallas bizantinas, conocido en inglés como Byzantine Fault Tolerance o BFT. Este concepto es usado para referirse a la capacidad de un sistema para operar de manera segura y confiable, incluso cuando algunos de sus componentes no funcionan correctamente o envían información incorrecta de forma maliciosa.
España prepara piloto para explorar valores tokenizados con blockchain
Es decir, sirve para conocer si una red tiene capacidad para tolerar fallos que atente contra su buen funcionamiento, seguridad y confiabilidad. Incluso, cuando elementos de esa misma red son maliciosos. Esto en el contexto de las redes descentralizadas, donde múltiples nodos deben cooperar para llegar a un consenso, resulta ser crucial para garantizar la integridad de la información compartida.
Tolerancia a fallas bizantinas
Recordemos que en las redes descentralizadas, como puede ser una red blockchain, los nodos interactúan entre sí para llegar a acuerdos y validar transacciones. Aquí es donde la tolerancia a fallas bizantinas (BFT) hace su trabajo, permitiendo y garantizando que la red funcione de manera segura incluso si algunos nodos no siguen las reglas o intentan engañar al sistema. Esto es especialmente importante en entornos donde la confianza entre los participantes es limitada o inexistente.
Por qué tokenizar activos del mundo real es la próxima gran industria
Esto se debe a que la tolerancia a fallas bizantinas permite mitigar al máximo los problemas de consenso, donde los nodos deben ponerse de acuerdo sobre el estado actual de la red o la validez de una transacción. Al permitir que la red se recupere de nodos defectuosos o maliciosos, la tolerancia a fallos bizantinos ayuda a mantener la integridad y la confiabilidad de la red en su conjunto.
Origen del concepto
El concepto de tolerancia a fallas bizantinas (BFT) tiene sus raíces en el Problema de los Generales Bizantinos, un escenario teórico que ilustra la necesidad de dicho concepto. En este problema, varios generales bizantinos deben acordar un plan de ataque o retirada, pero algunos de ellos pueden ser traidores que intentan sabotear la comunicación. Los generales deben llegar a un consenso incluso cuando algunos de ellos sean desleales o la comunicación sea poco confiable.
Así, la tolerancia a fallas bizantinas se refiere a la capacidad de un sistema informático distribuido para resistir y operar correctamente a pesar de la presencia de componentes con información incorrecta o maliciosa, como se describe en el problema de los generales bizantinos.
Banco HSBC lanza custodia de valores tokenizados en blockchain
El desarrollo de este concepto es algo que ha requerido de enormes esfuerzos e investigación. De hecho, el primer sistema capaz de utilizar tolerancia a fallos bizantinos (BFT) fue el algoritmo «Practical Byzantine Fault Tolerance» (pBFT), desarrollado a finales de la década de 1990 por Barbara Liskov y Miguel Castro. Este algoritmo abordó inicialmente el problema de los generales bizantinos y sentó las bases para la tolerancia a fallos bizantinos en sistemas distribuidos. Aunque eso sí, con limitaciones bien conocidas sobre su capacidad de mantener una red segura.
Un ejemplo sencillo de Tolerancia a Fallos Bizantinos
Para ver la utilidad de BFT, imaginemos un sistema distribuido que consta de tres nodos que llamaremos, A, B y C. Estos nodos deben cooperar para completar una tarea, como realizar una transacción bancaria o actualizar un registro.
Ahora, imaginemos que el nodo B está comprometido por un atacante. El atacante puede hacer que el nodo B envíe mensajes falsos a los otros nodos, tratando de manipularlos. Si la red formada por estos tres nodos no tuviera capacidad BFT, lo más probable es que el nodo B logre su objetivo de manipular la red y hacerla caer.
El Futuro de la Banca, Depósitos Tokenizados
Sin embargo, si la red cuenta con soporte BFT, lo que pasará es que los nodos A y C no confiarán en la información dada por B. En su lugar, A y C enviarán sus propios mensajes y al final comenzarán a preguntarse ¿Estamos todos de acuerdo? Dado que A y C son nodos que están siguiendo las reglas de la red, estos verán que sus datos concuerdan unos con los otros, muy a diferencia del nodo B, cuyo datos difieren del consenso logrado entre los nodos A y C.
Así, la decisión de los nodos A y C es simplemente rechazar esa información y marcar la información del nodo B como falsa, y con ello protegen la red y su buen funcionamiento.
Llegada al mundo blockchain
Visto todo esto, es fácil entender el papel que tiene la tolerancia a fallas bizantinas (BFT) dentro de la tecnología blockchain. En una red blockchain, la BFT mitiga problemas de consenso al garantizar que la mayoría de los nodos estén de acuerdo con el estado de la cadena de bloques, lo que contribuye a la integridad de la información compartida. Esto es fundamental para mantener la confianza en la red y prevenir ataques maliciosos que podrían comprometer la seguridad de las transacciones.
La implementación de la tolerancia a fallas bizantinas en la red de Bitcoin se logra a través del algoritmo de consenso de Prueba de Trabajo (Proof of Work – PoW). Aunque el algoritmo PoW no es estrictamente un algoritmo BFT, se basa en la idea de que la mayoría de los nodos en la red están actuando de manera honesta y consensuada.
Recordemos que en Bitcoin, los mineros compiten para resolver complejos problemas matemáticos con el fin de añadir nuevos bloques a la cadena de bloques. Este proceso de «Prueba de trabajo» asegura que la mayoría de los nodos estén de acuerdo con la versión válida de la cadena de bloques, lo que proporciona un mecanismo de consenso que mitiga los efectos de los nodos maliciosos o defectuosos.
Metrovacesa lanza aplicación para pagar inmuebles con criptomonedas
Gracias a todo este desarrollo, la solución BFT de Bitcoin es reconocida como la primera implementación BFT completa del mundo. Es decir, Bitcoin fue el primer sistema distribuido capaz de crear una aplicación de tolerancia a fallas bizantinas de tal forma que puede existir hasta el 50% de sus nodos siendo maliciosos y la red seguirá funcionando tal y como las reglas de la red lo indican.
Tolerancia a fallos bizantinos y su papel en la seguridad blockchain
De esta forma, la tolerancia a fallas bizantinas (BFT) desempeña un papel crucial en la seguridad y fiabilidad de las transacciones en criptomonedas, bien sea en redes públicas como Bitcoin o Ethereum. Al garantizar que la red pueda operar de manera confiable incluso en presencia de nodos maliciosos, la BFT contribuye a la integridad de las transacciones y la inmutabilidad de la cadena de bloques. Esto es fundamental para mantener la confianza de los usuarios en la red y prevenir ataques que podrían comprometer la seguridad de las transacciones.
En las redes privadas pasa lo mismo. Por ejemplo, en Hyperledger, esta red cuenta con una serie de desarrollo pBFT que permiten cierto grado de protección a fallas bizantinas. Sin embargo, no será hasta la llegada de Hyperledger v3, actualmente en desarrollo, cuando esta red cuente con un sistema BFT completo de forma totalmente integrada (al menos en Fabric, su principal desarrollo). De esta forma, cualquier empresa que use Hyperlegder y su solución BFT sabrá que contará con una protección de alto nivel para sus operaciones sobre blockchain.
En resumen, la tolerancia a fallas bizantinas es un componente esencial en el diseño y funcionamiento de las blockchains. Su implementación en la red de Bitcoin a través del algoritmo de consenso de Prueba de Trabajo ha demostrado ser eficaz para garantizar la seguridad y la confiabilidad de las transacciones en criptomonedas.
- Tendencias del trading algorítmico - 4 diciembre, 2023
- Hackers norcoreanos roban $3.000 millones en criptomonedas - 2 diciembre, 2023
- Las criptomonedas que se han sumado al estándar ISO 20022 - 1 diciembre, 2023