Byzantine Fault Tolerance Explained


La mayoría de blockchains funcionan como un libro contable digital descentralizado, que es mantenido por una red distribuida de ordenadores. Dicha tecnología ha permitido la creación de sistemas económicos en que no interviene la confianza en terceros (“trustless”), y en los que las transacciones financieras transnacionales pueden ser ejecutadas sin necesidad de intermediarios. Dado que la banca y los sistemas de pagos tradicionales dependen en gran medida de la “confianza”. las criptomonedas están siendo adoptadas como una alternativa viable, porque se apoyan en la tecnología blockchain y se usan dentro de sistemas en que no interviene la confianza. Los participantes de la red de una criptomoneda han de ponerse regularmente de acuerdo respecto al estado actual de la blockchain -fenómeno que denominamos “Consecución del Consenso”. Sin embargo, alcanzar consenso en sistemas distribuidos de una forma segura y eficiente no es para nada una tarea sencilla. ¿Cómo puede una red distribuida de nodos informáticos ponerse de acuerdo respecto a una decisión, si algunos nodos pueden errar o actuar de forma deshonesta? Esta es la pregunta fundamental del Problema de los Generales Bizantinos, que dio a luz al concepto de la Tolerancia a Faltas Bizantinas, a menudo denominado BFT. El Problema de los Generales Bizantinos fue concebido en 1982 como dilema lógico, que ilustra cómo un grupo de generales bizantinos podría tener problemas de comunicación al tratar de ponerse de acuerdo respecto a su siguiente movimiento. Imaginemos que cada general dispone de su propio ejército, y cada grupo se encuentra desplegado en diferentes localizaciones en torno a la ciudad-objetivo. Los generales deben ponerse de acuerdo respecto a la posibilidad de atacar o retirarse. No importa si hacen una cosa o la otra, siempre y cuando todos alcancen una decisión compartida. Así que deberíamos tener en cuenta los siguientes requerimientos: 1) Cada general debe decidir y votar respecto a atacar o retirarse. 2) Después de emitir el voto, no pueden cambiarlo. 3)Todos los generales deben acordar la misma decisión y ejecutarla de forma coordinada. Sin embargo, solo pueden comunicarse a través de mensajes, y el desafío principal del Problema de los Generales Bizantinos es que los mensajes pueden acabar, de algún modo, borrados, destruidos o perdidos. Incluso en el caso de lograr una entrega exitosa, un general o varios pueden escoger, por la razón que sea, enviar un mensaje fraudulento para confundir al resto (lo que conduce a un fallo total del sistema). Si aplicamos el dilema a las blockchains, cada general representa un nodo de la red, los cuales, necesitan alcanzar consenso sobre el estado actual del sistema. Esto significa que la mayoría de participantes en una red distribuida deben acordar y ejecutar la misma acción para así evitar fallos. ¿Qué es la Tolerancia a Faltas Bizantinas (BFT)? La Tolerancia a Faltas Bizantinas es una propiedad de los sistemas que son capaces de resistir los tipos de fallos derivados del Problema de los Generales Bizantinos. En otras palabras, un sistema tolerante a faltas bizantinas es capaz de continuar operando incluso cuando algunos nodos no logran comunicarse o cuando actúan de forma maliciosa. Existen múltiples maneras de construir una blockchain tolerante a faltas bizantinas, relacionadas con los distintos tipos de algoritmos de consenso. Podemos definir un algoritmo de consenso como el mecanismo a través del cual una red blockchain alcanza consenso. El algoritmo empleado por Bitcoin se denomina Proof of Work y es una de las implementaciones más comunes. Mientras el protocolo Bitcoin define las reglas, el algoritmo de consenso determina cómo se seguirán dichas reglas, por ejemplo, durante la validación de las transacciones. El concepto de Proof of Work es más antiguo que las criptomonedas, pero Satoshi Nakamoto desarrolló una versión modificada que permitió crear Bitcoin como un sistema tolerante a faltas bizantinas. A pesar de que Proof of Work no es 100% tolerante a las faltas, ha demostrado ser una de las implementaciones más seguras para las redes blockchain; y es considerado por muchos como una de las soluciones más geniales a las faltas bizantinas. Asegurar estos sistemas requiere un esfuerzo continuado, y los algoritmos de consenso existentes han de superar aún algunas limitaciones. Sin embargo, las aplicaciones potenciales están inspirando, sin ninguna duda, amplias innovaciones. Más allá de la industria del blockchain, algunos casos de uso de los sistemas tolerantes a faltas bizantinas incluyen la aviación, la industria aeroespacial y el sector de la energía nuclear. Para aprender más sobre criptomonedas y la tecnología tras ellas, no olvidéis mirar el resto de nuestros vídeos en Binance Academy.

4 thoughts on “Byzantine Fault Tolerance Explained”

  1. Hi Binance, hope that u read this.I think that btc will die soon due to the quantum computer's evolution. So I hope that there's a POS coin that going to replace the btc or recreating the core of btc. Hope this safe the global economy.

  2. The logics behind distributed consensus was published in 1979 as a solution for aircraft control circuits that required multiple processors because of solar radiation was constantly messing with the transistors.
    https://www.sciencedirect.com/science/article/pii/0026271479902117?via%3Dihub

    In 1982 they just published a more abstract take on this problem as a consensus algorithm for any distributed system and used Byzantine Generals analogy for the first time.

Leave a Reply

Your email address will not be published. Required fields are marked *