Grundlagen der Blockchain Technologie und Anwendungsfälle Verstehen

  • Blockchains können entweder öffentlich oder privat, zugelassen oder vertrauenswürdig sein. IBM Hyperledger und R3 Corda sind zwei der am häufigsten verwendeten Unternehmens blockchains.
  • Die Implementierung konkreter Lösungen ist noch begrenzt und lückenhaft.
  • Der Raum entwickelt sich weiter und befindet sich in einem frühen Stadium. Die Akzeptanz in Unternehmen ist immer noch zögerlich.
  • Die Navigation im Blockchain-Bereich kann sehr schwierig sein.

Zu diesem Thema wurde eine große Anzahl von Artikeln verfasst, von denen viele mit einer Vielzahl von heißer Luft und Hype sowie fachspezifischem und anderem Fachjargon gefüllt sind.

In diesem Artikel werden wir den Unterschied zwischen den beiden Hauptbranchen von Blockchain-Projekten (öffentlich und privat) sowie einige grundlegende Fachbegriffe zum Thema erklären.

 

Dies wird es uns ermöglichen, eine grundlegende Frage in der aktuellen Diskussion über Blockketten und verwandte Lösungen zu beantworten: Welche Anwendungsfälle gibt es für die Verwendung einer öffentlichen, vertrauenswürdigen Blockchain gegenüber einem verteilten privaten Ledger gegenüber einer herkömmlichen Datenbank?

Wichtigsten Begriffe

Einige der wichtigsten Begriffe, die im Blockchain-Bereich verwendet werden, sind:

Vertrauenswürdige Drittpartei – Ein System, bei dem bestimmte Fakten (z.B. die Identität der Teilnehmer) nicht überprüft werden können, es sei denn, es wird auf eine privilegierte (oft zentralisierte) Behörde verwiesen.

Vertrauenslos – Ein System, das bei allen Aspekten des Betriebs, einschließlich Transaktionsbestätigung oder Identitätsprüfung, auf keinen vertrauenswürdigen Dritten angewiesen ist.

Proof-of-Work (POW) – Finden der Lösung für ein mathematisches Rätsel (typischerweise ein Hashing-Problem), das keinen Abkürzungsalgorithmus hat und daher durch rohe Rechenkraft gelöst werden muss.

Nicht ausgegebene Transaktionsausgabe (UTXO) – In einigen Blockketten (z.B. Bitcoin) verbrauchen Transaktionen Eingaben und lassen einige (die Ausgaben) _nicht ausgegeben_. Diese nicht ausgegebenen Ausgaben stehen dann als Input für zukünftige Transaktionen zur Verfügung.

Modell der virtuellen Maschine – Einige blockchains (insbesondere Ethereum) haben ein abstraktes Modell, wie der Gesamtzustand des Systems dargestellt wird und wie dieser Zustand aktualisiert wird. Dieses Modell kann in der Regel durch ein formales Modell einer virtuellen Zustandsmaschine beschrieben werden, zum Beispiel der Ethereum Virtual Machine (EVM).

Smart Contract – Ein kleines, ereignisgesteuertes System, das in einer Blockchain eingesetzt werden kann, die die Programmausführung unterstützt. Nach der Bereitstellung wird das Programm weiterhin ausgeführt, wobei Blockchain-Transaktionen als Input verwendet werden und es können Maßnahmen ergriffen werden, die die Ausführung weiterer Transaktionen auslösen. Der Code des Systems ist kryptographisch geschützt.

Turing-complete – Ein Informatikbegriff, der als “vollwertige Programmiersprache” gelesen werden kann. Alle gängigen Sprachen wie Java, Javascript, Python, Rubin, Go, etc. sind alle Turing-complete. Aus technischen Gründen können einige Blockketten beschließen, die volle Leistung der Turing-Complete-Sprachen nicht für intelligente Auftragsverfasser verfügbar zu machen.
Es gibt viel mehr Details über jeden dieser Begriffe, aber einige der wichtigsten Aspekte davon sind die folgenden:

Die meisten Transaktionssysteme sind ganz oder teilweise von einigen vertrauenswürdigen Drittanbietern abhängig. Vertrauenlosigkeit hingegen ist eine durchaus bemerkenswerte Eigenschaft, aber sie wird nicht mit geringen Kosten erreicht – es bedarf erheblicher zusätzlicher Komplexität und Anstrengungen, um ein System vertrauenswürdig zu machen. Der Schlüssel dazu ist der POW-Algorithmus für den Konsensus, der von vielen Blockketten verwendet wird.

