El Problema del General Bizantino y cómo Bitcoin lo resuelve
Un problema que los informáticos llevaban décadas sin resolver. Satoshi lo resolvió con proof-of-work.
Fecha de publicacion: Febrero 2026 · Tiempo de lectura: ~7 minutos
En 1982, tres investigadores de Microsoft y SRI International publicaron un paper que definiría uno de los problemas fundamentales de la informática distribuida. Leslie Lamport, Robert Shostak y Marshall Pease describieron lo que llamaron "El Problema de los Generales Bizantinos".
El problema parecía abstracto, casi filosófico. Pero durante décadas, limitó lo que era posible construir en sistemas distribuidos. Todos los intentos de dinero digital previos a Bitcoin fracasaron, de una forma u otra, porque no podían resolver este problema sin depender de una autoridad central.
Satoshi lo resolvió. Y la solución fue tan elegante que muchos criptógrafos tardaron años en entender por qué funcionaba.
La analogía de los generales
Imagina varios generales bizantinos que han rodeado una ciudad enemiga con sus ejércitos. Deben decidir si atacar o retirarse. Si todos atacan coordinadamente, ganarán. Si todos se retiran coordinadamente, vivirán para luchar otro día. Pero si algunos atacan y otros se retiran, los que ataquen serán masacrados.
Los generales solo pueden comunicarse mediante mensajeros. Y aquí está el problema: algunos generales pueden ser traidores. Un general traidor puede enviar mensajes contradictorios a diferentes generales ("ataquemos" a uno, "retirémonos" a otro), intentando sabotear la coordinación.
¿Cómo pueden los generales honestos llegar a un acuerdo cuando no saben quién es traidor y no pueden confiar en los mensajes que reciben?
Este es el Problema de los Generales Bizantinos (BGP, por Byzantine Generals Problem).
El problema formal
Traducido a términos de sistemas distribuidos:
Tienes N nodos en una red que deben llegar a consenso sobre algún valor (por ejemplo, cuál es el estado correcto de una base de datos). Algunos nodos pueden ser maliciosos o defectuosos — pueden enviar información incorrecta o contradictoria.
La pregunta es: ¿cómo garantizan los nodos honestos que todos llegan a la misma decisión, a pesar de la presencia de nodos maliciosos?
Lamport, Shostak y Pease demostraron matemáticamente que, usando solo mensajes ordinarios, el problema es irresoluble si más de un tercio de los nodos son maliciosos. Con N nodos, si hay F nodos maliciosos y F ≥ N/3, no hay algoritmo que garantice consenso.
Esto era un resultado negativo poderoso. Decía que había límites fundamentales a lo que podías lograr en sistemas distribuidos sin confiar en nadie.
Las soluciones clásicas
Antes de Bitcoin, existían soluciones parciales al BGP:
PBFT (Practical Byzantine Fault Tolerance), desarrollado por Miguel Castro y Barbara Liskov en 1999, podía tolerar hasta un tercio de nodos maliciosos. Pero requería que los nodos se conocieran entre sí y se comunicaran en rondas coordinadas. No escalaba a miles de nodos anónimos.
Paxos y Raft eran algoritmos de consenso que asumían que los nodos podían fallar pero no ser maliciosos. Útiles para sistemas donde confías en todos los participantes pero temes fallos técnicos.
Ninguna de estas soluciones funcionaba para dinero digital porque:
1. No podías tener participantes anónimos — todos debían identificarse 2. No podías escalar a millones de usuarios 3. Seguías necesitando alguna autoridad que decidiera quién podía participar
Los sistemas de dinero digital anteriores a Bitcoin (DigiCash, e-gold, Liberty Reserve) resolvían el problema de la forma más simple: un servidor central que todos debían confiar. Esto funcionaba hasta que el servidor era cerrado, hackeado o corrompido.
La solución de Satoshi
Satoshi abordó el BGP directamente en sus comunicaciones, según se documenta en el capítulo 13 del Libro de Satoshi. Su insight fue que no necesitaba resolver el problema clásico — podía cambiar las reglas del juego.
El BGP clásico asume "un voto por nodo". El problema es que crear nodos es gratis. Un atacante puede crear millones de nodos falsos (ataque Sybil) y dominar cualquier votación.
Satoshi cambió el modelo: en lugar de "un voto por nodo", usó "un voto por CPU" — o más precisamente, un voto proporcional al trabajo computacional invertido.
Proof-of-work convierte el problema de consenso en un problema económico. Para votar (proponer un bloque), tienes que gastar recursos reales: electricidad, hardware, tiempo. No puedes fabricar votos de la nada.
La "votación" no es explícita. Cada minero vota por su versión de la verdad al extender una cadena particular. La cadena con más trabajo acumulado gana. No hay necesidad de saber quiénes son los otros participantes, cuántos hay, ni si son honestos.
Como explicó Satoshi: "La cadena proof-of-work es la solución al problema del General Bizantino."
Por qué funciona
La brillantez de la solución tiene varios aspectos:
Consenso probabilístico en lugar de determinístico. Las soluciones clásicas al BGP buscaban garantías absolutas: "con certeza del 100%, todos los nodos honestos acordarán el mismo valor". Satoshi aceptó un consenso probabilístico: "con probabilidad que se acerca al 100% exponencialmente con cada bloque, todos los nodos acordarán la misma cadena".
Seis confirmaciones dan una seguridad prácticamente absoluta. No es 100%, pero es suficientemente cercano para propósitos prácticos.
Permissionless. Cualquiera puede participar sin pedir permiso, sin registrarse, sin identificarse. Solo necesitas poder de cómputo y conexión a internet. Esto permite escalar a un número ilimitado de participantes.
Resistente a Sybil. Crear identidades falsas no te da ventaja. Lo único que cuenta es el hashrate real, que requiere recursos reales.
Auto-regulado. La dificultad se ajusta automáticamente para mantener bloques cada ~10 minutos, independientemente de cuántos participantes haya. El sistema encuentra su equilibrio sin intervención externa.
Incentivos alineados. Los mineros ganan dinero siguiendo las reglas. Romper las reglas destruiría el valor de lo que están ganando. Los incentivos económicos refuerzan el consenso honesto.
Los intentos anteriores y por qué fallaron
Para apreciar la solución de Satoshi, vale la pena revisar los intentos anteriores de dinero digital:
DigiCash (David Chaum, 1989): usaba criptografía brillante para transacciones anónimas, pero dependía de un servidor central (el banco de DigiCash) para validar transacciones y prevenir doble gasto. Cuando la empresa quebró, el sistema murió.
Hashcash (Adam Back, 1997): introdujo proof-of-work, pero para un propósito diferente (anti-spam para email). No resolvía el consenso distribuido ni el problema del doble gasto.
b-money (Wei Dai, 1998): propuesta teórica para dinero digital descentralizado. Wei Dai describió conceptos similares a Bitcoin pero no resolvió cómo coordinar a los participantes sin un tercero de confianza.
Bit Gold (Nick Szabo, 2005): lo más cercano a Bitcoin antes de Bitcoin. Szabo propuso proof-of-work como base para dinero digital, pero su diseño requería un servicio de timestamping que, en última instancia, era un punto de confianza centralizado.
RPOW (Hal Finney, 2004): "Reusable Proofs of Work". Un intento de convertir proof-of-work en tokens transferibles. Dependía de hardware de confianza (Intel TPM), añadiendo un punto de centralización.
Bitcoin combinó elementos de varios de estos proyectos:
- Proof-of-work de Hashcash
- Conceptos de b-money y Bit Gold
- Cadena de bloques como timestamp distribuido
- Incentivos económicos que alinean comportamiento honesto
La combinación fue mayor que la suma de las partes. Ningún predecesor logró lo que Bitcoin logró: consenso genuinamente descentralizado sin ningún punto de confianza.
Proof-of-Stake: una solución diferente
Después de Bitcoin, surgió Proof-of-Stake (PoS) como alternativa a Proof-of-Work para el BGP.
En PoS, en lugar de votar con poder de cómputo, votas con tokens que posees. Cuantos más tokens tengas, más peso tiene tu voto. Ethereum cambió a PoS en 2022.
PoS tiene ventajas: consume mucha menos energía, no requiere hardware especializado.
Pero tiene trade-offs:
Nothing-at-stake: en PoS, un validador puede votar por múltiples cadenas simultáneamente (no tiene coste hacerlo), lo que complica el consenso. Hay mitigaciones, pero añaden complejidad.
Long-range attacks: un atacante que tuvo muchos tokens en el pasado (pero ya los vendió) puede intentar reescribir la historia desde ese punto. PoW no tiene este problema porque el trabajo pasado no puede falsificarse.
Distribución inicial: ¿quién decide la distribución inicial de tokens? Alguien tiene que tenerlos primero. En PoW, los tokens se distribuyen a quien invierte recursos en minarlos.
Plutocracia: el poder es proporcional a la riqueza. Los ricos se hacen más ricos. En PoW, el poder es proporcional a los recursos que inviertes continuamente, no a lo que ya posees.
Para Bitcoin, PoW sigue siendo la respuesta preferida. El gasto energético no es un bug — es la feature que hace el consenso objetivamente verificable. Cualquiera puede calcular el trabajo invertido en la cadena mirando los bloques. No necesitas confiar en nadie.
La elegancia de la solución
Lo que hace especial a la solución de Satoshi no es solo que funciona, sino cómo funciona.
No hay elección. Los nodos no votan ni coordinan explícitamente. Cada nodo sigue una regla simple (aceptar la cadena con más trabajo) y el consenso emerge.
No hay identidad. Los participantes son anónimos. No necesitas saber quién minó un bloque para validarlo.
No hay líder. Nadie tiene poder especial. Cualquiera puede proponer bloques. Cualquiera puede validarlos.
No hay finalidad instantánea. En lugar de esperar a que todos acuerden, aceptas la probabilidad creciente de que el acuerdo sea permanente.
Es un sistema que funciona precisamente porque nadie está a cargo.
Fuentes y referencias:
- "The Byzantine Generals Problem" (Lamport, Shostak, Pease, 1982)
- El Libro de Satoshi, capítulo 13 ("El Problema del General Bizantino")
- "Practical Byzantine Fault Tolerance" (Castro, Liskov, 1999)
- Emails de Satoshi en la mailing list de criptografía
- Whitepaper de Bitcoin, secciones 4 y 5