A Guide to Consensus Algorithms on Blockchain Networks Part 1

The problem with third parties processing transactions.

 

One of the biggest issues that the Bitcoin network has solved first and other networks figured out how to solve later was the issue of trust. Before Bitcoin, nobody was able to solve the problem of double spending on a digital financial network. This problem is closely connected to the problem of transaction finality.

These problems have existed in the past, it is just that with non-digital money there is a solution to them and the solution is so obvious and natural that most people don’t even realize that the problem would exist with digital money.

 

Finality of transactions with regular money

With regular print bills, when you need to pay someone, say, $10, you simply give them a $10 bill.

While some people may think of tearing the bill apart and giving pieces of the bill to different people as the same $10 payment, Title 18, Chapter 17, paragraph 333 of the US Code says that tearing a currency bill is a crime. It is also a crime that is very obvious and evident right away. If someone were to give you a half of a bill, you would notice immediately.

So, when you give money to someone, you give it to them once and the money is gone. The government decided that tampering with the bills it issues is a crime, and this solved the problem of spending the money several times. In addition to this, it is not possible to reverse a transaction in an easy way. Once you give someone the $10, your money is gone and you can’t have it back without the consent of the other party. The government issues the cash and this fact allows parties that do not know each other use the money issued by the government to do business with each other even when they do not trust each other, do not like each other, and so on.

 

Transaction finality with data

The reason why nobody before Satoshi Nakamoto was able to solve the issues described above with electronic money is that electronic money is simply data. Just like any other data, the data about money can be copied with several clicks of a mouse and distributed easily at virtually no cost an infinite amount of time. Being able to copy files and create unlimited versions of them for free is extremely useful when you create a file that contains your work and want to have a backup of the work or want to send the work to several parties at one time, for example to your boss and the members of your team. The ability to make copies is not advantageous when it comes to a system of electronic payments and here’s why. Imagine someone has $10 in electronic money. What would prevent them to send the money to party A, party B, party C, and so on at the same time and try to turn this money into $20, $50, $100 or even more dollars? This problem isn’t even counterfeiting in its usual meaning in the physical world because in the physical world there’s an original and then there are copies. If someone creates a copy of a famous painting, experts are typically able to tell. When criminals print counterfeit money, the money may have different paper, different print patterns and different physical quality than the original.

In the digital world, all the copies would be absolutely identical and would contain the same data. Somebody having such a digital $10 bill would be the richest person in the world because he or she would be able to use this money an infinite number of times by simply copying the data and yet at the same time this person would never be able to spend these $10 because nobody in their right mind would believe a person they don’t know and don’t trust that the digital data about these $10 is the only copy of the data. This is what the problems of double spending and transaction finality are all about. When somebody on a digital network spends money, how do we know that the party is spending the money only once and how do we know that the record about the transaction is final and nobody would edit it, because editing computer files can be very easy, too?

The answers to these questions have existed for a long time before cryptocurrencies because digital money has existed for a long time, it is just that these answers were very different from the answers by blockchain networks.

 

Third parties as a solution

Before Bitcoin, the answer was simple and proven to work, but it had a lot of issues. This answer was to use a trusted third party such as Paypal. This party, in turn, would often check the credibility and history of the parties it was dealing with. This process could be long, expensive and done by people, which meant a lot of possibility for errors.

For example, to be able to accept credit cards, a local mom and pop store would need to apply for a merchant account with one or several companies and then wait for a decision. Some merchant processing companies would approve applicants faster and would not check them rigorously as a part of the application process, but then wound suspend their accounts if they suspect that something is wrong, which would mean that the store would be losing money by not being able to accept credit cards and debit cards. Others would take a long time to approve and would have employees visiting the website of the company and checking reviews from the past and existing customers, but the process would take longer and be very expensive.