Während in den bisher erschienenen Artikel Grundlagen und Use Cases vorgestellt wurden, soll dieser Beitrag technische Details der Blockchain erläutern. Abschließend soll in diesen Artikel erklärt werden, wie man selbst eine eigene Kryptowährung entwirft und implementiert.
Was ist eine Blockchain?
Die Blockchain ist eine neuartige Technik zum Speichern von Daten. Sie erlaubt das sichere Management von Informationen jeglicher Art. Elementare Einheiten dieser Technologie sind Transaktionen, die verifiziert, validiert und zu Blöcken zusammengefasst werden. Diese Blöcke werden anschließen verkettet und die Datenbank wächst somit linear weiter.
Die Blockchain hat das Potential, große Teile der Wirtschaft umzuwälzen und neu zu ordnen. Die Blockchain Datenbank kann als absolut manipulationssicher angesehen werden, da die Blöcke mit einer Hash-Funktion aufwendig verschlüsselt werden und Kopien der Datei im Internet verbreitet werden.
Arten von Blockchains
Im Prinzip unterscheidet man Blockchains zwischen einer privaten und einer öffentlichen Variante, wobei es noch die Konsortium-Blockchain als Mischform gibt. Dieser Abschnitt erläutert die Arten und geht kurz auf die jeweiligen Vorteile ein.
Öffentliche Blockchains (Public Blockchains)
Eine öffentliche Blockchain ist ein offenes System, bei dem jeder Teilnehmer in der Welt die Daten einsehen, Transaktionen ausführen und deren Richtigkeit nachvollziehen und anderweitig an dem Konsensprozess (englisch consensus process) teilnehmen kann.
Der Konsensprozess bestimmt, welche Blöcke zu der Kette angefügt werden und was deren aktueller Zustand ist. Öffentliche Blockchains sind durch Krypto-Ökonomie (englisch cryptoeconomics) gesichert, dabei handelt es sich um eine Kombination aus wirtschaftlichen Anreizen und kryptografischen Verschlüsselungsmethoden. Diese Mechanismen sind unter anderem bekannt als "Proof of Work", "Proof of Stake". Die verschiedenen Mining-Prinzipien werden in diesen Artikel vorgestellt. Diese Mechanismen folgen den allgemeinen Grundsatz, dass das Ausmaß, in dem jemand im Konsensprozess Einfluss nehmen kann, proportional zur Menge der wirtschaftlichen Ressourcen ist, die sie tragen können. Diese Blockketten gelten generell als "vollständig dezentralisiert".
Konsortium-Blockchains (Consortium Blockchains)
Die Konsortium-Blockchain ist eine Blockchain, bei welcher der Konsensprozess durch einen vorgewählten Satz von Knoten gesteuert wird. Ein Konsortium ist ein Unternehmenszusammenschluss mehrerer rechtlich und wirtschaftlich selbständig bleibender Unternehmen zur Durchführung eines vereinbarten Geschäftszwecks.
Für die Blockchain kann man sich zum Beispiel ein Konsortium von 15 Finanzinstituten vorstellen. Jeder dieser Teilnehmer betreibt einen oder mehrere Knoten. Das Recht, die Blockchain zu lesen, kann als öffentlich deklariert oder auf bestimmte Teilnehmer beschränkt werden. Ferner gibt es auch sogenannte Hybrid-Routen, die auch als Wurzelhashes der Blöcke bezeichnet werden. Diese Blockchains werden auch als "teilweise dezentralisiert" betitelt.
Private Blockchains (Fully Private Blockchains)
Als Alternative zu den öffentlichen Blockchains wurden verschiedene Blockchains geschaffen, bei denen die Transaktionen durch vertrauenswürdige Instanzen validiert werden. Dies kann auch dadurch erreicht werden, dass der Zugriff auf die Blockchain selbst auf eine kleinere Zahl vertrauenswürdige Benutzer eingeschränkt wird. Solche Blockchains werden als private Blockchains bezeichnet und ermöglichen die Vergabe von Zugriffsrechten auf die Blockchain.
Öffentliche Blockchain | Konsortium-Blockchain | Private Blockchain | |
---|---|---|---|
Sicherheit | Proof of Work/Proof of Stake | durch Satz von Knoten gesteuert | vorab festgelegte Nutzer |
Zugriff | offener Schreib- und Lesezugriff | vom Konsortium gesteuert | Berechtigungsvergabe für Schreib- oder Lesezugriff |
Geschwindigkeit | langsam | schneller | sehr schnell |
Identität | anonym/pseudonym | anonym oder öffentlich | bekannte Identitäten |
Blockbildung in der Blockchain - Das Mining
Das Mining (deutsch Schürfen) bezeichnet die Produktion des Blockes. Es ist ein wesentlicher Schritt in der Abwicklung des Blockchain-Prozesses. Das Mining ersetzt die zentrale Institution (etwa eine Zentralbank), die sonst neue Einheiten einer Währung ausgibt. Die gängigste Technik, die auch bei der Kryptowährung Bitcoin angewandt wird, ist das sogenannte "Proof of Work". Dabei muss der Miner ein schwieriges, mathematisches Rätsel lösen um zum Zug zu kommen. Dabei konkurrieren verschiedene Miner miteinander.
Wer das Rätsel zuerst gelöst hat, kommt zum Zug und erhält für seinen Dienst eine Gebühr in Form von Bitcoins. Für diese Technik werden enorme Rechenleistungen benötigt, was mit einem immensen Stromverbrauch einhergeht. Im Folgenden werden weitere Techniken besprochen.
Proof of Work (PoW)
Mit Bitcoin, das die Blockchain-Technologie populär gemacht hat, wurde der sog. "Proof of Work"-Algorithmus (PoW) entwickelt. Da es sich bei Bitcoin um eine öffentliche Blockchain mit sich gegenseitig nicht bekannten Teilnehmern handelt, bestehen hohe Anforderungen an die Sicherheit und Funktionsfähigkeit des Algorithmus. Prinzipiell kann jeder Teilnehmer im Bitcoin-Netzwerk an der Blockerzeugung mitwirken. Das PoW-Konzept ist dabei so konstruiert, dass ungefähr alle zehn Minuten irgendein Teilnehmer des Systems die in dieser Zeit bei ihm angelangten Transaktionen zu einem nicht mehr veränderbaren Block zusammenfasst. Dieser wird dann an alle verteilt und ist schließlich Teil der kollektiven Blockchain. Der Empfänger einer Transaktion muss also so lange warten, bis er einen Block bekommt, der die Transaktion enthält. Dann ist sie beglaubigt.
- Blockchain
Blockchain wird in den kommenden Jahren zur Schlüsseltechnologie in der IT werden. - (1) Transaktion
Die Transaktion ist die elementare Grundeinheit der Blockchain. Zwei Parteien tauschen Informationen miteinander aus. Dies kann der Transfer von Geld oder Vermögenswerten, der Abschluss eines Vertrags, eine Krankenakte oder eine Urkunde sein, die digital gespeichert wurde. Transaktionen funktionieren im Prinzip wie das Versenden von E-Mails. - (2) Verifizierung
Die Verifizierung prüft, ob eine Partei die entsprechenden Rechte für die Transaktion hat. Die Prüfung erfolgt augenblicklich oder es wird in eine Warteschlange geschrieben, die die Prüfung später durchführt. An dieser Stelle werden Knoten, also Computer oder Server im Netzwerk, eingebunden und die Transaktion verifiziert. - (3) Struktur
Die Transaktionen werden zu Blöcken zusammengefasst, wobei diese mit einer Hash-Funktion als Bit-Nummer verschlüsselt werden. Die Blöcke können durch die Zuweisung des Hash-Wertes eindeutig identifiziert werden. Ein Block enthält einen Header, eine Referenz auf den vorhergehenden Block und eine Gruppe von Transaktionen. Die Abfolge der verlinkten Hashes erzeugt eine sichere und unabhängige Kette. - (4) Validierung
Bevor die Blöcke erzeugt werden, müssen die Informationen validiert werden. Das am meisten verbreitete Konzept für die Validierung von Open-Source-Blockchains ist das „Proof of Work“-Prinzip. Dieses Verfahren stellt in der Regel die Lösung einer schweren mathematischen Aufgabe durch den Nutzer beziehungsweise dessen Computer dar. - (5) Blockchain Mining
Der Begriff Mining stammt aus der Bergbau und meint das „Schürfen“. Bei diesem Vorgang wird der Block erzeugt und gehasht. Um zum Zug zu kommen, müssen die Miner ein mathematisches Rätsel lösen. Wer als Erstes die Lösung hat, wird als Miner akzeptiert. Der Miner erhält für seine Arbeit ein Honorar in Form von Kryptowährung (Bitcoin). - (6) Die Kette
Nachdem die Blöcke validiert wurden und der Miner seine Arbeit verrichtet hat, werden die Kopien der Blöcke im Netzwerk an die Knoten verteilt. Jeder Knoten fügt den Block an der Kette in unveränderlicher und unmanipulierbarer Weise an. - (7) Verteidigung
Wenn ein unehrlicher Miner versucht, einen Block in der Kette zu ändern, so werden auch die Hash-Werte des Blockes und der nachfolgenden Blöcke geändert. Die anderen Knoten werden diese Manipulation erkennen und den Block von der Hauptkette ausschließen.
Um die Teilnehmer des Bitcoin-Systems zum Erzeugen der Blöcke zu bewegen, wird für jeden Block, der Bestandteil der Blockchain wird, eine Belohnung in Form einer festgelegten Anzahl an Bitcoins gewährt. Diese Bitcoins werden zu genau diesem Zeitpunkt erschaffen. Derjenige, der zuerst einen Block erzeugt, bekommt als Einziger die Belohnung. Zusätzlich erhält der Miner die in den Transaktionen enthaltenen Transaktionsgebühren. Der Algorithmus passt sich den Schwierigkeitsgrad automatisch an die am Mining beteiligte Rechenleistung an. Je mehr Teilnehmer also an dem Mining teilnehmen beziehungsweise je stärker deren Rechenleistung ist, desto schwieriger wird die Aufgabe. Größter Kritikpunkt am PoW ist der immense Stromverbrauch, da enorme Rechenleistungen nötig sind um das Rätsel zu lösen.