Welcome to the first article of the blockcentric column. We created it for blogging about Blockchain and all related topics. It will contain exciting articles about technology, projects, organisation and business concerns. They will contain knowledge and findings from our 20% time work but also news from the area.
We are looking forward to your feedback on the column and exciting discussions about your use cases.
A blockchain creates trust, traceability, and immutability through a peer-to-peer network. All transactions in the network, such as payments or event tracking in a supply chain, are confirmed by participants in the network. Thus, no central authority alone controls the validity of these events. These acknowledgments given by the participants lead to a consensus in the network, with which the data on the blockchain is continually persisted. So the majority of the participants decide whether a transaction is valid, instead of a single player. To create and implement a consensus, there are several mechanisms that I would like to explain and discuss in the following.
What are consensus mechanisms?
Each Blockchain needs to choose one mechanism that handles the agreement of all participants onto a truth about their data. It could be imagined as a consistent way to get all politicians of a parliament to agree on one opinion. As politicians probably need to discuss about this, all participants of a blockchain network do this by communicating with each other over the network. The communication protocols are thereby implemented in the software that is executed on all involved devices. What is communicated here, however, is not a political opinion but the data base of the blockchain, such as the transaction history of a currency like Bitcoin .
Currently there are mainly two of those consensus mechanisms which are well-known while other ones are still not that popular.
Proof of Work – Classical mining
We already know the term “mining” from Bitcoin, the mother of most of today’s cryptocurrencies and popular Blockchain applications. Also for the Ethereum network, transaction have to be packaged into blocks in order to be confirmed as part of the history. The correct name of it is Proof of Work (PoW) . In a simple way it describes the conditions that participants of the network must prove honestly how much work they have spent in order to be able to verify transactions. Therefor they get rewarded for every block that they validate and confirm. This reward is meant as a replacement for the spent electric energy and the usage of special hardware (ASIC miner or GPU). The surplus on the rewarding amounts is profit for the miners and represents an incentive. In total, the reward for a block consists of the regular block reward and the sum of all fees from all transactions contained in the block.
Proof of Work is yet, especially for cryptocurrencies, the most used mechanism of them all. This is probably the case because it has already proven its robustness and safety since 2009. In addition, the high financial involvement of miners ensures that the generated coins are actually backed of by real value in terms of fiat money. So to speak, mining is the transition of fiat money into coins of a cryptocurrency.
As robust and proven as the procedure may be, it is also strongly criticized. The big disadvantage of Proof of Work is that a lot of electrical energy and the need for specialized hardware pollutes the environment. Lots of cryptocurrency fans and critics would like to see that consensus does not have to need for this high stress to our environment. After all more than 3% of Germanys energy consumption could be provided by savings on mining energy of the entire Bitcoin network.
Another disadvantage of this mechanism is the commonly seen split of the community in these projects. Two individual groups of interest are the result. On the one hand there are the users that need to pay transaction fees in order to get their transactions confirmed. On the other hand the miners are needed to confirm them and keep the network up. Thereby they have a primary focus on profit and try to represent their own financial goals during involved discussions and politics. Proposals on how the project and its source code implementation could be improved often lead to discussions that are clearly split into two camps, each of which represent their own interests.
Proof of Stake – Shareholders with a voice
Like in a joint-stock company, shareholders have a right on participating on the consensus in the mechanism called Proof of Stake (PoS) . This claim to the right of validation of a block of new transactions is given deterministically (by pseudo-randomness) over and over again.
Thereby shareholders with more wealth in their wallet have a slightly higher chance of being selected. On the one hand they have a high interest in the stable functionality of the network and should also participate in keeping it up. On the other hand there is a danger of centralising the confirmation of blocks too much as wealthy shareholders can get even richer over time.
In most cases all tokens/coins in Proof of Stake based blockchains were pre-mined (already created before usage has started) in contract to PoW, where coins are slowly flushed into the market until the maximum supply is reached. So, PoS blockchains circulating supply of tokens is already exhausted. Therefore shareholders who were chosen for validating a block can only be rewarded by transaction fees.
The process is now used successfully in some blockchains and projects, also in the world of cryptocurrencies, and finds more and more appeal. Last but not least this is also a result of the fact that electric energy is not wasted anymore. The energy consumption is limited to the usage and validation activities of users and is not artificially increased by unnecessary complex calculations.
Furthermore the community is not split automatically into two camps but is united by being more or less serious users of the individual blockchain application. Nevertheless the risk of unfair distribution of wealth is remains. This can take place if wealthy participants are preferred on choosing the next block winner in a too high degree. Their wealth will be increased disproportionately in comparison to others. To prevent this from happening, it is important to strive for a fairest possible Proof of Stake algorithm. There are already certain variants with individual advantages and disadvantages in discussion, on which I am not going to elaborate further in this article.
Proof of Work vs. Proof of Stake – or something different?
The two best known consensus mechanisms should be known by now. We quickly realize that Proof of Stake focuses on eliminating the disadvantages of Proof of Work. The sustainability of blockchains is therefore to be increased by the significant saving of electrical energy and hardware and at the same time making the community easier to develop projects by avoiding conflicts of interest.
Nevertheless, Proof of Stake also raises questions: Can it be ensured that the rich are not getting richer? When is the block reward selection mechanism perfect and maximally fairly designed?
It does not hurt to look at other variants that want to improve on the two ideas.
Proof of Activity – A hybrid approach
This approach did not originate from the optimization of a single consensus mechanism but is a combination of PoW and PoS. It is foreseen that miners continue to solve cryptographic puzzles using a lot of electric energy and special hardware. However, the blocks found therewith are only meant to contain the identity of the block winner and its reward transaction. Then the Proof of Stake phase begins and the validators (shareholders selected to validate transactions and blocks) confirm the correctness of the block. If the block was checked often enough, the validators will finally activate it to a completed block. This step just finally ensures that open transactions are processes and are integrated into the found block containers.
Also the block reward is being split, so the validators also receive shares of it.
Proof of Importance – VIP first
The concept presented by NEM is coupled to Proof of Stake and also includes the roles of shareholders and validators. However, these are selected using a certain algorithm, not only by chance and size of their shares. Also their importance for the network and the importance that the network apparently has for them flows into the formula. In NEM’s definition of Proof of Importance (PoI) this is implemented with the inclusion of the network usage (transactions made with other participants). Participants who often send and receive transactions will find blocks more frequently. A detection of fraudulent usage and manipulative patterns is of course included into this concept to prevent spammy participants to gain a higher importance score.
In addition, only a special kind of stake is considered for the mechanism to be considered as wealth. Coins in the NEM wallet are not considered as wealth until they are vested. For every 24 hours 10% of the un-vested coins will be charged to this vested wallet. As a result, participants receive an incentive to make only necessary transactions and can only increase the importance score slowly by proving their involvement in the network.
Proof of Elapsed Time – Eco-friendly mining through innovation
This mechanism was invented by the chip manufacturer Intel and refers to the technological achievement SGX (SafeGuard Extensions) . SGX includes a set of CPU instructions, which allow processes to use private resources of the CPU for their own. This is to create Trusted Execution Environments (TEE) in the CPU calculation, for which there is no danger of being manipulated from outside processes.
What does this have to do with the confirmation of transactions? The goal is to implement a real random mechanism through this innovation at low hardware and software level. In comparison to Proof of Work, it should not be determined by chance, which participants can solve their riddles using their resources. Proof of Elapsed Time (PoET) wants to replace the cryptographic puzzles involved in PoW by the fact that the CPU architecture, in combination with the quantity of the mining hardware alone, knows how often and when a participant will win a block. It should ensure a random and fair competition in finding the next block.
This approach is about reducing energy consumption during mining. Unfortunately, this adds the dependency of a supported CPU architecture to the mining hardware. The hardware could be designed much smaller and combined with regular private computers but only if they fulfill the CPU requirements.
It is also questionable whether a distributed blockchain network should trust a general purpose chip maker. Without reproaching chip manufacturers, the consensus of the Proof of Elapsed Time network would be dependent on how secure and unmanipulated the SGX is implemented and this feels strange. The consensus of the decentralized network is thus placed faithfully in the hands of a central authority.
In this article, we have looked at the concept of five possible consensus mechanisms that can be used in designing a blockchain. It is to be assumed that the success of these systems is, among other things, related to the quality and fairness of their consensus process. Also the first frameworks behind blockchain software are ready to handle consensus as a plugin-and-play concept that can be configured so that implementation will not longer be a bottleneck. Therefore, we should continue to try to find better ways to secure and even scale up blockchains (more transactions per time unit).
Selection of the needed consensus process should be made dependent on the project requirements. One should think about how disastrous the disadvantages and how useful the advantages of the individual concepts could be for the desired result of the project. It is a matter of interest groups which mechanism fits best.
Ultimately, it is not yet possible to find a universally perfect consensus mechanism that is able to eradicate all advantages of its competitors.
Dein Job bei codecentric?
Agile Developer & Consultant (w/d/m)
An allen Standorten
More articles in this subject area
Discover exciting further topics and let the codecentric world inspire you.
Hyperledger Fabric CouchDB lässt meine Cloud-Rechnung explodieren
Hyperledger Fabric ist eine hervorragende DLT-Plattform und bietet großartige Anpassungsmöglichkeiten. Eine Möglichkeit davon ist es, verschiedene Datenbanken zur Speicherung von Blockchain -Daten zu nutzen. Die empfohlene und am besten unterstützte ...
- Open Source
9.1.2020 | 2 Minuten Lesezeit
Continuous Integration von Hyperledger-Composer-Anwendungen mit Gitlab...
In meinem vorherigen Artikel „Hyperledger-Fabric-Test-Netzwerk mit Ansible auf AWS aufsetzen “ habe ich eine einfache Möglichkeit vorgestellt, VM-Instanzen in der Cloud mittels Ansible mit der nötigen Software zu provisionieren, um eine Hyperledger-Fabric...
- Open Source
18.10.2018 | 8 Minuten Lesezeit
Hyperledger-Fabric-Test-Netzwerk mit Ansible auf AWS aufsetzen
Aus Unzufriedenheit mit bisherigen Cloud-basierten Lösungen zum Thema Hyperledger möchte ich in diesem Artikel das automatisierte Aufsetzen einer Testumgebung für Fabric (ein Fabric-Test-Netzwerk) motivieren und erläutern.Vorsicht: Dieser Artikel stammt...
- Open Source
12.8.2018 | 8 Minuten Lesezeit
Ein Überblick über die Hyperledger-Blockchain-Projekte [blockcentric #...
Das Projekt Hyperledger ist ein Zusammenschluss der Linux Foundation, in dem es um Blockchain-Implementierungen und Tools geht. Dabei liegt der Fokus vor allem auf privaten und permissioned Blockchain-Systemen. Das Projekt wurde Ende 2015 gestartet ...
- Open Source
20.3.2018 | 11 Minuten Lesezeit
RuuviTag auf dem Tangle – IoT, IOTA und MAM [blockcentric #6]
IOTA gilt als Next Generation Blockchain für das Zeitalter von IoT. Diesem Ruf wird IOTA auch dahingehend gerecht, dass immer wieder neue spannende Projekte auf Basis des IOTA Ledgers veröffentlicht werden, etwa IOTA Data Marketplace oder IOTA Ecosystems...
21.2.2018 | 5 Minuten Lesezeit
Deployment von Smart Contracts auf die Blockchain [blockcentric #5]
Unsere Artikelserie „blockcentric“ behandelt Blockchain-verwandte Technologien, Projekte, Organisation und Konzerne. Die Serie enthält Wissen und Ergebnisse unserer Arbeit sowie Neuigkeiten, aus diesem Bereich. Unser Anwendungsfall „Blockchain in der...
25.1.2018 | 6 Minuten Lesezeit
Interview mit IOTA-Mitbegründer Dominik Schiener [blockcentric #4]
Dominik Schiener ist einer der Mitbegründer von IOTA – einer gemeinnützigen deutschen Non-profit-Organisation, die mit dem Tangle eine völlig neue Distributed-Ledger-Technologie in Konkurrenz zur Blockchain implementiert. Ich sprach mit Dominik über...
11.1.2018 | 11 Minuten Lesezeit
BigchainDB – Das leichtgewichtige Blockchain-Framework [blockcentric #...
Mit BigchainDB sehen wir eines der ersten vollumfänglichen, aber einfachen Blockchain-Frameworks. Das Projekt macht es sich zur Aufgabe, Blockchain für eine große Anzahl von Entwicklern und Use Cases nutzbar zu machen, ohne besonderes Wissen in Kryptographie...
- Big Data
3.1.2018 | 5 Minuten Lesezeit
Tangle – Eine Einführung [blockcentric #2]
Der Tangle ist eine verteilte Datenbank, arbeitet mit einem Peer-to-Peer-Netzwerk und hat als Basis ein Konsens- und Validierungssystem. Also genau die Eigenschaften, mit denen auch die Blockchain aufwartet. Von nun an stellt sich also nicht nur die ...
13.11.2017 | 6 Minuten Lesezeit
Ethereum Blockchain – Teil 1: Use Cases
In dem Blog-Artikel von Jonas wurde die Blockchain näher beleuchtet und eine Einführung in die grundsätzliche Funktionsweise dieser Technologie dargestellt, aber auch auf die hohe Diversität des Kryptowährung-Ökosystems hingewiesen. Dicht auf den Fersen...
16.10.2017 | 5 Minuten Lesezeit
Unblocking the Supply Chain with Blockchain
Warum Blockchain in der Supply Chain?Der Grund für die breite Adaption einer Technologie in einer bestimmten Domäne ist simpel: Sie löst konkrete Probleme oder schafft neue Werte. Wir schauen uns in diesem Blog Post an, warum Blockchain ein guter Kandidat...
20.8.2017 | 6 Minuten Lesezeit
Blockchain, the next big thing?
Alles begann damit, dass das mysteriöse Pseudonym Satoshi Nakamoto 2009 den Bitcoin veröffentlichte. Es war die erste dezentrale Währung, die es ermöglicht, Transaktionen im Peer-to-Peer-Modell zu versenden, ohne an eine zentrale Autorität gebunden zu...
17.7.2017 | 7 Minuten Lesezeit
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.