Tales of Cryptocurrencies (1) — The Byzantine Generals Problem

FIRMACHAIN
FIRMACHAIN
Published in
10 min readNov 6, 2018

Greetings! I am Alex, the Community Manager for FirmaChain, a platform for decentralized electronic contracts. It has come to my attention that, while basic knowledge of the various cryptocurrencies has become widespread, blockchain technology still remains an obscure thing even to those who closely follow the fad. This is why I will be uploading informative posts about blockchain technology, aside from the task of posting news about FirmaChain. I will also try to write about interesting events happening in the world of cryptocurrency.

· The Byzantine Generals Problem.

The Byzantine Generals Problem was first mentioned in a 1982 paper written by Leslie Lamport, Robert Shostak and Marshall Pease. It was imperative to solve this problem in order to produce a distributed ledger technology[1]. The creators of Bitcoin, who go under the alias of Nakamoto Satoshi, also encountered the above problem and eventually solved it by coming up with the concept of blockchain.

The reason that the writers chose to call it the “Byzantine Generals Problem” is to avoid discomfort among the readers (source: Wikipedia).

The following rules outline the Byzantine Generals Problem:

-The generals of the Byzantine Empire are positioned far away from each other. Each general commands 1,000 soldiers.

-The enemy empire can mobilize a total of 2,000 soldiers. In order to orchestrate a successful attack, the Byzantine Empire must mobilize, at the same time, more soldiers than its enemy counterpart (in other words, more than 3 generals must attack simultaneously).

-The Commander of the Byzantine army and each of its generals can only send a single messenger to the closest-situated general.

-It is possible that a traitor lurks among the generals, one who will forge the information he relays to the next general. Hence, there is mistrust among the generals.

Here then is the Byzantine Generals Problem: given a situation in which none of the generals can trust each other, what is the best way to maneuver a successful attack?

Nakamoto Satoshi solved this problem by making it such that trust and agreement are guaranteed as long as a specific set of actions are performed by each of the participants in a given transaction. The specific set of actions here are delineated as the time, effort, and resources that go into encrypting and deciphering the instructions for a simultaneous attack.

Let us try and apply this solution to the Byzantine Generals Problem. Let us assume that General 2 is a traitor.

  1. The Chief Commander writes down the planned time of attack and puts in 10 minutes worth of effort(specific set of actions, time spent) to encrypt the message. He then sends the message to General 1.
  2. General 1 deciphers the message and concludes that it is trustworthy based on the 10 minutes worth of effort that went into encrypting the message.
  3. He writes down the planned time of attack and puts in 10 minutes worth of effort to encrypt his message. He then sends the commander’s encrypted message along with his own encrypted message to General 2.
  4. The treacherous General 2 decrypts the messages and writes down a false planned time of attack, encrypts it, and sends it along with the other encrypted messages to General 3.
  5. General 3 decrypts and compares all messages. He concludes, based on the encryption efforts and the misalignment of the times, that General 2 must be a traitor. He writes the correct planned time of attack, encrypts it, and sends it to the next general.

As such, a traitor can be singled out even if he writes down a false planned time of attack. Furthermore, even if General 1 is a traitor, all Generals will attack at the false planned time of attack, and thus the Byzantine Empire will succeed in conquering its enemy.

All in all, blocks containing transaction histories are created through specific sets of actions. Multiple blocks form chains, and these chains in turn prevent data forgery and manipulation, ensuring data security.

I hope this was an interesting read. In my next post, I will come back with more interesting stories about cryptocurrencies.

Thank you for reading!

[1] Distributed ledger technology: A distributed ledger (also called a shared ledger, or Distributed Ledger Technology, DLT) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions. There is no central administrator or centralized data storage.

A peer-to-peer network is required as well as consensus algorithms to ensure replication across nodes is undertaken. One form of distributed ledger design is the blockchain system, which can be either public or private.

Source: Wikipedia

🔴 Official Channel

Official site : http://firmachain.org/

Twitter : https://twitter.com/firmachain

Midium : https://medium.com/firmachain

Telegram(announcemet) : https://t.me/firmachain

Telegram Community : https://t.me/firmachain_global

Kakao Plus : http://pf.kakao.com/_FAKgxb

--

--