Sobald eine Lösung für ein POW-Problem gefunden wurde (im Wesentlichen durch Trial-and-Error in großem Maßstab), kann die Richtigkeit der Lösung von jedem Teilnehmer sofort nachgewiesen werden. Gute POW-Probleme haben statistische Eigenschaften, die es jedem Beobachter ermöglichen, zuverlässig abzuschätzen, wie viel Rechenzeit aufgewendet wurde, um über eine Lösung zu gelangen. Dadurch eignen sie sich für den Einsatz als verteilter Konsensmechanismus in öffentlichen blockchains (z.B. Bitcoin).

Das UTXO-Modell bietet einen einfachen Weg, um die Integrität der Transaktionen zu gewährleisten und zu verhindern, dass dieselben Bitcoins in zwei separaten Transaktionen zweimal verwendet werden (das Problem der doppelten Ausgaben). Dies geschieht, indem sichergestellt wird, dass jede Eingabe zu einer Transaktion in der Sammlung von Ausgaben – der UTXO-Datenbank – erscheinen muss.

Im Gegensatz dazu bietet das Modell der virtuellen Maschine (insbesondere von Ethereum implementiert) eine wesentliche Erweiterung – die Möglichkeit, beliebige Zustände zu speichern und einfache Programme innerhalb des Netzwerks zuverlässig und vollständig dezentral auszuführen.
Nachdem diese Hauptdefinitionen (und einige Konsequenzen) geklärt sind, können wir nun einen Blick auf einige der wichtigsten Blockchain-basierten Technologien werfen, die heute weltweit im Einsatz sind.

BITCOIN

Die ursprüngliche Kryptowährung, die das UTXO-Modell (unspent transaction output) für das Ledger verwendet. Es verwendet einen einfachen POW-Algorithmus für das Mining, basierend auf dem Schätzen einer zufälligen Zeichenkette, die, wenn sie mit dem letzten Transaktionsblock kombiniert wird, bewirkt, dass der SHA-256-Hash des Komposits numerisch kleiner als ein kleiner Grenzwert ist.

Der Teilnehmer, der die Lösung erfolgreich geschätzt hat, hat einen Block “gemined “, und die Transaktionen, die im Block enthalten waren, werden dem Ledger hinzugefügt.

Dies ermöglicht dann eine sehr einfache Methode zur Konsensermittlung – die Teilnehmer sind sich einfach einig, dass die längste Kette als Grundlage für den Abbau des nächsten Transaktionsblocks angesehen werden sollte.

Bitcoin wurde nicht für Smart Contracts entwickelt. Infolgedessen steht eine extrem begrenzte Funktionalität zur Verfügung, vor allem durch die neuartige Nutzung von Seitenkanälen, die innerhalb des Protokolls existieren. Die daraus resultierende Funktionalität ist in keiner Weise Turing-vollständig und wird von den meisten Analysen von Bitcoin einfach ignoriert.

Das resultierende System ist somit rein das eines kryptographisch sicheren Ledgers.
Es hat keine Identitätssemantik, die über die Verwendung von kryptographischen Signaturen zur Überprüfung der Herkunft von Transaktionen hinausgeht, und ist völlig unzuverlässig.

ETHEREUM

Dieses Ledger baut auf einigen der Ideen von Bitcoin auf, modelliert aber den Zustand einer einzelnen, globalen virtuellen Maschine und nicht das UTXO-Modell. Die wichtigste Innovation ist die Erweiterung um eine Turing-complete smart contract Möglichkeit. Dies ist die Ethereum Virtual Machine (EVM), eine VM, die speziell für den Einsatz im Rahmen eines verteilten Ledgers mit Smart Contracts entwickelt wurde.

In Ethereum ist der Programmstatus privat und gehört zu einzelnen Vertragsadressen und wird durch eine Reihe von EVM-Bytecode-Anweisungen geändert, die den Inhalt von Smart Contracts darstellen.
Der globale Gesamtzustand wird dann durch Aggregation des Programmzustands jeder Vertragsadresse abgeleitet.

