Tendermint erklärt
Startseite
Artikel
Tendermint erklärt

Tendermint erklärt

Mittel
Veröffentlicht Jan 8, 2021Aktualisiert Sep 1, 2022
7m

TL;DR

Die Blockchains, die Sie kennen und lieben, haben eine ziemlich starre Struktur. Als Entwickler gibt Ihnen das zwei M√∂glichkeiten: Anwendungen innerhalb einer restriktiven Umgebung zu bauen oder den Code zu forken und Ihre eigene Chain zu erstellen. Das Erstellen einer eigenen Chain ist allerdings nicht so einfach ‚Äď Sie m√ľssen auch ein Netzwerk starten und herausfinden, welchen Konsensmechanismus Sie verwenden wollen.

Tendermint ist eine Open-Source-Software zum Starten von Blockchains, mit der Sie Anwendungen in jeder beliebigen Sprache schreiben können. Besser noch, sie können mit anderen Blockchains kommunizieren.


Einf√ľhrung

Das Erstellen einer Kryptowährung oder eines Blockchain-Netzwerks erfordert viel mehr Aufwand als nur das Initialisieren einer Datenbank. Es erfordert ein empfindliches Gleichgewicht von Anreizen und Kompromissen zwischen Sicherheit, Dezentralisierung und Skalierbarkeit.
Es √ľberrascht nicht, dass Teams, die die st√§rksten Blockchain-√Ėkosysteme entwickeln wollen, eine Reihe von verschiedenen Ans√§tzen erforscht haben. In diesem Artikel werden wir einen Blick auf einen solchen Ansatz werfen: Tendermint.


Was Sie √ľber Tendermint wissen m√ľssen

Vieles an Tendermint wird Ihnen bekannt vorkommen, wenn Sie ein wenig √ľber Blockchains wissen. Lassen Sie uns einige Schl√ľsselkonzepte wiederholen, bevor wir uns n√§her damit befassen.


Die Blockchain-Architektur

Tendermint ist eine Art Blockchain-Stack. Andererseits sind Dinge wie Bitcoin und Ethereum das auch. Denken Sie daran, es geht nicht nur um die Blockchain-Datenbank selbst, sondern auch um das Peer-to-Peer-Netzwerk der Nodes, wie sie interagieren und die lustigen Sachen, die man mit Transaktionen und Smart Contracts machen kann. Das Ziel hier ist es, dass sich alle auf einen Zustand (wie einen Schnappschuss der Datenbank) einigen, auch wenn sie niemandem sonst vertrauen.
Zum gr√∂√üten Teil haben die heutigen gro√üen Blockchains einen Weg gefunden, dies m√∂glich zu machen. Allerdings verlassen sie sich oft auf monolithische Architektur: ein Software-Engineering-Konzept, das bedeutet, dass die Komponenten miteinander verbunden und voneinander abh√§ngig sind. Man kann nicht einfach ein St√ľck davon nehmen und dieses in einem anderen Bereich verwenden.
Eine monolithische Architektur ist nicht gut, wenn Sie Flexibilit√§t w√ľnschen. Bei dem Gegenteil (mit modularer Architektur) k√∂nnen Sie einzelne Komponenten ver√§ndern, ohne sich Sorgen zu machen, dass etwas kaputt geht. Bei einer monolithischen Struktur m√ľssen Sie sicherstellen, dass jede Komponente kompatibel bleibt, wenn Sie eine einzelne Komponente aktualisieren.¬†

Jetzt, da wir diese Unterscheidung verstehen, k√∂nnen wir ein wenig mehr √ľber das Tendermint-Protokoll sprechen.


Byzantinische Fehlertoleranz (BFT)

