A number of Byzantine Generals each have a computer and want to attack the King's wi-fi by brute forcing the password, which they've learned is a certain number of characters in length. Once they stimulate the network to generate a packet, they must crack the password within a limited time to break in and erase the logs, lest they be discovered. They only have enough CPU power to crack it fast enough if a majority of them attack at the same time.

They don't particularly care when the attack will be, just that they agree. It has been decided that anyone who feels like it will announce an attack time, which we'll call the "plan", and whatever plan is heard first will be the official plan. The problem is that the network is not instantaneous, and if two generals announce different plans at close to the same time, some may hear one first and others hear the other first.

They use a proof-of-work chain to solve the problem. Once each general receives whatever plan he hears first, he sets his computer to solve a difficult hash-based proof-of-work problem that includes the plan in its hash. The proof-of-work is difficult enough that with all of them working at once, it's expected to take 10 minutes before one of them finds a solution and broadcasts it to the network. Once received, everyone adjusts the hash in their proof-of-work computation to include the first solution, so that when they find the next proof-of-work, it chains after the first one. If anyone was working on a different plan, they switch to this one, because its proof-of-work chain is now longer.

Reply to this note

Please Login to reply.

Discussion

Un grupo de generales Bizantinos tiene cada uno un computador y quiere atacar el Wi-Fi de (l) Rei mediante un ataque de fuerza bruta a su contraseña, que tiene un número determinado de caracteres. Una vez hayan provocado el envío de un paquete, deben crackear la contraseña en un tiempo determinado para alcanzar a entrar y eliminar los registros, y así no ser descubiertos. Ellos solo tienen suficiente poder de procesamiento para crackear la contraseña lo suficientemente rápido, si la mayoría de ellos ataca al tiempo. No importa cuándo decidan ellos atacar, lo importante es que logren ponerse de acuerdo para hacerlo al mismo tiempo.

Se define entonces que cualquiera que así lo decida, anunciará una hora para el ataque; la que sea escuchada primero será la hora oficial del ataque. El problema es que la red no responde de manera instantánea, así que si dos generales anuncian horas diferentes para el ataque y lo hacen casi al mismo tiempo, cabe la posibilidad de que algunos generales escuchen una hora primero y otros la otra.

Ellos deciden usar una cadena de bloques basada en la prueba de trabajo (POW) para solucionar este problema. Cuando un general recibe la hora del ataque que llegue primero, ejecutará su computador para resolver un problema extremadamente complejo como prueba de trabajo, que incluye la hora y el plan del ataque en su hash. La dificultad de la prueba de trabajo es tal, que se espera que todos los generales minando a la vez, tarden 10 minutos para que alguno encuentre la solución y la transmita a la red. Cuando uno de los generales resuelva una prueba de trabajo, la transmitirá a los demás. Una vez es recibida, todos ajustan en hash de su prueba de trabajo para incluir la solución que se reciba primero. Así cuando resuelvan la siguiente prueba de trabajo, esta incluirá la anterior solución. Quien estaba trabajando en otro plan (cadena), se cambiará a esta, pues ésta es ahora la cadena mas larga.

Esta es la solución a cualquier tipo de guerra cibernética o "softwar": siempre será mas rentable minar #Bitcoin que atacar.

This is the solution for any kind of cyber war or "Softwar": it is always going to be more profitable to mine #Bitcoin than to brute force attack. There are no states, army or weapons in Bitcoin's code. Just miners competing honestly for subsidies.