Byzantine general problem is an agreement
problem among a group of generals, with each one commanding a portion of the
Byzantine army, ready to attack the city. These generals need to formulate a
strategy for attacking the city and communicate it to each other adequately.
The key is that every general agrees on a common decision because a tepid
attack by a few generals would be worse than a coordinated attack or a
coordinated retreat. The crux of the problem is that some of the generals are
traitorous. They might cast a vote to deceive the other generals and ultimately
lead to a suboptimal strategy. Let’s take a look at an example: In a case of
odd-numbered generals, say seven, three support attacking and three support
retreat. The seventh general might communicate an agreement to the generals in
favor of retreat, and an agreement to attack to the other generals, causing the
whole arrangement to fall apart. The attacking forces failed to capture the city
because no intrinsic central authority could verify the presence of trust among
all seven generals.
In this scenario,
Byzantine fault tolerance can be achieved if all the loyal generals can
communicate effectively to reach an undisputed agreement on their strategy. If
so, the misleading (faulty) vote by the traitorous general would be revealed
and fail to perturb the system as a whole.
Satoshi Nakamoto solution
Created a peer-to-peer
network with a ledger that could record and verify a majority approval, thereby
revealing any false (traitorous) transactions. This ledger provided a
consistent means of communication and further allowed for the removal of trust from
the whole system.
This ledger provided a
consistent means of communication and further allowed for the removal of trust from
the whole system. The ledger is also known as the blockchain,
and by attaching blockchain to Bitcoin, it became the first digital
currency to solve the double spending problem network-wide.
0 Comments