Sie wissen vielleicht, dass die gro√üe Innovation bei Bitcoin darin bestand, dass es etwas gel√∂st hat, das als das Problem der Byzantinischen Gener√§le genannt wird. Wir werden nicht auf die Einzelheiten des Problems eingehen (schauen Sie sich unseren Artikel √ľber Byzantinische Fehlertoleranz an, wenn Sie interessiert sind). Alles, was Sie wissen m√ľssen, ist, dass es ein Szenario beschreibt, in dem Teilnehmer in einer verteilten Umgebung kommunizieren m√ľssen.¬†
Diese Teilnehmer wissen nicht, ob andere l√ľgen oder ob Nachrichten, die zwischen ihnen gesendet werden, ver√§ndert werden. Man sagt, dass ein System eine Byzantinische Fehlertoleranz (BFT) hat, wenn sich die Teilnehmer auf eine Reihe von Fakten einigen k√∂nnen, selbst wenn die genannten Probleme vorhanden sind.
Offensichtlich ist es in einer dezentralen Umgebung entscheidend, dies richtig zu machen. Kryptow√§hrungen, die nicht byzantinisch fehlertolerant sind, funktionieren nicht wirklich ‚Äď man br√§uchte eine Art zentralisierte Partei, die koordiniert, was den Zweck vereitelt. Wie viele digitale W√§hrungen umgeht Bitcoin dies durch die Verwendung eines Proof of Work (PoW) Konsens-Algorithmus.


Die drei Ebenen einer Blockchain

Wir kennen also den Unterschied zwischen monolithischer/modularer Architektur und wir wissen, dass dezentrale Kryptow√§hrungsnetzwerke byzantinisch fehlertolerant sein m√ľssen. Lassen Sie uns die Ebenen erw√§hnen, die wir typischerweise in einer Blockchain sehen: die Anwendungsebene, die Konsensusebene und die Netzwerkebene.
Die Konsens- und Netzwerkebene ist die Ebene, in der die Netzwerk-Nodes miteinander kommunizieren und versuchen, sich auf eine Reihe von Fakten zu einigen. Die Anwendungsebene ist der Bereich, in dem Sie selbst etwas tun k√∂nnen ‚Äď denken Sie an dezentrale Anwendungen und Smart Contracts in Ethereum oder Custom Transactions in Bitcoin.



Tendermint Core

Zun√§chst eine kurze Klarstellung zur Terminologie. Wir werden die Begriffe ‚ÄúTendermint‚ÄĚ und ‚ÄúTendermint Core‚ÄĚ hier austauschbar verwenden, da wir uns nur auf die Technik konzentrieren.

Allerdings ist Tendermint der Name des Unternehmens (gegr√ľndet von Jae Kwon, dem Entwickler, der das urspr√ľngliche Whitepaper schrieb), w√§hrend Tendermint Core die eigentliche Software ist, an der das Unternehmen arbeitet. Genauer gesagt, hat die Software zwei Hauptkomponenten: ihre Core-Consensus-Engine (Tendermint Core) und ihre Anwendungsschnittstelle (ABCI).

Tendermint Core ist ein System, das eine Fehlertoleranz erreicht. Im Wesentlichen ist es ein großer, verteilter Computer, der allen zur gleichen Zeit den gleichen Zustand anzeigt. Solange mindestens zwei Drittel der Teilnehmer ehrlich sind, funktioniert alles reibungslos. Aber das ist doch so ziemlich jede Blockchain, oder? Was macht sie so besonders?

Erstens: Der verwendete Konsensmechanismus ist Proof of Stake (PoS). F√ľr jede Periode wird ein zuf√§lliger Node aus einem Validator-Set ausgew√§hlt. Dieser Node muss dann den n√§chsten Block vorschlagen (in einem so genannten Round-Robin-System). Wenn die anderen Validatoren damit einverstanden sind, wird der neue Block hinzugef√ľgt, und die Chain wird aktualisiert. Finalit√§t ist sofort ‚Äď anders als bei Bitcoin oder Ethereum, gibt es keine Notwendigkeit, auf Best√§tigungen zu warten, um sicher zu sein, dass Ihre Transaktion g√ľltig ist.

Aber halt, da ist noch mehr! Die Architektur von Tendermint Core ist modular, wobei die Anwendungsebene von der Konsens- und Netzwerkebene getrennt ist. Im Klartext bedeutet das, dass Sie Ihre eigene Anwendungsebene in den Stack einf√ľgen k√∂nnen. Sie m√ľssen sich nicht um l√§stige Anreize oder Konsensalgorithmen k√ľmmern.