Alle vollständigen Knoten im Ethereum-Netzwerk folgen den Regeln des Modells. Sie können den Systemzustand für den Zustand einer beliebigen Vertragsadresse auf ihrer Maschine berechnen, und solange sie die gleichen Transaktionen verwenden (was die Eingabedaten im Ethereum-Modell darstellt), kommen sie zum gleichen Ergebnis.

Da Ethereum einen globalen Konsens-Algorithmus verwendet und ein Konzept des global neuesten Bausteins hat, ist die Gesamtverarbeitungsrate (d.h. die effektive _Taktgeschwindigkeit_) der virtuellen Maschine von Ethereum durch die Blockproduktionsrate begrenzt. Das Hinzufügen von mehr Hardware und Rechenleistung zum Ethereum-Netzwerk macht es nicht schneller oder leistungsfähiger, sondern nur manipulationssicherer.

Der Einsatz von Turing-complete Smart Contracts ermöglicht es, zusätzliche Funktionen auf das Netzwerk aufzusetzen, ohne dass alle Teilnehmer diese kennen müssen. Auf diese Weise kann beispielsweise das Ethereum-Netzwerk Software-Token herausgeben, die als zusätzlicher Status innerhalb der virtuellen Maschine von Ethereum gehalten werden. Dies bildet die Grundlage für so genannte Initial Coin Offerings (ICOs).

Das EVM ist oberflächlich ähnlich wie das JVM und vergleichbare Systeme, macht aber in einigen wichtigen Bereichen unterschiedliche Designs. Insbesondere das Design des EVM-Bytecodes macht die statische Analyse des kompilierten Codes viel schwieriger als bei etablierten Alternativen. Dies ist kein Verkaufsargument für eine Ausführungsumgebung, die ein sehr hohes Maß an Transparenz und Nachweisbarkeit erfordert.

Die Low-Level-EVM-Umgebung ist auch keine besonders benutzerfreundliche Programmierumgebung. Infolgedessen wurden mehrere übergeordnete Sprachen erstellt, die bis hinunter zum EVM-Bytecode kompilieren. Von diesen ist die bekannteste die Solidity.

Inspiriert von den gängigen Programmiersprachen wie Javascript und Java, bietet die Solidity-Sprache auch neue Funktionen für die Interaktion mit der Ethereum-Blockkette.

In mancher Hinsicht ist Ethereum ein Opfer seines eigenen Erfolgs. Seine Entstehung als bevorzugte Plattform für ICOs führte Anfang 2018 zu einem hohen Preis für die ETH (Ethereum-Token). Die Höhe dieser Kryptowährung, die vom Ethereum-Team selbst gehalten wird, führte dazu, dass viele der großen Marktteilnehmer ein großes Interesse am Status quo und an der Realisierung ihrer Papiergewinne haben.

CORDA

R3 Corda verwendet das UTXO-Modell (wie Bitcoin), beinhaltet aber auch Turing-complete Smart Contracts als Teil des Designs. Diese Verträge werden als JVM-Bytecode dargestellt, mit optionalen zusätzlichen Determinismusgarantien, die die Vertragssemantik einschränken.

Der Ansatz verwendet keine einzelne globale Sperre (Blockhöhe), um den Fortschritt des Ledgerzustands zu steuern, sondern ermöglicht es stattdessen, dass konfliktfreie Transaktionen parallel ablaufen. Dies führt zu einer effektiven Feinkörnung des Schlosses, auf Kosten einer komplexeren und subtileren Vorstellung von Zeit und Uhren. Im Corda-Modell reicht die einfache Regel “Longest Chain Wins” als Konsensalgorithmus nicht mehr aus.

Die Teilnehmer sind bekannt und vertrauenswürdig, da die Identitätsprüfung durch Drittanbieter ein natürlicher Bestandteil der Corda-Architektur ist.

Als Nebeneffekt des Verlangens nach Aufhebung der globalen Ledger-Sperre bietet Corda eine Exit-/Eintrittssemantik, um Transaktionen von der Hauptkette zu entflechten und zu verhindern, dass alle Transaktionen im Laufe der Zeit verschlungen werden. Dies ist möglich, da die Architektur stark vom vertrauenswürdigen Drittmodell abhängt.

