Blockchain Basics: How it solves the Byzantine Generals Problem
Updated: Dec 7, 2022
A basic understanding of the blockchain technology will help you acknowledge why the blockchain is so revolutionary and how it solves problems that traditional systems have been facing so far.
Blockchain and cryptocurrencies have a history longer than you think. They are based on cryptography, a science that finds its first evidence over 2000 years ago.
With the surge of electronic and digital systems, people had to deal with needs like privacy and security for their personal data, more than ever before.
Even if there were many proposals, Satoshi Nakamoto was the first to address problems not treated by any previous authors and cryptographers. One of the major problems he solved was the creation of a system that was at the same time decentralized and tamper-evident, avoiding the Byzantine Generals Problem.
Understanding the history behind the blockchain technology will help you find out how cryptocurrencies work, acknowledge the basics of blockchain, and appreciate the many use cases blockchain can have in real life.
Table of Contents
Where do cryptocurrencies come from? A bit of history
Cryptocurrencies are based on cryptography, and the history of this science is very long.
Experts consider hieroglyphs as the first example of cryptography: symbols carrying a message that just a few could understand.
Greeks, Romans, Arabs, Europeans, the U.S.A. and and many other nations have always used cryptography, especially in diplomatic relationships and during wars, but not everyone knew it.
Before the Cypherpunks Movement, they were Dr. Whitfield Diffie and Dr. Martin Hellman who talked about the usage of cryptography openly.
In 1976 they published New Directions in Cryptography, a paper whose first lines recognize that “The development of cheap digital hardware has freed it [cryptography] from the design limitations of mechanical computing and brought the cost of high grade cryptographic devices down to where they can be used in such commercial applications as remote cash dispensers and computer terminals”.
Only nine years later, Dr. David Chaum pointed out that the diffusion of technology was causing concerns about security, and that the solution could be cryptography.
In 1985, he publishes Security without Identification.
He had a great intuition: there was a conflict between organizations’ need for security and for profiting from automation, and people’s need for privacy. The automation of payments was just worsening the conflict.
To avoid the conflict, he proposed a completely new system in three points:
Use of identifying information;
The method to conduct transactions;
The kind of security provided
Reading this article, you will see that these characteristics correspond to the characteristics of Bitcoin: Satoshi Nakamoto will mention them in Bitcoin’s whitepaper.
For what concerns the use of identifying information, Chaum notices people use universal identification numbers, like those on your driver’s license, to prove their identity to all the organizations they deal with. Those universal identification numbers are linked to personal information, like address, birthday, name and so on.
With the new approach idealized by Dr. Chaum, people would use a “digital pseudonym”, different for each organization. In this way, such organizations would know only the pseudonym, without getting access to all personal data and without losing the opportunity to make valid transactions with their clients.
For transactions, Chaum notices that in those years organizations were asking their clients to make ever more transactions online, using tokens that were - and are - different for each organization. So, a person should rely on faith to make transactions without compromising his personal data: a person has to rely on the fact that, when he makes a transaction online, he is the only person who can see his private data.
With the new system, everyone would use a personal “card”, that should be easy to use and encrypted: at any transaction, the owner of the card receives data related to the products he is buying, without disclosing his personal data. The transaction is activated by entering a secret key. If the owner loses the card, he can easily get another one and restore its capabilities using backup data saved in an encoded form.
The third point is security:
“Current systems emphasize the one-sided security of organizations attempting to protect themselves from individuals, while the new approach allows all parties to protect their own interests. It relies both on individuals’ card computers withholding secret keys from organizations and on organizations’ computers devising other secret keys that are withheld from individuals. During transactions, the parties use these keys to form specially coded confirmations of transaction details, the exchange of which yields evidence sufficient to resolve errors and disputes.”
As you can see, this new system would benefit both organizations and people, without the need from any party to disclose personal or secret data.
This is the story behind “ecash” and DigiCash, the company founded by Chaum in 1989.
An innovative system that was just in its early days.
In 1992, a group of cryptographers made the next move. They thought that cryptography would be a means to change society and improve it. They started meeting regularly and created a movement, The Cypherpunks.
The Cypherpunks created a mailing list where they could discuss their ideas, all related to the fact that cryptography would serve as a means of privacy and anonymity - just to be clear, this is the mailing list where Satoshi Nakamoto announced that he had created Bitcoin (in fact, many think that Nakamoto has been a member of The Cypherpunks).
They also wrote A Cypherpunk’s Manifesto (1992), where they assessed their goals clearly.
These are just the first lines of the Manifesto:
“Privacy is necessary for an open society in the electronic age. Privacy is not secrecy. A private matter is something one doesn’t want the whole world to know, but a secret matter is something one doesn’t want anybody to know. Privacy is the power to selectively reveal oneself to the world.”
If you read the whole Manifesto, you will notice that it sounds quite anarchic, but what moved this group is a common problem: they wanted to satisfy people’s need for privacy and spread the word around the globe, by creating a system that no government could destroy.
In 1997, Adam Back introduced HashCash. Even if it has nothing to do with payment systems, it is fundamental to understand HashCash to acknowledge the technology behind Bitcoin, since it is the first example of proof-of-work.
Adam Back used proof-of-work to limit spam emails. Consider that the proof-of-work is a system that must be hard to solve but easy to verify. It takes its name from the fact that when someone wants to use a service he has to prove that some kind of work has been done. In the case of HashCash, spammers had to work harder for every new email sent, and to use more computational force - that is, the cost of sending email increases if they want to send a lot of emails.
Adding a token to emails, the HashCash, the spammer has to constantly communicate with the server:
The spammer wants to send the email;
The server, in response, chooses a proof-of-work system and challenges the spammer;
The spammer has to solve the problem to have access to the server;
The HashCash has created a fingerprint, a string of numbers that can be easily verified. If the problem is solved, the HashCash allows to easily verify the operation and the email is sent.
For the next email, the spammer will need to all the process again, but the difficulty of the problem will increase at each email sent, along with the computational force the spammer will need. The spammer will reach a point where it won’t be profitable to send another email.
Proof-of-work is, basically, a defense against digital attacks, especially DoS, that stands for Denial of Service: when a server is flooded with a number of illegitimate requests that exceeds the number of requests the server can deal with, legitimate users will experience a disservice. Proof-of-work wants to avoid that.
Only one year later, in 1998, Nick Szabo and Wei Dai introduced two different digital money schemes whose main innovation was the absence of a central server to function: they were decentralized.
The two systems were created to produce money through proof-of-work and in both the users were represented by public keys that also allowed them to make peer-to-peer transactions.
In the b-money system introduced by Dai, the network had to solve problems that were ever more difficult, and the amount of money created was proportional to the difficulty of the problem. The network decided the difficulty level through voting.
In the bit gold system, introduced by Szabo, the process was very similar, but the solution of each problem was linked to the previous one - in blocks - so that the creation of money was sequential: this innovation allowed the whole network to participate in the creation of money, while in the b-money system the entity with more resources could prevent the others from participating. Consider that Szabo also proposed smart contracts to make transactions!
Both projects were just proposals, and neither of them proposed a good strategy to reach consensus and avoid “traitors”.
Satoshi Nakamoto, Bitcoin and altcoins are the result of these ideas. That’s where cryptocurrencies come from. You can easily notice that reading Bitcoin’s whitepaper, and you will find the work of Dai and Back in the references section.
The real genius of Satoshi Nakamoto was that he solved problems that all these proposals weren’t addressing.
Blockchain Basics: How blockchain solved the Byzantine Generals Problem
One of the main problems Satoshi Nakamoto solved is the Byzantine Generals’ Problem.
To understand the problem, let’s give a bit of context:
A group of Byzantine generals has to attack a city. Being them in different places they need to communicate through messages to set a common strategy and succeed.
But it isn’t certain that every general has the same goal: among them, there could be traitors that don’t want to conquer the city, and they can easily tamper with their messages.
The problem is that there isn’t a centralized authority, and every general has to trust the others.
To solve the problem, everyone should be able to communicate with others without the possibility of manipulating messages.
This is exactly what the blockchain invented by Nakamoto does. It uses a system very similar to the one ideated by Adam Back with HashCash, but it’s more complex.
The blockchain functions as a ledger that records every transaction. Similar transactions are grouped together forming functional units called “blocks”: the first block is the Genesis block, which differs from others because it isn’t linked to a previous block. Every transaction is created and easily verified thanks to the proof-of-work system, and every time a block is created it is identified with a timestamp that links each block to the others, forming a “blockchain”.
Each participant - each component of the network is called “node” - stores locally a copy of the blockchain, having the opportunity to easily verify it.
The whole system allows each participant to easily identify any “traitor”.
The blockchain makes it possible to solve all the problems that were not addressed by previous proposals.
Moreover, blockchain solves the double spending problem.
The double spending problem is the concern that a digital currency could be spent twice. Since those currencies are not backed by any physical object, a user could simply copy the details of a transaction and use them more than once.
But being transactions verified and permanently stored on blockchain, the double spending becomes impossible.
Nakamoto makes it very clear in Bitcoin’s whitepaper :
Without a third party dealing with the mint of the coin, “transactions must be publicly announced”.
And blockchain is public, for nodes, traders and investors - you can easily verify that with any cryptocurrency explorer - but at the same time it doesn’t disclose your personal data: the only thing that is shown is your public address.
But, is the process really so smooth?
It may happen that two miners reach the same result within a few seconds of each other, and they communicate it to the network. This happens quite often, especially now that the number of cryptocurrencies, blockchains and miners is increasing.
What happens is that two blocks are created after the main blockchain. The fork is solved when the next block is discovered, thanks to the rules the network has agreed upon. Following blocks will create a new blockchain that will work as the previous one, and the participants of the network will move to the new blockchain.
This is what happens in a “soft fork”. “Hard forks” are totally different.
In the case of hard forks, nodes won’t be able to migrate to the new blockchain unless they accept the new consensus rules and upgrade.
A practical example of hard fork is what happened with Ethereum and Ethereum Classic.
The Ethereum Fork
At the very beginning of Ethereum’s history, the purpose of this new cryptocurrency was to execute smart contracts with no chances of censorship, downtime, or third-party interference.
The first Ethereum project was launched in 2015. Only one year later, the first DAO was built on the Ethereum blockchain.
DAO means Decentralized Autonomous Organization. The principal purpose of a DAO is to raise capital for a project, as a venture capital firm, but without the problem of the principal-agent dilemma.
To better understand the revolution put in place by blockchain and cryptocurrencies, we should take a while to focus on this important concept.
The principal-agent dilemma is the concern of every firm in real life. It represents the hard question: how am I sure that if I hide a manager that person won’t make his or her interests instead of the interests of the company? The answer is: we can’t be sure of it.
The solution is to create a system where every investor, every person involved in the project has something to lose if the project doesn’t succeed. And this is exactly the system of a DAO: every investor, every participant, is rewarded with something whose value depends on the success of the financed project. In this case, that something was the native token, the first version of Ethereum.
The DAO built on the Ethereum blockchain in 2016 raised $150 millions. Each participant voted on decisions concerning the network, and each transaction was recorded on the blockchain, implementing smart contracts and making the whole process unmodifiable and transparent. This same principle applies to any other decentralized network, like Bitcoin.
Not being only one person in control of the project, everyone has something to lose, everyone has the same interests, and those interests are in line with those of the entire network.
Despite the magnitude and complexity of this revolutionary project, the DAO was hacked, and $60 millions were lost.
And here two different stories begin: Ethereum and Ethereum Classic become two different coins.
ETC vs. ETH
Of course, investors wanted to recover the money. And one founder of Ethereum, Vitalik Buterin, didn’t want to say goodbye to his revolutionary project only after one year. After all, such an attack was not a good advertisement for the network.
It was just a bug, a bug that the computer specialists had discovered and were trying to fix. But the hacker discovered it before they could find a solution.
After the hack, Buterin initially thought of a soft fork to solve the problem.
A soft fork is a little modification, such an update, something that doesn’t affect the nature of the projects and that makes the updates work also with previous versions. But, also in the update, a bug was discovered, and the hacker, not content with the attack, was threatening the project from the inside, extorting the network.
A hard fork, a profound modification to the blockchain, seemed the only solution: the blockchain was restored to before the hack, and investors had the opportunity to recover most of their funds.
But if you’ve paid attention so far, you should know that, in theory, the Ethereum project was born to create something unmodifiable, to make it so transparent to implement smart contracts avoiding frauds.
So, the 2016 hard fork was challenging the very nature of Ethereum.
It’s true that a crisis of that magnitude needed a hard solution to keep the project alive, but this was not enough to bring all participants together.
A part of the network didn’t agree: the hard fork was against the philosophy of Ethereum.
The split was in place, and two different Ethereum blockchains were born: ETH and ETC.
More than a ledger for cryptos
As you can see, blockchain can have several applications in real life. The Ethereum network showed how useful it is to implement smart contracts, but in general the blockchain technology can serve any industry that needs to record and store data safely: food, healthcare, election infrastructures are just a few examples.
As Glen Goodman wrote in The Crypto Trader, it is not hard to imagine a future where there are “banks without bankers, contracts without lawyers, insurance policies without insurance companies”.
Sky’s the limit.
The goal of EduCrypto is to inform you about cryptocurrencies, and blockchain is the technology that made them possible.