

En el anterior post te contamos un poco sobre quien es Satoshi Nakamoto, o mejor dicho, quién creemos que es. También te conté que él es el creador de Bitcoin y el culpable de que la tecnología Blockchain cogiera la relevancia que tiene a día de hoy con la fiebre de las criptomonedas.
Qué tal si te dijera que él no inventó la Blockchain, que ya existía de antes, pero si resolvió un problema que estaba planteado hace años y nadie le había dado solución hasta ahora. Te hablo del problema de los generales bizantinos.
Quédate que te lo cuento, comenzamos.
Fue todo un hito para la comunidad científica relacionada con la criptografía y la seguridad de la información, no por la moneda digital en si, que en ese momento no importaba a nadie, si no por la resolución de un problema que hasta la fecha nadie había resuelto.
Los motivos de este interés como acabo de comentar, trasciende a la propia moneda Bitcoin, y se centra en las redes P2P, o Peer To Peer. P2P no es más que una red punto a punto en la que no existe un ente central que canalice la información ni las comunicaciones. Todos los integrantes de la red están conectados con todos de forma igual a igual.
La resolución del problema de los generales bizantinos permitió que todos esos actores pudieran compartir un registro de información público y distribuido sin posibilidad de malinterpretación ni modificación de dicha información.
Esto puede hacer que se utilice para llevar la cuenta en un libro contable compartido o para infinidad de usos que posteriormente veremos aplicados, usando la Blockchain como mecanismo de comunicación.
Pero en este post no estamos para contar las cosas buenas que tiene la Blockchain, bastante te conté en el post del principio. Lo que te quiero explicar es en qué consiste el dichoso problema de los generales bizantinos.
Es un experimento mental creado para ilustrar el dilema de lograr un consenso entre un conjunto de entidades con un objetivo común cuando entre ellas pueden existir traidores, es decir, entidades con objetivos opuestos que intenten dinamitar el proceso.
Además, se supone que las comunicaciones entre dichas entidades son limitadas e inseguras. En el caso de Bitcoin, son por internet y sin conocer al remitente ni el remitente al que le envía el mensaje o la transacción.
El problema se presenta como una analogía con un escenario de guerra, donde un grupo de generales bizantinos se encuentran acampados con sus tropas alrededor de una ciudad enemiga que desean atacar. Al estar defendida la ciudad de forma muy efectiva, la única forma de conseguir la victoria, es atacando todos los grupos de soldados, gobernados por un general a la vez.
Los generales deben comunicar lo que han ido viendo y ponerse de acuerdo en un plan para atacar la ciudad y ganar. Para ello, los generales se comunican únicamente a través de mensajeros y de forma asíncrona, es decir, no como si estuvieran hablando por teléfono, si no por carta.
Además, existe la posibilidad que algunos de los generales sean traidores y, por lo tanto, decidan enviar mensajes con información errónea con el objetivo de confundir al resto y que el ataque no se haga a la vez y por consiguiente no tenga éxito. Un algoritmo que solucione el problema debe asegurar que todos los generales leales acuerdan un mismo plan de acción y que unos pocos traidores no pueden conseguir que el plan adoptado por los generales leales sea equivocado.
O hablando de Bitcoin, que todos contengan el mismo libro contable y que unos pocos en conjunto no puedan hacer creer al resto que su libro no es válido y el que vale es el suyo que tiene transacciones trampa.
Uno de los grandes logros que supone Bitcoin, más allá de ser la primera criptomoneda con una aceptación extendida por todo el mundo, es el hecho de ofrecer la primera solución práctica al problema de los generales bizantinos.
La aplicación de los generales bizantinos a la criptomoneda permite, por primera vez en la historia, transferir propiedad digital a otro usuario de Internet, de manera que solo el propietario pueda hacerlo, únicamente el destinatario pueda recibirla, todo el mundo pueda validar la transferencia y esta sea reconocida por todos los participantes, todo ello realizado de manera totalmente distribuida.
Y lo más importante, que todos los participantes tengan copia exacta del libro contable donde están anotadas todas las transacciones que han ocurrido. De esta manera, podemos evitar le regla de doble gasto, que no es más, que si María tiene 5BTC, no pueda enviar 5BTC a Juan y otros 5BTC a Mario. Es decir, no pueda gastar dos veces los mismos BTC’s.
Esto lo consigue Satoshi apoyándose en grandes tecnologías como son la criptografía asimétrica de clave pública y privada, la Blockchain, las redes P2P y lo que se denomina prueba de trabajo o proof of work. La utilización de estos 4 pilares son los que le dieron a Satohi la clave para poder resolver el problema de los generales bizantinos.
Como os he dicho anteriormente, estas tecnologías ya existían, pero es la combinación de ellas lo que hace genial la forma de resolución de este problema, el cual ha hecho que toda la tecnología Blockchain coja una relevancia brutal día a día y, sobre todo, ha abierto las puertas que se pueda utilizar para un sin fin de casos de uso que todavía están por explorar.
Hasta aquí el post de hoy, espero que te haya sido de interés y que te haya levantado la intriga sobre el creador de Bitcoin y de su Whitepaper donde dejó reflejado el comienzo de una tecnología, la cual poco a poco veremos aplicada a mil situaciones.
Como habrás comprobado, el objetivo de esta serie de posts no es más que explicar los conceptos básicos de forma rápida y en lenguaje que todos entendamos, de lo que son los principales conceptos básicos que necesitas entender para poder comprender el correcto funcionamiento de la fantástica tecnología Blockchain.
Si en este o en otro post has escuchado algún término que no te ha quedado claro, seguramente lo hayamos explicado en otro pequeño post, te invito a repasar los contenidos del blog y buscar los relacionados con Blockchain, que verás que destacan en morado.