Infolgedessen kann die Befugnis bestimmter Teilnehmer, Ledgerposten (das Äquivalent von Münzen in Kryptowährungen) aus dem Verkehr zu ziehen und diese durch frisch geprägte Gegenstücke zu ersetzen, die keine Transaktionshistorie haben, von den Identitätsbehörden garantiert werden.

Die Macher von Corda sehen es nicht so ähnlich wie eine Kryptowährung.
Stattdessen betrachten sie die Technologie als Grundlage für eine gemeinsame Infrastruktur auf der Ebene des Gesamtmarktes und nicht auf der Ebene eines einzelnen Unternehmens.

Dies positioniert Corda als eine Enterprise Blockchain, die für Unternehmen bestimmt ist, die von einer gemeinsamen Infrastruktur und einem gemeinsamen Verständnis des Zustands der Welt profitieren können, anstatt getrennte Versionen von Datensätzen zu führen, was zwangsläufig zu Abstimmungsproblemen führt.

HYPERLEDGER

Das von IBM gestartete HyperLedger-Projekt ist eine weitere der führenden Enterprise Blockchain-Lösungen.
The Hyperledger Fabric ist eine Blockchain-Framework-Implementierung und eines der Hyperledger-Projekte, die von der Linux Foundation gehostet werden.
Zu den wichtigsten Designzielen von IBM für das Projekt gehören Vertraulichkeit, Ausfallsicherheit, Flexibilität und Skalierbarkeit.
Wie Corda verwendet auch Hyperledger eine genehmigte Architektur.
Es implementiert einen deterministischen Practical Byzantine fault tolerant (PBFT)-Algorithmus, der sicherstellt, dass eine abgeschlossene Transaktion, sobald sie gemeldet wurde, tatsächlich durchgeführt wird.

IBM hat in eine solide Docker-Integration investiert, einschließlich Tests in Containern.
Smart Contracts für Hyperledger können in Java geschrieben werden, mit einem verfügbaren SDK (Go-Verträge sind auch möglich).
Hyperledger trennt Knoten nach Rollen, zu denen Full Peers, Certificate Authority Nodes (für die Berechtigung erforderlich) und Orderers gehören, die Transaktionen in Blöcke gruppieren.

Der Hyperledger-Blockchain-Zustand wird als versionierter Key-Value-Speicher (KVS) modelliert, wobei Schlüssel Namen (Zeichenketten) und Werte beliebige Blobs sind.
Dies ist eine sehr Low-Level-Schnittstelle, über die Hyperledger eine Schicht namens Ledger bereitstellt, die eine überprüfbare Historie aller erfolgreichen Zustandsänderungen liefert.

Der Code und die Architektur von Hyperledger entwickeln sich immer noch schnell, aber es beginnen tatsächliche Produktionsversuche, und sie entwickeln sich neben Corda zu einer der Lösungen, die eher von Unternehmen genutzt werden.

ANWENDUNGSFÄLLE

Die Anwendungsfälle für Blockketten werden immer noch hitzig diskutiert.
Es gibt das offensichtliche Beispiel für zensurresistente digitale Währungen.
Die Volatilität und Zersplitterung des Marktes für Kryptowährungen im Jahr 2018 scheint jedoch darauf hinzudeuten, dass die tatsächliche Anwendbarkeit vertrauenswürdiger digitaler Währungen beschränkt ist.

Aus der Sicht des Unternehmens wird deutlich, dass sie auch dazu verwendet werden können, Systeme oder Netzwerke zu erstellen, die als gemeinsames Konstrukt zwischen mehreren Einheiten eingesetzt werden, die sich nicht unbedingt gegenseitig vertrauen, aber dennoch Daten austauschen und eine Form des Konsenses aufrecht erhalten wollen, die allen Beteiligten wichtig sind.

Diese Anwendungsfälle, in denen eine zentralisierte Behörde für die Teilnehmer unannehmbar oder zu kostspielig ist, um sie einzurichten, treten immer noch auf.
Dies trotz des Zeit-, Arbeits- und Risikokapitals, das in die Vielzahl der bisher realisierten Blockchain-Projekte investiert wurde.

Da mit dem Eintritt in das Jahr 2019 weitere Projekte auf den Markt kommen, bleibt abzuwarten, ob das Versprechen der Blockchain jemals die großen Erfolge bringen wird, die ihre Befürworter nun schon seit langem versprechen.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.