{"id":4819,"date":"2023-05-21T02:15:03","date_gmt":"2023-05-21T02:15:03","guid":{"rendered":"https:\/\/www.bitnovo.com\/blog\/?p=4819"},"modified":"2025-09-10T15:28:43","modified_gmt":"2025-09-10T15:28:43","slug":"que-es-la-tolerancia-a-fallas-bizantinas-guia-rapida","status":"publish","type":"post","link":"https:\/\/www.bitnovo.com\/blog\/que-es-la-tolerancia-a-fallas-bizantinas-guia-rapida","title":{"rendered":"\u00bfQu\u00e9 es la Tolerancia a Fallas Bizantinas? Gu\u00eda r\u00e1pida"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ffffff;color:#ffffff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ffffff;color:#ffffff\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.bitnovo.com\/blog\/que-es-la-tolerancia-a-fallas-bizantinas-guia-rapida\/#%c2%bfque_es_la_tolerancia_a_fallas_bizantinas_pbft_hablemos_de_algoritmos_de_consenso\" >\u00bfQu\u00e9 es la Tolerancia a Fallas Bizantinas (pBFT)? Hablemos de algoritmos de consenso<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.bitnovo.com\/blog\/que-es-la-tolerancia-a-fallas-bizantinas-guia-rapida\/#el_dilema_de_los_generales_bizantinos\" >El dilema de los generales bizantinos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.bitnovo.com\/blog\/que-es-la-tolerancia-a-fallas-bizantinas-guia-rapida\/#%c2%bfcomo_funciona_la_tolerancia_a_fallas_bizantinas_pbft\" >\u00bfC\u00f3mo funciona la Tolerancia a Fallas Bizantinas (pBFT)?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.bitnovo.com\/blog\/que-es-la-tolerancia-a-fallas-bizantinas-guia-rapida\/#%c2%bfcuales_son_sus_ventajas_y_desventajas\" >\u00bfCu\u00e1les son sus ventajas y desventajas?<\/a><\/li><\/ul><\/nav><\/div>\n<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tiempo de lectura:<\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span><p>\u00bfRecuerdas la t\u00edpica escena del matrimonio entre la protagonista y su gal\u00e1n de novela o pel\u00edcula, en donde, de la nada, el p\u00fablico dice \u00abyo me opongo\u00bb y ah\u00ed el rumbo de la historia cambia totalmente? De una manera muy similar funcionan las fallas bizantinas.<\/p>\n<p>Aunque, claro, en esos casos, la protagonista decid\u00eda con qui\u00e9n quedarse, a pesar de los defectos que tuviera cada uno, llegando, finalmente, a un acuerdo con ambas partes para terminar en un final propio de una producci\u00f3n de cine de Disney. Es en este punto, donde nos centraremos y comenzaremos a hablar de la tolerancia a las fallas bizantinas,\u00a0<strong>un sistema inform\u00e1tico<\/strong>\u00a0que, si bien, no es tan rom\u00e1ntico y fantasioso como una pel\u00edcula de amor,\u00a0<strong>es una soluci\u00f3n ideal y muy utilizada en la\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/que-es-la-blockchain-y-como-funciona\/\">tecnolog\u00eda blockchain<\/a>\u00a0de las criptomonedas.\u00a0<\/strong><\/p>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%c2%bfque_es_la_tolerancia_a_fallas_bizantinas_pbft_hablemos_de_algoritmos_de_consenso\"><\/span>\u00bfQu\u00e9 es la Tolerancia a Fallas Bizantinas (pBFT)? Hablemos de algoritmos de consenso<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Podemos definirla como la\u00a0<strong>capacidad de un sistema inform\u00e1tico distribuido para alcanzar consensos suficientes y funcionar apropiadamente<\/strong>, a pesar de los componentes maliciosos o errores (nodos) del sistema que fallan y difunden informaci\u00f3n incorrecta. En otras palabras,\u00a0<strong>es un protocolo de consenso apropiado para evitar una falla catastr\u00f3fica del sistema.<\/strong>\u00a0Un ejemplo pr\u00e1ctico, ser\u00eda evitar creer en las habladur\u00edas de nuestras vecinas y procurar mantener un punto de vista objetivo sobre la informaci\u00f3n de una persona u otra.<\/p>\n<p>En la actualidad, podemos encontrar diferentes\u00a0<strong>proyectos que utilizan la pr\u00e1ctica de la tolerancia a fallas bizantinas<\/strong>:\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/que-es-hyperledger\/\">Hyperledger Fabric<\/a>\u00a0de Fundaci\u00f3n Linux y\u00a0Zilliqa, un proyecto asi\u00e1tico reconocido por su cripto ZIL.<\/p>\n<p>Ciertamente, el t\u00e9rmino \u201cfalla bizantina\u201d y \u201ctolerancia a fallas bizantinas\u201d,\u00a0<strong>deriva del problema de los generales bizantinos<\/strong>, el cual, dentro de la tecnolog\u00eda e inform\u00e1tica, es un dilema muy investigado y complejo, a pesar de que su historia suene f\u00e1cil.<\/p>\n<div id=\"image_556080635\" class=\"img has-hover x md-x lg-x y md-y lg-y\">\n<div class=\"img-inner dark\"><img fetchpriority=\"high\" decoding=\"async\" class=\"attachment-large size-large lazyloaded\" src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas.jpg\" sizes=\"(max-width: 768px) 100vw, 768px\" srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas-300x205.jpg 300w\" alt=\"Qu\u00e9 es la Tolerancia a Fallas Bizantinas\" width=\"768\" height=\"526\" data-srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas-300x205.jpg 300w\" data-src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas.jpg\" data-sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/div>\n<\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"el_dilema_de_los_generales_bizantinos\"><\/span>El dilema de los generales bizantinos<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Durante la guerra<\/strong>, los generales deben decidir si atacar o retirarse frente al enemigo. En dicha situaci\u00f3n, no faltan los generales que prefieren atacar y entregar sus corazones hasta el final, mientras que otros prefieren retirarse. Claramente, lo importante es que se llegue a un acuerdo com\u00fan, ya que un ataque desorganizado termina en derrota.<\/p>\n<p>El problema est\u00e1 en la\u00a0<strong>presencia de esp\u00edas o traidores<\/strong>, al igual que en Among Us, quienes van a velar por sus propios intereses. Para comprender esto, imagin\u00e9monos en esta situaci\u00f3n: somos nueve generales de las fuerzas armadas espa\u00f1olas y la preocupaci\u00f3n por nuestros enemigos es cada vez m\u00e1s latente, por lo que decidimos realizar una reuni\u00f3n para votar qu\u00e9 haremos:\u00a0<strong>atacar o defendernos.\u00a0<\/strong><\/p>\n<p>De nosotros nueve, c<strong>uatro est\u00e1n de acuerdo con retirarnos y otros cuatro est\u00e1n de acuerdo con el ataque.<\/strong>\u00a0La decisi\u00f3n\u00a0<strong>queda en ese noveno general<\/strong>, quien puede ser un traidor. Aqu\u00ed es donde est\u00e1 el problema, dado que\u00a0<strong>\u00e9l tiene la decisi\u00f3n absoluta<\/strong>: atacamos o nos retiramos.<\/p>\n<p>Ahora, a esto podemos sumarle otro\u00a0<strong>problema de comunicaci\u00f3n<\/strong>\u00a0y es que pensemos que f\u00edsicamente no est\u00e1bamos juntos, sino que decidimos enviar cartas con nuestra decisi\u00f3n, las cuales pueden ser falsificadas o no entregadas por los mensajeros. En estas circunstancias, como una posible soluci\u00f3n, es donde act\u00faa la tolerancia a fallas bizantinas. Pero profundicemos esto en el siguiente punto.<\/p>\n<div id=\"image_1372348690\" class=\"img has-hover x md-x lg-x y md-y lg-y\">\n<div class=\"img-inner dark\"><img decoding=\"async\" class=\"attachment-large size-large lazyloaded\" src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas1.jpg\" sizes=\"(max-width: 768px) 100vw, 768px\" srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas1.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas1-300x205.jpg 300w\" alt=\"Qu\u00e9-es-la-Tolerancia-a-Fallas-Bizantinas\" width=\"768\" height=\"526\" data-srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas1.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas1-300x205.jpg 300w\" data-src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/06\/Que-es-la-Tolerancia-a-Fallas-Bizantinas1.jpg\" data-sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/div>\n<\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%c2%bfcomo_funciona_la_tolerancia_a_fallas_bizantinas_pbft\"><\/span>\u00bfC\u00f3mo funciona la Tolerancia a Fallas Bizantinas (pBFT)?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Retomando el ejemplo anterior, frente al problema de los traidores y los mensajeros que pueden retener o distorsionar la informaci\u00f3n (dicho de otra forma, una falla bizantina),\u00a0<strong>la tolerancia a fallas bizantinas<\/strong>\u00a0<strong>establecer\u00eda un sistema con mecanismos de consensos que garanticen que los traidores no puedan conducir a una falla.<\/strong><\/p>\n<p>Por ende, logra que los generales leales puedan tener un acuerdo mayoritario y evita que, en el caso del matrimonio digno de un \u00f3scar, la protagonista y su majo pretendiente sean separado. Ciertamente, para esto deben definirse reglas por parte del sistema.<\/p>\n<p>Conozcamos las\u00a0<strong>reglas m\u00e1s comunes dentro de la tolerancia a fallas bizantinas.<\/strong>\u00a0Imagina que estamos en un proceso de miner\u00eda y queremos realizar una transacci\u00f3n en una cadena de bloques, utilizando un m\u00e9todo de tolerancia a fallas bizantina. En esa circunstancia, observaremos\u00a0<strong>cuatro fases:<\/strong><\/p>\n<ol>\n<li>Como usuarios que estamos realizando la transacci\u00f3n, enviamos nuestra solicitud de confirmaci\u00f3n al nodo de red principal. Sin embargo, teniendo en cuenta que la primera regla es iniciar en un\u00a0<strong>estado de indecisi\u00f3n<\/strong>, la transacci\u00f3n en la blockchain no ser\u00e1 confirmada por el momento.<\/li>\n<li>El nodo principal transmitir\u00e1 nuestra solicitud a todos los nodos secundarios o de respaldo, para que cada uno la verifique y sea incluida. En este instante, recordando el ejemplo, el\u00a0<strong>sistema est\u00e1 garantizando un medio de comunicaci\u00f3n seguro de la informaci\u00f3n<\/strong>.<\/li>\n<li>Despu\u00e9s de difundida y comprobada la informaci\u00f3n, los nodos comienzan a valorar si es v\u00e1lida o no la transacci\u00f3n, pasando, en consecuencia, a un<strong>\u00a0estado de decisi\u00f3n.<\/strong><\/li>\n<li>Por \u00faltimo, los nodos, con base en su evaluaci\u00f3n y la verificaci\u00f3n de que cada decisi\u00f3n fue la emitida por cada nodo, realizan el servicio que se les fue solicitado en un principio (confirmaci\u00f3n de la transacci\u00f3n), culminando el proceso con la\u00a0<strong>autorizaci\u00f3n de los nodos sobre la validez de la transacci\u00f3n.\u00a0<\/strong><\/li>\n<\/ol>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%c2%bfcuales_son_sus_ventajas_y_desventajas\"><\/span>\u00bfCu\u00e1les son sus ventajas y desventajas?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Iniciando por sus<strong>\u00a0ventajas<\/strong>, pBFT\u00a0<strong>no necesita m\u00faltiples confirmaciones, ni un periodo de espera para garantizar que una transacci\u00f3n es segura o v\u00e1lida<\/strong>\u00a0despu\u00e9s de incluirla en un bloque, dado que se realiza de forma r\u00e1pida.<\/p>\n<p>Aparte de ello,\u00a0<strong>puede llegar a un consenso sin requerir un uso excesivo de energ\u00eda<\/strong>\u00a0para los mineros, garantiza una comunicaci\u00f3n de red eficiente y reduce la variaci\u00f3n de recompensa para los mineros.<\/p>\n<p>No obstante, cuenta con algunas\u00a0<strong>desventajas<\/strong>. Entre ellas, podemos encontrar que\u00a0<strong>son vulnerables a los ataques de Sybil<\/strong>, los cuales son ejecutados por una misma entidad que controla las entidades de red y corrompen el sistema. Adicionalmente,\u00a0<strong>no escala adecuadamente<\/strong>, dado que existe una sobrecarga de comunicaci\u00f3n interna, por lo que tarda en responder a una solicitud.<\/p>\n<p>Indudablemente, en el contexto de las criptos, es esencial que haya un sistema seguro, eficiente y r\u00e1pido para la ejecuci\u00f3n de las transacciones y otros procedimientos caracter\u00edsticos de una\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/que-es-la-blockchain-y-como-funciona\/\">blockchain<\/a>.<\/p>\n<p>Por ello, la tolerancia a fallas bizantinas se consolida como una buena opci\u00f3n y una propuesta llamativa frente a otros algoritmos como PoS (proof of stake o prueba de participaci\u00f3n),\u00a0 consenso de PoW (Proof of Work o prueba de trabajo) y Pol (Proof of Importance o prueba de importancia).<\/p>\n<p>\u00a1Felicidades por llegar hasta el final!<\/p>\n<p>Desde el equipo de Bitnovo, queremos \u00abpremiar\u00bb tu inter\u00e9s por este art\u00edculo, por lo que, como\u00a0<em><strong>regalo simb\u00f3lic<\/strong><strong>o<\/strong><\/em>,\u00a0<strong>podr\u00e1s tener\u00a0<a href=\"https:\/\/www.bitnovo.com\/blog\/\">acceso a lo \u00faltimo del blog de Bitnovo<\/a><\/strong>,\u00a0<strong>de forma totalmente gratis y sin fecha de caducidad<\/strong>, para que puedas seguir inform\u00e1ndote sobre las novedades de las criptos de la mano de los mejores escritores sobre el tema.<\/p>\n<p>\u00a1En el enlace subrayado puedes revisar todo nuestro contenido!<\/p>\n<p>De momento, nos leemos en un pr\u00f3ximo art\u00edculo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tiempo de lectura:<\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\u00bfRecuerdas la t\u00edpica escena del matrimonio entre la protagonista y su gal\u00e1n de novela o pel\u00edcula, en donde, de la nada, el p\u00fablico dice \u00abyo me opongo\u00bb y ah\u00ed el rumbo de la historia cambia totalmente? De una manera muy similar funcionan las fallas bizantinas. Aunque, claro, en esos casos, la protagonista decid\u00eda con qui\u00e9n [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":4820,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[146],"tags":[],"class_list":["post-4819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blockchain"],"_links":{"self":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts\/4819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/comments?post=4819"}],"version-history":[{"count":2,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts\/4819\/revisions"}],"predecessor-version":[{"id":24925,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts\/4819\/revisions\/24925"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/media\/4820"}],"wp:attachment":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/media?parent=4819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/categories?post=4819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/tags?post=4819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}