F√ľr den Endanwender mag das vielleicht nicht so aufregend sein. Aber f√ľr Entwickler bedeutet die M√∂glichkeit, ein bestehendes Framework zu nutzen, dass sie direkt in die Entwicklung von Anwendungen eintauchen k√∂nnen, ohne ein ganzes Netzwerk aufbauen zu m√ľssen. Daten aus der Blockchain k√∂nnen an die integrierte Ebene weitergeleitet werden, was es Entwicklern erm√∂glicht, Software in jeder Sprache zu entwickeln.

Die Magie geschieht mit dem sogenannten Application Blockchain Interface, oder einfach ABCI. Stellen Sie sich das wie die GPIO-Pins vor, die Sie an einem Raspberry Pi-Computer haben. An diese k√∂nnen Sie alle m√∂glichen Komponenten von Drittanbietern anschlie√üen, von LEDs bis hin zu ausgekl√ľgelten Sprinklersystemen f√ľr Ihre Pflanzen. In √§hnlicher Weise ist das ABCI das, was die Grenze zwischen der Blockchain und den darauf laufenden Anwendungen definiert.


Was ist so großartig an Tendermint Core?

Die Trennung der Anwendungsschnittstelle und des Konsensmechanismus erm√∂glicht eine gr√∂√üere Flexibilit√§t f√ľr eine Reihe von dezentralen Anwendungen, die beliebige Programmiersprachen in ihre Gesch√§ftslogik einbinden k√∂nnen.

F√ľr ein konkretes Anwendungsbeispiel, m√ľssen Sie sich nur Ethermint ansehen: ein Projekt, das die Ethereum-Codebasis nahm, den Proof-of-Work-Mechanismus entfernte und die Ethereum Virtual Machine auf Tendermint aufsetzte.
Dies ermöglichte ein paar interessante Dinge. Das erste ist, dass Ethereum-Entwickler ihre Smart Contracts mit Leichtigkeit auf die neue Engine portieren oder neue Contracts in der Solidity-Sprache schreiben konnten. Zusätzlich zur Bereitstellung von Ethereum-Funktionalität agiert Ethermint wie ein Proof of Stake Ethereum und gibt uns einen Einblick, wie eine Casper-Implementierung in Ethereum 2.0 aussehen könnte.


Blockchain-Interoperabilität

Das Versprechen eines ‚ÄúInternet of Blockchains‚ÄĚ ist das, was viele an Tendermint-basierten Protokollen interessant finden. Die Interoperabilit√§t ist eine lang erwartete Erg√§nzung f√ľr den Kryptow√§hrungsraum, da es bedeutet, dass Hunderte von individuellen Blockchains mit einander kompatibel werden w√ľrden.
Derzeit wurde eine Menge Arbeit in das Cosmos SDK gesteckt, ein Open-Source-Framework, das es jedem erlaubt, eine anwendungsspezifische √∂ffentliche oder private Blockchain zu erstellen. Diese Blockchains k√∂nnen dann √ľber den sogenannten Cosmos Hub in das gr√∂√üere Cosmos-Netzwerk eingebunden werden, wo sie mit anderen kommunizieren k√∂nnen.
Zahlreiche populäre Projekte wurden mit dem Cosmos SDK erstellt, wie Binance Smart Chain (BSC), KAVA, Band Protocol, Terra und IRISnet.


Fazit

Als Blockchain-Engine hat Tendermint die Aufmerksamkeit zahlreicher Interessengruppen im Bereich der Kryptowährungen auf sich gezogen, von Entwicklern bis hin zu Endbenutzern.

Wenn die Software weiter an Zugkraft gewinnt, k√∂nnte sie sehr gut als R√ľckgrat f√ľr ein Internet of Blockchains dienen. Wie wir gesehen haben, sind bereits eine Handvoll Projekte mit dem Cosmos SDK gestartet, um diese Vision zu realisieren.

Haben Sie weitere Fragen zu Tendermint, Konsensalgorithmen oder der Blockchain-Technologie im Allgemeinen? Besuchen Sie Ask Academy, wo die Community diese Fragen beantworten wird.
Beitrag teilen
Eröffne ein Konto
Setze dein Wissen in die Praxis um und eröffne noch heute ein Binance-Konto.