In this series "What is actually ...?", Oliver Völkel explains various terms and concepts relating to blockchain and DLT. This article is dedicated to a fundamental term, the public blockchain.
When talking about distributed ledgers or blockchain, what is usually meant is the technology that underpins well-known cryptocurrencies such as Bitcoin or Ether. However, there are usually many different technologies behind these buzzwords, and new technologies are constantly being developed.
What public blockchains have in common is their purpose: to establish agreement among a group of people as to whether events (such as transactions or calculations) have taken place and in what order. These events should be recorded in a way that is immutable—or at least in a way that allows everyone to immediately recognize that changes have been made subsequently. Finally—and this is the unique aspect of the technology—the entire process should work without a trusted central party.
The last point in particular—the lack of a trusted central party—is usually the biggest obstacle for those who are dealing with the technology for the first time. As an initial introduction to understanding the technology, it can be useful to imagine a blockchain in the real world as a thought experiment.
Imagine a group of people in a room. The group decides that they no longer want to trade with each other using money, but with their own currency instead. However, this currency should not exist physically (represented on coins or banknotes, for example), but only on paper. In order to get the economy around this new currency going, the group decides that everyone will start with an amount of 100. To this end, each person writes down a starting balance of 100 points for themselves on their own piece of paper. If trading takes place, the group agrees that each person should note down the number of points they have received from another person or given to another person. So, everyone keeps track of their own balance.
Unfortunately, a dishonest participant has infiltrated the group who does not make a note of the points he has given to another person. The group quickly realizes that their new currency cannot function in this way. After all, it is no longer possible to determine with certainty which of the people involved recorded the transfers correctly. Designating a single person to keep the records for everyone else is out of the question for exactly the same reason. What if this central party makes mistakes or acts dishonestly?
The group therefore decides that all participants should record on their own piece of paper not only their own number of points, but also the starting balance of all other participants and the transactions of all others. If a person wants to transfer points, they should shout this loudly into the room so that everyone else in the group can hear it. Everyone writes down all transfers on their own piece of paper. In this way, everyone in the group should always know exactly who is entitled to how many points.
This idea seems to work well. When Alice wants to transfer five points to Bob, she shouts this out loud into the room and everyone notes down the transfer. The problem seems to be solved and the participants in the room begin to use their new currency more and more eagerly. At some point, however, this becomes a problem. There is a lot of shouting. Not every participant hears all the calls, some misunderstand them, and some participants are simply not quick enough to take notes. After a short time, the participants' notes differ considerably. The group can no longer agree on which transfers actually took place and in what order. A new system has to be found.
Having all participants write down every transaction was a good idea, but too error-prone in practice. The group therefore decides to appoint a single person as the "recorder". However, the recorder should be replaced on an ongoing basis and, at the end of their term, should read out all the transfers that have been recorded. Everyone else in the group writes down this block of transactions and checks whether their own transactions have been recorded correctly. If no participant finds fault with the block, the recorder may increase their own balance by a previously agreed amount as a reward, which is also noted by everyone in the group. If, on the other hand, the recorder makes a mistake, the entire block is ignored by all participants. The recorder then does not receive any new points. In such a case, all desired transactions must be repeated to the next recorder.
This system solves several problems at once. Firstly, there is always agreement in the group as to which transfers have taken place in which order. At the same time, there is also an incentive for the recorder to adhere to the rules of the system. Anyone who completes the laborious process of recording correctly without errors can reward themselves. Anyone who acts dishonestly as a recorder, on the other hand, is exposed and has completed this task for nothing.
The system is, of course, complicated. To determine a person's balance, it is not enough to check a single numerical value. Instead, starting from the original 100 points, the participants have to track all transfers to determine the balance of each person. However, the participants notice another problem: Not only the recorder can make mistakes, but also the group members if they write down the block read out by the recorder at the end of their term. In addition, the participants may be tempted to change past transfers or forget them. Not only the recorder, but also the other participants could act dishonestly. In such a case, who decides which recording status reflects the truth?
The participants could agree that the majority decides, but this would not offer any security. Instead, the participants opt for a complicated but secure solution. Based on the recorded transfers (e.g. 5 from Alice to Bob; 7 from Charles to Bob; 2 from Bob to David), the recorder should replace each letter in his notes with a numerical value that corresponds to its position in the alphabet. The numbers are then alternately added and subtracted. The recorder gives the participants the result of this calculation as a check sum in addition to the recorded transfers.
If the participants calculate the same check sum as the recorder, they have copied the recording correctly. This solves the problem of incorrect recordings. However, the problem of dishonest participants can also be solved in this way by the next recorder using the check sum of the previous block of recorded transfers as a starting point when calculating the check sum for the next block of recorded transfers. In this way, the check sums of all blocks are linked together and a chain is formed. If a dishonest participant wants to change a transaction in a past block, this changes the check sum of the block; and because the check sum is also part of the next block, this also changes the check sum of the next block (etc). Any attempt at manipulation is therefore immediately apparent.
The participants in this thought experiment have found a mechanism that fulfills all the purposes of a blockchain discussed at the beginning. They reach a consensus on whether transfers of their own currency have taken place and in what order. The record status is unchangeable, or at least any change to the transaction history would be immediately noticeable due to the linking of the blocks of recorded transactions by means of a check sum. In addition, the system does not require a trusted central party.
The system is already very robust. However, one problem still needs to be solved: What rules should the participants use to decide who may be the next recorder? As this task is now associated with a reward, everyone in the group has an interest in being a recorder as often as possible. In the world of this thought experiment, there are many possible solutions. For example, the group could roll dice; whoever rolls the highest number is the next recorder. In the digital implementation of blockchains, however, this problem is much more difficult to solve. As a consensus needs to be reached in this regard, the topic is usually discussed under the heading ‘consensus mechanism’.
Oliver Völkel